sysc/datatypes/fx/sc_fix.h File Reference
#include "sysc/datatypes/fx/sc_fxnum.h"
Go to the source code of this file.
Classes |
class | sc_dt::sc_fix |
class | sc_dt::sc_fix_fast |
Namespaces |
namespace | sc_dt |
Defines |
#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) |
Define Documentation
#define DECL_ASN_OP |
( |
op |
|
) |
|
Value:DECL_ASN_OP_T(op,int) \
DECL_ASN_OP_T(op,unsigned int) \
DECL_ASN_OP_T(op,long) \
DECL_ASN_OP_T(op,unsigned long) \
DECL_ASN_OP_T(op,float) \
DECL_ASN_OP_T(op,double) \
DECL_ASN_OP_T(op,const char*) \
DECL_ASN_OP_T(op,const sc_fxval&) \
DECL_ASN_OP_T(op,const sc_fxval_fast&) \
DECL_ASN_OP_T(op,const sc_fxnum&) \
DECL_ASN_OP_T(op,const sc_fxnum_fast&) \
DECL_ASN_OP_OTHER(op)
Definition at line 477 of file sc_fix.h.
#define DECL_ASN_OP |
( |
op |
|
) |
|
Value:DECL_ASN_OP_T(op,int) \
DECL_ASN_OP_T(op,unsigned int) \
DECL_ASN_OP_T(op,long) \
DECL_ASN_OP_T(op,unsigned long) \
DECL_ASN_OP_T(op,float) \
DECL_ASN_OP_T(op,double) \
DECL_ASN_OP_T(op,const char*) \
DECL_ASN_OP_T(op,const sc_fxval&) \
DECL_ASN_OP_T(op,const sc_fxval_fast&) \
DECL_ASN_OP_T(op,const sc_fxnum&) \
DECL_ASN_OP_T(op,const sc_fxnum_fast&) \
DECL_ASN_OP_OTHER(op)
Definition at line 477 of file sc_fix.h.
#define DECL_ASN_OP_OTHER |
( |
op |
|
) |
|
#define DECL_ASN_OP_OTHER |
( |
op |
|
) |
|
#define DECL_ASN_OP_T |
( |
op, |
|
|
tp |
|
) |
sc_fix_fast& operator op ( tp ); |
#define DECL_ASN_OP_T |
( |
op, |
|
|
tp |
|
) |
sc_fix& operator op ( tp ); |
#define DECL_CTORS_T |
( |
tp |
|
) |
|
#define DECL_CTORS_T |
( |
tp |
|
) |
|
#define DECL_CTORS_T_A |
( |
tp |
|
) |
|
Value:sc_fix_fast( tp, \
sc_fxnum_fast_observer* = 0 ); \
DECL_CTORS_T(tp)
Definition at line 392 of file sc_fix.h.
#define DECL_CTORS_T_A |
( |
tp |
|
) |
|
#define DECL_CTORS_T_B |
( |
tp |
|
) |
|
Value:explicit sc_fix_fast( tp, \
sc_fxnum_fast_observer* = 0 ); \
DECL_CTORS_T(tp)
Definition at line 397 of file sc_fix.h.
#define DECL_CTORS_T_B |
( |
tp |
|
) |
|
#define DEFN_ASN_OP |
( |
op |
|
) |
|
Value: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_T(op,const sc_fxval_fast&) \
DEFN_ASN_OP_T(op,const sc_fxnum&) \
DEFN_ASN_OP_T(op,const sc_fxnum_fast&) \
DEFN_ASN_OP_OTHER(op)
Definition at line 1845 of file sc_fix.h.
#define DEFN_ASN_OP |
( |
op |
|
) |
|
Value: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_T(op,const sc_fxval_fast&) \
DEFN_ASN_OP_T(op,const sc_fxnum&) \
DEFN_ASN_OP_T(op,const sc_fxnum_fast&) \
DEFN_ASN_OP_OTHER(op)
Definition at line 1845 of file sc_fix.h.
#define DEFN_ASN_OP_OTHER |
( |
op |
|
) |
|
#define DEFN_ASN_OP_OTHER |
( |
op |
|
) |
|
#define DEFN_ASN_OP_T |
( |
op, |
|
|
op2, |
|
|
tp |
|
) |
|
Value:inline \
sc_fix_fast& \
sc_fix_fast::operator op ( const tp& b ) \
{ \
SC_FXNUM_FAST_OBSERVER_READ_( *this ) \
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(); \
SC_FXNUM_FAST_OBSERVER_WRITE_( *this ) \
return *this; \
}
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& \
sc_fix::operator op ( const tp& b ) \
{ \
SC_FXNUM_OBSERVER_READ_( *this ) \
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(); \
SC_FXNUM_OBSERVER_WRITE_( *this ) \
return *this; \
}
Definition at line 1874 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_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(); \
SC_FXNUM_FAST_OBSERVER_WRITE_( c ) \
}
Definition at line 1793 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(); \
SC_FXNUM_OBSERVER_WRITE_( c ) \
}
Definition at line 1793 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 ); \
}
Definition at line 1767 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 ); \
}
Definition at line 1767 of file sc_fix.h.
#define DEFN_CTORS_T_A |
( |
tp |
|
) |
|
#define DEFN_CTORS_T_A |
( |
tp |
|
) |
|
#define DEFN_CTORS_T_B |
( |
tp |
|
) |
|
#define DEFN_CTORS_T_B |
( |
tp |
|
) |
|