66class scfx_ieee_double;
70#define SCFX_MASK_(Size) \
86#if defined( SC_BIG_ENDIAN )
91#elif defined( SC_LITTLE_ENDIAN )
134 operator double()
const;
136 unsigned int negative()
const;
137 void negative(
unsigned int );
138 int exponent()
const;
139 void exponent(
int );
140 unsigned int mantissa0()
const;
141 void mantissa0(
unsigned int );
142 unsigned int mantissa1()
const;
143 void mantissa1(
unsigned int );
145 bool is_zero()
const;
146 bool is_subnormal()
const;
147 bool is_normal()
const;
202scfx_ieee_double::operator double()
const
326#define MSB_STATEMENT(x,n) if( x >> n ) { x >>= n; i += n; }
362#define LSB_STATEMENT(x,n) if( x << n ) { x <<= n; i -= n; }
431#if defined( SC_BIG_ENDIAN )
435#elif defined( SC_LITTLE_ENDIAN )
474 operator float()
const;
476 unsigned int negative()
const;
477 void negative(
unsigned int );
478 int exponent()
const;
479 void exponent(
int );
480 unsigned int mantissa()
const;
481 void mantissa(
unsigned int );
483 bool is_zero()
const;
484 bool is_subnormal()
const;
485 bool is_normal()
const;
534scfx_ieee_float::operator float()
const
653 if( ( exp += 20 ) >= 0 )
657 else if( ( exp += 32 ) >= 0 )
686#if defined( _MSC_VER ) || defined( __clang__ )
688 double tmp =
static_cast<double>(
static_cast<int64>( a ) );
691 return static_cast<double>( a );
#define LSB_STATEMENT(x, n)
#define MSB_STATEMENT(x, n)
const int SCFX_IEEE_FLOAT_E_MIN
const unsigned int SCFX_IEEE_DOUBLE_M1_SIZE
const int SCFX_IEEE_DOUBLE_E_MIN
double uint64_to_double(uint64 a)
const unsigned int SCFX_IEEE_DOUBLE_E_SIZE
unsigned long long uint64
const int SCFX_IEEE_DOUBLE_E_MAX
const unsigned int SCFX_IEEE_DOUBLE_M0_SIZE
const int SCFX_IEEE_FLOAT_E_MAX
const unsigned int SCFX_IEEE_FLOAT_E_SIZE
const unsigned int SCFX_IEEE_DOUBLE_M_SIZE
const unsigned int SCFX_IEEE_DOUBLE_BIAS
const unsigned int SCFX_IEEE_FLOAT_BIAS
double scfx_pow2(int exp)
const unsigned int SCFX_IEEE_FLOAT_M_SIZE
struct sc_dt::ieee_double::@0 s
unsigned int mantissa1() const
static scfx_ieee_double nan()
static scfx_ieee_double inf(int)
unsigned int mantissa0() const
scfx_ieee_double & operator=(double)
bool is_subnormal() const
unsigned int negative() const
struct sc_dt::ieee_float::@1 s
unsigned int mantissa() const
scfx_ieee_float & operator=(float)
unsigned int negative() const
bool is_subnormal() const