SystemC  2.3.2
Accellera SystemC proof-of-concept library
sc_fxnum.h File Reference
Include dependency graph for sc_fxnum.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sc_dt::sc_fxnum_bitref
 Proxy class for bit-selection in class sc_fxnum, behaves like sc_bit. More...
 
class  sc_dt::sc_fxnum_fast_bitref
 Proxy class for bit-selection in class sc_fxnum_fast, behaves like sc_bit. More...
 
class  sc_dt::sc_fxnum_subref
 Proxy class for part-selection in class sc_fxnum,. More...
 
class  sc_dt::sc_fxnum_fast_subref
 Proxy class for part-selection in class sc_fxnum_fast,. More...
 
class  sc_dt::sc_fxnum
 Base class for the fixed-point types; arbitrary precision. More...
 
class  sc_dt::sc_fxnum_fast
 Base class for the fixed-point types; limited precision. More...
 

Namespaces

 sc_core
 
 sc_dt
 

Macros

#define DECL_ASN_OP_T(op, tp)   sc_fxnum_bitref& operator op ( tp );
 
#define DECL_ASN_OP(op)
 
#define DECL_ASN_OP_T(op, tp)   sc_fxnum_fast_bitref& operator op ( tp );
 
#define DECL_ASN_OP(op)
 
#define DECL_ASN_OP_T(tp)   sc_fxnum_subref& operator = ( tp );
 
#define DECL_ASN_OP_T_A(op, tp)   sc_fxnum_subref& operator op ## = ( tp );
 
#define DECL_ASN_OP_A(op)
 
#define DECL_REL_OP_T(op, tp)
 
#define DECL_REL_OP(op)
 
#define DECL_ASN_OP_T(tp)   sc_fxnum_fast_subref& operator = ( tp );
 
#define DECL_ASN_OP_T_A(op, tp)   sc_fxnum_fast_subref& operator op ## = ( tp );
 
#define DECL_ASN_OP_A(op)
 
#define DECL_REL_OP_T(op, tp)
 
#define DECL_REL_OP(op)
 
#define DECL_CTOR_T(tp)
 
#define DECL_BIN_OP_T(op, tp)
 
#define DECL_BIN_OP_OTHER(op)
 
#define DECL_BIN_OP(op, dummy)
 
#define DECL_BIN_FNC_T(fnc, tp)
 
#define DECL_BIN_FNC_OTHER(fnc)
 
#define DECL_BIN_FNC(fnc)
 
#define DECL_REL_OP_T(op, tp)
 
#define DECL_REL_OP_OTHER(op)
 
#define DECL_REL_OP(op)
 
#define DECL_ASN_OP_T(op, tp)   sc_fxnum& operator op( tp );
 
#define DECL_ASN_OP_OTHER(op)
 
#define DECL_ASN_OP(op)
 
#define DECL_CTOR_T(tp)
 
#define DECL_BIN_OP_T(op, tp)
 
#define DECL_BIN_OP_OTHER(op)
 
#define DECL_BIN_OP(op, dummy)
 
#define DECL_BIN_FNC_T(fnc, tp)
 
#define DECL_BIN_FNC_OTHER(fnc)
 
#define DECL_BIN_FNC(fnc)
 
#define DECL_REL_OP_T(op, tp)
 
#define DECL_REL_OP_OTHER(op)
 
#define DECL_REL_OP(op)
 
#define DECL_ASN_OP_T(op, tp)   sc_fxnum_fast& operator op( tp );
 
#define DECL_ASN_OP_OTHER(op)
 
#define DECL_ASN_OP(op)
 
#define DEFN_ASN_OP_T(tp)
 
#define DEFN_ASN_OP_T(op, tp)
 
#define DEFN_ASN_OP(op)
 
#define DEFN_REL_OP_T(op, tp)
 
#define DEFN_REL_OP(op)
 
#define DEFN_RED_FNC(fnc)
 
#define DEFN_ASN_OP_T(tp)
 
#define DEFN_ASN_OP_T(op, tp)
 
#define DEFN_ASN_OP(op)
 
#define DEFN_REL_OP_T(op, tp)
 
#define DEFN_REL_OP(op)
 
#define DEFN_RED_FNC(fnc)
 
#define DEFN_CTOR_T(tp, arg)
 
#define DEFN_CTOR_T_A(tp)   DEFN_CTOR_T(tp,a)
 
#define DEFN_CTOR_T_B(tp)   DEFN_CTOR_T(tp,*a.m_rep)
 
#define DEFN_CTOR_T_C(tp)   DEFN_CTOR_T(tp,a.to_double())
 
#define DEFN_CTOR_T_D(tp)   DEFN_CTOR_T(tp,a.value())
 
#define DEFN_BIN_OP_T(op, fnc, tp)
 
#define DEFN_BIN_OP_OTHER(op, fnc)
 
#define DEFN_BIN_OP(op, fnc)
 
#define DEFN_BIN_FNC_T(fnc, tp)
 
#define DEFN_BIN_FNC_OTHER(fnc)
 
#define DEFN_BIN_FNC(fnc)
 
#define DEFN_REL_OP_T(op, ret, tp)
 
#define DEFN_REL_OP_OTHER(op, ret)
 
#define DEFN_REL_OP(op, ret)
 
#define DEFN_ASN_OP_T(tp)
 
#define DEFN_ASN_OP_T(op, fnc, tp)
 
#define DEFN_ASN_OP_OTHER(op, fnc)
 
#define DEFN_ASN_OP(op, fnc)
 
#define DEFN_CTOR_T(tp, arg)
 
#define DEFN_CTOR_T_A(tp)   DEFN_CTOR_T(tp,static_cast<double>( a ))
 
#define DEFN_CTOR_T_B(tp)   DEFN_CTOR_T(tp,sc_fxval_fast::from_string( a ))
 
#define DEFN_CTOR_T_C(tp)   DEFN_CTOR_T(tp,a.to_double())
 
#define DEFN_BIN_OP_T(op, tp)
 
#define DEFN_BIN_OP_OTHER(op)
 
#define DEFN_BIN_OP(op, dummy)
 
#define DEFN_BIN_FNC_T(fnc, op, tp)
 
#define DEFN_BIN_FNC_OTHER(fnc, op)
 
#define DEFN_BIN_FNC(fnc, op)
 
#define DEFN_REL_OP_T(op, tp)
 
#define DEFN_REL_OP_OTHER(op)
 
#define DEFN_REL_OP(op)
 
#define DEFN_ASN_OP_T(tp)
 
#define DEFN_ASN_OP_T(op, tp)
 
#define DEFN_ASN_OP_OTHER(op)
 
#define DEFN_ASN_OP(op)
 
#define DEFN_BIN_OP_T(op, fnc, tp)
 
#define DEFN_BIN_OP(op, fnc)   DEFN_BIN_OP_T(op,fnc,const sc_fxnum_fast&)
 
#define DEFN_BIN_FNC_T(fnc, tp)
 
#define DEFN_BIN_FNC(fnc)   DEFN_BIN_FNC_T(fnc,const sc_fxnum_fast&)
 
#define DEFN_REL_OP_T(op, ret, tp)
 
#define DEFN_REL_OP(op, ret)   DEFN_REL_OP_T(op,ret,const sc_fxnum_fast&)
 
#define DEFN_ASN_OP_T(tp)
 
#define DEFN_ASN_OP_T(op, fnc, tp)
 
#define DEFN_ASN_OP(op, fnc)
 
#define DEFN_BIN_FNC_T(fnc, op, tp)
 
#define DEFN_BIN_FNC(fnc, op)
 
#define DEFN_ASN_OP_T(tp)
 
#define DEFN_ASN_OP_T(op, tp)
 
#define DEFN_ASN_OP(op)
 

Functions

inline ::std::ostream & sc_dt::operator<< (::std::ostream &os, const sc_fxnum_bitref &a)
 
inline ::std::istream & sc_dt::operator>> (::std::istream &is, sc_fxnum_bitref &a)
 
inline ::std::ostream & sc_dt::operator<< (::std::ostream &os, const sc_fxnum_fast_bitref &a)
 
inline ::std::istream & sc_dt::operator>> (::std::istream &is, sc_fxnum_fast_bitref &a)
 
inline ::std::ostream & sc_dt::operator<< (::std::ostream &os, const sc_fxnum_subref &a)
 
inline ::std::istream & sc_dt::operator>> (::std::istream &is, sc_fxnum_subref &a)
 
