Lines Matching refs:op

118 #define DECL_ASN_OP_T(op,tp)                                                  \
119 sc_fxnum_bitref& operator op ( tp );
121 #define DECL_ASN_OP(op) \
122 DECL_ASN_OP_T(op,const sc_fxnum_bitref&) \
123 DECL_ASN_OP_T(op,const sc_fxnum_fast_bitref&) \
124 DECL_ASN_OP_T(op,const sc_bit&) \
125 DECL_ASN_OP_T(op,bool)
189 #define DECL_ASN_OP_T(op,tp) \
190 sc_fxnum_fast_bitref& operator op ( tp );
192 #define DECL_ASN_OP(op) \
193 DECL_ASN_OP_T(op,const sc_fxnum_bitref&) \
194 DECL_ASN_OP_T(op,const sc_fxnum_fast_bitref&) \
195 DECL_ASN_OP_T(op,const sc_bit&) \
196 DECL_ASN_OP_T(op,bool)
288 #define DECL_ASN_OP_T_A(op,tp) \
289 sc_fxnum_subref& operator op ## = ( tp );
291 #define DECL_ASN_OP_A(op) \
292 DECL_ASN_OP_T_A(op,const sc_fxnum_subref&) \
293 DECL_ASN_OP_T_A(op,const sc_fxnum_fast_subref&) \
294 DECL_ASN_OP_T_A(op,const sc_bv_base&) \
295 DECL_ASN_OP_T_A(op,const sc_lv_base&)
307 #define DECL_REL_OP_T(op,tp) \
308 friend bool operator op ( const sc_fxnum_subref&, tp ); \
309 friend bool operator op ( tp, const sc_fxnum_subref& );
311 #define DECL_REL_OP(op) \
312 friend bool operator op ( const sc_fxnum_subref&, \
314 friend bool operator op ( const sc_fxnum_subref&, \
316 DECL_REL_OP_T(op,const sc_bv_base&) \
317 DECL_REL_OP_T(op,const sc_lv_base&) \
318 DECL_REL_OP_T(op,const char*) \
319 DECL_REL_OP_T(op,const bool*) \
320 DECL_REL_OP_T(op,const sc_signed&) \
321 DECL_REL_OP_T(op,const sc_unsigned&) \
322 DECL_REL_OP_T(op,int) \
323 DECL_REL_OP_T(op,unsigned int) \
324 DECL_REL_OP_T(op,long) \
325 DECL_REL_OP_T(op,unsigned long)
451 #define DECL_ASN_OP_T_A(op,tp) \
452 sc_fxnum_fast_subref& operator op ## = ( tp );
454 #define DECL_ASN_OP_A(op) \
455 DECL_ASN_OP_T_A(op,const sc_fxnum_subref&) \
456 DECL_ASN_OP_T_A(op,const sc_fxnum_fast_subref&) \
457 DECL_ASN_OP_T_A(op,const sc_bv_base&) \
458 DECL_ASN_OP_T_A(op,const sc_lv_base&)
470 #define DECL_REL_OP_T(op,tp) \
471 friend bool operator op ( const sc_fxnum_fast_subref&, tp ); \
472 friend bool operator op ( tp, const sc_fxnum_fast_subref& );
474 #define DECL_REL_OP(op) \
475 friend bool operator op ( const sc_fxnum_fast_subref&, \
477 friend bool operator op ( const sc_fxnum_fast_subref&, \
479 DECL_REL_OP_T(op,const sc_bv_base&) \
480 DECL_REL_OP_T(op,const sc_lv_base&) \
481 DECL_REL_OP_T(op,const char*) \
482 DECL_REL_OP_T(op,const bool*) \
483 DECL_REL_OP_T(op,const sc_signed&) \
484 DECL_REL_OP_T(op,const sc_unsigned&) \
485 DECL_REL_OP_T(op,int) \
486 DECL_REL_OP_T(op,unsigned int) \
487 DECL_REL_OP_T(op,long) \
488 DECL_REL_OP_T(op,unsigned long)
641 #define DECL_BIN_OP_T(op,tp) \
642 friend const sc_fxval operator op ( const sc_fxnum&, tp ); \
643 friend const sc_fxval operator op ( tp, const sc_fxnum& );
646 #define DECL_BIN_OP_OTHER(op) \
647 DECL_BIN_OP_T(op,int64) \
648 DECL_BIN_OP_T(op,uint64) \
649 DECL_BIN_OP_T(op,const sc_int_base&) \
650 DECL_BIN_OP_T(op,const sc_uint_base&) \
651 DECL_BIN_OP_T(op,const sc_signed&) \
652 DECL_BIN_OP_T(op,const sc_unsigned&)
654 #define DECL_BIN_OP_OTHER(op)
657 #define DECL_BIN_OP(op,dummy) \
658 friend const sc_fxval operator op ( const sc_fxnum&, const sc_fxnum& ); \
659 DECL_BIN_OP_T(op,int) \
660 DECL_BIN_OP_T(op,unsigned int) \
661 DECL_BIN_OP_T(op,long) \
662 DECL_BIN_OP_T(op,unsigned long) \
663 DECL_BIN_OP_T(op,float) \
664 DECL_BIN_OP_T(op,double) \
665 DECL_BIN_OP_T(op,const char*) \
666 DECL_BIN_OP_T(op,const sc_fxval&) \
667 DECL_BIN_OP_T(op,const sc_fxval_fast&) \
668 DECL_BIN_OP_T(op,const sc_fxnum_fast&) \
669 DECL_BIN_OP_OTHER(op)
687 // DECL_BIN_OP_OTHER(op)
757 #define DECL_REL_OP_T(op,tp) \
758 friend bool operator op ( const sc_fxnum&, tp ); \
759 friend bool operator op ( tp, const sc_fxnum& );
762 #define DECL_REL_OP_OTHER(op) \
763 DECL_REL_OP_T(op,int64) \
764 DECL_REL_OP_T(op,uint64) \
765 DECL_REL_OP_T(op,const sc_int_base&) \
766 DECL_REL_OP_T(op,const sc_uint_base&) \
767 DECL_REL_OP_T(op,const sc_signed&) \
768 DECL_REL_OP_T(op,const sc_unsigned&)
770 #define DECL_REL_OP_OTHER(op)
773 #define DECL_REL_OP(op) \
774 friend bool operator op ( const sc_fxnum&, const sc_fxnum& ); \
775 DECL_REL_OP_T(op,int) \
776 DECL_REL_OP_T(op,unsigned int) \
777 DECL_REL_OP_T(op,long) \
778 DECL_REL_OP_T(op,unsigned long) \
779 DECL_REL_OP_T(op,float) \
780 DECL_REL_OP_T(op,double) \
781 DECL_REL_OP_T(op,const char*) \
782 DECL_REL_OP_T(op,const sc_fxval&) \
783 DECL_REL_OP_T(op,const sc_fxval_fast&) \
784 DECL_REL_OP_T(op,const sc_fxnum_fast&) \
785 DECL_REL_OP_OTHER(op)
801 #define DECL_ASN_OP_T(op,tp) \
802 sc_fxnum& operator op( tp );
805 #define DECL_ASN_OP_OTHER(op) \
806 DECL_ASN_OP_T(op,int64) \
807 DECL_ASN_OP_T(op,uint64) \
808 DECL_ASN_OP_T(op,const sc_int_base&) \
809 DECL_ASN_OP_T(op,const sc_uint_base&) \
810 DECL_ASN_OP_T(op,const sc_signed&) \
811 DECL_ASN_OP_T(op,const sc_unsigned&)
813 #define DECL_ASN_OP_OTHER(op)
816 #define DECL_ASN_OP(op) \
817 DECL_ASN_OP_T(op,int) \
818 DECL_ASN_OP_T(op,unsigned int) \
819 DECL_ASN_OP_T(op,long) \
820 DECL_ASN_OP_T(op,unsigned long) \
821 DECL_ASN_OP_T(op,float) \
822 DECL_ASN_OP_T(op,double) \
823 DECL_ASN_OP_T(op,const char*) \
824 DECL_ASN_OP_T(op,const sc_fxval&) \
825 DECL_ASN_OP_T(op,const sc_fxval_fast&) \
826 DECL_ASN_OP_T(op,const sc_fxnum&) \
827 DECL_ASN_OP_T(op,const sc_fxnum_fast&) \
828 DECL_ASN_OP_OTHER(op)
1068 #define DECL_BIN_OP_T(op,tp) \
1069 friend const sc_fxval_fast operator op ( const sc_fxnum_fast&, tp ); \
1070 friend const sc_fxval_fast operator op ( tp, const sc_fxnum_fast& );
1073 #define DECL_BIN_OP_OTHER(op) \
1074 DECL_BIN_OP_T(op,int64) \
1075 DECL_BIN_OP_T(op,uint64) \
1076 DECL_BIN_OP_T(op,const sc_int_base&) \
1077 DECL_BIN_OP_T(op,const sc_uint_base&) \
1078 DECL_BIN_OP_T(op,const sc_signed&) \
1079 DECL_BIN_OP_T(op,const sc_unsigned&)
1081 #define DECL_BIN_OP_OTHER(op)
1084 #define DECL_BIN_OP(op,dummy) \
1085 friend const sc_fxval_fast operator op ( const sc_fxnum_fast&, \
1087 DECL_BIN_OP_T(op,int) \
1088 DECL_BIN_OP_T(op,unsigned int) \
1089 DECL_BIN_OP_T(op,long) \
1090 DECL_BIN_OP_T(op,unsigned long) \
1091 DECL_BIN_OP_T(op,float) \
1092 DECL_BIN_OP_T(op,double) \
1093 DECL_BIN_OP_T(op,const char*) \
1094 DECL_BIN_OP_T(op,const sc_fxval_fast&) \
1095 DECL_BIN_OP_OTHER(op)
1111 // DECL_BIN_OP_OTHER(op)
1183 #define DECL_REL_OP_T(op,tp) \
1184 friend bool operator op ( const sc_fxnum_fast&, tp ); \
1185 friend bool operator op ( tp, const sc_fxnum_fast& );
1188 #define DECL_REL_OP_OTHER(op) \
1189 DECL_REL_OP_T(op,int64) \
1190 DECL_REL_OP_T(op,uint64) \
1191 DECL_REL_OP_T(op,const sc_int_base&) \
1192 DECL_REL_OP_T(op,const sc_uint_base&) \
1193 DECL_REL_OP_T(op,const sc_signed&) \
1194 DECL_REL_OP_T(op,const sc_unsigned&)
1196 #define DECL_REL_OP_OTHER(op)
1199 #define DECL_REL_OP(op) \
1200 friend bool operator op ( const sc_fxnum_fast&, const sc_fxnum_fast& ); \
1201 DECL_REL_OP_T(op,int) \
1202 DECL_REL_OP_T(op,unsigned int) \
1203 DECL_REL_OP_T(op,long) \
1204 DECL_REL_OP_T(op,unsigned long) \
1205 DECL_REL_OP_T(op,float) \
1206 DECL_REL_OP_T(op,double) \
1207 DECL_REL_OP_T(op,const char*) \
1208 DECL_REL_OP_T(op,const sc_fxval_fast&) \
1209 DECL_REL_OP_OTHER(op)
1225 #define DECL_ASN_OP_T(op,tp) \
1226 sc_fxnum_fast& operator op( tp );
1229 #define DECL_ASN_OP_OTHER(op) \
1230 DECL_ASN_OP_T(op,int64) \
1231 DECL_ASN_OP_T(op,uint64) \
1232 DECL_ASN_OP_T(op,const sc_int_base&) \
1233 DECL_ASN_OP_T(op,const sc_uint_base&) \
1234 DECL_ASN_OP_T(op,const sc_signed&) \
1235 DECL_ASN_OP_T(op,const sc_unsigned&)
1237 #define DECL_ASN_OP_OTHER(op)
1240 #define DECL_ASN_OP(op) \
1241 DECL_ASN_OP_T(op,int) \
1242 DECL_ASN_OP_T(op,unsigned int) \
1243 DECL_ASN_OP_T(op,long) \
1244 DECL_ASN_OP_T(op,unsigned long) \
1245 DECL_ASN_OP_T(op,float) \
1246 DECL_ASN_OP_T(op,double) \
1247 DECL_ASN_OP_T(op,const char*) \
1248 DECL_ASN_OP_T(op,const sc_fxval&) \
1249 DECL_ASN_OP_T(op,const sc_fxval_fast&) \
1250 DECL_ASN_OP_T(op,const sc_fxnum&) \
1251 DECL_ASN_OP_T(op,const sc_fxnum_fast&) \
1252 DECL_ASN_OP_OTHER(op)
1944 #define DEFN_ASN_OP_T(op,tp) \
1947 sc_fxnum_subref::operator op ## = ( tp a ) \
1951 m_bv = m_bv op a; \
1957 #define DEFN_ASN_OP(op) \
1960 sc_fxnum_subref::operator op ## = ( const sc_fxnum_subref& a ) \
1964 m_bv = m_bv op static_cast<sc_bv_base>( a ); \
1972 sc_fxnum_subref::operator op ## = ( const sc_fxnum_fast_subref& a ) \
1976 m_bv = m_bv op static_cast<sc_bv_base>( a ); \
1982 DEFN_ASN_OP_T(op,const sc_bv_base&) \
1983 DEFN_ASN_OP_T(op,const sc_lv_base&)
1995 #define DEFN_REL_OP_T(op,tp) \
1998 operator op ( const sc_fxnum_subref& a, tp b ) \
2000 return ( static_cast<sc_bv_base>( a ) op b ); \
2005 operator op ( tp a, const sc_fxnum_subref& b ) \
2007 return ( static_cast<sc_bv_base>( b ) op a ); \
2010 #define DEFN_REL_OP(op) \
2013 operator op ( const sc_fxnum_subref& a, const sc_fxnum_subref& b ) \
2015 return ( static_cast<sc_bv_base>( a ) op static_cast<sc_bv_base>( b ) ); \
2020 operator op ( const sc_fxnum_subref& a, const sc_fxnum_fast_subref& b ) \
2022 return ( static_cast<sc_bv_base>( a ) op static_cast<sc_bv_base>( b ) ); \
2025 DEFN_REL_OP_T(op,const sc_bv_base&) \
2026 DEFN_REL_OP_T(op,const sc_lv_base&) \
2027 DEFN_REL_OP_T(op,const char*) \
2028 DEFN_REL_OP_T(op,const bool*) \
2029 DEFN_REL_OP_T(op,const sc_signed&) \
2030 DEFN_REL_OP_T(op,const sc_unsigned&) \
2031 DEFN_REL_OP_T(op,int) \
2032 DEFN_REL_OP_T(op,unsigned int) \
2033 DEFN_REL_OP_T(op,long) \
2034 DEFN_REL_OP_T(op,unsigned long)
2295 #define DEFN_ASN_OP_T(op,tp) \
2298 sc_fxnum_fast_subref::operator op ## = ( tp a ) \
2302 m_bv = m_bv op a; \
2308 #define DEFN_ASN_OP(op) \
2311 sc_fxnum_fast_subref::operator op ## = ( const sc_fxnum_subref& a ) \
2315 m_bv = m_bv op static_cast<sc_bv_base>( a ); \
2323 sc_fxnum_fast_subref::operator op ## = ( const sc_fxnum_fast_subref& a ) \
2327 m_bv = m_bv op static_cast<sc_bv_base>( a ); \
2333 DEFN_ASN_OP_T(op,const sc_bv_base&) \
2334 DEFN_ASN_OP_T(op,const sc_lv_base&)
2346 #define DEFN_REL_OP_T(op,tp) \
2349 operator op ( const sc_fxnum_fast_subref& a, tp b ) \
2351 return ( static_cast<sc_bv_base>( a ) op b ); \
2356 operator op ( tp a, const sc_fxnum_fast_subref& b ) \
2358 return ( static_cast<sc_bv_base>( b ) op a ); \
2361 #define DEFN_REL_OP(op) \
2364 operator op ( const sc_fxnum_fast_subref& a, const sc_fxnum_fast_subref& b ) \
2366 return ( static_cast<sc_bv_base>( a ) op static_cast<sc_bv_base>( b ) ); \
2371 operator op ( const sc_fxnum_fast_subref& a, const sc_fxnum_subref& b ) \
2373 return ( static_cast<sc_bv_base>( a ) op static_cast<sc_bv_base>( b ) ); \
2376 DEFN_REL_OP_T(op,const sc_bv_base&) \
2377 DEFN_REL_OP_T(op,const sc_lv_base&) \
2378 DEFN_REL_OP_T(op,const char*) \
2379 DEFN_REL_OP_T(op,const bool*) \
2380 DEFN_REL_OP_T(op,const sc_signed&) \
2381 DEFN_REL_OP_T(op,const sc_unsigned&) \
2382 DEFN_REL_OP_T(op,int) \
2383 DEFN_REL_OP_T(op,unsigned int) \
2384 DEFN_REL_OP_T(op,long) \
2385 DEFN_REL_OP_T(op,unsigned long)
2709 #define DEFN_BIN_OP_T(op,fnc,tp) \
2712 operator op ( const sc_fxnum& a, tp b ) \
2721 operator op ( tp a, const sc_fxnum& b ) \
2729 #define DEFN_BIN_OP_OTHER(op,fnc) \
2730 DEFN_BIN_OP_T(op,fnc,int64) \
2731 DEFN_BIN_OP_T(op,fnc,uint64) \
2732 DEFN_BIN_OP_T(op,fnc,const sc_int_base&) \
2733 DEFN_BIN_OP_T(op,fnc,const sc_uint_base&) \
2734 DEFN_BIN_OP_T(op,fnc,const sc_signed&) \
2735 DEFN_BIN_OP_T(op,fnc,const sc_unsigned&)
2737 #define DEFN_BIN_OP_OTHER(op,fnc)
2740 #define DEFN_BIN_OP(op,fnc) \
2743 operator op ( const sc_fxnum& a, const sc_fxnum& b ) \
2752 operator op ( const sc_fxnum& a, const sc_fxval& b ) \
2760 operator op ( const sc_fxval& a, const sc_fxnum& b ) \
2766 DEFN_BIN_OP_T(op,fnc,int) \
2767 DEFN_BIN_OP_T(op,fnc,unsigned int) \
2768 DEFN_BIN_OP_T(op,fnc,long) \
2769 DEFN_BIN_OP_T(op,fnc,unsigned long) \
2770 DEFN_BIN_OP_T(op,fnc,float) \
2771 DEFN_BIN_OP_T(op,fnc,double) \
2772 DEFN_BIN_OP_T(op,fnc,const char*) \
2773 DEFN_BIN_OP_T(op,fnc,const sc_fxval_fast&) \
2774 DEFN_BIN_OP_T(op,fnc,const sc_fxnum_fast&) \
2775 DEFN_BIN_OP_OTHER(op,fnc)
3027 #define DEFN_REL_OP_T(op,ret,tp) \
3030 operator op ( const sc_fxnum& a, tp b ) \
3040 operator op ( tp a, const sc_fxnum& b ) \
3049 #define DEFN_REL_OP_OTHER(op,ret) \
3050 DEFN_REL_OP_T(op,ret,int64) \
3051 DEFN_REL_OP_T(op,ret,uint64) \
3052 DEFN_REL_OP_T(op,ret,const sc_int_base&) \
3053 DEFN_REL_OP_T(op,ret,const sc_uint_base&) \
3054 DEFN_REL_OP_T(op,ret,const sc_signed&) \
3055 DEFN_REL_OP_T(op,ret,const sc_unsigned&)
3057 #define DEFN_REL_OP_OTHER(op,ret)
3060 #define DEFN_REL_OP(op,ret) \
3063 operator op ( const sc_fxnum& a, const sc_fxnum& b ) \
3073 operator op ( const sc_fxnum& a, const sc_fxval& b ) \
3082 operator op ( const sc_fxval& a, const sc_fxnum& b ) \
3089 DEFN_REL_OP_T(op,ret,int) \
3090 DEFN_REL_OP_T(op,ret,unsigned int) \
3091 DEFN_REL_OP_T(op,ret,long) \
3092 DEFN_REL_OP_T(op,ret,unsigned long) \
3093 DEFN_REL_OP_T(op,ret,float) \
3094 DEFN_REL_OP_T(op,ret,double) \
3095 DEFN_REL_OP_T(op,ret,const char*) \
3096 DEFN_REL_OP_T(op,ret,const sc_fxval_fast&) \
3097 DEFN_REL_OP_T(op,ret,const sc_fxnum_fast&) \
3098 DEFN_REL_OP_OTHER(op,ret)
3171 #define DEFN_ASN_OP_T(op,fnc,tp) \
3174 sc_fxnum::operator op ( tp b ) \
3187 #define DEFN_ASN_OP_OTHER(op,fnc) \
3188 DEFN_ASN_OP_T(op,fnc,int64) \
3189 DEFN_ASN_OP_T(op,fnc,uint64) \
3190 DEFN_ASN_OP_T(op,fnc,const sc_int_base&) \
3191 DEFN_ASN_OP_T(op,fnc,const sc_uint_base&) \
3192 DEFN_ASN_OP_T(op,fnc,const sc_signed&) \
3193 DEFN_ASN_OP_T(op,fnc,const sc_unsigned&)
3195 #define DEFN_ASN_OP_OTHER(op,fnc)
3198 #define DEFN_ASN_OP(op,fnc) \
3201 sc_fxnum::operator op ( const sc_fxnum& b ) \
3215 sc_fxnum::operator op ( const sc_fxval& b ) \
3226 DEFN_ASN_OP_T(op,fnc,int) \
3227 DEFN_ASN_OP_T(op,fnc,unsigned int) \
3228 DEFN_ASN_OP_T(op,fnc,long) \
3229 DEFN_ASN_OP_T(op,fnc,unsigned long) \
3230 DEFN_ASN_OP_T(op,fnc,float) \
3231 DEFN_ASN_OP_T(op,fnc,double) \
3232 DEFN_ASN_OP_T(op,fnc,const char*) \
3233 DEFN_ASN_OP_T(op,fnc,const sc_fxval_fast&) \
3234 DEFN_ASN_OP_T(op,fnc,const sc_fxnum_fast&) \
3235 DEFN_ASN_OP_OTHER(op,fnc)
3838 #define DEFN_BIN_OP_T(op,tp) \
3841 operator op ( const sc_fxnum_fast& a, tp b ) \
3845 return sc_fxval_fast( a.m_val op tmp.get_val() ); \
3850 operator op ( tp a, const sc_fxnum_fast& b ) \
3854 return sc_fxval_fast( tmp.get_val() op b.m_val ); \
3858 #define DEFN_BIN_OP_OTHER(op) \
3859 DEFN_BIN_OP_T(op,int64) \
3860 DEFN_BIN_OP_T(op,uint64) \
3861 DEFN_BIN_OP_T(op,const sc_int_base&) \
3862 DEFN_BIN_OP_T(op,const sc_uint_base&) \
3863 DEFN_BIN_OP_T(op,const sc_signed&) \
3864 DEFN_BIN_OP_T(op,const sc_unsigned&)
3866 #define DEFN_BIN_OP_OTHER(op)
3869 #define DEFN_BIN_OP(op,dummy) \
3872 operator op ( const sc_fxnum_fast& a, const sc_fxnum_fast& b ) \
3876 return sc_fxval_fast( a.m_val op b.m_val ); \
3881 operator op ( const sc_fxnum_fast& a, const sc_fxval_fast& b ) \
3884 return sc_fxval_fast( a.m_val op b.get_val() ); \
3889 operator op ( const sc_fxval_fast& a, const sc_fxnum_fast& b ) \
3892 return sc_fxval_fast( a.get_val() op b.m_val ); \
3895 DEFN_BIN_OP_T(op,int) \
3896 DEFN_BIN_OP_T(op,unsigned int) \
3897 DEFN_BIN_OP_T(op,long) \
3898 DEFN_BIN_OP_T(op,unsigned long) \
3899 DEFN_BIN_OP_T(op,float) \
3900 DEFN_BIN_OP_T(op,double) \
3901 DEFN_BIN_OP_T(op,const char*) \
3902 DEFN_BIN_OP_OTHER(op)
3974 #define DEFN_BIN_FNC_T(fnc,op,tp) \
3981 c.set_val( a.m_val op tmp.get_val() ); \
3990 c.set_val( tmp.get_val() op b.m_val ); \
3999 c.m_val = a.m_val op tmp.get_val(); \
4010 c.m_val = tmp.get_val() op b.m_val; \
4016 #define DEFN_BIN_FNC_OTHER(fnc,op) \
4017 DEFN_BIN_FNC_T(fnc,op,int64) \
4018 DEFN_BIN_FNC_T(fnc,op,uint64) \
4019 DEFN_BIN_FNC_T(fnc,op,const sc_int_base&) \
4020 DEFN_BIN_FNC_T(fnc,op,const sc_uint_base&) \
4021 DEFN_BIN_FNC_T(fnc,op,const sc_signed&) \
4022 DEFN_BIN_FNC_T(fnc,op,const sc_unsigned&)
4024 #define DEFN_BIN_FNC_OTHER(fnc,op)
4027 #define DEFN_BIN_FNC(fnc,op) \
4034 c.set_val( a.m_val op b.m_val ); \
4043 c.m_val = a.m_val op b.m_val; \
4053 c.set_val( a.m_val op b.get_val() ); \
4061 c.set_val( a.get_val() op b.m_val ); \
4069 c.m_val = a.m_val op b.get_val(); \
4079 c.m_val = a.get_val() op b.m_val; \
4084 DEFN_BIN_FNC_T(fnc,op,int) \
4085 DEFN_BIN_FNC_T(fnc,op,unsigned int) \
4086 DEFN_BIN_FNC_T(fnc,op,long) \
4087 DEFN_BIN_FNC_T(fnc,op,unsigned long) \
4088 DEFN_BIN_FNC_T(fnc,op,float) \
4089 DEFN_BIN_FNC_T(fnc,op,double) \
4090 DEFN_BIN_FNC_T(fnc,op,const char*) \
4091 DEFN_BIN_FNC_T(fnc,op,const sc_fxval&) \
4092 DEFN_BIN_FNC_T(fnc,op,const sc_fxnum&) \
4093 DEFN_BIN_FNC_OTHER(fnc,op)
4144 #define DEFN_REL_OP_T(op,tp) \
4147 operator op ( const sc_fxnum_fast& a, tp b ) \
4151 return ( a.m_val op tmp.get_val() ); \
4156 operator op ( tp a, const sc_fxnum_fast& b ) \
4160 return ( tmp.get_val() op b.m_val ); \
4164 #define DEFN_REL_OP_OTHER(op) \
4165 DEFN_REL_OP_T(op,int64) \
4166 DEFN_REL_OP_T(op,uint64) \
4167 DEFN_REL_OP_T(op,const sc_int_base&) \
4168 DEFN_REL_OP_T(op,const sc_uint_base&) \
4169 DEFN_REL_OP_T(op,const sc_signed&) \
4170 DEFN_REL_OP_T(op,const sc_unsigned&)
4172 #define DEFN_REL_OP_OTHER(op)
4175 #define DEFN_REL_OP(op) \
4178 operator op ( const sc_fxnum_fast& a, const sc_fxnum_fast& b ) \
4182 return ( a.m_val op b.m_val ); \
4187 operator op ( const sc_fxnum_fast& a, const sc_fxval_fast& b ) \
4190 return ( a.m_val op b.get_val() ); \
4195 operator op ( const sc_fxval_fast& a, const sc_fxnum_fast& b ) \
4198 return ( a.get_val() op b.m_val ); \
4201 DEFN_REL_OP_T(op,int) \
4202 DEFN_REL_OP_T(op,unsigned int) \
4203 DEFN_REL_OP_T(op,long) \
4204 DEFN_REL_OP_T(op,unsigned long) \
4205 DEFN_REL_OP_T(op,float) \
4206 DEFN_REL_OP_T(op,double) \
4207 DEFN_REL_OP_T(op,const char*) \
4208 DEFN_REL_OP_OTHER(op)
4281 #define DEFN_ASN_OP_T(op,tp) \
4284 sc_fxnum_fast::operator op ( tp b ) \
4288 m_val op tmp.get_val(); \
4295 #define DEFN_ASN_OP_OTHER(op) \
4296 DEFN_ASN_OP_T(op,int64) \
4297 DEFN_ASN_OP_T(op,uint64) \
4298 DEFN_ASN_OP_T(op,const sc_int_base&) \
4299 DEFN_ASN_OP_T(op,const sc_uint_base&) \
4300 DEFN_ASN_OP_T(op,const sc_signed&) \
4301 DEFN_ASN_OP_T(op,const sc_unsigned&)
4303 #define DEFN_ASN_OP_OTHER(op)
4306 #define DEFN_ASN_OP(op) \
4309 sc_fxnum_fast::operator op ( const sc_fxnum_fast& b ) \
4313 m_val op b.m_val; \
4321 sc_fxnum_fast::operator op ( const sc_fxval_fast& b ) \
4324 m_val op b.get_val(); \
4330 DEFN_ASN_OP_T(op,int) \
4331 DEFN_ASN_OP_T(op,unsigned int) \
4332 DEFN_ASN_OP_T(op,long) \
4333 DEFN_ASN_OP_T(op,unsigned long) \
4334 DEFN_ASN_OP_T(op,float) \
4335 DEFN_ASN_OP_T(op,double) \
4336 DEFN_ASN_OP_T(op,const char*) \
4337 DEFN_ASN_OP_T(op,const sc_fxval&) \
4338 DEFN_ASN_OP_T(op,const sc_fxnum&) \
4339 DEFN_ASN_OP_OTHER(op)
4798 #define DEFN_BIN_OP_T(op,fnc,tp) \
4801 operator op ( const sc_fxval& a, tp b ) \
4810 operator op ( tp a, const sc_fxval& b ) \
4817 #define DEFN_BIN_OP(op,fnc) \
4818 DEFN_BIN_OP_T(op,fnc,const sc_fxnum_fast&)
4869 #define DEFN_REL_OP_T(op,ret,tp) \
4872 operator op ( const sc_fxval& a, tp b ) \
4882 operator op ( tp a, const sc_fxval& b ) \
4891 #define DEFN_REL_OP(op,ret) \
4892 DEFN_REL_OP_T(op,ret,const sc_fxnum_fast&)
4932 #define DEFN_ASN_OP_T(op,fnc,tp) \
4935 sc_fxval::operator op ( tp b ) \
4946 #define DEFN_ASN_OP(op,fnc) \
4949 sc_fxval::operator op ( const sc_fxnum& b ) \
4959 DEFN_ASN_OP_T(op,fnc,const sc_fxnum_fast&)
5003 #define DEFN_BIN_FNC_T(fnc,op,tp) \
5010 c.m_val = a.m_val op tmp.m_val; \
5020 c.m_val = tmp.m_val op b.m_val; \
5024 #define DEFN_BIN_FNC(fnc,op) \
5025 DEFN_BIN_FNC_T(fnc,op,const sc_fxval&) \
5026 DEFN_BIN_FNC_T(fnc,op,const sc_fxnum&)
5064 #define DEFN_ASN_OP_T(op,tp) \
5067 sc_fxval_fast::operator op ( tp b ) \
5071 m_val op tmp.m_val; \
5076 #define DEFN_ASN_OP(op) \
5079 sc_fxval_fast::operator op ( const sc_fxnum_fast& b ) \
5082 m_val op b.get_val(); \
5087 DEFN_ASN_OP_T(op,const sc_fxnum&)