gem5  v22.1.0.0
Classes | Namespaces | Macros | Functions
sc_fxnum.hh File Reference
#include <iostream>
#include "../bit/sc_lv_base.hh"
#include "messages.hh"
#include "sc_fxnum_observer.hh"
#include "sc_fxval.hh"
#include "scfx_params.hh"

Go to the source code of this file.

Classes

class  sc_dt::sc_fxnum_bitref
 
class  sc_dt::sc_fxnum_fast_bitref
 
class  sc_dt::sc_fxnum_subref
 
class  sc_dt::sc_fxnum_fast_subref
 
class  sc_dt::sc_fxnum
 
class  sc_dt::sc_fxnum_fast
 

Namespaces

 sc_gem5
 
 sc_dt
 

Macros

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

Functions

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

Macro Definition Documentation

◆ DECL_ASN_OP [1/4]

#define DECL_ASN_OP (   op)
Value:
DECL_ASN_OP_T(op, const sc_fxnum_bitref &) \
DECL_ASN_OP_T(op, const sc_fxnum_fast_bitref &) \
DECL_ASN_OP_T(op, const sc_bit &) \
DECL_ASN_OP_T(op, bool)
Bitfield< 4 > op
Definition: types.hh:83
#define DECL_ASN_OP_T(op, tp)
Definition: sc_fxnum.hh:1043

Definition at line 1053 of file sc_fxnum.hh.

◆ DECL_ASN_OP [2/4]

#define DECL_ASN_OP (   op)
Value:
DECL_ASN_OP_T(op, const sc_fxnum_bitref &) \
DECL_ASN_OP_T(op, const sc_fxnum_fast_bitref &) \
DECL_ASN_OP_T(op, const sc_bit &) \
DECL_ASN_OP_T(op, bool)

Definition at line 1053 of file sc_fxnum.hh.

◆ DECL_ASN_OP [3/4]

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

Definition at line 1053 of file sc_fxnum.hh.

◆ DECL_ASN_OP [4/4]

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

Definition at line 1053 of file sc_fxnum.hh.

◆ DECL_ASN_OP_A [1/2]

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

Definition at line 393 of file sc_fxnum.hh.

◆ DECL_ASN_OP_A [2/2]

#define DECL_ASN_OP_A (   op)
Value:
DECL_ASN_OP_T_A(op, const sc_fxnum_subref &) \
DECL_ASN_OP_T_A(op, const sc_fxnum_fast_subref &) \
DECL_ASN_OP_T_A(op, const sc_bv_base &) \
DECL_ASN_OP_T_A(op, const sc_lv_base &)

Definition at line 393 of file sc_fxnum.hh.

◆ DECL_ASN_OP_OTHER [1/2]

#define DECL_ASN_OP_OTHER (   op)
Value:
DECL_ASN_OP_T(op, uint64) \
DECL_ASN_OP_T(op, const sc_int_base &) \
DECL_ASN_OP_T(op, const sc_uint_base &) \
DECL_ASN_OP_T(op, const sc_signed &) \
DECL_ASN_OP_T(op, const sc_unsigned &)
uint64_t uint64
Definition: sc_nbdefs.hh:172
int64_t int64
Definition: sc_nbdefs.hh:171

Definition at line 1045 of file sc_fxnum.hh.

◆ DECL_ASN_OP_OTHER [2/2]

#define DECL_ASN_OP_OTHER (   op)
Value:
DECL_ASN_OP_T(op, uint64) \
DECL_ASN_OP_T(op, const sc_int_base &) \
DECL_ASN_OP_T(op, const sc_uint_base &) \
DECL_ASN_OP_T(op, const sc_signed &) \
DECL_ASN_OP_T(op, const sc_unsigned &)

Definition at line 1045 of file sc_fxnum.hh.

◆ DECL_ASN_OP_T [1/6]

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

Definition at line 1043 of file sc_fxnum.hh.

◆ DECL_ASN_OP_T [2/6]

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

