gem5  v22.1.0.0
Namespaces | Macros | Typedefs | Enumerations | Variables
sc_nbdefs.hh File Reference
#include <stdint.h>
#include <climits>

Go to the source code of this file.

Namespaces

 sc_dt
 

Macros

#define SC_NEG   -1
 
#define SC_ZERO   0
 
#define SC_POS   1
 
#define SC_NOSIGN   2
 
#define BITS_PER_BYTE   8
 
#define BYTE_RADIX   256
 
#define BYTE_MASK   255
 
#define LOG2_BITS_PER_BYTE   3
 
#define BYTES_PER_DIGIT_TYPE   4
 
#define BITS_PER_DIGIT_TYPE   32
 
#define BYTES_PER_DIGIT   4
 
#define BITS_PER_DIGIT   30
 
#define DIGIT_RADIX   (1ul << BITS_PER_DIGIT)
 
#define DIGIT_MASK   (DIGIT_RADIX - 1)
 
#define BITS_PER_HALF_DIGIT   (BITS_PER_DIGIT / 2)
 
#define HALF_DIGIT_RADIX   (1ul << BITS_PER_HALF_DIGIT)
 
#define HALF_DIGIT_MASK   (HALF_DIGIT_RADIX - 1)
 
#define DIV_CEIL2(x, y)   (((x) - 1) / (y) + 1)
 
#define DIV_CEIL(x)   DIV_CEIL2(x, BITS_PER_DIGIT)
 
#define BITS_PER_CHAR   8
 
#define BITS_PER_INT   (sizeof(int) * BITS_PER_CHAR)
 
#define BITS_PER_LONG   (sizeof(long) * BITS_PER_CHAR)
 
#define BITS_PER_INT64   (sizeof(::sc_dt::int64) * BITS_PER_CHAR)
 
#define BITS_PER_UINT   (sizeof(unsigned int) * BITS_PER_CHAR)
 
#define BITS_PER_ULONG   (sizeof(unsigned long) * BITS_PER_CHAR)
 
#define BITS_PER_UINT64   (sizeof(::sc_dt::uint64) * BITS_PER_CHAR)
 
#define DIGITS_PER_CHAR   1
 
#define DIGITS_PER_INT   ((BITS_PER_INT + 29) / 30)
 
#define DIGITS_PER_LONG   ((BITS_PER_LONG + 29) / 30)
 
#define DIGITS_PER_INT64   ((BITS_PER_INT64 + 29) / 30)
 
#define DIGITS_PER_UINT   ((BITS_PER_UINT + 29) / 30)
 
#define DIGITS_PER_ULONG   ((BITS_PER_ULONG + 29) / 30)
 
#define DIGITS_PER_UINT64   ((BITS_PER_UINT64 + 29) / 30)
 
#define SC_INTWIDTH   64
 

Typedefs

typedef unsigned char sc_dt::uchar
 
typedef int sc_dt::small_type
 
typedef unsigned int sc_dt::sc_digit
 
typedef int64_t sc_dt::int64
 
typedef uint64_t sc_dt::uint64
 
typedef int64 sc_dt::int_type
 
typedef uint64 sc_dt::uint_type
 

Enumerations

enum  sc_dt::sc_numrep {
  sc_dt::SC_NOBASE = 0 , sc_dt::SC_BIN = 2 , sc_dt::SC_OCT = 8 , sc_dt::SC_DEC = 10 ,
  sc_dt::SC_HEX = 16 , sc_dt::SC_BIN_US , sc_dt::SC_BIN_SM , sc_dt::SC_OCT_US ,
  sc_dt::SC_OCT_SM , sc_dt::SC_HEX_US , sc_dt::SC_HEX_SM , sc_dt::SC_CSD
}
 

Variables

static const uint64 sc_dt::UINT64_ZERO = 0ULL
 
static const uint64 sc_dt::UINT64_ONE = 1ULL
 
static const uint64 sc_dt::UINT64_32ONES = 0x00000000ffffffffULL
 
static const small_type sc_dt::NB_DEFAULT_BASE = SC_DEC
 
static const uint64 sc_dt::UINT_ZERO = UINT64_ZERO
 
static const uint64 sc_dt::UINT_ONE = UINT64_ONE
 

Macro Definition Documentation

◆ BITS_PER_BYTE

#define BITS_PER_BYTE   8

Definition at line 111 of file sc_nbdefs.hh.

◆ BITS_PER_CHAR

#define BITS_PER_CHAR   8

Definition at line 182 of file sc_nbdefs.hh.

◆ BITS_PER_DIGIT

#define BITS_PER_DIGIT   30

Definition at line 127 of file sc_nbdefs.hh.

◆ BITS_PER_DIGIT_TYPE

#define BITS_PER_DIGIT_TYPE   32

Definition at line 123 of file sc_nbdefs.hh.

◆ BITS_PER_HALF_DIGIT

#define BITS_PER_HALF_DIGIT   (BITS_PER_DIGIT / 2)

