SystemC  2.3.1
Accellera SystemC proof-of-concept library
Classes | Namespaces | Macros | Functions | Variables
sc_fxval.h File Reference
#include "sysc/datatypes/fx/scfx_rep.h"
#include "sysc/datatypes/int/sc_int_base.h"
#include "sysc/datatypes/int/sc_uint_base.h"
#include "sysc/datatypes/int/sc_signed.h"
#include "sysc/datatypes/int/sc_unsigned.h"
#include "sysc/datatypes/fx/sc_fxval_observer.h"
Include dependency graph for sc_fxval.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_fxval
 
class  sc_dt::sc_fxval_fast
 

Namespaces

 sc_dt
 

Macros

#define SCFX_EXPLICIT_   explicit
 
#define SCFX_EXPLICIT_OTHER_   explicit
 
#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_fxval& operator op( tp );
 
#define DECL_ASN_OP_OTHER(op)
 
#define DECL_ASN_OP(op)
 
#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_fxval_fast& operator op( tp );
 
#define DECL_ASN_OP_OTHER(op)
 
#define DECL_ASN_OP(op)
 
#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.to_double())
 
#define DEFN_CTOR_T_C(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,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)
 

Functions

void sc_dt::neg (sc_fxval &c, const sc_fxval &a)
 
const sc_fxval sc_dt::operator/ (const sc_fxval &a, const sc_fxval &b)
 
 sc_dt::DEFN_BIN_OP_T (/, div, int64) DEFN_BIN_OP_T(/
 
uint64 sc_dt::DEFN_BIN_OP_T (/, div, const sc_int_base &) DEFN_BIN_OP_T(/
 
uint64 const sc_uint_base & sc_dt::DEFN_BIN_OP_T (/, div, const sc_signed &) inline const sc_fxval operator<< (const sc_fxval &a
 
const sc_fxval sc_dt::operator>> (const sc_fxval &a, int b)
 
void sc_dt::lshift (sc_fxval &c, const sc_fxval &a, int b)
 
void sc_dt::rshift (sc_fxval &c, const sc_fxval &a, int b)
 
inline::std::ostream & sc_dt::operator<< (::std::ostream &os, const sc_fxval &a)
 
inline::std::istream & sc_dt::operator>> (::std::istream &is, sc_fxval &a)
 
void sc_dt::neg (sc_fxval_fast &c, const sc_fxval_fast &a)
 
const sc_fxval_fast sc_dt::operator/ (const sc_fxval_fast &a, const sc_fxval_fast &b)
 
const sc_fxval_fast sc_dt::operator<< (const sc_fxval_fast &a, int b)
 
const sc_fxval_fast sc_dt::operator>> (const sc_fxval_fast &a, int b)
 
void sc_dt::lshift (sc_fxval_fast &c, const sc_fxval_fast &a, int b)
 
void sc_dt::rshift (sc_fxval_fast &c, const sc_fxval_fast &a, int b)
 
inline::std::ostream & sc_dt::operator<< (::std::ostream &os, const sc_fxval_fast &a)
 
inline::std::istream & sc_dt::operator>> (::std::istream &is, sc_fxval_fast &a)
 

Variables

 sc_dt::div
 
uint64 const sc_uint_base int sc_dt::b
 

Macro Definition Documentation

#define DECL_ASN_OP (   op)
Value:
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&) \
#define DECL_ASN_OP_OTHER(op)
Definition: sc_fxval.h:641
#define DECL_ASN_OP_T(op, tp)
Definition: sc_fxval.h:637

Definition at line 652 of file sc_fxval.h.

#define DECL_ASN_OP (   op)
Value:
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&) \
#define DECL_ASN_OP_OTHER(op)
Definition: sc_fxval.h:641
#define DECL_ASN_OP_T(op, tp)
Definition: sc_fxval.h:637

Definition at line 652 of file sc_fxval.h.

#define DECL_ASN_OP_OTHER (   op)
Value:
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&)
uint64_t uint64
Definition: sc_nbdefs.h:183
int64_t int64
Definition: sc_nbdefs.h:182
#define DECL_ASN_OP_T(op, tp)
Definition: sc_fxval.h:637

Definition at line 641 of file sc_fxval.h.