Definition at line 1043 of file sc_fxnum.hh.

◆ DECL_ASN_OP_T [3/6]

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

Definition at line 1043 of file sc_fxnum.hh.

◆ DECL_ASN_OP_T [4/6]

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

Definition at line 1043 of file sc_fxnum.hh.

◆ DECL_ASN_OP_T [5/6]

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

Definition at line 1043 of file sc_fxnum.hh.

◆ DECL_ASN_OP_T [6/6]

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

Definition at line 1043 of file sc_fxnum.hh.

◆ DECL_ASN_OP_T_A [1/2]

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

Definition at line 391 of file sc_fxnum.hh.

◆ DECL_ASN_OP_T_A [2/2]

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

Definition at line 391 of file sc_fxnum.hh.

◆ DECL_BIN_FNC [1/2]

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

Definition at line 975 of file sc_fxnum.hh.

◆ DECL_BIN_FNC [2/2]

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

Definition at line 975 of file sc_fxnum.hh.

◆ DECL_BIN_FNC_OTHER [1/2]

#define DECL_BIN_FNC_OTHER (   fnc)
Value:
DECL_BIN_FNC_T(fnc, uint64) \
DECL_BIN_FNC_T(fnc, const sc_int_base &) \
DECL_BIN_FNC_T(fnc, const sc_uint_base &) \
DECL_BIN_FNC_T(fnc, const sc_signed &) \
DECL_BIN_FNC_T(fnc, const sc_unsigned &)
#define DECL_BIN_FNC_T(fnc, tp)
Definition: sc_fxnum.hh:961

Definition at line 967 of file sc_fxnum.hh.

◆ DECL_BIN_FNC_OTHER [2/2]

#define DECL_BIN_FNC_OTHER (   fnc)
Value:
DECL_BIN_FNC_T(fnc, uint64) \
DECL_BIN_FNC_T(fnc, const sc_int_base &) \
DECL_BIN_FNC_T(fnc, const sc_uint_base &) \
DECL_BIN_FNC_T(fnc, const sc_signed &) \
DECL_BIN_FNC_T(fnc, const sc_unsigned &)

Definition at line 967 of file sc_fxnum.hh.

◆ DECL_BIN_FNC_T [1/2]

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

Definition at line 961 of file sc_fxnum.hh.

◆ DECL_BIN_FNC_T [2/2]

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

Definition at line 961 of file sc_fxnum.hh.

◆ DECL_BIN_OP [1/2]

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

Definition at line 917 of file sc_fxnum.hh.

◆ DECL_BIN_OP [2/2]

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

Definition at line 917 of file sc_fxnum.hh.

◆ DECL_BIN_OP_OTHER [1/2]

#define DECL_BIN_OP_OTHER (   op)
Value:
DECL_BIN_OP_T(op, uint64) \
DECL_BIN_OP_T(op, const sc_int_base &) \
DECL_BIN_OP_T(op, const sc_uint_base &) \
DECL_BIN_OP_T(op, const sc_signed &) \
DECL_BIN_OP_T(op, const sc_unsigned &)
#define DECL_BIN_OP_T(op, tp)
Definition: sc_fxnum.hh:905

Definition at line 909 of file sc_fxnum.hh.

◆ DECL_BIN_OP_OTHER [2/2]

#define DECL_BIN_OP_OTHER (   op)
Value:
DECL_BIN_OP_T(op, uint64) \
DECL_BIN_OP_T(op, const sc_int_base &) \
DECL_BIN_OP_T(op, const sc_uint_base &) \
DECL_BIN_OP_T(op, const sc_signed &) \
DECL_BIN_OP_T(op, const sc_unsigned &)

Definition at line 909 of file sc_fxnum.hh.

◆ DECL_BIN_OP_T [1/2]

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

Definition at line 905 of file sc_fxnum.hh.

◆ DECL_BIN_OP_T [2/2]

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

Definition at line 905 of file sc_fxnum.hh.

