sysc/datatypes/fx/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

namespace  sc_dt

Defines

#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
 sc_dt::m_observer (observer_)
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

Define Documentation

#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)

Definition at line 652 of file sc_fxval.h.

#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)

Definition at line 652 of file sc_fxval.h.

#define DECL_ASN_OP_OTHER ( op   ) 
Value:
DECL_ASN_OP_T(op,int64)                                                   \
    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&)

Definition at line 641 of file sc_fxval.h.

#define DECL_ASN_OP_OTHER ( op   ) 
Value:
DECL_ASN_OP_T(op,int64)                                                   \
    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&)

Definition at line 641 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_ASN_OP_T ( op,
tp   )     sc_fxval& operator op( tp );

Definition at line 637 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,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_fxnum&)                                       \
    DECL_BIN_FNC_OTHER(fnc)

Definition at line 567 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,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_fast&)                                  \
    DECL_BIN_FNC_T(fnc,const sc_fxnum_fast&)                                  \
    DECL_BIN_FNC_OTHER(fnc)

Definition at line 567 of file sc_fxval.h.

#define DECL_BIN_FNC_OTHER ( fnc   ) 
Value:
DECL_BIN_FNC_T(fnc,int64)                                                 \
    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&)

Definition at line 556 of file sc_fxval.h.

#define DECL_BIN_FNC_OTHER ( fnc   ) 
Value:
DECL_BIN_FNC_T(fnc,int64)                                                 \
    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&)

Definition at line 556 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_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_OP ( op,
dummy   ) 
Value:
friend const sc_fxval_fast operator op ( const sc_fxval_fast&,            \
                                             const sc_fxval_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_OTHER(op)

Definition at line 505 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,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_T(op,const sc_fxnum_fast&)                                    \
    DECL_BIN_OP_OTHER(op)

Definition at line 505 of file sc_fxval.h.

#define DECL_BIN_OP_OTHER ( op   ) 
Value:
DECL_BIN_OP_T(op,int64)                                                   \
    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&)

Definition at line 494 of file sc_fxval.h.

#define DECL_BIN_OP_OTHER ( op   ) 
Value:
DECL_BIN_OP_T(op,int64)                                                   \
    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&)

Definition at line 494 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_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_REL_OP ( op   ) 
Value:
friend bool operator op ( const sc_fxval_fast&, const sc_fxval_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_OTHER(op)

Definition at line 612 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,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_T(op,const sc_fxnum_fast&)                                    \
    DECL_REL_OP_OTHER(op)

Definition at line 612 of file sc_fxval.h.

#define DECL_REL_OP_OTHER ( op   ) 
Value:
DECL_REL_OP_T(op,int64)                                                   \
    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&)

Definition at line 601 of file sc_fxval.h.

#define DECL_REL_OP_OTHER ( op   ) 
Value:
DECL_REL_OP_T(op,int64)                                                   \
    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&)

Definition at line 601 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 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 DEFN_ASN_OP ( op   ) 
Value:
inline                                                                        \
sc_fxval_fast&                                                                \
sc_fxval_fast::operator op ( const sc_fxval_fast& b )                         \
{                                                                             \
    SC_FXVAL_FAST_OBSERVER_READ_( *this )                                     \
    SC_FXVAL_FAST_OBSERVER_READ_( b )                                         \
    m_val op b.m_val;                                                         \
    SC_FXVAL_FAST_OBSERVER_WRITE_( *this )                                    \
    return *this;                                                             \
}                                                                             \
                                                                              \
DEFN_ASN_OP_T(op,int)                                                         \
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&)                                             \
DEFN_ASN_OP_OTHER(op)

Definition at line 1994 of file sc_fxval.h.

#define DEFN_ASN_OP ( op,
fnc   ) 
Value:
inline                                                                        \
sc_fxval&                                                                     \
sc_fxval::operator op ( const sc_fxval& b )                                   \
{                                                                             \
    SC_FXVAL_OBSERVER_READ_( *this )                                          \
    SC_FXVAL_OBSERVER_READ_( b )                                              \
    scfx_rep* new_rep = sc_dt::fnc ## _scfx_rep( *m_rep, *b.m_rep );         \
    delete m_rep;                                                             \
    m_rep = new_rep;                                                          \
    SC_FXVAL_OBSERVER_WRITE_( *this )                                         \
    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&)                                    \
DEFN_ASN_OP_OTHER(op,fnc)

Definition at line 1994 of file sc_fxval.h.

#define DEFN_ASN_OP_OTHER ( op   ) 
Value:
DEFN_ASN_OP_T(op,int64)                                                       \
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&)

Definition at line 1983 of file sc_fxval.h.

#define DEFN_ASN_OP_OTHER ( op,
fnc   ) 
Value:
DEFN_ASN_OP_T(op,fnc,int64)                                                   \
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&)

Definition at line 1983 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_OBSERVER_READ_( *this )                                     \
    sc_fxval_fast tmp( b );                                                   \
    m_val op tmp.m_val;                                                       \
    SC_FXVAL_FAST_OBSERVER_WRITE_( *this )                                    \
    return *this;                                                             \
}

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

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_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;                                                             \
}

Definition at line 1970 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;                                                      \
    SC_FXVAL_OBSERVER_WRITE_( *this )                                         \
    return *this;                                                             \
}

Definition at line 1970 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 )      \
{                                                                             \
    SC_FXVAL_FAST_OBSERVER_READ_( a )                                         \
    SC_FXVAL_FAST_OBSERVER_READ_( b )                                         \
    c.m_val = a.m_val op b.m_val;                                             \
    SC_FXVAL_FAST_OBSERVER_WRITE_( c )                                        \
}                                                                             \
                                                                              \
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*)                                            \
DEFN_BIN_FNC_OTHER(fnc,op)