#define DECL_ASN_OP_OTHER (   op)
Value:
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&)
uint64_t uint64
Definition: sc_nbdefs.h:183
int64_t int64
Definition: sc_nbdefs.h:182
#define DECL_ASN_OP_T(op, tp)
Definition: sc_fxval.h:637

Definition at line 641 of file sc_fxval.h.

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

Definition at line 637 of file sc_fxval.h.

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

Definition at line 637 of file sc_fxval.h.

#define DECL_BIN_FNC (   fnc)
Value:
friend void fnc ( sc_fxval&, const sc_fxval&, const sc_fxval& ); \
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_fast&) \
DECL_BIN_FNC_T(fnc,const sc_fxnum_fast&) \
#define DECL_BIN_FNC_T(fnc, tp)
Definition: sc_fxval.h:551
#define DECL_BIN_FNC_OTHER(fnc)
Definition: sc_fxval.h:556

Definition at line 567 of file sc_fxval.h.

#define DECL_BIN_FNC (   fnc)
Value:
friend void fnc ( sc_fxval_fast&, const sc_fxval_fast&, \
const sc_fxval_fast& ); \
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_fxnum&) \
#define DECL_BIN_FNC_T(fnc, tp)
Definition: sc_fxval.h:551
#define DECL_BIN_FNC_OTHER(fnc)
Definition: sc_fxval.h:556

Definition at line 567 of file sc_fxval.h.

#define DECL_BIN_FNC_OTHER (   fnc)
Value:
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&)
uint64_t uint64
Definition: sc_nbdefs.h:183
int64_t int64
Definition: sc_nbdefs.h:182
#define DECL_BIN_FNC_T(fnc, tp)
Definition: sc_fxval.h:551

Definition at line 556 of file sc_fxval.h.

#define DECL_BIN_FNC_OTHER (   fnc)
Value:
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&)
uint64_t uint64
Definition: sc_nbdefs.h:183
int64_t int64
Definition: sc_nbdefs.h:182
#define DECL_BIN_FNC_T(fnc, tp)
Definition: sc_fxval.h:551

Definition at line 556 of file sc_fxval.h.

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

Definition at line 551 of file sc_fxval.h.

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

Definition at line 551 of file sc_fxval.h.

#define DECL_BIN_OP (   op,
  dummy 
)
Value:
friend const sc_fxval operator op ( const sc_fxval&, const sc_fxval& ); \
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_T(op,const sc_fxnum_fast&) \
#define DECL_BIN_OP_T(op, tp)
Definition: sc_fxval.h:489
#define DECL_BIN_OP_OTHER(op)
Definition: sc_fxval.h:494

Definition at line 505 of file sc_fxval.h.

#define DECL_BIN_OP (   op,
  dummy 
)
Value:
friend const sc_fxval_fast operator op ( const sc_fxval_fast&, \
const sc_fxval_fast& ); \
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*) \
#define DECL_BIN_OP_T(op, tp)
Definition: sc_fxval.h:489
#define DECL_BIN_OP_OTHER(op)
Definition: sc_fxval.h:494

Definition at line 505 of file sc_fxval.h.

#define DECL_BIN_OP_OTHER (   op)
Value:
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&)
uint64_t uint64
Definition: sc_nbdefs.h:183
#define DECL_BIN_OP_T(op, tp)
Definition: sc_fxval.h:489
int64_t int64
Definition: sc_nbdefs.h:182

Definition at line 494 of file sc_fxval.h.

#define DECL_BIN_OP_OTHER (   op)
Value:
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&)
uint64_t uint64
Definition: sc_nbdefs.h:183
#define DECL_BIN_OP_T(op, tp)
Definition: sc_fxval.h:489
int64_t int64
Definition: sc_nbdefs.h:182

Definition at line 494 of file sc_fxval.h.

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

Definition at line 489 of file sc_fxval.h.

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

Definition at line 489 of file sc_fxval.h.

#define DECL_REL_OP (   op)
Value:
friend bool operator op ( const sc_fxval&, const sc_fxval& ); \
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_T(op,const sc_fxnum_fast&) \
#define DECL_REL_OP_OTHER(op)
Definition: sc_fxval.h:601
#define DECL_REL_OP_T(op, tp)
Definition: sc_fxval.h:596

