47typedef std::bitset<std::numeric_limits<unsigned long long>::digits>
85 "Can't allocate resource because it is busy!!!");
127 uint32_t ai = *(
reinterpret_cast<uint32_t *
>(&
x));
129 uint32_t
s = (ai >> 31) & 0x1;
130 uint32_t exp = (ai >> 23) & 0xff;
131 uint32_t mant = (ai >> 0) & 0x7fffff;
133 if (exp == 0 || exp <= 0x70) {
136 }
else if (exp == 0xff) {
138 }
else if (exp >= 0x8f) {
142 exp = exp - 0x7f + 0x0f;
153 operator float()
const
155 uint32_t
s = (
val >> 15) & 0x1;
156 uint32_t exp = (
val >> 10) & 0x1f;
157 uint32_t mant = (
val >> 0) & 0x3ff;
162 }
else if (exp == 0x1f) {
165 exp = exp - 0x0f + 0x7f;
171 val1 |= (mant << 13);
173 return *(
reinterpret_cast<float *
>(&val1));
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
Tick clockEdge(Cycles cycles=Cycles(0)) const
Determine the tick when a cycle begins, by default the current one, but the argument also enables the...
Cycles is a wrapper class for representing cycle counts, i.e.
Float16(const Float16 &x)
void init(ClockedObject *_clockedObject, uint64_t _numStages=0)
void preset(uint64_t delay)
bool rdy(Cycles cycles=Cycles(0)) const
ClockedObject * clockedObject
WaitClass(ClockedObject *_clockedObject, uint64_t _numStages=0)
ClockedObject declaration and implementation.
#define fatal_if(cond,...)
Conditional fatal macro that checks the supplied condition and only causes a fatal error if the condi...
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::shared_ptr< GPUDynInst > GPUDynInstPtr
std::bitset< std::numeric_limits< unsigned long long >::digits > VectorMask