inline ::std::ostream & sc_dt::operator<< (::std::ostream &os, const sc_fxnum_fast_subref &a)
 
inline ::std::istream & sc_dt::operator>> (::std::istream &is, sc_fxnum_fast_subref &a)
 
void sc_dt::neg (sc_fxval &c, const sc_fxnum &a)
 
void sc_dt::neg (sc_fxnum &c, const sc_fxnum &a)
 
const sc_fxval sc_dt::operator/ (const sc_fxnum &a, const sc_fxnum &b)
 
const sc_fxval sc_dt::operator/ (const sc_fxnum &a, const sc_fxval &b)
 
const sc_fxval sc_dt::operator/ (const sc_fxval &a, const sc_fxnum &b)
 
const sc_fxval sc_dt::operator<< (const sc_fxnum &a, int b)
 
const sc_fxval sc_dt::operator>> (const sc_fxnum &a, int b)
 
void sc_dt::lshift (sc_fxval &c, const sc_fxnum &a, int b)
 
void sc_dt::rshift (sc_fxval &c, const sc_fxnum &a, int b)
 
void sc_dt::lshift (sc_fxnum &c, const sc_fxnum &a, int b)
 
void sc_dt::rshift (sc_fxnum &c, const sc_fxnum &a, int b)
 
inline ::std::ostream & sc_dt::operator<< (::std::ostream &os, const sc_fxnum &a)
 
inline ::std::istream & sc_dt::operator>> (::std::istream &is, sc_fxnum &a)
 
void sc_dt::neg (sc_fxval_fast &c, const sc_fxnum_fast &a)
 
void sc_dt::neg (sc_fxnum_fast &c, const sc_fxnum_fast &a)
 
const sc_fxval_fast sc_dt::operator/ (const sc_fxnum_fast &a, const sc_fxnum_fast &b)
 
const sc_fxval_fast sc_dt::operator/ (const sc_fxnum_fast &a, const sc_fxval_fast &b)
 
const sc_fxval_fast sc_dt::operator/ (const sc_fxval_fast &a, const sc_fxnum_fast &b)
 
const sc_fxval_fast sc_dt::operator<< (const sc_fxnum_fast &a, int b)
 
const sc_fxval_fast sc_dt::operator>> (const sc_fxnum_fast &a, int b)
 
void sc_dt::lshift (sc_fxval_fast &c, const sc_fxnum_fast &a, int b)
 
void sc_dt::rshift (sc_fxval_fast &c, const sc_fxnum_fast &a, int b)
 
void sc_dt::lshift (sc_fxnum_fast &c, const sc_fxnum_fast &a, int b)
 
void sc_dt::rshift (sc_fxnum_fast &c, const sc_fxnum_fast &a, int b)
 
inline ::std::ostream & sc_dt::operator<< (::std::ostream &os, const sc_fxnum_fast &a)
 
inline ::std::istream & sc_dt::operator>> (::std::istream &is, sc_fxnum_fast &a)
 

Macro Definition Documentation

◆ DECL_ASN_OP [1/4]

#define DECL_ASN_OP (   op)
Value:
DECL_ASN_OP_T(op,const sc_fxnum_bitref&) \
DECL_ASN_OP_T(op,const sc_fxnum_fast_bitref&) \
DECL_ASN_OP_T(op,const sc_bit&) \
DECL_ASN_OP_T(op,bool)
#define DECL_ASN_OP_T(op, tp)
Definition: sc_fxnum.h:1226

Definition at line 1241 of file sc_fxnum.h.

◆ DECL_ASN_OP [2/4]

#define DECL_ASN_OP (   op)
Value:
DECL_ASN_OP_T(op,const sc_fxnum_bitref&) \
DECL_ASN_OP_T(op,const sc_fxnum_fast_bitref&) \
DECL_ASN_OP_T(op,const sc_bit&) \
DECL_ASN_OP_T(op,bool)
#define DECL_ASN_OP_T(op, tp)
Definition: sc_fxnum.h:1226

Definition at line 1241 of file sc_fxnum.h.

◆ DECL_ASN_OP [3/4]

#define DECL_ASN_OP (   op)
Value:
DECL_ASN_OP_T(op,int) \
DECL_ASN_OP_T(op,unsigned int) \
DECL_ASN_OP_T(op,long) \
DECL_ASN_OP_T(op,unsigned long) \
DECL_ASN_OP_T(op,float) \
DECL_ASN_OP_T(op,double) \
DECL_ASN_OP_T(op,const char*) \
DECL_ASN_OP_T(op,const sc_fxval&) \
DECL_ASN_OP_T(op,const sc_fxval_fast&) \
DECL_ASN_OP_T(op,const sc_fxnum&) \
DECL_ASN_OP_T(op,const sc_fxnum_fast&) \
DECL_ASN_OP_OTHER(op)
#define DECL_ASN_OP_T(op, tp)
Definition: sc_fxnum.h:1226

Definition at line 1241 of file sc_fxnum.h.

◆ DECL_ASN_OP [4/4]

#define DECL_ASN_OP (   op)
Value:
DECL_ASN_OP_T(op,int) \
DECL_ASN_OP_T(op,unsigned int) \
DECL_ASN_OP_T(op,long) \
DECL_ASN_OP_T(op,unsigned long) \
DECL_ASN_OP_T(op,float) \
DECL_ASN_OP_T(op,double) \
DECL_ASN_OP_T(op,const char*) \
DECL_ASN_OP_T(op,const sc_fxval&) \
DECL_ASN_OP_T(op,const sc_fxval_fast&) \
DECL_ASN_OP_T(op,const sc_fxnum&) \
DECL_ASN_OP_T(op,const sc_fxnum_fast&) \
DECL_ASN_OP_OTHER(op)
#define DECL_ASN_OP_T(op, tp)
Definition: sc_fxnum.h:1226

Definition at line 1241 of file sc_fxnum.h.

◆ DECL_ASN_OP_A [1/2]

#define DECL_ASN_OP_A (   op)
Value:
DECL_ASN_OP_T_A(op,const sc_fxnum_subref&) \
DECL_ASN_OP_T_A(op,const sc_fxnum_fast_subref&) \
DECL_ASN_OP_T_A(op,const sc_bv_base&) \
DECL_ASN_OP_T_A(op,const sc_lv_base&)
#define DECL_ASN_OP_T_A(op, tp)
Definition: sc_fxnum.h:452

Definition at line 455 of file sc_fxnum.h.

◆ DECL_ASN_OP_A [2/2]

#define DECL_ASN_OP_A (   op)
Value:
DECL_ASN_OP_T_A(op,const sc_fxnum_subref&) \
DECL_ASN_OP_T_A(op,const sc_fxnum_fast_subref&) \
DECL_ASN_OP_T_A(op,const sc_bv_base&) \
DECL_ASN_OP_T_A(op,const sc_lv_base&)
#define DECL_ASN_OP_T_A(op, tp)
Definition: sc_fxnum.h:452

Definition at line 455 of file sc_fxnum.h.

◆ DECL_ASN_OP_OTHER [1/2]

#define DECL_ASN_OP_OTHER (   op)
Value:
DECL_ASN_OP_T(op,uint64) \
DECL_ASN_OP_T(op,const sc_int_base&) \
DECL_ASN_OP_T(op,const sc_uint_base&) \
DECL_ASN_OP_T(op,const sc_signed&) \
DECL_ASN_OP_T(op,const sc_unsigned&)
#define DECL_ASN_OP_T(op, tp)
Definition: sc_fxnum.h:1226
int64_t int64
Definition: sc_nbdefs.h:188
uint64_t uint64
Definition: sc_nbdefs.h:189

Definition at line 1230 of file sc_fxnum.h.

◆ DECL_ASN_OP_OTHER [2/2]

#define DECL_ASN_OP_OTHER (   op)
Value:
DECL_ASN_OP_T(op,uint64) \
DECL_ASN_OP_T(op,const sc_int_base&) \
DECL_ASN_OP_T(op,const sc_uint_base&) \
DECL_ASN_OP_T(op,const sc_signed&) \
DECL_ASN_OP_T(op,const sc_unsigned&)
#define DECL_ASN_OP_T(op, tp)
Definition: sc_fxnum.h:1226
int64_t int64
Definition: sc_nbdefs.h:188
uint64_t uint64
Definition: sc_nbdefs.h:189

Definition at line 1230 of file sc_fxnum.h.

◆ DECL_ASN_OP_T [1/6]

#define DECL_ASN_OP_T (   op,
  tp 
)    sc_fxnum_bitref& operator op ( tp );

