📄 sc_fix.h
字号:
#define DEFN_ASN_OP_T(op,op2,tp) \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; \}DEFN_ASN_OP_T(&=,&&,sc_fix)DEFN_ASN_OP_T(&=,&&,sc_fix_fast)DEFN_ASN_OP_T(|=,||,sc_fix)DEFN_ASN_OP_T(|=,||,sc_fix_fast)DEFN_ASN_OP_T(^=,!=,sc_fix)DEFN_ASN_OP_T(^=,!=,sc_fix_fast)#undef DEFN_ASN_OP_T// auto-increment and auto-decrementinlineconst sc_fxvalsc_fix::operator ++ ( int ){ return sc_fxval( sc_fxnum::operator ++ ( 0 ) );}inlineconst sc_fxvalsc_fix::operator -- ( int ){ return sc_fxval( sc_fxnum::operator -- ( 0 ) );}inlinesc_fix&sc_fix::operator ++ (){ sc_fxnum::operator ++ (); return *this;}inlinesc_fix&sc_fix::operator -- (){ sc_fxnum::operator -- (); return *this;}// ----------------------------------------------------------------------------// CLASS : sc_fix_fast//// "Unconstrained" signed fixed-point class; limited precision.// ----------------------------------------------------------------------------// constructorsinlinesc_fix_fast::sc_fix_fast( sc_fxnum_fast_observer* observer_ ): sc_fxnum_fast( sc_fxtype_params(), SC_TC_, sc_fxcast_switch(), observer_ ){}inlinesc_fix_fast::sc_fix_fast( int wl_, int iwl_, sc_fxnum_fast_observer* observer_ ): sc_fxnum_fast( sc_fxtype_params( wl_, iwl_ ), SC_TC_, sc_fxcast_switch(), observer_ ){}inlinesc_fix_fast::sc_fix_fast( sc_q_mode qm, sc_o_mode om, sc_fxnum_fast_observer* observer_ ): sc_fxnum_fast( sc_fxtype_params( qm, om ), SC_TC_, sc_fxcast_switch(), observer_ ){}inlinesc_fix_fast::sc_fix_fast( sc_q_mode qm, sc_o_mode om, int nb, sc_fxnum_fast_observer* observer_ ): sc_fxnum_fast( sc_fxtype_params( qm, om, nb ), SC_TC_, sc_fxcast_switch(), observer_ ){}inlinesc_fix_fast::sc_fix_fast( int wl_, int iwl_, sc_q_mode qm, sc_o_mode om, sc_fxnum_fast_observer* observer_ ): sc_fxnum_fast( sc_fxtype_params( wl_, iwl_, qm, om ), SC_TC_, sc_fxcast_switch(), observer_ ){}inlinesc_fix_fast::sc_fix_fast( int wl_, int iwl_, sc_q_mode qm, sc_o_mode om, int nb, sc_fxnum_fast_observer* observer_ ): sc_fxnum_fast( sc_fxtype_params( wl_, iwl_, qm, om, nb ), SC_TC_, sc_fxcast_switch(), observer_ ){}inlinesc_fix_fast::sc_fix_fast( const sc_fxcast_switch& cast_sw, sc_fxnum_fast_observer* observer_ ): sc_fxnum_fast( sc_fxtype_params(), SC_TC_, cast_sw, observer_ ){}inlinesc_fix_fast::sc_fix_fast( int wl_, int iwl_, const sc_fxcast_switch& cast_sw, sc_fxnum_fast_observer* observer_ ): sc_fxnum_fast( sc_fxtype_params( wl_, iwl_ ), SC_TC_, cast_sw, observer_ ){}inlinesc_fix_fast::sc_fix_fast( sc_q_mode qm, sc_o_mode om, const sc_fxcast_switch& cast_sw, sc_fxnum_fast_observer* observer_ ): sc_fxnum_fast( sc_fxtype_params( qm, om ), SC_TC_, cast_sw, observer_ ){}inlinesc_fix_fast::sc_fix_fast( sc_q_mode qm, sc_o_mode om, int nb, const sc_fxcast_switch& cast_sw, sc_fxnum_fast_observer* observer_ ): sc_fxnum_fast( sc_fxtype_params( qm, om, nb ), SC_TC_, cast_sw, observer_ ){}inlinesc_fix_fast::sc_fix_fast( int wl_, int iwl_, sc_q_mode qm, sc_o_mode om, const sc_fxcast_switch& cast_sw, sc_fxnum_fast_observer* observer_ ): sc_fxnum_fast( sc_fxtype_params( wl_, iwl_, qm, om ), SC_TC_, cast_sw, observer_ ){}inlinesc_fix_fast::sc_fix_fast( int wl_, int iwl_, sc_q_mode qm, sc_o_mode om, int nb, const sc_fxcast_switch& cast_sw, sc_fxnum_fast_observer* observer_ ): sc_fxnum_fast( sc_fxtype_params( wl_, iwl_, qm, om, nb ), SC_TC_, cast_sw, observer_ ){}inlinesc_fix_fast::sc_fix_fast( const sc_fxtype_params& type_params, sc_fxnum_fast_observer* observer_ ): sc_fxnum_fast( type_params, SC_TC_, sc_fxcast_switch(), observer_ ){}inlinesc_fix_fast::sc_fix_fast( const sc_fxtype_params& type_params, const sc_fxcast_switch& cast_sw, sc_fxnum_fast_observer* observer_ ): sc_fxnum_fast( type_params, SC_TC_, cast_sw, observer_ ){}#define DEFN_CTORS_T_A(tp) \inline \sc_fix_fast::sc_fix_fast( tp a, \ sc_fxnum_fast_observer* observer_ ) \: sc_fxnum_fast( a, \ sc_fxtype_params(), \ SC_TC_, \ sc_fxcast_switch(), \ observer_ ) \{} \ \inline \sc_fix_fast::sc_fix_fast( tp a, \ int wl_, int iwl_, \ sc_fxnum_fast_observer* observer_ ) \: sc_fxnum_fast( a, \ sc_fxtype_params( wl_, iwl_ ), \ SC_TC_, \ sc_fxcast_switch(), \ observer_ ) \{} \ \inline \sc_fix_fast::sc_fix_fast( tp a, \ sc_q_mode qm, sc_o_mode om, \ sc_fxnum_fast_observer* observer_ ) \: sc_fxnum_fast( a, \ sc_fxtype_params( qm, om ), \ SC_TC_, \ sc_fxcast_switch(), \ observer_ ) \{} \ \inline \sc_fix_fast::sc_fix_fast( tp a, \ sc_q_mode qm, sc_o_mode om, int nb, \ sc_fxnum_fast_observer* observer_ ) \: sc_fxnum_fast( a, \ sc_fxtype_params( qm, om, nb ), \ SC_TC_, \ sc_fxcast_switch(), \ observer_ ) \{} \ \inline \sc_fix_fast::sc_fix_fast( tp a, \ int wl_, int iwl_, sc_q_mode qm, sc_o_mode om, \ sc_fxnum_fast_observer* observer_ ) \: sc_fxnum_fast( a, \ sc_fxtype_params( wl_, iwl_, qm, om ), \ SC_TC_, \ sc_fxcast_switch(), \ observer_ ) \{} \ \inline \sc_fix_fast::sc_fix_fast( tp a, \ int wl_, int iwl_, \ sc_q_mode qm, sc_o_mode om, int nb, \ sc_fxnum_fast_observer* observer_ ) \: sc_fxnum_fast( a, \ sc_fxtype_params( wl_, iwl_, qm, om, nb ), \ SC_TC_, \ sc_fxcast_switch(), \ observer_ ) \{} \ \inline \sc_fix_fast::sc_fix_fast( tp a, \ const sc_fxcast_switch& cast_sw, \ sc_fxnum_fast_observer* observer_ ) \: sc_fxnum_fast( a, \ sc_fxtype_params(), \ SC_TC_, \ cast_sw, \ observer_ ) \{} \ \inline \sc_fix_fast::sc_fix_fast( tp a, \ int wl_, int iwl_, \ const sc_fxcast_switch& cast_sw, \ sc_fxnum_fast_observer* observer_ ) \: sc_fxnum_fast( a, \ sc_fxtype_params( wl_, iwl_ ), \ SC_TC_,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -