gem5 v24.0.0.0
Loading...
Searching...
No Matches
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

namespace  sc_gem5
 
namespace  sc_dt
 

Macros

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

Functions

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

Macro Definition Documentation

◆ DECL_ASN_OP [1/4]

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

Definition at line 116 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 116 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 sc_fxnum.hh:485

Definition at line 116 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 116 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:255

Definition at line 258 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 258 of file sc_fxnum.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 688 of file sc_fxnum.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 688 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 113 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 113 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 113 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 113 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 113 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 113 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 255 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 255 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 617 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 617 of file sc_fxnum.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_fxnum.hh:603

Definition at line 609 of file sc_fxnum.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 609 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 603 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 603 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 556 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 556 of file sc_fxnum.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_fxnum.hh:544

Definition at line 548 of file sc_fxnum.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 548 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 544 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 544 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 504 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 504 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 276 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 276 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 276 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 276 of file sc_fxnum.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_fxnum.hh:272

Definition at line 651 of file sc_fxnum.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 651 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 272 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 272 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 272 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 272 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 &)
SwitchingFiber a

Definition at line 1670 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 1670 of file sc_fxnum.hh.

◆ DEFN_ASN_OP [3/6]

#define DEFN_ASN_OP ( op)

Definition at line 1670 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 &)
SwitchingFiber b

Definition at line 1670 of file sc_fxnum.hh.

◆ DEFN_ASN_OP [5/6]

#define DEFN_ASN_OP ( op,
fnc )

Definition at line 1670 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 1670 of file sc_fxnum.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_fxnum.hh:1630

Definition at line 2712 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, 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 2712 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 1630 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 1630 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 1630 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 1630 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 1630 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 1630 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 1630 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 1630 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 1630 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 1630 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 1630 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 1630 of file sc_fxnum.hh.

◆ DEFN_BIN_FNC [1/4]

#define DEFN_BIN_FNC ( fnc)

Definition at line 2461 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 2461 of file sc_fxnum.hh.

◆ DEFN_BIN_FNC [3/4]

#define DEFN_BIN_FNC ( fnc,
op )

Definition at line 2461 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:2414

Definition at line 2461 of file sc_fxnum.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 &)

Definition at line 2453 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, 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 2453 of file sc_fxnum.hh.

◆ DEFN_BIN_FNC_T [1/4]

#define DEFN_BIN_FNC_T ( fnc,
op,
tp )

Definition at line 2414 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) \
}
SwitchingFiber c

Definition at line 2414 of file sc_fxnum.hh.

◆ DEFN_BIN_FNC_T [3/4]

#define DEFN_BIN_FNC_T ( fnc,
tp )

Definition at line 2414 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 2414 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, 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)
Bitfield< 4 > op
Definition types.hh:83

Definition at line 2316 of file sc_fxnum.hh.

◆ DEFN_BIN_OP [2/3]

#define DEFN_BIN_OP ( op,
fnc )

Definition at line 2316 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 2316 of file sc_fxnum.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_fxnum.hh:2287

Definition at line 2305 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, 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 2305 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 2287 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 2287 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 2287 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 2195 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 2195 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 2208 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 2208 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 2209 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 2209 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 2210 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 2210 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 1750 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 1750 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)

Definition at line 1717 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 1717 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, 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 1717 of file sc_fxnum.hh.

◆ DEFN_REL_OP [4/5]

#define DEFN_REL_OP ( op,
ret )

Definition at line 1717 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 1717 of file sc_fxnum.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, tp)
Definition sc_fxnum.hh:1704

Definition at line 2589 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, 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 2589 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 1704 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 1704 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 1704 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 1704 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 1704 of file sc_fxnum.hh.


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