Go to the documentation of this file.
35 #ifndef TTA_SIM_VALUE_HH
36 #define TTA_SIM_VALUE_HH
42 #define SIMD_WORD_WIDTH 4096
43 #define SIMVALUE_MAX_BYTE_SIZE (SIMD_WORD_WIDTH / BYTE_BITWIDTH)
183 Word
element(
size_t elementIndex,
size_t elementWidth)
const;
189 void setElement(
size_t elementIndex,
size_t elementWidth, Word data);
209 template <
typename T>
211 template <
typename T>
248 #define SIMULATOR_MAX_INTWORD_BITWIDTH 32
249 #define SIMULATOR_MAX_LONGWORD_BITWIDTH 64
SIntWord sIntWordElement(size_t elementIndex) const
void setElement(size_t elementIndex, size_t elementWidth, Word data)
void setBitWidth(int width)
Word element(size_t elementIndex, size_t elementWidth) const
DoubleWord doubleWordValue() const
SLongWord sLongWordValue() const
DoubleWord DoubleFloatWord
void setFloatElement(size_t elementIndex, FloatWord data)
UIntWord bitElement(size_t elementIndex) const
const SimValue operator/(const SIntWord &rightHand)
void setWordElement(size_t elementIndex, Word data)
static SimValue & instance()
void setVectorElement(size_t elementIndex, T data)
FloatWord floatElement(size_t elementIndex) const
SimValue & operator=(const SIntWord &source)
UIntWord uIntWordValue() const
Word wordElement(size_t elementIndex) const
T vectorElement(size_t elementIndex) const
void zeroExtendTo(int bitWidth)
#define SIMVALUE_MAX_BYTE_SIZE
Byte rawData_[SIMVALUE_MAX_BYTE_SIZE]
Array that contains SimValue's underlaying bytes in little endian.
static SimValue instance_
ULongWord mask_
Mask for masking extra bits when returning unsigned value.
void swapByteOrder(const Byte *from, size_t byteCount, Byte *to) const
FloatWord floatWordValue() const
void setHalfFloatElement(size_t elementIndex, HalfFloatWord data)
void setBitElement(size_t elementIndex, UIntWord data)
ULongWord uLongWordValue() const
void setDoubleFloatElement(size_t elementIndex, DoubleFloatWord data)
UIntWord uIntWordElement(size_t elementIndex) const
Byte byteElement(size_t elementIndex) const
const SimValue operator*(const SIntWord &rightHand)
int operator==(const SimValue &rightHand) const
void setHalfWordElement(size_t elementIndex, HalfWord data)
DoubleFloatWord doubleFloatElement(size_t elementIndex) const
TCEString hexValue(bool noHexIdentifier=false) const
const SimValue operator+(const SIntWord &rightHand)
unsigned int unsignedValue() const
SIntWord sIntWordValue() const
void signExtendTo(int bitWidth)
HalfWord halfWordElement(size_t elementIndex) const
TCEString binaryValue() const
void setValue(TCEString hexValue)
void setByteElement(size_t elementIndex, Byte data)
int bitWidth_
The bitwidth of the value.
const SimValue operator-(const SIntWord &rightHand)
HalfFloatWord halfFloatWordValue() const
HalfFloatWord halfFloatElement(size_t elementIndex) const
void deepCopy(const SimValue &source)