Definition at line 1811 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 )                      \
{                                                                             \
    SC_FXVAL_OBSERVER_READ_( a )                                              \
    SC_FXVAL_OBSERVER_READ_( b )                                              \
    delete c.m_rep;                                                           \
    c.m_rep = sc_dt::fnc ## _scfx_rep( *a.m_rep, *b.m_rep );                 \
    SC_FXVAL_OBSERVER_WRITE_( c )                                             \
}                                                                             \
                                                                              \
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&)                                      \
DEFN_BIN_FNC_OTHER(fnc)

Definition at line 1811 of file sc_fxval.h.

#define DEFN_BIN_FNC_OTHER ( fnc,
op   ) 
Value:
DEFN_BIN_FNC_T(fnc,op,int64)                                                  \
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&)

Definition at line 1800 of file sc_fxval.h.

#define DEFN_BIN_FNC_OTHER ( fnc   ) 
Value:
DEFN_BIN_FNC_T(fnc,int64)                                                     \
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&)

Definition at line 1800 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_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 )                                        \
}

Definition at line 1778 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_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 )                                             \
}

Definition at line 1778 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 )                \
{                                                                             \
    SC_FXVAL_FAST_OBSERVER_READ_( a )                                         \
    SC_FXVAL_FAST_OBSERVER_READ_( b )                                         \
    return sc_fxval_fast( a.m_val op b.m_val );                               \
}                                                                             \
                                                                              \
DEFN_BIN_OP_T(op,int)                                                         \
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*)                                                 \
DEFN_BIN_OP_OTHER(op)

Definition at line 1704 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 )                          \
{                                                                             \
    SC_FXVAL_OBSERVER_READ_( a )                                              \
    SC_FXVAL_OBSERVER_READ_( 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&)                                    \
DEFN_BIN_OP_OTHER(op,fnc)

Definition at line 1704 of file sc_fxval.h.

#define DEFN_BIN_OP_OTHER ( op   ) 
Value:
DEFN_BIN_OP_T(op,int64)                                                       \
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&)

Definition at line 1693 of file sc_fxval.h.

#define DEFN_BIN_OP_OTHER ( op,
fnc   ) 
Value:
DEFN_BIN_OP_T(op,fnc,int64)                                                   \
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&)

Definition at line 1693 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_OBSERVER_READ_( a )                                         \
    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_OBSERVER_READ_( b )                                         \
    sc_fxval_fast tmp( a );                                                   \
    return sc_fxval_fast( tmp.m_val op b.m_val );                             \
}

Definition at line 1673 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_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 ) );      \
}

Definition at line 1673 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_ )                                                     \
{                                                                             \
    SC_FXVAL_FAST_OBSERVER_DEFAULT_                                           \
    SC_FXVAL_FAST_OBSERVER_CONSTRUCT_( *this )                                \
    SC_FXVAL_FAST_OBSERVER_WRITE_( *this )                                    \
}

Definition at line 1573 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_ )                                                     \
{                                                                             \
    SC_FXVAL_OBSERVER_DEFAULT_                                                \
    SC_FXVAL_OBSERVER_CONSTRUCT_( *this )                                     \
    SC_FXVAL_OBSERVER_WRITE_( *this )                                         \
}

Definition at line 1573 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_A ( tp   )     DEFN_CTOR_T(tp,a)

Definition at line 1585 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_B ( tp   )     DEFN_CTOR_T(tp,a.to_double())

Definition at line 1586 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_CTOR_T_C ( tp   )     DEFN_CTOR_T(tp,a.value())

Definition at line 1587 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 )                \
{                                                                             \
    SC_FXVAL_FAST_OBSERVER_READ_( a )                                         \
    SC_FXVAL_FAST_OBSERVER_READ_( b )                                         \
    return ( a.m_val op b.m_val );                                            \
}                                                                             \
                                                                              \
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)                                               \
DEFN_REL_OP_T(op,float)                                                      \
DEFN_REL_OP_T(op,double)                                                      \
DEFN_REL_OP_T(op,const char*)                                                 \
DEFN_REL_OP_OTHER(op)

Definition at line 1893 of file sc_fxval.h.

#define DEFN_REL_OP ( op,
ret   ) 
Value:
inline                                                                        \
bool                                                                          \
operator op ( const sc_fxval& a, const sc_fxval& b)                           \
{                                                                             \
    SC_FXVAL_OBSERVER_READ_( a )                                              \
    SC_FXVAL_OBSERVER_READ_( 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&)                                    \
DEFN_REL_OP_OTHER(op,ret)

Definition at line 1893 of file sc_fxval.h.

#define DEFN_REL_OP_OTHER ( op   ) 
Value:
DEFN_REL_OP_T(op,int64)                                                       \
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&)

Definition at line 1882 of file sc_fxval.h.

#define DEFN_REL_OP_OTHER ( op,
ret   ) 
Value:
DEFN_REL_OP_T(op,ret,int64)                                                   \
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&)

Definition at line 1882 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_OBSERVER_READ_( a )                                         \
    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_OBSERVER_READ_( b )                                         \
    sc_fxval_fast tmp( a );                                                   \
    return ( tmp.m_val op b.m_val );                                          \
}

Definition at line 1862 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_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 );                                                           \
}

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.


Generated on 31 Jul 2017 for SystemC by  doxygen 1.6.1