Definition at line 612 of file sc_fxval.h.

#define DECL_REL_OP (   op)
Value:
friend bool operator op ( const sc_fxval_fast&, const sc_fxval_fast& ); \
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*) \
#define DECL_REL_OP_OTHER(op)
Definition: sc_fxval.h:601
#define DECL_REL_OP_T(op, tp)
Definition: sc_fxval.h:596

Definition at line 612 of file sc_fxval.h.

#define DECL_REL_OP_OTHER (   op)
Value:
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&)
uint64_t uint64
Definition: sc_nbdefs.h:183
int64_t int64
Definition: sc_nbdefs.h:182
#define DECL_REL_OP_T(op, tp)
Definition: sc_fxval.h:596

Definition at line 601 of file sc_fxval.h.

#define DECL_REL_OP_OTHER (   op)
Value:
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&)
uint64_t uint64
Definition: sc_nbdefs.h:183
int64_t int64
Definition: sc_nbdefs.h:182
#define DECL_REL_OP_T(op, tp)
Definition: sc_fxval.h:596

Definition at line 601 of file sc_fxval.h.

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

Definition at line 596 of file sc_fxval.h.

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

Definition at line 596 of file sc_fxval.h.

#define DEFN_ASN_OP (   op,
  fnc 
)
Value:
inline \
sc_fxval& \
sc_fxval::operator op ( const sc_fxval& b ) \
{ \
scfx_rep* new_rep = sc_dt::fnc ## _scfx_rep( *m_rep, *b.m_rep ); \
delete m_rep; \
m_rep = new_rep; \
return *this; \
} \
DEFN_ASN_OP_T(op,fnc,int) \
DEFN_ASN_OP_T(op,fnc,unsigned int) \
DEFN_ASN_OP_T(op,fnc,long) \
DEFN_ASN_OP_T(op,fnc,unsigned long) \
DEFN_ASN_OP_T(op,fnc,float) \
DEFN_ASN_OP_T(op,fnc,double) \
DEFN_ASN_OP_T(op,fnc,const char*) \
DEFN_ASN_OP_T(op,fnc,const sc_fxval_fast&) \
#define SC_FXVAL_OBSERVER_WRITE_(object)
#define DEFN_ASN_OP_OTHER(op, fnc)
Definition: sc_fxval.h:1983
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
#define DEFN_ASN_OP_T(tp)
Definition: sc_fxval.h:1970
#define SC_FXVAL_OBSERVER_READ_(object)

Definition at line 1994 of file sc_fxval.h.

#define DEFN_ASN_OP (   op)
Value:
inline \
sc_fxval_fast& \
sc_fxval_fast::operator op ( const sc_fxval_fast& b ) \
{ \
m_val op b.m_val; \
return *this; \
} \
DEFN_ASN_OP_T(op,unsigned int) \
DEFN_ASN_OP_T(op,long) \
DEFN_ASN_OP_T(op,unsigned long) \
DEFN_ASN_OP_T(op,float) \
DEFN_ASN_OP_T(op,double) \
DEFN_ASN_OP_T(op,const char*) \
DEFN_ASN_OP_T(op,const sc_fxval&) \
#define SC_FXVAL_FAST_OBSERVER_WRITE_(object)
#define DEFN_ASN_OP_OTHER(op, fnc)
Definition: sc_fxval.h:1983
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
#define DEFN_ASN_OP_T(tp)
Definition: sc_fxval.h:1970
#define SC_FXVAL_FAST_OBSERVER_READ_(object)

Definition at line 1994 of file sc_fxval.h.

#define DEFN_ASN_OP_OTHER (   op,
  fnc 
)
Value:
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&)
uint64_t uint64
Definition: sc_nbdefs.h:183
int64_t int64
Definition: sc_nbdefs.h:182
#define DEFN_ASN_OP_T(tp)
Definition: sc_fxval.h:1970

Definition at line 1983 of file sc_fxval.h.

#define DEFN_ASN_OP_OTHER (   op)
Value:
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&)
uint64_t uint64
Definition: sc_nbdefs.h:183
int64_t int64
Definition: sc_nbdefs.h:182
#define DEFN_ASN_OP_T(tp)
Definition: sc_fxval.h:1970

