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