Definition at line 1226 of file sc_fxnum.h.

◆ DECL_ASN_OP_T [2/6]

#define DECL_ASN_OP_T (   op,
  tp 
)    sc_fxnum_fast_bitref& operator op ( tp );

Definition at line 1226 of file sc_fxnum.h.

◆ DECL_ASN_OP_T [3/6]

#define DECL_ASN_OP_T (   tp)    sc_fxnum_subref& operator = ( tp );

Definition at line 1226 of file sc_fxnum.h.

◆ DECL_ASN_OP_T [4/6]

#define DECL_ASN_OP_T (   tp)    sc_fxnum_fast_subref& operator = ( tp );

Definition at line 1226 of file sc_fxnum.h.

◆ DECL_ASN_OP_T [5/6]

#define DECL_ASN_OP_T (   op,
  tp 
)    sc_fxnum& operator op( tp );

Definition at line 1226 of file sc_fxnum.h.

◆ DECL_ASN_OP_T [6/6]

#define DECL_ASN_OP_T (   op,
  tp 
)    sc_fxnum_fast& operator op( tp );

Definition at line 1226 of file sc_fxnum.h.

◆ DECL_ASN_OP_T_A [1/2]

#define DECL_ASN_OP_T_A (   op,
  tp 
)    sc_fxnum_subref& operator op ## = ( tp );

Definition at line 452 of file sc_fxnum.h.

◆ DECL_ASN_OP_T_A [2/2]

#define DECL_ASN_OP_T_A (   op,
  tp 
)    sc_fxnum_fast_subref& operator op ## = ( tp );

Definition at line 452 of file sc_fxnum.h.

◆ DECL_BIN_FNC [1/2]

#define DECL_BIN_FNC (   fnc)
Value:
friend void fnc ( sc_fxval&, const sc_fxnum&, const sc_fxnum& ); \
friend void fnc ( sc_fxnum&, const sc_fxnum&, const sc_fxnum& ); \
DECL_BIN_FNC_T(fnc,int) \
DECL_BIN_FNC_T(fnc,unsigned int) \
DECL_BIN_FNC_T(fnc,long) \
DECL_BIN_FNC_T(fnc,unsigned long) \
DECL_BIN_FNC_T(fnc,float) \
DECL_BIN_FNC_T(fnc,double) \
DECL_BIN_FNC_T(fnc,const char*) \
DECL_BIN_FNC_T(fnc,const sc_fxval&) \
DECL_BIN_FNC_T(fnc,const sc_fxval_fast&) \
DECL_BIN_FNC_T(fnc,const sc_fxnum_fast&) \
DECL_BIN_FNC_OTHER(fnc)

Definition at line 1150 of file sc_fxnum.h.

◆ DECL_BIN_FNC [2/2]

#define DECL_BIN_FNC (   fnc)
Value:
friend void fnc ( sc_fxval_fast&, const sc_fxnum_fast&, \
const sc_fxnum_fast& ); \
friend void fnc ( sc_fxnum_fast&, const sc_fxnum_fast&, \
const sc_fxnum_fast& ); \
DECL_BIN_FNC_T(fnc,int) \
DECL_BIN_FNC_T(fnc,unsigned int) \
DECL_BIN_FNC_T(fnc,long) \
DECL_BIN_FNC_T(fnc,unsigned long) \
DECL_BIN_FNC_T(fnc,float) \
DECL_BIN_FNC_T(fnc,double) \
DECL_BIN_FNC_T(fnc,const char*) \
DECL_BIN_FNC_T(fnc,const sc_fxval&) \
DECL_BIN_FNC_T(fnc,const sc_fxval_fast&) \
DECL_BIN_FNC_T(fnc,const sc_fxnum&) \
DECL_BIN_FNC_OTHER(fnc)

Definition at line 1150 of file sc_fxnum.h.

◆ DECL_BIN_FNC_OTHER [1/2]

#define DECL_BIN_FNC_OTHER (   fnc)
Value:
DECL_BIN_FNC_T(fnc,uint64) \
DECL_BIN_FNC_T(fnc,const sc_int_base&) \
DECL_BIN_FNC_T(fnc,const sc_uint_base&) \
DECL_BIN_FNC_T(fnc,const sc_signed&) \
DECL_BIN_FNC_T(fnc,const sc_unsigned&)
int64_t int64
Definition: sc_nbdefs.h:188
#define DECL_BIN_FNC_T(fnc, tp)
Definition: sc_fxnum.h:1132
uint64_t uint64
Definition: sc_nbdefs.h:189

Definition at line 1139 of file sc_fxnum.h.

◆ DECL_BIN_FNC_OTHER [2/2]

#define DECL_BIN_FNC_OTHER (   fnc)
Value:
DECL_BIN_FNC_T(fnc,uint64) \
DECL_BIN_FNC_T(fnc,const sc_int_base&) \
DECL_BIN_FNC_T(fnc,const sc_uint_base&) \
DECL_BIN_FNC_T(fnc,const sc_signed&) \
DECL_BIN_FNC_T(fnc,const sc_unsigned&)
int64_t int64
Definition: sc_nbdefs.h:188
#define DECL_BIN_FNC_T(fnc, tp)
Definition: sc_fxnum.h:1132
uint64_t uint64
Definition: sc_nbdefs.h:189

Definition at line 1139 of file sc_fxnum.h.

◆ DECL_BIN_FNC_T [1/2]

#define DECL_BIN_FNC_T (   fnc,
  tp 
)
Value:
friend void fnc ( sc_fxval&, const sc_fxnum&, tp ); \
friend void fnc ( sc_fxval&, tp, const sc_fxnum& ); \
friend void fnc ( sc_fxnum&, const sc_fxnum&, tp ); \
friend void fnc ( sc_fxnum&, tp, const sc_fxnum& );

Definition at line 1132 of file sc_fxnum.h.

◆ DECL_BIN_FNC_T [2/2]

#define DECL_BIN_FNC_T (   fnc,
  tp 
)
Value:
friend void fnc ( sc_fxval_fast&, const sc_fxnum_fast&, tp ); \
friend void fnc ( sc_fxval_fast&, tp, const sc_fxnum_fast& ); \
friend void fnc ( sc_fxnum_fast&, const sc_fxnum_fast&, tp ); \
friend void fnc ( sc_fxnum_fast&, tp, const sc_fxnum_fast& );

Definition at line 1132 of file sc_fxnum.h.

◆ DECL_BIN_OP [1/2]

#define DECL_BIN_OP (   op,
  dummy 
)
Value:
friend const sc_fxval operator op ( const sc_fxnum&, const sc_fxnum& ); \
DECL_BIN_OP_T(op,int) \
DECL_BIN_OP_T(op,unsigned int) \
DECL_BIN_OP_T(op,long) \
DECL_BIN_OP_T(op,unsigned long) \
DECL_BIN_OP_T(op,float) \
DECL_BIN_OP_T(op,double) \
DECL_BIN_OP_T(op,const char*) \
DECL_BIN_OP_T(op,const sc_fxval&) \
DECL_BIN_OP_T(op,const sc_fxval_fast&) \
DECL_BIN_OP_T(op,const sc_fxnum_fast&) \
DECL_BIN_OP_OTHER(op)

Definition at line 1085 of file sc_fxnum.h.

◆ DECL_BIN_OP [2/2]

#define DECL_BIN_OP (   op,
  dummy 
)
Value:
friend const sc_fxval_fast operator op ( const sc_fxnum_fast&, \
const sc_fxnum_fast& ); \
DECL_BIN_OP_T(op,int) \
DECL_BIN_OP_T(op,unsigned int) \
DECL_BIN_OP_T(op,long) \
DECL_BIN_OP_T(op,unsigned long) \
DECL_BIN_OP_T(op,float) \
DECL_BIN_OP_T(op,double) \
DECL_BIN_OP_T(op,const char*) \
DECL_BIN_OP_T(op,const sc_fxval_fast&) \
DECL_BIN_OP_OTHER(op)

Definition at line 1085 of file sc_fxnum.h.

◆ DECL_BIN_OP_OTHER [1/2]

#define DECL_BIN_OP_OTHER (   op)
Value:
DECL_BIN_OP_T(op,uint64) \
DECL_BIN_OP_T(op,const sc_int_base&) \
DECL_BIN_OP_T(op,const sc_uint_base&) \
DECL_BIN_OP_T(op,const sc_signed&) \
DECL_BIN_OP_T(op,const sc_unsigned&)
int64_t int64
Definition: sc_nbdefs.h:188
uint64_t uint64
Definition: sc_nbdefs.h:189
#define DECL_BIN_OP_T(op, tp)
Definition: sc_fxnum.h:1069

Definition at line 1074 of file sc_fxnum.h.

◆ DECL_BIN_OP_OTHER [2/2]

#define DECL_BIN_OP_OTHER (   op)
Value:
DECL_BIN_OP_T(op,uint64) \
DECL_BIN_OP_T(op,const sc_int_base&) \
DECL_BIN_OP_T(op,const sc_uint_base&) \
DECL_BIN_OP_T(op,const sc_signed&) \
DECL_BIN_OP_T(op,const sc_unsigned&)
int64_t int64
Definition: sc_nbdefs.h:188
uint64_t uint64
Definition: sc_nbdefs.h:189
#define DECL_BIN_OP_T(op, tp)
Definition: sc_fxnum.h:1069

Definition at line 1074 of file sc_fxnum.h.

◆ DECL_BIN_OP_T [1/2]

#define DECL_BIN_OP_T (   op,
  tp 
)
Value:
friend const sc_fxval operator op ( const sc_fxnum&, tp ); \
friend const sc_fxval operator op ( tp, const sc_fxnum& );

Definition at line 1069 of file sc_fxnum.h.

◆ DECL_BIN_OP_T [2/2]

#define DECL_BIN_OP_T (   op,
  tp 
)
Value:
friend const sc_fxval_fast operator op ( const sc_fxnum_fast&, tp ); \
friend const sc_fxval_fast operator op ( tp, const sc_fxnum_fast& );

Definition at line 1069 of file sc_fxnum.h.

◆ DECL_CTOR_T [1/2]

#define DECL_CTOR_T (   tp)
Value:
sc_fxnum( tp, \
const sc_fxtype_params&, \
sc_enc, \
const sc_fxcast_switch&, \
sc_fxnum_observer* );
sc_enc
Enumeration of sign encodings.
Definition: sc_fxdefs.h:66

Definition at line 1018 of file sc_fxnum.h.

◆ DECL_CTOR_T [2/2]

#define DECL_CTOR_T (   tp)
Value:
sc_fxnum_fast( tp, \
const sc_fxtype_params&, \
sc_enc, \
const sc_fxcast_switch&, \
sc_fxnum_fast_observer* );
sc_enc
Enumeration of sign encodings.
Definition: sc_fxdefs.h:66

Definition at line 1018 of file sc_fxnum.h.

◆ DECL_REL_OP [1/4]

#define DECL_REL_OP (   op)
Value:
friend bool operator op ( const sc_fxnum_subref&, \
const sc_fxnum_subref& ); \
friend bool operator op ( const sc_fxnum_subref&, \
const sc_fxnum_fast_subref& ); \
DECL_REL_OP_T(op,const sc_bv_base&) \
DECL_REL_OP_T(op,const sc_lv_base&) \
DECL_REL_OP_T(op,const char*) \
DECL_REL_OP_T(op,const bool*) \
DECL_REL_OP_T(op,const sc_signed&) \
DECL_REL_OP_T(op,const sc_unsigned&) \
DECL_REL_OP_T(op,int) \
DECL_REL_OP_T(op,unsigned int) \
DECL_REL_OP_T(op,long) \
DECL_REL_OP_T(op,unsigned long)

Definition at line 1200 of file sc_fxnum.h.

◆ DECL_REL_OP [2/4]

#define DECL_REL_OP (   op)
Value:
friend bool operator op ( const sc_fxnum_fast_subref&, \
const sc_fxnum_fast_subref& ); \
friend bool operator op ( const sc_fxnum_fast_subref&, \
const sc_fxnum_subref& ); \
DECL_REL_OP_T(op,const sc_bv_base&) \
DECL_REL_OP_T(op,const sc_lv_base&) \
DECL_REL_OP_T(op,const char*) \
DECL_REL_OP_T(op,const bool*) \
DECL_REL_OP_T(op,const sc_signed&) \
DECL_REL_OP_T(op,const sc_unsigned&) \
DECL_REL_OP_T(op,int) \
DECL_REL_OP_T(op,unsigned int) \
DECL_REL_OP_T(op,long) \
DECL_REL_OP_T(op,unsigned long)

Definition at line 1200 of file sc_fxnum.h.

◆ DECL_REL_OP [3/4]

#define DECL_REL_OP (   op)
Value:
friend bool operator op ( const sc_fxnum&, const sc_fxnum& ); \
DECL_REL_OP_T(op,int) \
DECL_REL_OP_T(op,unsigned int) \
DECL_REL_OP_T(op,long) \
DECL_REL_OP_T(op,unsigned long) \
DECL_REL_OP_T(op,float) \
DECL_REL_OP_T(op,double) \
DECL_REL_OP_T(op,const char*) \
DECL_REL_OP_T(op,const sc_fxval&) \
DECL_REL_OP_T(op,const sc_fxval_fast&) \
DECL_REL_OP_T(op,const sc_fxnum_fast&) \
DECL_REL_OP_OTHER(op)

Definition at line 1200 of file sc_fxnum.h.

◆ DECL_REL_OP [4/4]

#define DECL_REL_OP (   op)
Value:
friend bool operator op ( const sc_fxnum_fast&, const sc_fxnum_fast& ); \
DECL_REL_OP_T(op,int) \
DECL_REL_OP_T(op,unsigned int) \
DECL_REL_OP_T(op,long) \
DECL_REL_OP_T(op,unsigned long) \
DECL_REL_OP_T(op,float) \
DECL_REL_OP_T(op,double) \
DECL_REL_OP_T(op,const char*) \
DECL_REL_OP_T(op,const sc_fxval_fast&) \
DECL_REL_OP_OTHER(op)

Definition at line 1200 of file sc_fxnum.h.

◆ DECL_REL_OP_OTHER [1/2]

#define DECL_REL_OP_OTHER (   op)
Value:
DECL_REL_OP_T(op,uint64) \
DECL_REL_OP_T(op,const sc_int_base&) \
DECL_REL_OP_T(op,const sc_uint_base&) \
DECL_REL_OP_T(op,const sc_signed&) \
DECL_REL_OP_T(op,const sc_unsigned&)
#define DECL_REL_OP_T(op, tp)
Definition: sc_fxnum.h:1184
int64_t int64
Definition: sc_nbdefs.h:188
uint64_t uint64
Definition: sc_nbdefs.h:189

Definition at line 1189 of file sc_fxnum.h.

◆ DECL_REL_OP_OTHER [2/2]

#define DECL_REL_OP_OTHER (   op)
Value:
DECL_REL_OP_T(op,uint64) \
DECL_REL_OP_T(op,const sc_int_base&) \
DECL_REL_OP_T(op,const sc_uint_base&) \
DECL_REL_OP_T(op,const sc_signed&) \
DECL_REL_OP_T(op,const sc_unsigned&)
#define DECL_REL_OP_T(op, tp)
Definition: sc_fxnum.h:1184
int64_t int64
Definition: sc_nbdefs.h:188
uint64_t uint64
Definition: sc_nbdefs.h:189

Definition at line 1189 of file sc_fxnum.h.

◆ DECL_REL_OP_T [1/4]

#define DECL_REL_OP_T (   op,
  tp 
)
Value:
friend bool operator op ( const sc_fxnum_subref&, tp ); \
friend bool operator op ( tp, const sc_fxnum_subref& );

Definition at line 1184 of file sc_fxnum.h.

◆ DECL_REL_OP_T [2/4]

#define DECL_REL_OP_T (   op,
  tp 
)
Value:
friend bool operator op ( const sc_fxnum_fast_subref&, tp ); \
friend bool operator op ( tp, const sc_fxnum_fast_subref& );

Definition at line 1184 of file sc_fxnum.h.

◆ DECL_REL_OP_T [3/4]

#define DECL_REL_OP_T (   op,
  tp 
)
Value:
friend bool operator op ( const sc_fxnum&, tp ); \
friend bool operator op ( tp, const sc_fxnum& );

Definition at line 1184 of file sc_fxnum.h.

◆ DECL_REL_OP_T [4/4]

#define DECL_REL_OP_T (   op,
  tp 
)
Value:
friend bool operator op ( const sc_fxnum_fast&, tp ); \
friend bool operator op ( tp, const sc_fxnum_fast& );

Definition at line 1184 of file sc_fxnum.h.

◆ DEFN_ASN_OP [1/6]

#define DEFN_ASN_OP (   op)
Value:
inline \
sc_fxnum_subref& \
sc_fxnum_subref::operator op ## = ( const sc_fxnum_subref& a ) \
{ \
SC_FXNUM_OBSERVER_READ_( m_num ) \
get(); \
m_bv = m_bv op static_cast<sc_bv_base>( a ); \
set(); \
SC_FXNUM_OBSERVER_WRITE_( m_num ) \
return *this; \
} \
\
inline \
sc_fxnum_subref& \
sc_fxnum_subref::operator op ## = ( const sc_fxnum_fast_subref& a ) \
{ \
SC_FXNUM_OBSERVER_READ_( m_num ) \
get(); \
m_bv = m_bv op static_cast<sc_bv_base>( a ); \
set(); \
SC_FXNUM_OBSERVER_WRITE_( m_num ) \
return *this; \
} \
DEFN_ASN_OP_T(op,const sc_bv_base&) \
DEFN_ASN_OP_T(op,const sc_lv_base&)
#define DEFN_ASN_OP_T(tp)
Definition: sc_fxnum.h:5082

Definition at line 5094 of file sc_fxnum.h.

◆ DEFN_ASN_OP [2/6]

#define DEFN_ASN_OP (   op)
Value:
inline \
sc_fxnum_fast_subref& \
sc_fxnum_fast_subref::operator op ## = ( const sc_fxnum_subref& a ) \
{ \
SC_FXNUM_FAST_OBSERVER_READ_( m_num ) \
get(); \
m_bv = m_bv op static_cast<sc_bv_base>( a ); \
set(); \
SC_FXNUM_FAST_OBSERVER_WRITE_( m_num ) \
return *this; \
} \
\
inline \
sc_fxnum_fast_subref& \
sc_fxnum_fast_subref::operator op ## = ( const sc_fxnum_fast_subref& a ) \
{ \
SC_FXNUM_FAST_OBSERVER_READ_( m_num ) \
get(); \
m_bv = m_bv op static_cast<sc_bv_base>( a ); \
set(); \
SC_FXNUM_FAST_OBSERVER_WRITE_( m_num ) \
return *this; \
} \
DEFN_ASN_OP_T(op,const sc_bv_base&) \
DEFN_ASN_OP_T(op,const sc_lv_base&)
#define DEFN_ASN_OP_T(tp)
Definition: sc_fxnum.h:5082

Definition at line 5094 of file sc_fxnum.h.

◆ DEFN_ASN_OP [3/6]

#define DEFN_ASN_OP (   op,
  fnc 
)

Definition at line 5094 of file sc_fxnum.h.

◆ DEFN_ASN_OP [4/6]

#define DEFN_ASN_OP (   op)

Definition at line 5094 of file sc_fxnum.h.

◆ DEFN_ASN_OP [5/6]

#define DEFN_ASN_OP (   op,
  fnc 
)
Value:
inline \
sc_fxval& \
sc_fxval::operator op ( const sc_fxnum& b ) \
{ \
SC_FXVAL_OBSERVER_READ_( *this ) \
scfx_rep* new_rep = sc_dt::fnc ## _scfx_rep( *m_rep, *b.get_rep() ); \
delete m_rep; \
m_rep = new_rep; \
SC_FXVAL_OBSERVER_WRITE_( *this ) \
return *this; \
} \
DEFN_ASN_OP_T(op,fnc,const sc_fxnum_fast&)
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005
#define DEFN_ASN_OP_T(tp)
Definition: sc_fxnum.h:5082

Definition at line 5094 of file sc_fxnum.h.

◆ DEFN_ASN_OP [6/6]

#define DEFN_ASN_OP (   op)
Value:
inline \
sc_fxval_fast& \
sc_fxval_fast::operator op ( const sc_fxnum_fast& b ) \
{ \
SC_FXVAL_FAST_OBSERVER_READ_( *this ) \
m_val op b.get_val(); \
SC_FXVAL_FAST_OBSERVER_WRITE_( *this ) \
return *this; \
} \
DEFN_ASN_OP_T(op,const sc_fxnum&)
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005
#define DEFN_ASN_OP_T(tp)
Definition: sc_fxnum.h:5082

Definition at line 5094 of file sc_fxnum.h.

◆ DEFN_ASN_OP_OTHER [1/2]

#define DEFN_ASN_OP_OTHER (   op,
  fnc 
)
Value:
DEFN_ASN_OP_T(op,fnc,uint64) \
DEFN_ASN_OP_T(op,fnc,const sc_int_base&) \
DEFN_ASN_OP_T(op,fnc,const sc_uint_base&) \
DEFN_ASN_OP_T(op,fnc,const sc_signed&) \
DEFN_ASN_OP_T(op,fnc,const sc_unsigned&)
int64_t int64
Definition: sc_nbdefs.h:188
uint64_t uint64
Definition: sc_nbdefs.h:189
#define DEFN_ASN_OP_T(tp)
Definition: sc_fxnum.h:5082

Definition at line 4296 of file sc_fxnum.h.

◆ DEFN_ASN_OP_OTHER [2/2]

#define DEFN_ASN_OP_OTHER (   op)
Value:
DEFN_ASN_OP_T(op,uint64) \
DEFN_ASN_OP_T(op,const sc_int_base&) \
DEFN_ASN_OP_T(op,const sc_uint_base&) \
DEFN_ASN_OP_T(op,const sc_signed&) \
DEFN_ASN_OP_T(op,const sc_unsigned&)
int64_t int64
Definition: sc_nbdefs.h:188
uint64_t uint64
Definition: sc_nbdefs.h:189
#define DEFN_ASN_OP_T(tp)
Definition: sc_fxnum.h:5082

Definition at line 4296 of file sc_fxnum.h.

◆ DEFN_ASN_OP_T [1/12]

#define DEFN_ASN_OP_T (   tp)
Value:
inline \
sc_fxnum_subref& \
sc_fxnum_subref::operator = ( tp a ) \
{ \
m_bv = a; \
set(); \
SC_FXNUM_OBSERVER_WRITE_( m_num ) \
return *this; \
}

Definition at line 5082 of file sc_fxnum.h.

◆ DEFN_ASN_OP_T [2/12]

#define DEFN_ASN_OP_T (   op,
  tp 
)
Value:
inline \
sc_fxnum_subref& \
sc_fxnum_subref::operator op ## = ( tp a ) \
{ \
SC_FXNUM_OBSERVER_READ_( m_num ) \
get(); \
m_bv = m_bv op a; \
set(); \
SC_FXNUM_OBSERVER_WRITE_( m_num ) \
return *this; \
}

Definition at line 5082 of file sc_fxnum.h.

◆ DEFN_ASN_OP_T [3/12]

#define DEFN_ASN_OP_T (   tp)
Value:
inline \
sc_fxnum_fast_subref& \
sc_fxnum_fast_subref::operator = ( tp a ) \
{ \
m_bv = a; \
set(); \
SC_FXNUM_FAST_OBSERVER_WRITE_( m_num ) \
return *this; \
}

Definition at line 5082 of file sc_fxnum.h.

◆ DEFN_ASN_OP_T [4/12]

#define DEFN_ASN_OP_T (   op,
  tp 
)
Value:
inline \
sc_fxnum_fast_subref& \
sc_fxnum_fast_subref::operator op ## = ( tp a ) \
{ \
SC_FXNUM_FAST_OBSERVER_READ_( m_num ) \
get(); \
m_bv = m_bv op a; \
set(); \
SC_FXNUM_FAST_OBSERVER_WRITE_( m_num ) \
return *this; \
}

Definition at line 5082 of file sc_fxnum.h.

◆ DEFN_ASN_OP_T [5/12]

#define DEFN_ASN_OP_T (   tp)
Value:
inline \
sc_fxnum& \
sc_fxnum::operator = ( tp a ) \
{ \
sc_fxval tmp( a ); \
*m_rep = *tmp.get_rep(); \
cast(); \
SC_FXNUM_OBSERVER_WRITE_( *this ) \
return *this; \
}

Definition at line 5082 of file sc_fxnum.h.

◆ DEFN_ASN_OP_T [6/12]