◆ DECL_CTOR_T [1/2]

#define DECL_CTOR_T (   tp)
Value:
sc_fxnum(tp, const sc_fxtype_params &, sc_enc, const sc_fxcast_switch &, \
sc_fxnum_observer *);

Definition at line 865 of file sc_fxnum.hh.

◆ DECL_CTOR_T [2/2]

#define DECL_CTOR_T (   tp)
Value:
sc_fxnum_fast(tp, const sc_fxtype_params &, sc_enc, \
const sc_fxcast_switch &, sc_fxnum_fast_observer *);

Definition at line 865 of file sc_fxnum.hh.

◆ DECL_REL_OP [1/4]

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

Definition at line 1019 of file sc_fxnum.hh.

◆ DECL_REL_OP [2/4]

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

Definition at line 1019 of file sc_fxnum.hh.

◆ DECL_REL_OP [3/4]

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

Definition at line 1019 of file sc_fxnum.hh.

◆ DECL_REL_OP [4/4]

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

Definition at line 1019 of file sc_fxnum.hh.

◆ DECL_REL_OP_OTHER [1/2]

#define DECL_REL_OP_OTHER (   op)
Value:
DECL_REL_OP_T(op, uint64) \
DECL_REL_OP_T(op, const sc_int_base &) \
DECL_REL_OP_T(op, const sc_uint_base &) \
DECL_REL_OP_T(op, const sc_signed &) \
DECL_REL_OP_T(op, const sc_unsigned &)
#define DECL_REL_OP_T(op, tp)
Definition: sc_fxnum.hh:1007

Definition at line 1011 of file sc_fxnum.hh.

◆ DECL_REL_OP_OTHER [2/2]

#define DECL_REL_OP_OTHER (   op)
Value:
DECL_REL_OP_T(op, uint64) \
DECL_REL_OP_T(op, const sc_int_base &) \
DECL_REL_OP_T(op, const sc_uint_base &) \
DECL_REL_OP_T(op, const sc_signed &) \
DECL_REL_OP_T(op, const sc_unsigned &)

Definition at line 1011 of file sc_fxnum.hh.

◆ DECL_REL_OP_T [1/4]

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

Definition at line 1007 of file sc_fxnum.hh.

◆ DECL_REL_OP_T [2/4]

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

Definition at line 1007 of file sc_fxnum.hh.

◆ DECL_REL_OP_T [3/4]

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

Definition at line 1007 of file sc_fxnum.hh.

◆ DECL_REL_OP_T [4/4]

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

Definition at line 1007 of file sc_fxnum.hh.

◆ DEFN_ASN_OP [1/6]

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

Definition at line 4347 of file sc_fxnum.hh.

◆ DEFN_ASN_OP [2/6]

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

Definition at line 4347 of file sc_fxnum.hh.

◆ DEFN_ASN_OP [3/6]

#define DEFN_ASN_OP (   op)

Definition at line 4347 of file sc_fxnum.hh.

◆ DEFN_ASN_OP [4/6]

#define DEFN_ASN_OP (   op)
Value:
inline sc_fxval_fast & \
sc_fxval_fast::operator op (const sc_fxnum_fast &b) \
{ \
SC_FXVAL_FAST_OBSERVER_READ_(*this) \
m_val op b.get_val(); \
SC_FXVAL_FAST_OBSERVER_WRITE_(*this) \
return *this; \
} \
DEFN_ASN_OP_T(op, const sc_fxnum &)
Bitfield< 7 > b
Definition: misc_types.hh:388

Definition at line 4347 of file sc_fxnum.hh.

◆ DEFN_ASN_OP [5/6]

#define DEFN_ASN_OP (   op,
  fnc 
)

Definition at line 4347 of file sc_fxnum.hh.

◆ DEFN_ASN_OP [6/6]

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

Definition at line 4347 of file sc_fxnum.hh.

◆ DEFN_ASN_OP_OTHER [1/2]