Definition at line 1983 of file sc_fxval.h.

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

Definition at line 1970 of file sc_fxval.h.

#define DEFN_ASN_OP_T (   op,
  fnc,
  tp 
)
Value:
inline \
sc_fxval& \
sc_fxval::operator op ( tp b ) \
{ \
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; \
return *this; \
}
#define SC_FXVAL_OBSERVER_WRITE_(object)
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
#define SC_FXVAL_OBSERVER_READ_(object)

Definition at line 1970 of file sc_fxval.h.

#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; \
return *this; \
}
#define SC_FXVAL_FAST_OBSERVER_WRITE_(object)

Definition at line 1970 of file sc_fxval.h.

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

Definition at line 1970 of file sc_fxval.h.

#define DEFN_BIN_FNC (   fnc)
Value:
inline \
void \
fnc( sc_fxval& c, const sc_fxval& a, const sc_fxval& b ) \
{ \
delete c.m_rep; \
c.m_rep = sc_dt::fnc ## _scfx_rep( *a.m_rep, *b.m_rep ); \
} \
DEFN_BIN_FNC_T(fnc,int) \
DEFN_BIN_FNC_T(fnc,unsigned int) \
DEFN_BIN_FNC_T(fnc,long) \
DEFN_BIN_FNC_T(fnc,unsigned long) \
DEFN_BIN_FNC_T(fnc,float) \
DEFN_BIN_FNC_T(fnc,double) \
DEFN_BIN_FNC_T(fnc,const char*) \
DEFN_BIN_FNC_T(fnc,const sc_fxval_fast&) \
#define SC_FXVAL_OBSERVER_WRITE_(object)
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
#define DEFN_BIN_FNC_OTHER(fnc)
Definition: sc_fxval.h:1800
#define DEFN_BIN_FNC_T(fnc, tp)
Definition: sc_fxval.h:1778
#define SC_FXVAL_OBSERVER_READ_(object)

Definition at line 1811 of file sc_fxval.h.

#define DEFN_BIN_FNC (   fnc,
  op 
)
Value:
inline \
void \
fnc ( sc_fxval_fast& c, const sc_fxval_fast& a, const sc_fxval_fast& b ) \
{ \
c.m_val = a.m_val op b.m_val; \
} \
DEFN_BIN_FNC_T(fnc,op,int) \
DEFN_BIN_FNC_T(fnc,op,unsigned int) \
DEFN_BIN_FNC_T(fnc,op,long) \
DEFN_BIN_FNC_T(fnc,op,unsigned long) \
DEFN_BIN_FNC_T(fnc,op,float) \
DEFN_BIN_FNC_T(fnc,op,double) \
DEFN_BIN_FNC_T(fnc,op,const char*) \
#define SC_FXVAL_FAST_OBSERVER_WRITE_(object)
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
#define DEFN_BIN_FNC_OTHER(fnc)
Definition: sc_fxval.h:1800
#define DEFN_BIN_FNC_T(fnc, tp)
Definition: sc_fxval.h:1778
#define SC_FXVAL_FAST_OBSERVER_READ_(object)

Definition at line 1811 of file sc_fxval.h.

#define DEFN_BIN_FNC_OTHER (   fnc)
Value:
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&)
uint64_t uint64
Definition: sc_nbdefs.h:183
int64_t int64
Definition: sc_nbdefs.h:182
#define DEFN_BIN_FNC_T(fnc, tp)
Definition: sc_fxval.h:1778

Definition at line 1800 of file sc_fxval.h.

#define DEFN_BIN_FNC_OTHER (   fnc,
  op 
)
Value:
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&)
uint64_t uint64
Definition: sc_nbdefs.h:183
int64_t int64
Definition: sc_nbdefs.h:182
#define DEFN_BIN_FNC_T(fnc, tp)
Definition: sc_fxval.h:1778

Definition at line 1800 of file sc_fxval.h.

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

Definition at line 1778 of file sc_fxval.h.

#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 tmp( b ); \
c.m_val = a.m_val op tmp.m_val; \
} \
\
inline \
void \
fnc ( sc_fxval_fast& c, tp a, const sc_fxval_fast& b ) \
{ \
sc_fxval_fast tmp( a ); \
c.m_val = tmp.m_val op b.m_val; \
}
#define SC_FXVAL_FAST_OBSERVER_WRITE_(object)
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
#define SC_FXVAL_FAST_OBSERVER_READ_(object)

Definition at line 1778 of file sc_fxval.h.

#define DEFN_BIN_OP (   op,
  fnc 
)
Value:
inline \
const sc_fxval \
operator op ( const sc_fxval& a, const sc_fxval& b ) \
{ \
return sc_fxval( sc_dt::fnc ## _scfx_rep( *a.m_rep, *b.m_rep ) ); \
} \
DEFN_BIN_OP_T(op,fnc,int) \
DEFN_BIN_OP_T(op,fnc,unsigned int) \
DEFN_BIN_OP_T(op,fnc,long) \
DEFN_BIN_OP_T(op,fnc,unsigned long) \
DEFN_BIN_OP_T(op,fnc,float) \
DEFN_BIN_OP_T(op,fnc,double) \
DEFN_BIN_OP_T(op,fnc,const char*) \
DEFN_BIN_OP_T(op,fnc,const sc_fxval_fast&) \
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
#define DEFN_BIN_OP_T(op, fnc, tp)
Definition: sc_fxval.h:1673
#define DEFN_BIN_OP_OTHER(op, fnc)
Definition: sc_fxval.h:1693
#define SC_FXVAL_OBSERVER_READ_(object)

Definition at line 1704 of file sc_fxval.h.

#define DEFN_BIN_OP (   op,
  dummy 
)
Value:
inline \
const sc_fxval_fast \
operator op ( const sc_fxval_fast& a, const sc_fxval_fast& b ) \
{ \
return sc_fxval_fast( a.m_val op b.m_val ); \
} \
DEFN_BIN_OP_T(op,unsigned int) \
DEFN_BIN_OP_T(op,long) \
DEFN_BIN_OP_T(op,unsigned long) \
DEFN_BIN_OP_T(op,float) \
DEFN_BIN_OP_T(op,double) \
DEFN_BIN_OP_T(op,const char*) \
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
#define DEFN_BIN_OP_T(op, fnc, tp)
Definition: sc_fxval.h:1673
#define DEFN_BIN_OP_OTHER(op, fnc)
Definition: sc_fxval.h:1693
#define SC_FXVAL_FAST_OBSERVER_READ_(object)

Definition at line 1704 of file sc_fxval.h.

#define DEFN_BIN_OP_OTHER (   op,
  fnc 
)
Value:
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&)
uint64_t uint64
Definition: sc_nbdefs.h:183
int64_t int64
Definition: sc_nbdefs.h:182
#define DEFN_BIN_OP_T(op, fnc, tp)
Definition: sc_fxval.h:1673

Definition at line 1693 of file sc_fxval.h.

#define DEFN_BIN_OP_OTHER (   op)
Value:
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&)
uint64_t uint64
Definition: sc_nbdefs.h:183
int64_t int64
Definition: sc_nbdefs.h:182
#define DEFN_BIN_OP_T(op, fnc, tp)
Definition: sc_fxval.h:1673

Definition at line 1693 of file sc_fxval.h.

#define DEFN_BIN_OP_T (   op,
  fnc,
  tp 
)
Value:
inline \
const sc_fxval \
operator op ( const sc_fxval& a, tp b ) \
{ \
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 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:1003
#define SC_FXVAL_OBSERVER_READ_(object)

Definition at line 1673 of file sc_fxval.h.

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

Definition at line 1673 of file sc_fxval.h.

#define DEFN_CTOR_T (   tp,
  arg 
)
Value:
inline \
sc_fxval::sc_fxval( tp a, \
sc_fxval_observer* observer_ ) \
: m_rep( new scfx_rep( arg ) ), \
m_observer( observer_ ) \
{ \
}
#define SC_FXVAL_OBSERVER_WRITE_(object)
#define SC_FXVAL_OBSERVER_CONSTRUCT_(object)

Definition at line 1573 of file sc_fxval.h.

