gem5 v24.0.0.0
Loading...
Searching...
No Matches
sc_fxval.hh File Reference
#include <iostream>
#include "../int/sc_int_base.hh"
#include "../int/sc_signed.hh"
#include "../int/sc_uint_base.hh"
#include "../int/sc_unsigned.hh"
#include "sc_fxval_observer.hh"
#include "scfx_rep.hh"

Go to the source code of this file.

Classes

class  sc_dt::sc_fxval
 
class  sc_dt::sc_fxval_fast
 

Namespaces

namespace  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)
 
const sc_fxval sc_dt::operator<< (const sc_fxval &a, int b)
 
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)
 

Macro Definition Documentation

◆ DECL_ASN_OP [1/2]

#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 sc_fxval
Definition sc_fxnum.hh:485
#define DECL_ASN_OP_T(op, tp)
Definition sc_fxval.hh:264

Definition at line 274 of file sc_fxval.hh.

◆ DECL_ASN_OP [2/2]

#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 274 of file sc_fxval.hh.

◆ DECL_ASN_OP_OTHER [1/2]

#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 266 of file sc_fxval.hh.

◆ DECL_ASN_OP_OTHER [2/2]

#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 266 of file sc_fxval.hh.

◆ DECL_ASN_OP_T [1/2]

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

Definition at line 264 of file sc_fxval.hh.

◆ DECL_ASN_OP_T [2/2]

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

Definition at line 264 of file sc_fxval.hh.

◆ DECL_BIN_FNC [1/2]

#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 201 of file sc_fxval.hh.

◆ DECL_BIN_FNC [2/2]

#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 201 of file sc_fxval.hh.

◆ DECL_BIN_FNC_OTHER [1/2]

#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 &)
#define DECL_BIN_FNC_T(fnc, tp)
Definition sc_fxval.hh:189

Definition at line 193 of file sc_fxval.hh.

◆ DECL_BIN_FNC_OTHER [2/2]

#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 193 of file sc_fxval.hh.

◆ DECL_BIN_FNC_T [1/2]

#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 189 of file sc_fxval.hh.

◆ DECL_BIN_FNC_T [2/2]

#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 189 of file sc_fxval.hh.

◆ DECL_BIN_OP [1/2]

#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 143 of file sc_fxval.hh.

◆ DECL_BIN_OP [2/2]

#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 143 of file sc_fxval.hh.

◆ DECL_BIN_OP_OTHER [1/2]

#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 &)
#define DECL_BIN_OP_T(op, tp)
Definition sc_fxval.hh:131

Definition at line 135 of file sc_fxval.hh.

◆ DECL_BIN_OP_OTHER [2/2]

#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 135 of file sc_fxval.hh.

◆ DECL_BIN_OP_T [1/2]

#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 131 of file sc_fxval.hh.

◆ DECL_BIN_OP_T [2/2]

#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 131 of file sc_fxval.hh.

◆ DECL_REL_OP [1/2]

#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 239 of file sc_fxval.hh.

◆ DECL_REL_OP [2/2]

#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 239 of file sc_fxval.hh.

◆ DECL_REL_OP_OTHER [1/2]

#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 &)
#define DECL_REL_OP_T(op, tp)
Definition sc_fxval.hh:227

Definition at line 231 of file sc_fxval.hh.

◆ DECL_REL_OP_OTHER [2/2]

#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 231 of file sc_fxval.hh.

◆ DECL_REL_OP_T [1/2]

#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 227 of file sc_fxval.hh.

◆ DECL_REL_OP_T [2/2]

#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 227 of file sc_fxval.hh.

◆ DEFN_ASN_OP [1/2]

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

Definition at line 1059 of file sc_fxval.hh.

◆ DEFN_ASN_OP [2/2]

#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 1059 of file sc_fxval.hh.

◆ DEFN_ASN_OP_OTHER [1/2]

#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 &)
#define DEFN_ASN_OP_T(tp)
Definition sc_fxval.hh:1010

Definition at line 1051 of file sc_fxval.hh.

◆ DEFN_ASN_OP_OTHER [2/2]

#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 1051 of file sc_fxval.hh.