#define DEFN_ASN_OP_OTHER (   op)
Value:
DEFN_ASN_OP_T(op, uint64) \
DEFN_ASN_OP_T(op, const sc_int_base &) \
DEFN_ASN_OP_T(op, const sc_uint_base &) \
DEFN_ASN_OP_T(op, const sc_signed &) \
DEFN_ASN_OP_T(op, const sc_unsigned &)

Definition at line 3658 of file sc_fxnum.hh.

◆ DEFN_ASN_OP_OTHER [2/2]

#define DEFN_ASN_OP_OTHER (   op,
  fnc 
)
Value:
DEFN_ASN_OP_T(op, fnc, uint64) \
DEFN_ASN_OP_T(op, fnc, const sc_int_base &) \
DEFN_ASN_OP_T(op, fnc, const sc_uint_base &) \
DEFN_ASN_OP_T(op, fnc, const sc_signed &) \
DEFN_ASN_OP_T(op, fnc, const sc_unsigned &)

Definition at line 3658 of file sc_fxnum.hh.

◆ DEFN_ASN_OP_T [1/12]

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

Definition at line 4336 of file sc_fxnum.hh.

◆ DEFN_ASN_OP_T [2/12]

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

Definition at line 4336 of file sc_fxnum.hh.

◆ DEFN_ASN_OP_T [3/12]

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

Definition at line 4336 of file sc_fxnum.hh.

◆ DEFN_ASN_OP_T [4/12]

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

Definition at line 4336 of file sc_fxnum.hh.

◆ DEFN_ASN_OP_T [5/12]

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

Definition at line 4336 of file sc_fxnum.hh.

◆ DEFN_ASN_OP_T [6/12]

#define DEFN_ASN_OP_T (   op,
  tp 
)
Value:
inline sc_fxval_fast & \
sc_fxval_fast::operator op (tp b) \
{ \
SC_FXVAL_FAST_OBSERVER_READ_(*this) \
sc_fxval_fast tmp(b); \
m_val op tmp.m_val; \
SC_FXVAL_FAST_OBSERVER_WRITE_(*this) \
return *this; \
}

Definition at line 4336 of file sc_fxnum.hh.

◆ DEFN_ASN_OP_T [7/12]

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

Definition at line 4336 of file sc_fxnum.hh.

◆ DEFN_ASN_OP_T [8/12]

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

Definition at line 4336 of file sc_fxnum.hh.

◆ DEFN_ASN_OP_T [9/12]

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

Definition at line 4336 of file sc_fxnum.hh.

◆ DEFN_ASN_OP_T [10/12]

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

Definition at line 4336 of file sc_fxnum.hh.

◆ DEFN_ASN_OP_T [11/12]

#define DEFN_ASN_OP_T (   tp)
Value:
inline sc_fxval & \
sc_fxval::operator = (tp b) \
{ \
sc_fxval tmp(b); \
*m_rep = *tmp.m_rep; \
SC_FXVAL_OBSERVER_WRITE_(*this) \
return *this; \
}

Definition at line 4336 of file sc_fxnum.hh.

◆ DEFN_ASN_OP_T [12/12]

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

Definition at line 4336 of file sc_fxnum.hh.

◆ DEFN_BIN_FNC [1/4]

#define DEFN_BIN_FNC (   fnc)

Definition at line 4300 of file sc_fxnum.hh.

◆ DEFN_BIN_FNC [2/4]

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

Definition at line 4300 of file sc_fxnum.hh.

◆ DEFN_BIN_FNC [3/4]

#define DEFN_BIN_FNC (   fnc,
  op 
)

Definition at line 4300 of file sc_fxnum.hh.

◆ DEFN_BIN_FNC [4/4]

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

Definition at line 4300 of file sc_fxnum.hh.

◆ DEFN_BIN_FNC_OTHER [1/2]