#define DEFN_ASN_OP_T (   op,
  fnc,
  tp 
)
Value:
inline \
sc_fxnum& \
sc_fxnum::operator op ( tp b ) \
{ \
SC_FXNUM_OBSERVER_READ_( *this ) \
sc_fxval tmp( b ); \
scfx_rep* new_rep = sc_dt::fnc ## _scfx_rep( *m_rep, *tmp.get_rep() ); \
delete m_rep; \
m_rep = new_rep; \
cast(); \
SC_FXNUM_OBSERVER_WRITE_( *this ) \
return *this; \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005

Definition at line 5082 of file sc_fxnum.h.

◆ DEFN_ASN_OP_T [7/12]

#define DEFN_ASN_OP_T (   tp)
Value:
inline \
sc_fxnum_fast& \
sc_fxnum_fast::operator = ( tp a ) \
{ \
sc_fxval_fast tmp( a ); \
m_val = tmp.get_val(); \
cast(); \
SC_FXNUM_FAST_OBSERVER_WRITE_( *this ) \
return *this; \
}

Definition at line 5082 of file sc_fxnum.h.

◆ DEFN_ASN_OP_T [8/12]

#define DEFN_ASN_OP_T (   op,
  tp 
)
Value:
inline \
sc_fxnum_fast& \
sc_fxnum_fast::operator op ( tp b ) \
{ \
SC_FXNUM_FAST_OBSERVER_READ_( *this ) \
sc_fxval_fast tmp( b ); \
m_val op tmp.get_val(); \
cast(); \
SC_FXNUM_FAST_OBSERVER_WRITE_( *this ) \
return *this; \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005

Definition at line 5082 of file sc_fxnum.h.

◆ DEFN_ASN_OP_T [9/12]

#define DEFN_ASN_OP_T (   tp)
Value:
inline \
sc_fxval& \
sc_fxval::operator = ( tp b ) \
{ \
sc_fxval tmp( b ); \
*m_rep = *tmp.m_rep; \
SC_FXVAL_OBSERVER_WRITE_( *this ) \
return *this; \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005

Definition at line 5082 of file sc_fxnum.h.

◆ DEFN_ASN_OP_T [10/12]

#define DEFN_ASN_OP_T (   op,
  fnc,
  tp 
)
Value:
inline \
sc_fxval& \
sc_fxval::operator op ( tp b ) \
{ \
SC_FXVAL_OBSERVER_READ_( *this ) \
sc_fxval tmp( b ); \
scfx_rep* new_rep = sc_dt::fnc ## _scfx_rep( *m_rep, *tmp.m_rep ); \
delete m_rep; \
m_rep = new_rep; \
SC_FXVAL_OBSERVER_WRITE_( *this ) \
return *this; \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005

Definition at line 5082 of file sc_fxnum.h.

◆ DEFN_ASN_OP_T [11/12]

#define DEFN_ASN_OP_T (   tp)
Value:
inline \
sc_fxval_fast& \
sc_fxval_fast::operator = ( tp a ) \
{ \
sc_fxval_fast tmp( a ); \
m_val = tmp.m_val; \
SC_FXVAL_FAST_OBSERVER_WRITE_( *this ) \
return *this; \
}

Definition at line 5082 of file sc_fxnum.h.

◆ DEFN_ASN_OP_T [12/12]

#define DEFN_ASN_OP_T (   op,
  tp 
)
Value:
inline \
sc_fxval_fast& \
sc_fxval_fast::operator op ( tp b ) \
{ \
SC_FXVAL_FAST_OBSERVER_READ_( *this ) \
sc_fxval_fast tmp( b ); \
m_val op tmp.m_val; \
SC_FXVAL_FAST_OBSERVER_WRITE_( *this ) \
return *this; \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005

Definition at line 5082 of file sc_fxnum.h.

◆ DEFN_BIN_FNC [1/4]

#define DEFN_BIN_FNC (   fnc)

Definition at line 5042 of file sc_fxnum.h.

◆ DEFN_BIN_FNC [2/4]

#define DEFN_BIN_FNC (   fnc,
  op 
)

Definition at line 5042 of file sc_fxnum.h.

◆ DEFN_BIN_FNC [3/4]

#define DEFN_BIN_FNC (   fnc)    DEFN_BIN_FNC_T(fnc,const sc_fxnum_fast&)

Definition at line 5042 of file sc_fxnum.h.

◆ DEFN_BIN_FNC [4/4]

#define DEFN_BIN_FNC (   fnc,
  op 
)
Value:
DEFN_BIN_FNC_T(fnc,op,const sc_fxval&) \
DEFN_BIN_FNC_T(fnc,op,const sc_fxnum&)
#define DEFN_BIN_FNC_T(fnc, tp)
Definition: sc_fxnum.h:5021

Definition at line 5042 of file sc_fxnum.h.

◆ DEFN_BIN_FNC_OTHER [1/2]

#define DEFN_BIN_FNC_OTHER (   fnc)
Value:
DEFN_BIN_FNC_T(fnc,uint64) \
DEFN_BIN_FNC_T(fnc,const sc_int_base&) \
DEFN_BIN_FNC_T(fnc,const sc_uint_base&) \
DEFN_BIN_FNC_T(fnc,const sc_signed&) \
DEFN_BIN_FNC_T(fnc,const sc_unsigned&)
int64_t int64
Definition: sc_nbdefs.h:188
uint64_t uint64
Definition: sc_nbdefs.h:189
#define DEFN_BIN_FNC_T(fnc, tp)
Definition: sc_fxnum.h:5021

Definition at line 4017 of file sc_fxnum.h.

◆ DEFN_BIN_FNC_OTHER [2/2]

#define DEFN_BIN_FNC_OTHER (   fnc,
  op 
)
Value:
DEFN_BIN_FNC_T(fnc,op,uint64) \
DEFN_BIN_FNC_T(fnc,op,const sc_int_base&) \
DEFN_BIN_FNC_T(fnc,op,const sc_uint_base&) \
DEFN_BIN_FNC_T(fnc,op,const sc_signed&) \
DEFN_BIN_FNC_T(fnc,op,const sc_unsigned&)
int64_t int64
Definition: sc_nbdefs.h:188
uint64_t uint64
Definition: sc_nbdefs.h:189
#define DEFN_BIN_FNC_T(fnc, tp)
Definition: sc_fxnum.h:5021

Definition at line 4017 of file sc_fxnum.h.

◆ DEFN_BIN_FNC_T [1/4]

#define DEFN_BIN_FNC_T (   fnc,
  tp 
)

Definition at line 5021 of file sc_fxnum.h.

◆ DEFN_BIN_FNC_T [2/4]

#define DEFN_BIN_FNC_T (   fnc,
  op,
  tp 
)

Definition at line 5021 of file sc_fxnum.h.

◆ DEFN_BIN_FNC_T [3/4]

#define DEFN_BIN_FNC_T (   fnc,
  tp 
)
Value:
inline \
void \
fnc ( sc_fxval& c, const sc_fxval& a, tp b ) \
{ \
SC_FXVAL_OBSERVER_READ_( a ) \
sc_fxval tmp( b ); \
delete c.m_rep; \
c.m_rep = sc_dt::fnc ## _scfx_rep( *a.m_rep, *tmp.m_rep ); \
SC_FXVAL_OBSERVER_WRITE_( c ) \
} \
\
inline \
void \
fnc ( sc_fxval& c, tp a, const sc_fxval& b ) \
{ \
SC_FXVAL_OBSERVER_READ_( b ) \
sc_fxval tmp( a ); \
delete c.m_rep; \
c.m_rep = sc_dt::fnc ## _scfx_rep( *tmp.m_rep, *b.m_rep ); \
SC_FXVAL_OBSERVER_WRITE_( c ) \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005

Definition at line 5021 of file sc_fxnum.h.

◆ DEFN_BIN_FNC_T [4/4]

#define DEFN_BIN_FNC_T (   fnc,
  op,
  tp 
)
Value:
inline \
void \
fnc ( sc_fxval_fast& c, const sc_fxval_fast& a, tp b ) \
{ \
SC_FXVAL_FAST_OBSERVER_READ_( a ) \
sc_fxval_fast tmp( b ); \
c.m_val = a.m_val op tmp.m_val; \
SC_FXVAL_FAST_OBSERVER_WRITE_( c ) \
} \
\
inline \
void \
fnc ( sc_fxval_fast& c, tp a, const sc_fxval_fast& b ) \
{ \
SC_FXVAL_FAST_OBSERVER_READ_( b ) \
sc_fxval_fast tmp( a ); \
c.m_val = tmp.m_val op b.m_val; \
SC_FXVAL_FAST_OBSERVER_WRITE_( c ) \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005

Definition at line 5021 of file sc_fxnum.h.

◆ DEFN_BIN_OP [1/3]

#define DEFN_BIN_OP (   op,
  fnc 
)