#define DEFN_CTOR_T (   tp,
  arg 
)
Value:
inline \
sc_fxval_fast::sc_fxval_fast( tp a, \
sc_fxval_fast_observer* observer_ ) \
: m_val( arg ), \
m_observer( observer_ ) \
{ \
}
#define SC_FXVAL_FAST_OBSERVER_WRITE_(object)
#define SC_FXVAL_FAST_OBSERVER_CONSTRUCT_(object)

Definition at line 1573 of file sc_fxval.h.

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

Definition at line 1585 of file sc_fxval.h.

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

Definition at line 1585 of file sc_fxval.h.

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

Definition at line 1586 of file sc_fxval.h.

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

Definition at line 1586 of file sc_fxval.h.

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

Definition at line 1587 of file sc_fxval.h.

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

Definition at line 1587 of file sc_fxval.h.

#define DEFN_REL_OP (   op,
  ret 
)
Value:
inline \
bool \
operator op ( const sc_fxval& a, const sc_fxval& b) \
{ \
int result = sc_dt::cmp_scfx_rep( *a.m_rep, *b.m_rep ); \
return ( ret ); \
} \
DEFN_REL_OP_T(op,ret,int) \
DEFN_REL_OP_T(op,ret,unsigned int) \
DEFN_REL_OP_T(op,ret,long) \
DEFN_REL_OP_T(op,ret,unsigned long) \
DEFN_REL_OP_T(op,ret,float) \
DEFN_REL_OP_T(op,ret,double) \
DEFN_REL_OP_T(op,ret,const char*) \
DEFN_REL_OP_T(op,ret,const sc_fxval_fast&) \
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
int cmp_scfx_rep(const scfx_rep &, const scfx_rep &)
#define DEFN_REL_OP_T(op, ret, tp)
Definition: sc_fxval.h:1862
#define SC_FXVAL_OBSERVER_READ_(object)
#define DEFN_REL_OP_OTHER(op, ret)
Definition: sc_fxval.h:1882

Definition at line 1893 of file sc_fxval.h.

#define DEFN_REL_OP (   op)
Value:
inline \
bool \
operator op ( const sc_fxval_fast& a, const sc_fxval_fast& b ) \
{ \
return ( a.m_val op b.m_val ); \
} \
DEFN_REL_OP_T(op,unsigned int) \
DEFN_REL_OP_T(op,long) \
DEFN_REL_OP_T(op,unsigned long) \
DEFN_REL_OP_T(op,float) \
DEFN_REL_OP_T(op,double) \
DEFN_REL_OP_T(op,const char*) \
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
#define DEFN_REL_OP_T(op, ret, tp)
Definition: sc_fxval.h:1862
#define SC_FXVAL_FAST_OBSERVER_READ_(object)
#define DEFN_REL_OP_OTHER(op, ret)
Definition: sc_fxval.h:1882

Definition at line 1893 of file sc_fxval.h.

#define DEFN_REL_OP_OTHER (   op,
  ret 
)
Value:
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&)
uint64_t uint64
Definition: sc_nbdefs.h:183
int64_t int64
Definition: sc_nbdefs.h:182
#define DEFN_REL_OP_T(op, ret, tp)
Definition: sc_fxval.h:1862

Definition at line 1882 of file sc_fxval.h.

#define DEFN_REL_OP_OTHER (   op)
Value:
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&)
uint64_t uint64
Definition: sc_nbdefs.h:183
int64_t int64
Definition: sc_nbdefs.h:182
#define DEFN_REL_OP_T(op, ret, tp)
Definition: sc_fxval.h:1862

Definition at line 1882 of file sc_fxval.h.

#define DEFN_REL_OP_T (   op,
  ret,
  tp 
)
Value:
inline \
bool \
operator op ( const sc_fxval& a, tp b ) \
{ \
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 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:1003
int cmp_scfx_rep(const scfx_rep &, const scfx_rep &)
#define SC_FXVAL_OBSERVER_READ_(object)

Definition at line 1862 of file sc_fxval.h.

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

Definition at line 1862 of file sc_fxval.h.

#define SCFX_EXPLICIT_   explicit

Definition at line 67 of file sc_fxval.h.

#define SCFX_EXPLICIT_OTHER_   explicit

Definition at line 72 of file sc_fxval.h.