sysc/datatypes/fx/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

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   ) 
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 466 of file sc_fix.h.

#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 466 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_ASN_OP_T ( op,
tp   )     sc_fix& 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_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   ) 
Value:
sc_fix( tp,                                                      \
                     sc_fxnum_observer* = 0 );                                \
    DECL_CTORS_T(tp)

Definition at line 392 of file sc_fix.h.

#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   ) 
Value:
explicit sc_fix( tp,                                                      \
                     sc_fxnum_observer* = 0 );                                \
    DECL_CTORS_T(tp)

Definition at line 397 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 ( 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   ) 
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&)

Definition at line 1834 of file sc_fix.h.

#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&)

Definition at line 1834 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 )                                      \
{                                                                             \
    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   ) 

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.


Generated on 29 Oct 2015 for SystemC by  doxygen 1.6.1