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
#define SIMVALUE_MAX_BYTE_SIZE
static SimValue instance_
static SimValue & instance()
HalfFloatWord halfFloatWordValue() const
SIntWord sIntWordValue() const
UIntWord uIntWordValue() const
void setWordElement(size_t elementIndex, Word data)
SimValue & operator=(const SIntWord &source)
void setBitWidth(int width)
void swapByteOrder(const Byte *from, size_t byteCount, Byte *to) const
void zeroExtendTo(int bitWidth)
Word wordElement(size_t elementIndex) const
void setElement(size_t elementIndex, size_t elementWidth, Word data)
ULongWord uLongWordValue() const
DoubleWord doubleWordValue() const
int operator==(const SimValue &rightHand) const
void setFloatElement(size_t elementIndex, FloatWord data)
unsigned int unsignedValue() const
void signExtendTo(int bitWidth)
void setByteElement(size_t elementIndex, Byte data)
UIntWord bitElement(size_t elementIndex) const
const SimValue operator-(const SIntWord &rightHand)
void setDoubleFloatElement(size_t elementIndex, DoubleFloatWord data)
Word element(size_t elementIndex, size_t elementWidth) const
FloatWord floatElement(size_t elementIndex) const
const SimValue operator*(const SIntWord &rightHand)
int bitWidth_
The bitwidth of the value.
HalfWord halfWordElement(size_t elementIndex) const
void deepCopy(const SimValue &source)
TCEString hexValue(bool noHexIdentifier=false) const
TCEString binaryValue() const
FloatWord floatWordValue() const
const SimValue operator+(const SIntWord &rightHand)
Byte byteElement(size_t elementIndex) const
DoubleWord DoubleFloatWord
const SimValue operator/(const SIntWord &rightHand)
void setHalfFloatElement(size_t elementIndex, HalfFloatWord data)
Byte rawData_[SIMVALUE_MAX_BYTE_SIZE]
Array that contains SimValue's underlaying bytes in little endian.
HalfFloatWord halfFloatElement(size_t elementIndex) const
SIntWord sIntWordElement(size_t elementIndex) const
void setHalfWordElement(size_t elementIndex, HalfWord data)
void setBitElement(size_t elementIndex, UIntWord data)
DoubleFloatWord doubleFloatElement(size_t elementIndex) const
T vectorElement(size_t elementIndex) const
SLongWord sLongWordValue() const
UIntWord uIntWordElement(size_t elementIndex) const
ULongWord mask_
Mask for masking extra bits when returning unsigned value.
void setValue(TCEString hexValue)
void setVectorElement(size_t elementIndex, T data)