SST
9.1.0
StructuralSimulationToolkit
Main Page
Related Pages
Data Structures
Files
File List
sst_types.h
1
// Copyright 2009-2019 NTESS. Under the terms
2
// of Contract DE-NA0003525 with NTESS, the U.S.
3
// Government retains certain rights in this software.
4
//
5
// Copyright (c) 2009-2019, NTESS
6
// All rights reserved.
7
//
8
// This file is part of the SST software package. For license
9
// information, see the LICENSE file in the top level directory of the
10
// distribution.
11
12
#ifndef SST_CORE_SST_TYPES_H
13
#define SST_CORE_SST_TYPES_H
14
15
//#include <sst_stdint.h>
16
17
#include <cstdint>
18
19
namespace
SST {
20
21
typedef
uint64_t ComponentId_t;
22
typedef
int32_t LinkId_t;
23
typedef
uint64_t Cycle_t;
24
typedef
uint64_t SimTime_t;
25
typedef
double
Time_t;
26
27
#define MAX_SIMTIME_T 0xFFFFFFFFFFFFFFFFl
28
/* Subcomponent IDs are in the high-16 bits of the Component ID */
29
#define UNSET_COMPONENT_ID 0xFFFFFFFFFFFFFFFFULL
30
#define COMPONENT_ID_BITS 48
31
#define COMPONENT_ID_MASK(x) ((x) & 0x0000FFFFFFFFFFFFULL)
32
#define SUBCOMPONENT_ID_BITS 16
33
#define SUBCOMPONENT_ID_MASK(x) ((x) >> COMPONENT_ID_BITS)
34
#define SUBCOMPONENT_ID_CREATE(compId, sCompId) ((((uint64_t)sCompId) << COMPONENT_ID_BITS) | compId)
35
#define COMPDEFINED_SUBCOMPONENT_ID_CREATE(compId, sCompId) ((((uint64_t)sCompId) << COMPONENT_ID_BITS) | compId | 0x8000000000000000ULL)
36
#define COMPDEFINED_SUBCOMPONENT_ID_MASK(x) ((x) >> 63)
37
38
typedef
double
watts;
39
typedef
double
joules;
40
typedef
double
farads;
41
typedef
double
volts;
42
43
#ifndef LIKELY
44
#define LIKELY(x) __builtin_expect((int)(x),1)
45
#define UNLIKELY(x) __builtin_expect((int)(x),0)
46
#endif
47
48
49
}
// namespace SST
50
51
#endif //SST_CORE_SST_TYPES_H
src
sst
core
sst_types.h
Generated on Wed Oct 23 2019 10:36:19 for SST by
1.8.5