◆ DEFN_ASN_OP_T [1/4]

#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 1010 of file sc_fxval.hh.

◆ DEFN_ASN_OP_T [2/4]

#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 1010 of file sc_fxval.hh.

◆ DEFN_ASN_OP_T [3/4]

#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 1010 of file sc_fxval.hh.

◆ DEFN_ASN_OP_T [4/4]

#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; \
}
SwitchingFiber a

Definition at line 1010 of file sc_fxval.hh.

◆ DEFN_BIN_FNC [1/2]

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

Definition at line 891 of file sc_fxval.hh.

◆ DEFN_BIN_FNC [2/2]

#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 891 of file sc_fxval.hh.

◆ DEFN_BIN_FNC_OTHER [1/2]

#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 &)
#define DEFN_BIN_FNC_T(fnc, tp)
Definition sc_fxval.hh:862

Definition at line 883 of file sc_fxval.hh.

◆ DEFN_BIN_FNC_OTHER [2/2]

#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 883 of file sc_fxval.hh.

◆ DEFN_BIN_FNC_T [1/2]

#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 862 of file sc_fxval.hh.

◆ DEFN_BIN_FNC_T [2/2]

#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 862 of file sc_fxval.hh.

◆ DEFN_BIN_OP [1/2]

#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 794 of file sc_fxval.hh.

◆ DEFN_BIN_OP [2/2]

#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 794 of file sc_fxval.hh.

◆ DEFN_BIN_OP_OTHER [1/2]

#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 &)
#define DEFN_BIN_OP_T(op, fnc, tp)
Definition sc_fxval.hh:768

Definition at line 786 of file sc_fxval.hh.

◆ DEFN_BIN_OP_OTHER [2/2]

#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 786 of file sc_fxval.hh.

◆ DEFN_BIN_OP_T [1/2]

#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 768 of file sc_fxval.hh.

◆ DEFN_BIN_OP_T [2/2]

#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 768 of file sc_fxval.hh.

◆ DEFN_CTOR_T [1/2]

#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 685 of file sc_fxval.hh.

◆ DEFN_CTOR_T [2/2]

#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 685 of file sc_fxval.hh.

◆ DEFN_CTOR_T_A [1/2]

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

Definition at line 694 of file sc_fxval.hh.

◆ DEFN_CTOR_T_A [2/2]

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

Definition at line 694 of file sc_fxval.hh.

◆ DEFN_CTOR_T_B [1/2]

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

Definition at line 695 of file sc_fxval.hh.

◆ DEFN_CTOR_T_B [2/2]

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

Definition at line 695 of file sc_fxval.hh.

◆ DEFN_CTOR_T_C [1/2]

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

Definition at line 696 of file sc_fxval.hh.

◆ DEFN_CTOR_T_C [2/2]

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

Definition at line 696 of file sc_fxval.hh.

◆ DEFN_REL_OP [1/2]

#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 967 of file sc_fxval.hh.

◆ DEFN_REL_OP [2/2]

#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)
int cmp_scfx_rep(const scfx_rep &a, const scfx_rep &b)
Definition scfx_rep.cc:1726

Definition at line 967 of file sc_fxval.hh.

◆ DEFN_REL_OP_OTHER [1/2]

#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 &)
#define DEFN_REL_OP_T(op, ret, tp)
Definition sc_fxval.hh:940

Definition at line 959 of file sc_fxval.hh.

◆ DEFN_REL_OP_OTHER [2/2]

#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 959 of file sc_fxval.hh.

◆ DEFN_REL_OP_T [1/2]

#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 940 of file sc_fxval.hh.

◆ DEFN_REL_OP_T [2/2]

#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 940 of file sc_fxval.hh.

◆ SCFX_EXPLICIT_

#define SCFX_EXPLICIT_   explicit

Definition at line 65 of file sc_fxval.hh.

◆ SCFX_EXPLICIT_OTHER_

#define SCFX_EXPLICIT_OTHER_   explicit

Definition at line 66 of file sc_fxval.hh.


Generated on Tue Jun 18 2024 16:24:08 for gem5 by doxygen 1.11.0