#define DEFN_BIN_FNC_OTHER (   fnc)
Value:
DEFN_BIN_FNC_T(fnc, uint64) \
DEFN_BIN_FNC_T(fnc, const sc_int_base &) \
DEFN_BIN_FNC_T(fnc, const sc_uint_base &) \
DEFN_BIN_FNC_T(fnc, const sc_signed &) \
DEFN_BIN_FNC_T(fnc, const sc_unsigned &)

Definition at line 3413 of file sc_fxnum.hh.

◆ DEFN_BIN_FNC_OTHER [2/2]

#define DEFN_BIN_FNC_OTHER (   fnc,
  op 
)
Value:
DEFN_BIN_FNC_T(fnc, op, uint64) \
DEFN_BIN_FNC_T(fnc, op, const sc_int_base &) \
DEFN_BIN_FNC_T(fnc, op, const sc_uint_base &) \
DEFN_BIN_FNC_T(fnc, op, const sc_signed &) \
DEFN_BIN_FNC_T(fnc, op, const sc_unsigned &)

Definition at line 3413 of file sc_fxnum.hh.

◆ DEFN_BIN_FNC_T [1/4]

#define DEFN_BIN_FNC_T (   fnc,
  op,
  tp 
)

Definition at line 4281 of file sc_fxnum.hh.

◆ DEFN_BIN_FNC_T [2/4]

#define DEFN_BIN_FNC_T (   fnc,
  op,
  tp 
)
Value:
inline void \
fnc (sc_fxval_fast &c, const sc_fxval_fast &a, tp b) \
{ \
SC_FXVAL_FAST_OBSERVER_READ_(a) \
sc_fxval_fast tmp(b); \
c.m_val = a.m_val op tmp.m_val; \
SC_FXVAL_FAST_OBSERVER_WRITE_(c) \
} \
\
inline void \
fnc (sc_fxval_fast &c, tp a, const sc_fxval_fast &b) \
{ \
SC_FXVAL_FAST_OBSERVER_READ_(b) \
sc_fxval_fast tmp(a); \
c.m_val = tmp.m_val op b.m_val; \
SC_FXVAL_FAST_OBSERVER_WRITE_(c) \
}
Bitfield< 2 > c
Definition: pagetable.hh:63

Definition at line 4281 of file sc_fxnum.hh.

◆ DEFN_BIN_FNC_T [3/4]

#define DEFN_BIN_FNC_T (   fnc,
  tp 
)

Definition at line 4281 of file sc_fxnum.hh.

◆ DEFN_BIN_FNC_T [4/4]

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

Definition at line 4281 of file sc_fxnum.hh.

◆ DEFN_BIN_OP [1/3]

#define DEFN_BIN_OP (   op,
  dummy 
)
Value:
inline const sc_fxval_fast \
operator op (const sc_fxnum_fast &a, const sc_fxnum_fast &b) \
{ \
SC_FXNUM_FAST_OBSERVER_READ_(a) \
SC_FXNUM_FAST_OBSERVER_READ_(b) \
return sc_fxval_fast(a.m_val op b.m_val); \
} \
\
inline const sc_fxval_fast \
operator op (const sc_fxnum_fast &a, const sc_fxval_fast &b) \
{ \
SC_FXNUM_FAST_OBSERVER_READ_(a) \
return sc_fxval_fast(a.m_val op b.get_val()); \
} \
\
inline const sc_fxval_fast \
operator op (const sc_fxval_fast &a, const sc_fxnum_fast &b) \
{ \
SC_FXNUM_FAST_OBSERVER_READ_(b) \
return sc_fxval_fast(a.get_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 *) \
DEFN_BIN_OP_OTHER(op)
#define DEFN_BIN_OP_T(op, fnc, tp)
Definition: sc_fxnum.hh:4096

Definition at line 4113 of file sc_fxnum.hh.

◆ DEFN_BIN_OP [2/3]

#define DEFN_BIN_OP (   op,
  fnc 
)

Definition at line 4113 of file sc_fxnum.hh.

