SystemC  Recoding Infrastructure for SystemC v0.6.3 derived from Accellera SystemC 2.3.1
Accellera SystemC proof-of-concept library
Classes | Namespaces | Macros | Functions
sc_fix.h File Reference
#include "sysc/datatypes/fx/sc_fxnum.h"
Include dependency graph for sc_fix.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sc_dt::sc_fix
 
class  sc_dt::sc_fix_fast
 

Namespaces

 sc_dt
 

Macros

#define DECL_CTORS_T(tp)
 
#define DECL_CTORS_T_A(tp)
 
#define DECL_CTORS_T_B(tp)
 
#define DECL_ASN_OP_T(op, tp)   sc_fix& operator op ( tp );
 
#define DECL_ASN_OP_OTHER(op)
 
#define DECL_ASN_OP(op)
 
#define DECL_CTORS_T(tp)
 
#define DECL_CTORS_T_A(tp)
 
#define DECL_CTORS_T_B(tp)
 
#define DECL_ASN_OP_T(op, tp)   sc_fix_fast& operator op ( tp );
 
#define DECL_ASN_OP_OTHER(op)
 
#define DECL_ASN_OP(op)
 
#define DEFN_CTORS_T_A(tp)
 
#define DEFN_CTORS_T_B(tp)
 
#define DEFN_BIN_OP_T(op, op2, tp1, tp2)
 
#define DEFN_BIN_FNC_T(fnc, op2, tp1, tp2)
 
#define DEFN_ASN_OP_T(op, tp)
 
#define DEFN_ASN_OP_OTHER(op)
 
#define DEFN_ASN_OP(op)
 
#define DEFN_ASN_OP_T(op, op2, tp)
 
#define DEFN_CTORS_T_A(tp)
 
#define DEFN_CTORS_T_B(tp)
 
#define DEFN_BIN_OP_T(op, op2, tp1, tp2)
 
#define DEFN_BIN_FNC_T(fnc, op2, tp1, tp2)
 
#define DEFN_ASN_OP_T(op, tp)
 
#define DEFN_ASN_OP_OTHER(op)
 
#define DEFN_ASN_OP(op)
 
#define DEFN_ASN_OP_T(op, op2, tp)
 

Functions

void sc_dt::b_not (sc_fix &c, const sc_fix &a)
 
void sc_dt::b_not (sc_fix_fast &c, const sc_fix_fast &a)
 

Macro Definition Documentation

#define DECL_ASN_OP (   op)
Value:
DECL_ASN_OP_T(op,unsigned int) \
DECL_ASN_OP_T(op,long) \
DECL_ASN_OP_T(op,unsigned long) \
DECL_ASN_OP_T(op,float) \
DECL_ASN_OP_T(op,double) \
DECL_ASN_OP_T(op,const char*) \
DECL_ASN_OP_T(op,const sc_fxval&) \
DECL_ASN_OP_T(op,const sc_fxval_fast&) \
DECL_ASN_OP_T(op,const sc_fxnum&) \
DECL_ASN_OP_T(op,const sc_fxnum_fast&) \
#define DECL_ASN_OP_T(op, tp)
Definition: sc_fix.h:462
#define DECL_ASN_OP_OTHER(op)
Definition: sc_fix.h:466

Definition at line 477 of file sc_fix.h.

#define DECL_ASN_OP (   op)
Value:
DECL_ASN_OP_T(op,unsigned int) \
DECL_ASN_OP_T(op,long) \
DECL_ASN_OP_T(op,unsigned long) \
DECL_ASN_OP_T(op,float) \
DECL_ASN_OP_T(op,double) \
DECL_ASN_OP_T(op,const char*) \
DECL_ASN_OP_T(op,const sc_fxval&) \
DECL_ASN_OP_T(op,const sc_fxval_fast&) \
DECL_ASN_OP_T(op,const sc_fxnum&) \
DECL_ASN_OP_T(op,const sc_fxnum_fast&) \
#define DECL_ASN_OP_T(op, tp)
Definition: sc_fix.h:462
#define DECL_ASN_OP_OTHER(op)
Definition: sc_fix.h:466

Definition at line 477 of file sc_fix.h.

#define DECL_ASN_OP_OTHER (   op)
Value:
DECL_ASN_OP_T(op,const sc_int_base&) \
DECL_ASN_OP_T(op,const sc_uint_base&) \
DECL_ASN_OP_T(op,const sc_signed&) \
DECL_ASN_OP_T(op,const sc_unsigned&)
int64_t int64
Definition: sc_nbdefs.h:182
#define DECL_ASN_OP_T(op, tp)
Definition: sc_fix.h:462
uint64_t uint64
Definition: sc_nbdefs.h:183

Definition at line 466 of file sc_fix.h.

#define DECL_ASN_OP_OTHER (   op)
Value:
DECL_ASN_OP_T(op,const sc_int_base&) \
DECL_ASN_OP_T(op,const sc_uint_base&) \
DECL_ASN_OP_T(op,const sc_signed&) \
DECL_ASN_OP_T(op,const sc_unsigned&)
int64_t int64
Definition: sc_nbdefs.h:182
#define DECL_ASN_OP_T(op, tp)
Definition: sc_fix.h:462
uint64_t uint64
Definition: sc_nbdefs.h:183

Definition at line 466 of file sc_fix.h.

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

Definition at line 462 of file sc_fix.h.

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

Definition at line 462 of file sc_fix.h.

#define DECL_CTORS_T (   tp)

Definition at line 345 of file sc_fix.h.

#define DECL_CTORS_T (   tp)

Definition at line 345 of file sc_fix.h.

#define DECL_CTORS_T_A (   tp)
Value:
sc_fix( tp, \
sc_fxnum_observer* = 0 ); \
#define DECL_CTORS_T(tp)
Definition: sc_fix.h:345

Definition at line 392 of file sc_fix.h.

#define DECL_CTORS_T_A (   tp)
Value:
sc_fix_fast( tp, \
sc_fxnum_fast_observer* = 0 ); \
#define DECL_CTORS_T(tp)
Definition: sc_fix.h:345

Definition at line 392 of file sc_fix.h.

#define DECL_CTORS_T_B (   tp)
Value:
explicit sc_fix( tp, \
sc_fxnum_observer* = 0 ); \
#define DECL_CTORS_T(tp)
Definition: sc_fix.h:345

Definition at line 397 of file sc_fix.h.

#define DECL_CTORS_T_B (   tp)
Value:
explicit sc_fix_fast( tp, \
sc_fxnum_fast_observer* = 0 ); \
#define DECL_CTORS_T(tp)
Definition: sc_fix.h:345

Definition at line 397 of file sc_fix.h.

#define DEFN_ASN_OP (   op)
Value:
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_T(op,const sc_fxval_fast&) \
DEFN_ASN_OP_T(op,const sc_fxnum&) \
DEFN_ASN_OP_T(op,const sc_fxnum_fast&) \
#define DEFN_ASN_OP_T(op, tp)
Definition: sc_bit.h:174
#define DEFN_ASN_OP_OTHER(op)
Definition: sc_fix.h:1834

Definition at line 1845 of file sc_fix.h.

#define DEFN_ASN_OP (   op)
Value:
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_T(op,const sc_fxval_fast&) \
DEFN_ASN_OP_T(op,const sc_fxnum&) \
DEFN_ASN_OP_T(op,const sc_fxnum_fast&) \
#define DEFN_ASN_OP_T(op, tp)
Definition: sc_bit.h:174
#define DEFN_ASN_OP_OTHER(op)
Definition: sc_fix.h:1834

Definition at line 1845 of file sc_fix.h.

#define DEFN_ASN_OP_OTHER (   op)
Value:
DEFN_ASN_OP_T(op,const sc_int_base&) \
DEFN_ASN_OP_T(op,const sc_uint_base&) \
DEFN_ASN_OP_T(op,const sc_signed&) \
DEFN_ASN_OP_T(op,const sc_unsigned&)
#define DEFN_ASN_OP_T(op, tp)
Definition: sc_bit.h:174
int64_t int64
Definition: sc_nbdefs.h:182
uint64_t uint64
Definition: sc_nbdefs.h:183

Definition at line 1834 of file sc_fix.h.

#define DEFN_ASN_OP_OTHER (   op)
Value:
DEFN_ASN_OP_T(op,const sc_int_base&) \
DEFN_ASN_OP_T(op,const sc_uint_base&) \
DEFN_ASN_OP_T(op,const sc_signed&) \
DEFN_ASN_OP_T(op,const sc_unsigned&)
#define DEFN_ASN_OP_T(op, tp)
Definition: sc_bit.h:174
int64_t int64
Definition: sc_nbdefs.h:182
uint64_t uint64
Definition: sc_nbdefs.h:183

Definition at line 1834 of file sc_fix.h.

#define DEFN_ASN_OP_T (   op,
  tp 
)
Value:
inline \
sc_fix& \
sc_fix::operator op ( tp a ) \
{ \
sc_fxnum::operator op( a ); \
return *this; \
}

Definition at line 1874 of file sc_fix.h.