Definition at line 4835 of file sc_fxnum.h.

◆ DEFN_BIN_OP [2/3]

#define DEFN_BIN_OP (   op,
  dummy 
)

Definition at line 4835 of file sc_fxnum.h.

◆ DEFN_BIN_OP [3/3]

#define DEFN_BIN_OP (   op,
  fnc 
)    DEFN_BIN_OP_T(op,fnc,const sc_fxnum_fast&)

Definition at line 4835 of file sc_fxnum.h.

◆ DEFN_BIN_OP_OTHER [1/2]

#define DEFN_BIN_OP_OTHER (   op,
  fnc 
)
Value:
DEFN_BIN_OP_T(op,fnc,uint64) \
DEFN_BIN_OP_T(op,fnc,const sc_int_base&) \
DEFN_BIN_OP_T(op,fnc,const sc_uint_base&) \
DEFN_BIN_OP_T(op,fnc,const sc_signed&) \
DEFN_BIN_OP_T(op,fnc,const sc_unsigned&)
int64_t int64
Definition: sc_nbdefs.h:188
uint64_t uint64
Definition: sc_nbdefs.h:189
#define DEFN_BIN_OP_T(op, fnc, tp)
Definition: sc_fxnum.h:4816

Definition at line 3859 of file sc_fxnum.h.

◆ DEFN_BIN_OP_OTHER [2/2]

#define DEFN_BIN_OP_OTHER (   op)
Value:
DEFN_BIN_OP_T(op,uint64) \
DEFN_BIN_OP_T(op,const sc_int_base&) \
DEFN_BIN_OP_T(op,const sc_uint_base&) \
DEFN_BIN_OP_T(op,const sc_signed&) \
DEFN_BIN_OP_T(op,const sc_unsigned&)
int64_t int64
Definition: sc_nbdefs.h:188
uint64_t uint64
Definition: sc_nbdefs.h:189
#define DEFN_BIN_OP_T(op, fnc, tp)
Definition: sc_fxnum.h:4816

Definition at line 3859 of file sc_fxnum.h.

◆ DEFN_BIN_OP_T [1/3]