◆ DEFN_BIN_OP [3/3]

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

Definition at line 4113 of file sc_fxnum.hh.

◆ DEFN_BIN_OP_OTHER [1/2]

#define DEFN_BIN_OP_OTHER (   op)
Value:
DEFN_BIN_OP_T(op, uint64) \
DEFN_BIN_OP_T(op, const sc_int_base &) \
DEFN_BIN_OP_T(op, const sc_uint_base &) \
DEFN_BIN_OP_T(op, const sc_signed &) \
DEFN_BIN_OP_T(op, const sc_unsigned &)

Definition at line 3275 of file sc_fxnum.hh.

◆ DEFN_BIN_OP_OTHER [2/2]

#define DEFN_BIN_OP_OTHER (   op,
  fnc 
)
Value:
DEFN_BIN_OP_T(op, fnc, uint64) \
DEFN_BIN_OP_T(op, fnc, const sc_int_base &) \
DEFN_BIN_OP_T(op, fnc, const sc_uint_base &) \
DEFN_BIN_OP_T(op, fnc, const sc_signed &) \
DEFN_BIN_OP_T(op, fnc, const sc_unsigned &)

Definition at line 3275 of file sc_fxnum.hh.

◆ DEFN_BIN_OP_T [1/3]

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

Definition at line 4096 of file sc_fxnum.hh.

◆ DEFN_BIN_OP_T [2/3]

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

Definition at line 4096 of file sc_fxnum.hh.

◆ DEFN_BIN_OP_T [3/3]

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

Definition at line 4096 of file sc_fxnum.hh.

◆ DEFN_CTOR_T [1/2]

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

Definition at line 3169 of file sc_fxnum.hh.

◆ DEFN_CTOR_T [2/2]

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

Definition at line 3169 of file sc_fxnum.hh.

◆ DEFN_CTOR_T_A [1/2]

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

Definition at line 3183 of file sc_fxnum.hh.

◆ DEFN_CTOR_T_A [2/2]

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

Definition at line 3183 of file sc_fxnum.hh.

◆ DEFN_CTOR_T_B [1/2]

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

Definition at line 3184 of file sc_fxnum.hh.

◆ DEFN_CTOR_T_B [2/2]

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

Definition at line 3184 of file sc_fxnum.hh.

◆ DEFN_CTOR_T_C [1/2]

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

Definition at line 3185 of file sc_fxnum.hh.

◆ DEFN_CTOR_T_C [2/2]

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

Definition at line 3185 of file sc_fxnum.hh.

◆ DEFN_CTOR_T_D

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

Definition at line 2211 of file sc_fxnum.hh.

◆ DEFN_RED_FNC [1/2]

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

Definition at line 2044 of file sc_fxnum.hh.

◆ DEFN_RED_FNC [2/2]

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

Definition at line 2044 of file sc_fxnum.hh.

◆ DEFN_REL_OP [1/5]

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

Definition at line 4180 of file sc_fxnum.hh.

◆ DEFN_REL_OP [2/5]

#define DEFN_REL_OP (   op)
Value:
inline bool \
operator op (const sc_fxnum_fast_subref &a, const sc_fxnum_fast_subref &b) \
{ \
return (static_cast<sc_bv_base>(a) op static_cast<sc_bv_base>(b)); \
} \
\
inline bool \
operator op (const sc_fxnum_fast_subref &a, const sc_fxnum_subref &b) \
{ \
return (static_cast<sc_bv_base>(a) op static_cast<sc_bv_base>(b)); \
} \
DEFN_REL_OP_T(op, const sc_bv_base &) \
DEFN_REL_OP_T(op, const sc_lv_base &) \
DEFN_REL_OP_T(op, const char *) \
DEFN_REL_OP_T(op, const bool *) \
DEFN_REL_OP_T(op, const sc_signed &) \
DEFN_REL_OP_T(op, const sc_unsigned &) \
DEFN_REL_OP_T(op, int) \
DEFN_REL_OP_T(op, unsigned int) \
DEFN_REL_OP_T(op, long) \
DEFN_REL_OP_T(op, unsigned long)