Definition at line 135 of file sc_nbdefs.hh.

◆ BITS_PER_INT

#define BITS_PER_INT   (sizeof(int) * BITS_PER_CHAR)

Definition at line 183 of file sc_nbdefs.hh.

◆ BITS_PER_INT64

#define BITS_PER_INT64   (sizeof(::sc_dt::int64) * BITS_PER_CHAR)

Definition at line 185 of file sc_nbdefs.hh.

◆ BITS_PER_LONG

#define BITS_PER_LONG   (sizeof(long) * BITS_PER_CHAR)

Definition at line 184 of file sc_nbdefs.hh.

◆ BITS_PER_UINT

#define BITS_PER_UINT   (sizeof(unsigned int) * BITS_PER_CHAR)

Definition at line 186 of file sc_nbdefs.hh.

◆ BITS_PER_UINT64

#define BITS_PER_UINT64   (sizeof(::sc_dt::uint64) * BITS_PER_CHAR)

Definition at line 188 of file sc_nbdefs.hh.

◆ BITS_PER_ULONG

#define BITS_PER_ULONG   (sizeof(unsigned long) * BITS_PER_CHAR)

Definition at line 187 of file sc_nbdefs.hh.

◆ BYTE_MASK

#define BYTE_MASK   255

Definition at line 113 of file sc_nbdefs.hh.

◆ BYTE_RADIX

#define BYTE_RADIX   256

Definition at line 112 of file sc_nbdefs.hh.

◆ BYTES_PER_DIGIT

#define BYTES_PER_DIGIT   4

Definition at line 126 of file sc_nbdefs.hh.

◆ BYTES_PER_DIGIT_TYPE

#define BYTES_PER_DIGIT_TYPE   4

Definition at line 122 of file sc_nbdefs.hh.

◆ DIGIT_MASK

#define DIGIT_MASK   (DIGIT_RADIX - 1)

Definition at line 129 of file sc_nbdefs.hh.

◆ DIGIT_RADIX

#define DIGIT_RADIX   (1ul << BITS_PER_DIGIT)

Definition at line 128 of file sc_nbdefs.hh.

◆ DIGITS_PER_CHAR

#define DIGITS_PER_CHAR   1

Definition at line 191 of file sc_nbdefs.hh.

◆ DIGITS_PER_INT

#define DIGITS_PER_INT   ((BITS_PER_INT + 29) / 30)

Definition at line 192 of file sc_nbdefs.hh.

◆ DIGITS_PER_INT64

#define DIGITS_PER_INT64   ((BITS_PER_INT64 + 29) / 30)

Definition at line 194 of file sc_nbdefs.hh.

◆ DIGITS_PER_LONG

#define DIGITS_PER_LONG   ((BITS_PER_LONG + 29) / 30)

Definition at line 193 of file sc_nbdefs.hh.

◆ DIGITS_PER_UINT

#define DIGITS_PER_UINT   ((BITS_PER_UINT + 29) / 30)

Definition at line 195 of file sc_nbdefs.hh.

◆ DIGITS_PER_UINT64

#define DIGITS_PER_UINT64   ((BITS_PER_UINT64 + 29) / 30)

Definition at line 197 of file sc_nbdefs.hh.

◆ DIGITS_PER_ULONG

#define DIGITS_PER_ULONG   ((BITS_PER_ULONG + 29) / 30)

Definition at line 196 of file sc_nbdefs.hh.

◆ DIV_CEIL

#define DIV_CEIL (   x)    DIV_CEIL2(x, BITS_PER_DIGIT)

Definition at line 144 of file sc_nbdefs.hh.

◆ DIV_CEIL2

#define DIV_CEIL2 (   x,
 
)    (((x) - 1) / (y) + 1)

Definition at line 140 of file sc_nbdefs.hh.

◆ HALF_DIGIT_MASK

#define HALF_DIGIT_MASK   (HALF_DIGIT_RADIX - 1)

Definition at line 137 of file sc_nbdefs.hh.

◆ HALF_DIGIT_RADIX

#define HALF_DIGIT_RADIX   (1ul << BITS_PER_HALF_DIGIT)

Definition at line 136 of file sc_nbdefs.hh.

◆ LOG2_BITS_PER_BYTE

#define LOG2_BITS_PER_BYTE   3

Definition at line 117 of file sc_nbdefs.hh.

◆ SC_INTWIDTH

#define SC_INTWIDTH   64

Definition at line 208 of file sc_nbdefs.hh.

◆ SC_NEG

#define SC_NEG   -1

Definition at line 99 of file sc_nbdefs.hh.

◆ SC_NOSIGN

#define SC_NOSIGN   2

Definition at line 102 of file sc_nbdefs.hh.

◆ SC_POS

#define SC_POS   1

Definition at line 101 of file sc_nbdefs.hh.

◆ SC_ZERO

#define SC_ZERO   0

Definition at line 100 of file sc_nbdefs.hh.


Generated on Wed Dec 21 2022 10:23:00 for gem5 by doxygen 1.9.1