#define DEFN_ASN_OP_T (   op,
  op2,
  tp 
)
Value:
inline \
sc_fix& \
sc_fix::operator op ( const tp& b ) \
{ \
b.observer_read(); \
int iwl_c = iwl(); \
for( int i = iwl_c - wl(); i < iwl_c; ++ i ) \
set_bit( i, get_bit( i ) op2 b.get_bit( i ) ); \
cast(); \
return *this; \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
#define SC_FXNUM_OBSERVER_READ_(object)
#define SC_FXNUM_OBSERVER_WRITE_(object)

Definition at line 1874 of file sc_fix.h.

#define DEFN_ASN_OP_T (   op,
  tp 
)
Value:
inline \
sc_fix_fast& \
sc_fix_fast::operator op ( tp a ) \
{ \
sc_fxnum_fast::operator op( a ); \
return *this; \
}

Definition at line 1874 of file sc_fix.h.

#define DEFN_ASN_OP_T (   op,
  op2,
  tp 
)
Value:
inline \
sc_fix_fast& \
sc_fix_fast::operator op ( const tp& b ) \
{ \
b.observer_read(); \
int iwl_c = iwl(); \
for( int i = iwl_c - wl(); i < iwl_c; ++ i ) \
set_bit( i, get_bit( i ) op2 b.get_bit( i ) ); \
cast(); \
return *this; \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
#define SC_FXNUM_FAST_OBSERVER_WRITE_(object)
#define SC_FXNUM_FAST_OBSERVER_READ_(object)

Definition at line 1874 of file sc_fix.h.

#define DEFN_BIN_FNC_T (   fnc,
  op2,
  tp1,
  tp2 
)
Value:
inline \
void \
fnc ( sc_fix& c, const tp1& a, const tp2& b ) \
{ \
a.observer_read(); \
b.observer_read(); \
int iwl_c = c.iwl(); \
for( int i = iwl_c - c.wl(); i < iwl_c; ++ i ) \
c.set_bit( i, a.get_bit( i ) op2 b.get_bit( i ) ); \
c.cast(); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
#define SC_FXNUM_OBSERVER_WRITE_(object)

Definition at line 1793 of file sc_fix.h.

#define DEFN_BIN_FNC_T (   fnc,
  op2,
  tp1,
  tp2 
)
Value:
inline \
void \
fnc ( sc_fix_fast& c, const tp1& a, const tp2& b ) \
{ \
a.observer_read(); \
b.observer_read(); \
int iwl_c = c.iwl(); \
for( int i = iwl_c - c.wl(); i < iwl_c; ++ i ) \
c.set_bit( i, a.get_bit( i ) op2 b.get_bit( i ) ); \
c.cast(); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
#define SC_FXNUM_FAST_OBSERVER_WRITE_(object)

Definition at line 1793 of file sc_fix.h.

#define DEFN_BIN_OP_T (   op,
  op2,
  tp1,
  tp2 
)
Value:
inline \
const sc_fix \
operator op ( const tp1& a, const tp2& b ) \
{ \
a.observer_read(); \
b.observer_read(); \
int iwl_a = a.iwl(); \
int iwl_b = b.iwl(); \
int iwl_c = sc_max( iwl_a, iwl_b ); \
int fwl_c = sc_max( a.wl() - iwl_a, b.wl() - iwl_b ); \
sc_fix c( iwl_c + fwl_c, iwl_c ); \
for( int i = -fwl_c; i < iwl_c; ++ i ) \
c.set_bit( i, a.get_bit( i ) op2 b.get_bit( i ) ); \
return sc_fix( c, iwl_c + fwl_c, iwl_c ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
const T sc_max(const T &a, const T &b)
Definition: sc_macros.h:45

Definition at line 1767 of file sc_fix.h.

#define DEFN_BIN_OP_T (   op,
  op2,
  tp1,
  tp2 
)
Value:
inline \
const sc_fix_fast \
operator op ( const tp1& a, const tp2& b ) \
{ \
a.observer_read(); \
b.observer_read(); \
int iwl_a = a.iwl(); \
int iwl_b = b.iwl(); \
int iwl_c = sc_max( iwl_a, iwl_b ); \
int fwl_c = sc_max( a.wl() - iwl_a, b.wl() - iwl_b ); \
sc_fix_fast c( iwl_c + fwl_c, iwl_c ); \
for( int i = -fwl_c; i < iwl_c; ++ i ) \
c.set_bit( i, a.get_bit( i ) op2 b.get_bit( i ) ); \
return sc_fix_fast( c, iwl_c + fwl_c, iwl_c ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
const T sc_max(const T &a, const T &b)
Definition: sc_macros.h:45

Definition at line 1767 of file sc_fix.h.

#define DEFN_CTORS_T_A (   tp)

Definition at line 1375 of file sc_fix.h.

#define DEFN_CTORS_T_A (   tp)

Definition at line 1375 of file sc_fix.h.

#define DEFN_CTORS_T_B (   tp)

Definition at line 1537 of file sc_fix.h.

#define DEFN_CTORS_T_B (   tp)

Definition at line 1537 of file sc_fix.h.