Definition at line 4180 of file sc_fxnum.hh.

◆ DEFN_REL_OP [3/5]

#define DEFN_REL_OP (   op)
Value:
inline bool \
operator op (const sc_fxnum_fast &a, const sc_fxnum_fast &b) \
{ \
SC_FXNUM_FAST_OBSERVER_READ_(a) \
SC_FXNUM_FAST_OBSERVER_READ_(b) \
return (a.m_val op b.m_val); \
} \
\
inline bool \
operator op (const sc_fxnum_fast &a, const sc_fxval_fast &b) \
{ \
SC_FXNUM_FAST_OBSERVER_READ_(a) \
return (a.m_val op b.get_val()); \
} \
\
inline bool \
operator op (const sc_fxval_fast &a, const sc_fxnum_fast &b) \
{ \
SC_FXNUM_FAST_OBSERVER_READ_(b) \
return (a.get_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 *) \
DEFN_REL_OP_OTHER(op)

Definition at line 4180 of file sc_fxnum.hh.

◆ DEFN_REL_OP [4/5]

#define DEFN_REL_OP (   op,
  ret 
)

Definition at line 4180 of file sc_fxnum.hh.

◆ DEFN_REL_OP [5/5]

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

Definition at line 4180 of file sc_fxnum.hh.

◆ DEFN_REL_OP_OTHER [1/2]

#define DEFN_REL_OP_OTHER (   op)
Value:
DEFN_REL_OP_T(op, uint64) \
DEFN_REL_OP_T(op, const sc_int_base &) \
DEFN_REL_OP_T(op, const sc_uint_base &) \
DEFN_REL_OP_T(op, const sc_signed &) \
DEFN_REL_OP_T(op, const sc_unsigned &)

Definition at line 3542 of file sc_fxnum.hh.

◆ DEFN_REL_OP_OTHER [2/2]

#define DEFN_REL_OP_OTHER (   op,
  ret 
)
Value:
DEFN_REL_OP_T(op, ret, uint64) \
DEFN_REL_OP_T(op, ret, const sc_int_base &) \
DEFN_REL_OP_T(op, ret, const sc_uint_base &) \
DEFN_REL_OP_T(op, ret, const sc_signed &) \
DEFN_REL_OP_T(op, ret, const sc_unsigned &)

Definition at line 3542 of file sc_fxnum.hh.

◆ DEFN_REL_OP_T [1/5]

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

Definition at line 4161 of file sc_fxnum.hh.

◆ DEFN_REL_OP_T [2/5]

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

Definition at line 4161 of file sc_fxnum.hh.

◆ DEFN_REL_OP_T [3/5]

#define DEFN_REL_OP_T (   op,
  tp 
)
Value:
inline bool \
operator op (const sc_fxnum_subref &a, tp b) \
{ \
return (static_cast<sc_bv_base>(a) op b); \
} \
\
inline bool \
operator op (tp a, const sc_fxnum_subref &b) \
{ \
return (static_cast<sc_bv_base>(b) op a); \
}

Definition at line 4161 of file sc_fxnum.hh.

◆ DEFN_REL_OP_T [4/5]

#define DEFN_REL_OP_T (   op,
  tp 
)
Value:
inline bool \
operator op (const sc_fxnum_fast_subref &a, tp b) \
{ \
return (static_cast<sc_bv_base>(a) op b); \
} \
\
inline bool \
operator op (tp a, const sc_fxnum_fast_subref &b) \
{ \
return (static_cast<sc_bv_base>(b) op a); \
}

Definition at line 4161 of file sc_fxnum.hh.

◆ DEFN_REL_OP_T [5/5]

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

Definition at line 4161 of file sc_fxnum.hh.


Generated on Wed Dec 21 2022 10:23:00 for gem5 by doxygen 1.9.1