#define DEFN_BIN_OP_T (   op,
  fnc,
  tp 
)
Value:
inline \
const sc_fxval \
operator op ( const sc_fxnum& a, tp b ) \
{ \
SC_FXNUM_OBSERVER_READ_( a ) \
sc_fxval tmp( b ); \
return sc_fxval( sc_dt::fnc ## _scfx_rep( *a.m_rep, *tmp.get_rep() ) ); \
} \
\
inline \
const sc_fxval \
operator op ( tp a, const sc_fxnum& b ) \
{ \
SC_FXNUM_OBSERVER_READ_( b ) \
sc_fxval tmp( a ); \
return sc_fxval( sc_dt::fnc ## _scfx_rep( *tmp.get_rep(), *b.m_rep ) ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005

Definition at line 4816 of file sc_fxnum.h.

◆ DEFN_BIN_OP_T [2/3]

#define DEFN_BIN_OP_T (   op,
  tp 
)
Value:
inline \
const sc_fxval_fast \
operator op ( const sc_fxnum_fast& a, tp b ) \
{ \
SC_FXNUM_FAST_OBSERVER_READ_( a ) \
sc_fxval_fast tmp( b ); \
return sc_fxval_fast( a.m_val op tmp.get_val() ); \
} \
\
inline \
const sc_fxval_fast \
operator op ( tp a, const sc_fxnum_fast& b ) \
{ \
SC_FXNUM_FAST_OBSERVER_READ_( b ) \
sc_fxval_fast tmp( a ); \
return sc_fxval_fast( tmp.get_val() op b.m_val ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005

Definition at line 4816 of file sc_fxnum.h.

◆ DEFN_BIN_OP_T [3/3]

#define DEFN_BIN_OP_T (   op,
  fnc,
  tp 
)
Value:
inline \
const sc_fxval \
operator op ( const sc_fxval& a, tp b ) \
{ \
SC_FXVAL_OBSERVER_READ_( a ) \
sc_fxval tmp( b ); \
return sc_fxval( sc_dt::fnc ## _scfx_rep( *a.m_rep, *tmp.m_rep ) ); \
} \
\
inline \
const sc_fxval \
operator op ( tp a, const sc_fxval& b ) \
{ \
SC_FXVAL_OBSERVER_READ_( b ) \
sc_fxval tmp( a ); \
return sc_fxval( sc_dt::fnc ## _scfx_rep( *tmp.m_rep, *b.m_rep ) ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005

Definition at line 4816 of file sc_fxnum.h.

◆ DEFN_CTOR_T [1/2]

#define DEFN_CTOR_T (   tp,
  arg 
)
Value:
inline \
sc_fxnum::sc_fxnum( tp a, \
const sc_fxtype_params& type_params_, \
sc_enc enc_, \
const sc_fxcast_switch& cast_sw, \
sc_fxnum_observer* observer_ ) \
: m_rep( new scfx_rep( arg ) ), \
m_params( type_params_, enc_, cast_sw ), \
m_q_flag( false ), \
m_o_flag( false ), \
m_observer( observer_ ) \
{ \
SC_FXNUM_OBSERVER_DEFAULT_ \
cast(); \
SC_FXNUM_OBSERVER_CONSTRUCT_( *this ) \
SC_FXNUM_OBSERVER_WRITE_( *this ) \
}
sc_enc
Enumeration of sign encodings.
Definition: sc_fxdefs.h:66

Definition at line 3730 of file sc_fxnum.h.

◆ DEFN_CTOR_T [2/2]

#define DEFN_CTOR_T (   tp,
  arg 
)
Value:
inline \
sc_fxnum_fast::sc_fxnum_fast( tp a, \
const sc_fxtype_params& type_params_, \
sc_enc enc_, \
const sc_fxcast_switch& cast_sw, \
sc_fxnum_fast_observer* observer_ ) \
: m_val( arg ), \
m_params( type_params_, enc_, cast_sw ), \
m_q_flag( false ), \
m_o_flag( false ), \
m_observer( observer_ ) \
{ \
SC_FXNUM_FAST_OBSERVER_DEFAULT_ \
cast(); \
SC_FXNUM_FAST_OBSERVER_CONSTRUCT_(*this) \
SC_FXNUM_FAST_OBSERVER_WRITE_( *this ) \
}
sc_enc
Enumeration of sign encodings.
Definition: sc_fxdefs.h:66

Definition at line 3730 of file sc_fxnum.h.

◆ DEFN_CTOR_T_A [1/2]

#define DEFN_CTOR_T_A (   tp)    DEFN_CTOR_T(tp,a)

Definition at line 3749 of file sc_fxnum.h.

◆ DEFN_CTOR_T_A [2/2]

#define DEFN_CTOR_T_A (   tp)    DEFN_CTOR_T(tp,static_cast<double>( a ))

Definition at line 3749 of file sc_fxnum.h.

◆ DEFN_CTOR_T_B [1/2]

#define DEFN_CTOR_T_B (   tp)    DEFN_CTOR_T(tp,*a.m_rep)

Definition at line 3750 of file sc_fxnum.h.

◆ DEFN_CTOR_T_B [2/2]

#define DEFN_CTOR_T_B (   tp)    DEFN_CTOR_T(tp,sc_fxval_fast::from_string( a ))

Definition at line 3750 of file sc_fxnum.h.

◆ DEFN_CTOR_T_C [1/2]

#define DEFN_CTOR_T_C (   tp)    DEFN_CTOR_T(tp,a.to_double())

Definition at line 3751 of file sc_fxnum.h.

◆ DEFN_CTOR_T_C [2/2]

#define DEFN_CTOR_T_C (   tp)    DEFN_CTOR_T(tp,a.to_double())

Definition at line 3751 of file sc_fxnum.h.

◆ DEFN_CTOR_T_D

#define DEFN_CTOR_T_D (   tp)    DEFN_CTOR_T(tp,a.value())

Definition at line 2620 of file sc_fxnum.h.

◆ DEFN_RED_FNC [1/2]

#define DEFN_RED_FNC (   fnc)
Value:
inline \
bool \
sc_fxnum_subref::fnc() const \
{ \
SC_FXNUM_OBSERVER_READ_( m_num ) \
get(); \
return static_cast<bool>( m_bv.fnc() ); \
}

Definition at line 2397 of file sc_fxnum.h.

◆ DEFN_RED_FNC [2/2]

#define DEFN_RED_FNC (   fnc)
Value:
inline \
bool \
sc_fxnum_fast_subref::fnc() const \
{ \
SC_FXNUM_FAST_OBSERVER_READ_( m_num ) \
get(); \
return static_cast<bool>( m_bv.fnc() ); \
}

Definition at line 2397 of file sc_fxnum.h.

◆ DEFN_REL_OP [1/5]

#define DEFN_REL_OP (   op)
Value:
inline \
bool \
operator op ( const sc_fxnum_subref& a, const sc_fxnum_subref& b ) \
{ \
return ( static_cast<sc_bv_base>( a ) op static_cast<sc_bv_base>( b ) ); \
} \
\
inline \
bool \
operator op ( const sc_fxnum_subref& a, const sc_fxnum_fast_subref& b ) \
{ \
return ( static_cast<sc_bv_base>( a ) op static_cast<sc_bv_base>( b ) ); \
} \
DEFN_REL_OP_T(op,const sc_bv_base&) \
DEFN_REL_OP_T(op,const sc_lv_base&) \
DEFN_REL_OP_T(op,const char*) \
DEFN_REL_OP_T(op,const bool*) \
DEFN_REL_OP_T(op,const sc_signed&) \
DEFN_REL_OP_T(op,const sc_unsigned&) \
DEFN_REL_OP_T(op,int) \
DEFN_REL_OP_T(op,unsigned int) \
DEFN_REL_OP_T(op,long) \
DEFN_REL_OP_T(op,unsigned long)
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005
#define DEFN_REL_OP_T(op, tp)
Definition: sc_fxnum.h:4887

Definition at line 4909 of file sc_fxnum.h.

◆ DEFN_REL_OP [2/5]

#define DEFN_REL_OP (   op)
Value:
inline \
bool \
operator op ( const sc_fxnum_fast_subref& a, const sc_fxnum_fast_subref& b ) \
{ \
return ( static_cast<sc_bv_base>( a ) op static_cast<sc_bv_base>( b ) ); \
} \
\
inline \
bool \
operator op ( const sc_fxnum_fast_subref& a, const sc_fxnum_subref& b ) \
{ \
return ( static_cast<sc_bv_base>( a ) op static_cast<sc_bv_base>( b ) ); \
} \
DEFN_REL_OP_T(op,const sc_bv_base&) \
DEFN_REL_OP_T(op,const sc_lv_base&) \
DEFN_REL_OP_T(op,const char*) \
DEFN_REL_OP_T(op,const bool*) \
DEFN_REL_OP_T(op,const sc_signed&) \
DEFN_REL_OP_T(op,const sc_unsigned&) \
DEFN_REL_OP_T(op,int) \
DEFN_REL_OP_T(op,unsigned int) \
DEFN_REL_OP_T(op,long) \
DEFN_REL_OP_T(op,unsigned long)
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005
#define DEFN_REL_OP_T(op, tp)
Definition: sc_fxnum.h:4887

Definition at line 4909 of file sc_fxnum.h.

◆ DEFN_REL_OP [3/5]

#define DEFN_REL_OP (   op,
  ret 
)

Definition at line 4909 of file sc_fxnum.h.

◆ DEFN_REL_OP [4/5]

#define DEFN_REL_OP (   op)

Definition at line 4909 of file sc_fxnum.h.

◆ DEFN_REL_OP [5/5]

#define DEFN_REL_OP (   op,
  ret 
)    DEFN_REL_OP_T(op,ret,const sc_fxnum_fast&)

Definition at line 4909 of file sc_fxnum.h.

◆ DEFN_REL_OP_OTHER [1/2]

#define DEFN_REL_OP_OTHER (   op,
  ret 
)
Value:
DEFN_REL_OP_T(op,ret,uint64) \
DEFN_REL_OP_T(op,ret,const sc_int_base&) \
DEFN_REL_OP_T(op,ret,const sc_uint_base&) \
DEFN_REL_OP_T(op,ret,const sc_signed&) \
DEFN_REL_OP_T(op,ret,const sc_unsigned&)
int64_t int64
Definition: sc_nbdefs.h:188
uint64_t uint64
Definition: sc_nbdefs.h:189
#define DEFN_REL_OP_T(op, tp)
Definition: sc_fxnum.h:4887

Definition at line 4165 of file sc_fxnum.h.

◆ DEFN_REL_OP_OTHER [2/2]

#define DEFN_REL_OP_OTHER (   op)
Value:
DEFN_REL_OP_T(op,uint64) \
DEFN_REL_OP_T(op,const sc_int_base&) \
DEFN_REL_OP_T(op,const sc_uint_base&) \
DEFN_REL_OP_T(op,const sc_signed&) \
DEFN_REL_OP_T(op,const sc_unsigned&)
int64_t int64
Definition: sc_nbdefs.h:188
uint64_t uint64
Definition: sc_nbdefs.h:189
#define DEFN_REL_OP_T(op, tp)
Definition: sc_fxnum.h:4887

Definition at line 4165 of file sc_fxnum.h.

◆ DEFN_REL_OP_T [1/5]

#define DEFN_REL_OP_T (   op,
  tp 
)
Value:
inline \
bool \
operator op ( const sc_fxnum_subref& a, tp b ) \
{ \
return ( static_cast<sc_bv_base>( a ) op b ); \
} \
\
inline \
bool \
operator op ( tp a, const sc_fxnum_subref& b ) \
{ \
return ( static_cast<sc_bv_base>( b ) op a ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005

Definition at line 4887 of file sc_fxnum.h.

◆ DEFN_REL_OP_T [2/5]

#define DEFN_REL_OP_T (   op,
  tp 
)
Value:
inline \
bool \
operator op ( const sc_fxnum_fast_subref& a, tp b ) \
{ \
return ( static_cast<sc_bv_base>( a ) op b ); \
} \
\
inline \
bool \
operator op ( tp a, const sc_fxnum_fast_subref& b ) \
{ \
return ( static_cast<sc_bv_base>( b ) op a ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005

Definition at line 4887 of file sc_fxnum.h.

◆ DEFN_REL_OP_T [3/5]

#define DEFN_REL_OP_T (   op,
  ret,
  tp 
)
Value:
inline \
bool \
operator op ( const sc_fxnum& a, tp b ) \
{ \
SC_FXNUM_OBSERVER_READ_( a ) \
sc_fxval tmp( b ); \
int result = sc_dt::cmp_scfx_rep( *a.m_rep, *tmp.get_rep() ); \
return ( ret ); \
} \
\
inline \
bool \
operator op ( tp a, const sc_fxnum& b ) \
{ \
SC_FXNUM_OBSERVER_READ_( b ) \
sc_fxval tmp( a ); \
int result = sc_dt::cmp_scfx_rep( *tmp.get_rep(), *b.m_rep ); \
return ( ret ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005
SC_API int cmp_scfx_rep(const scfx_rep &, const scfx_rep &)

Definition at line 4887 of file sc_fxnum.h.

◆ DEFN_REL_OP_T [4/5]

#define DEFN_REL_OP_T (   op,
  tp 
)
Value:
inline \
bool \
operator op ( const sc_fxnum_fast& a, tp b ) \
{ \
SC_FXNUM_FAST_OBSERVER_READ_( a ) \
sc_fxval_fast tmp( b ); \
return ( a.m_val op tmp.get_val() ); \
} \
\
inline \
bool \
operator op ( tp a, const sc_fxnum_fast& b ) \
{ \
SC_FXNUM_FAST_OBSERVER_READ_( b ) \
sc_fxval_fast tmp( a ); \
return ( tmp.get_val() op b.m_val ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005

Definition at line 4887 of file sc_fxnum.h.

◆ DEFN_REL_OP_T [5/5]

#define DEFN_REL_OP_T (   op,
  ret,
  tp 
)
Value:
inline \
bool \
operator op ( const sc_fxval& a, tp b ) \
{ \
SC_FXVAL_OBSERVER_READ_( a ) \
sc_fxval tmp( b ); \
int result = sc_dt::cmp_scfx_rep( *a.m_rep, *tmp.m_rep ); \
return ( ret ); \
} \
\
inline \
bool \
operator op ( tp a, const sc_fxval& b ) \
{ \
SC_FXVAL_OBSERVER_READ_( b ) \
sc_fxval tmp( a ); \
int result = sc_dt::cmp_scfx_rep( *tmp.m_rep, *b.m_rep ); \
return ( ret ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1005
SC_API int cmp_scfx_rep(const scfx_rep &, const scfx_rep &)

Definition at line 4887 of file sc_fxnum.h.