Lines Matching refs:op

113 #define DECL_ASN_OP_T(op, tp) \
114 sc_fxnum_bitref &operator op (tp);
116 #define DECL_ASN_OP(op) \
117 DECL_ASN_OP_T(op, const sc_fxnum_bitref &) \
118 DECL_ASN_OP_T(op, const sc_fxnum_fast_bitref &) \
119 DECL_ASN_OP_T(op, const sc_bit &) \
120 DECL_ASN_OP_T(op, bool)
171 #define DECL_ASN_OP_T(op, tp) sc_fxnum_fast_bitref &operator op (tp);
173 #define DECL_ASN_OP(op) \
174 DECL_ASN_OP_T(op, const sc_fxnum_bitref &) \
175 DECL_ASN_OP_T(op, const sc_fxnum_fast_bitref &) \
176 DECL_ASN_OP_T(op, const sc_bit &) \
177 DECL_ASN_OP_T(op, bool)
255 #define DECL_ASN_OP_T_A(op, tp) \
256 sc_fxnum_subref &operator op ## = (tp);
258 #define DECL_ASN_OP_A(op) \
259 DECL_ASN_OP_T_A(op, const sc_fxnum_subref &) \
260 DECL_ASN_OP_T_A(op, const sc_fxnum_fast_subref &) \
261 DECL_ASN_OP_T_A(op, const sc_bv_base &) \
262 DECL_ASN_OP_T_A(op, const sc_lv_base &)
272 #define DECL_REL_OP_T(op, tp) \
273 friend bool operator op (const sc_fxnum_subref &, tp); \
274 friend bool operator op (tp, const sc_fxnum_subref &);
276 #define DECL_REL_OP(op) \
277 friend bool operator op (const sc_fxnum_subref &, \
279 friend bool operator op (const sc_fxnum_subref &, \
281 DECL_REL_OP_T(op, const sc_bv_base &) \
282 DECL_REL_OP_T(op, const sc_lv_base &) \
283 DECL_REL_OP_T(op, const char *) \
284 DECL_REL_OP_T(op, const bool *) \
285 DECL_REL_OP_T(op, const sc_signed &) \
286 DECL_REL_OP_T(op, const sc_unsigned &) \
287 DECL_REL_OP_T(op, int) \
288 DECL_REL_OP_T(op, unsigned int) \
289 DECL_REL_OP_T(op, long) \
290 DECL_REL_OP_T(op, unsigned long)
391 #define DECL_ASN_OP_T_A(op, tp) sc_fxnum_fast_subref &operator op ## = (tp);
393 #define DECL_ASN_OP_A(op) \
394 DECL_ASN_OP_T_A(op, const sc_fxnum_subref &) \
395 DECL_ASN_OP_T_A(op, const sc_fxnum_fast_subref &) \
396 DECL_ASN_OP_T_A(op, const sc_bv_base &) \
397 DECL_ASN_OP_T_A(op, const sc_lv_base &)
407 #define DECL_REL_OP_T(op, tp) \
408 friend bool operator op (const sc_fxnum_fast_subref &, tp); \
409 friend bool operator op (tp, const sc_fxnum_fast_subref &);
411 #define DECL_REL_OP(op) \
412 friend bool operator op (const sc_fxnum_fast_subref &, \
414 friend bool operator op (const sc_fxnum_fast_subref &, \
416 DECL_REL_OP_T(op, const sc_bv_base &) \
417 DECL_REL_OP_T(op, const sc_lv_base &) \
418 DECL_REL_OP_T(op, const char *) \
419 DECL_REL_OP_T(op, const bool *) \
420 DECL_REL_OP_T(op, const sc_signed &) \
421 DECL_REL_OP_T(op, const sc_unsigned &) \
422 DECL_REL_OP_T(op, int) \
423 DECL_REL_OP_T(op, unsigned int) \
424 DECL_REL_OP_T(op, long) \
425 DECL_REL_OP_T(op, unsigned long)
544 #define DECL_BIN_OP_T(op, tp) \
545 friend const sc_fxval operator op (const sc_fxnum &, tp); \
546 friend const sc_fxval operator op (tp, const sc_fxnum &);
548 #define DECL_BIN_OP_OTHER(op) \
549 DECL_BIN_OP_T(op, int64) \
550 DECL_BIN_OP_T(op, uint64) \
551 DECL_BIN_OP_T(op, const sc_int_base &) \
552 DECL_BIN_OP_T(op, const sc_uint_base &) \
553 DECL_BIN_OP_T(op, const sc_signed &) \
554 DECL_BIN_OP_T(op, const sc_unsigned &)
556 #define DECL_BIN_OP(op, dummy) \
557 friend const sc_fxval operator op (const sc_fxnum &, const sc_fxnum &); \
558 DECL_BIN_OP_T(op, int) \
559 DECL_BIN_OP_T(op, unsigned int) \
560 DECL_BIN_OP_T(op, long) \
561 DECL_BIN_OP_T(op, unsigned long) \
562 DECL_BIN_OP_T(op, float) \
563 DECL_BIN_OP_T(op, double) \
564 DECL_BIN_OP_T(op, const char *) \
565 DECL_BIN_OP_T(op, const sc_fxval &) \
566 DECL_BIN_OP_T(op, const sc_fxval_fast &) \
567 DECL_BIN_OP_T(op, const sc_fxnum_fast &) \
568 DECL_BIN_OP_OTHER(op)
586 // DECL_BIN_OP_OTHER(op)
647 #define DECL_REL_OP_T(op, tp) \
648 friend bool operator op (const sc_fxnum &, tp); \
649 friend bool operator op (tp, const sc_fxnum &);
651 #define DECL_REL_OP_OTHER(op) \
652 DECL_REL_OP_T(op, int64) \
653 DECL_REL_OP_T(op, uint64) \
654 DECL_REL_OP_T(op, const sc_int_base &) \
655 DECL_REL_OP_T(op, const sc_uint_base &) \
656 DECL_REL_OP_T(op, const sc_signed &) \
657 DECL_REL_OP_T(op, const sc_unsigned &)
659 #define DECL_REL_OP(op) \
660 friend bool operator op (const sc_fxnum &, const sc_fxnum &); \
661 DECL_REL_OP_T(op, int) \
662 DECL_REL_OP_T(op, unsigned int) \
663 DECL_REL_OP_T(op, long) \
664 DECL_REL_OP_T(op, unsigned long) \
665 DECL_REL_OP_T(op, float) \
666 DECL_REL_OP_T(op, double) \
667 DECL_REL_OP_T(op, const char *) \
668 DECL_REL_OP_T(op, const sc_fxval &) \
669 DECL_REL_OP_T(op, const sc_fxval_fast &) \
670 DECL_REL_OP_T(op, const sc_fxnum_fast &) \
671 DECL_REL_OP_OTHER(op)
685 #define DECL_ASN_OP_T(op, tp) \
686 sc_fxnum &operator op(tp);
688 #define DECL_ASN_OP_OTHER(op) \
689 DECL_ASN_OP_T(op, int64) \
690 DECL_ASN_OP_T(op, uint64) \
691 DECL_ASN_OP_T(op, const sc_int_base &) \
692 DECL_ASN_OP_T(op, const sc_uint_base &) \
693 DECL_ASN_OP_T(op, const sc_signed &) \
694 DECL_ASN_OP_T(op, const sc_unsigned &)
696 #define DECL_ASN_OP(op) \
697 DECL_ASN_OP_T(op, int) \
698 DECL_ASN_OP_T(op, unsigned int) \
699 DECL_ASN_OP_T(op, long) \
700 DECL_ASN_OP_T(op, unsigned long) \
701 DECL_ASN_OP_T(op, float) \
702 DECL_ASN_OP_T(op, double) \
703 DECL_ASN_OP_T(op, const char *) \
704 DECL_ASN_OP_T(op, const sc_fxval &) \
705 DECL_ASN_OP_T(op, const sc_fxval_fast &) \
706 DECL_ASN_OP_T(op, const sc_fxnum &) \
707 DECL_ASN_OP_T(op, const sc_fxnum_fast &) \
708 DECL_ASN_OP_OTHER(op)
905 #define DECL_BIN_OP_T(op, tp) \
906 friend const sc_fxval_fast operator op (const sc_fxnum_fast &, tp); \
907 friend const sc_fxval_fast operator op (tp, const sc_fxnum_fast &);
909 #define DECL_BIN_OP_OTHER(op) \
910 DECL_BIN_OP_T(op, int64) \
911 DECL_BIN_OP_T(op, uint64) \
912 DECL_BIN_OP_T(op, const sc_int_base &) \
913 DECL_BIN_OP_T(op, const sc_uint_base &) \
914 DECL_BIN_OP_T(op, const sc_signed &) \
915 DECL_BIN_OP_T(op, const sc_unsigned &)
917 #define DECL_BIN_OP(op, dummy) \
918 friend const sc_fxval_fast operator op (const sc_fxnum_fast &, \
920 DECL_BIN_OP_T(op, int) \
921 DECL_BIN_OP_T(op, unsigned int) \
922 DECL_BIN_OP_T(op, long) \
923 DECL_BIN_OP_T(op, unsigned long) \
924 DECL_BIN_OP_T(op, float) \
925 DECL_BIN_OP_T(op, double) \
926 DECL_BIN_OP_T(op, const char *) \
927 DECL_BIN_OP_T(op, const sc_fxval_fast &) \
928 DECL_BIN_OP_OTHER(op)
944 // DECL_BIN_OP_OTHER(op)
1007 #define DECL_REL_OP_T(op, tp) \
1008 friend bool operator op (const sc_fxnum_fast &, tp); \
1009 friend bool operator op (tp, const sc_fxnum_fast &);
1011 #define DECL_REL_OP_OTHER(op) \
1012 DECL_REL_OP_T(op, int64) \
1013 DECL_REL_OP_T(op, uint64) \
1014 DECL_REL_OP_T(op, const sc_int_base &) \
1015 DECL_REL_OP_T(op, const sc_uint_base &) \
1016 DECL_REL_OP_T(op, const sc_signed &) \
1017 DECL_REL_OP_T(op, const sc_unsigned &)
1019 #define DECL_REL_OP(op) \
1020 friend bool operator op (const sc_fxnum_fast &, const sc_fxnum_fast &); \
1021 DECL_REL_OP_T(op, int) \
1022 DECL_REL_OP_T(op, unsigned int) \
1023 DECL_REL_OP_T(op, long) \
1024 DECL_REL_OP_T(op, unsigned long) \
1025 DECL_REL_OP_T(op, float) \
1026 DECL_REL_OP_T(op, double) \
1027 DECL_REL_OP_T(op, const char *) \
1028 DECL_REL_OP_T(op, const sc_fxval_fast &) \
1029 DECL_REL_OP_OTHER(op)
1043 #define DECL_ASN_OP_T(op, tp) sc_fxnum_fast &operator op(tp);
1045 #define DECL_ASN_OP_OTHER(op) \
1046 DECL_ASN_OP_T(op, int64) \
1047 DECL_ASN_OP_T(op, uint64) \
1048 DECL_ASN_OP_T(op, const sc_int_base &) \
1049 DECL_ASN_OP_T(op, const sc_uint_base &) \
1050 DECL_ASN_OP_T(op, const sc_signed &) \
1051 DECL_ASN_OP_T(op, const sc_unsigned &)
1053 #define DECL_ASN_OP(op) \
1054 DECL_ASN_OP_T(op, int) \
1055 DECL_ASN_OP_T(op, unsigned int) \
1056 DECL_ASN_OP_T(op, long) \
1057 DECL_ASN_OP_T(op, unsigned long) \
1058 DECL_ASN_OP_T(op, float) \
1059 DECL_ASN_OP_T(op, double) \
1060 DECL_ASN_OP_T(op, const char *) \
1061 DECL_ASN_OP_T(op, const sc_fxval &) \
1062 DECL_ASN_OP_T(op, const sc_fxval_fast &) \
1063 DECL_ASN_OP_T(op, const sc_fxnum &) \
1064 DECL_ASN_OP_T(op, const sc_fxnum_fast &) \
1065 DECL_ASN_OP_OTHER(op)
1658 #define DEFN_ASN_OP_T(op, tp) \
1660 sc_fxnum_subref::operator op ## = (tp a) \
1664 m_bv = m_bv op a; \
1670 #define DEFN_ASN_OP(op) \
1672 sc_fxnum_subref::operator op ## = (const sc_fxnum_subref &a) \
1676 m_bv = m_bv op static_cast<sc_bv_base>(a); \
1683 sc_fxnum_subref::operator op ## = (const sc_fxnum_fast_subref &a) \
1687 m_bv = m_bv op static_cast<sc_bv_base>(a); \
1693 DEFN_ASN_OP_T(op, const sc_bv_base &) \
1694 DEFN_ASN_OP_T(op, const sc_lv_base &)
1704 #define DEFN_REL_OP_T(op, tp) \
1706 operator op (const sc_fxnum_subref &a, tp b) \
1708 return (static_cast<sc_bv_base>(a) op b); \
1712 operator op (tp a, const sc_fxnum_subref &b) \
1714 return (static_cast<sc_bv_base>(b) op a); \
1717 #define DEFN_REL_OP(op) \
1719 operator op (const sc_fxnum_subref &a, const sc_fxnum_subref &b) \
1721 return (static_cast<sc_bv_base>(a) op static_cast<sc_bv_base>(b)); \
1725 operator op (const sc_fxnum_subref &a, const sc_fxnum_fast_subref &b) \
1727 return (static_cast<sc_bv_base>(a) op static_cast<sc_bv_base>(b)); \
1730 DEFN_REL_OP_T(op, const sc_bv_base &) \
1731 DEFN_REL_OP_T(op, const sc_lv_base &) \
1732 DEFN_REL_OP_T(op, const char *) \
1733 DEFN_REL_OP_T(op, const bool *) \
1734 DEFN_REL_OP_T(op, const sc_signed &) \
1735 DEFN_REL_OP_T(op, const sc_unsigned &) \
1736 DEFN_REL_OP_T(op, int) \
1737 DEFN_REL_OP_T(op, unsigned int) \
1738 DEFN_REL_OP_T(op, long) \
1739 DEFN_REL_OP_T(op, unsigned long)
1952 #define DEFN_ASN_OP_T(op, tp) \
1954 sc_fxnum_fast_subref::operator op ## = (tp a) \
1958 m_bv = m_bv op a; \
1964 #define DEFN_ASN_OP(op) \
1966 sc_fxnum_fast_subref::operator op ## = (const sc_fxnum_subref &a) \
1970 m_bv = m_bv op static_cast<sc_bv_base>(a); \
1977 sc_fxnum_fast_subref::operator op ## = (const sc_fxnum_fast_subref &a) \
1981 m_bv = m_bv op static_cast<sc_bv_base>(a); \
1987 DEFN_ASN_OP_T(op, const sc_bv_base &) \
1988 DEFN_ASN_OP_T(op, const sc_lv_base &)
2000 #define DEFN_REL_OP_T(op, tp) \
2002 operator op (const sc_fxnum_fast_subref &a, tp b) \
2004 return (static_cast<sc_bv_base>(a) op b); \
2008 operator op (tp a, const sc_fxnum_fast_subref &b) \
2010 return (static_cast<sc_bv_base>(b) op a); \
2013 #define DEFN_REL_OP(op) \
2015 operator op (const sc_fxnum_fast_subref &a, const sc_fxnum_fast_subref &b) \
2017 return (static_cast<sc_bv_base>(a) op static_cast<sc_bv_base>(b)); \
2021 operator op (const sc_fxnum_fast_subref &a, const sc_fxnum_subref &b) \
2023 return (static_cast<sc_bv_base>(a) op static_cast<sc_bv_base>(b)); \
2026 DEFN_REL_OP_T(op, const sc_bv_base &) \
2027 DEFN_REL_OP_T(op, const sc_lv_base &) \
2028 DEFN_REL_OP_T(op, const char *) \
2029 DEFN_REL_OP_T(op, const bool *) \
2030 DEFN_REL_OP_T(op, const sc_signed &) \
2031 DEFN_REL_OP_T(op, const sc_unsigned &) \
2032 DEFN_REL_OP_T(op, int) \
2033 DEFN_REL_OP_T(op, unsigned int) \
2034 DEFN_REL_OP_T(op, long) \
2035 DEFN_REL_OP_T(op, unsigned long)
2287 #define DEFN_BIN_OP_T(op, fnc, tp) \
2289 operator op (const sc_fxnum &a, tp b) \
2297 operator op (tp a, const sc_fxnum &b) \
2305 #define DEFN_BIN_OP_OTHER(op, fnc) \
2306 DEFN_BIN_OP_T(op, fnc, int64) \
2307 DEFN_BIN_OP_T(op, fnc, uint64) \
2308 DEFN_BIN_OP_T(op, fnc, const sc_int_base &) \
2309 DEFN_BIN_OP_T(op, fnc, const sc_uint_base &) \
2310 DEFN_BIN_OP_T(op, fnc, const sc_signed &) \
2311 DEFN_BIN_OP_T(op, fnc, const sc_unsigned &)
2313 #define DEFN_BIN_OP_OTHER(op, fnc)
2316 #define DEFN_BIN_OP(op, fnc) \
2318 operator op (const sc_fxnum &a, const sc_fxnum &b) \
2326 operator op (const sc_fxnum &a, const sc_fxval &b) \
2333 operator op (const sc_fxval &a, const sc_fxnum &b) \
2339 DEFN_BIN_OP_T(op, fnc, int) \
2340 DEFN_BIN_OP_T(op, fnc, unsigned int) \
2341 DEFN_BIN_OP_T(op, fnc, long) \
2342 DEFN_BIN_OP_T(op, fnc, unsigned long) \
2343 DEFN_BIN_OP_T(op, fnc, float) \
2344 DEFN_BIN_OP_T(op, fnc, double) \
2345 DEFN_BIN_OP_T(op, fnc, const char *) \
2346 DEFN_BIN_OP_T(op, fnc, const sc_fxval_fast &) \
2347 DEFN_BIN_OP_T(op, fnc, const sc_fxnum_fast &) \
2348 DEFN_BIN_OP_OTHER(op, fnc)
2570 #define DEFN_REL_OP_T(op, ret, tp) \
2572 operator op (const sc_fxnum &a, tp b) \
2581 operator op (tp a, const sc_fxnum &b) \
2589 #define DEFN_REL_OP_OTHER(op, ret) \
2590 DEFN_REL_OP_T(op, ret, int64) \
2591 DEFN_REL_OP_T(op, ret, uint64) \
2592 DEFN_REL_OP_T(op, ret, const sc_int_base &) \
2593 DEFN_REL_OP_T(op, ret, const sc_uint_base &) \
2594 DEFN_REL_OP_T(op, ret, const sc_signed &) \
2595 DEFN_REL_OP_T(op, ret, const sc_unsigned &)
2597 #define DEFN_REL_OP(op, ret) \
2599 operator op (const sc_fxnum &a, const sc_fxnum &b) \
2608 operator op (const sc_fxnum &a, const sc_fxval &b) \
2616 operator op (const sc_fxval &a, const sc_fxnum &b) \
2623 DEFN_REL_OP_T(op, ret, int) \
2624 DEFN_REL_OP_T(op, ret, unsigned int) \
2625 DEFN_REL_OP_T(op, ret, long) \
2626 DEFN_REL_OP_T(op, ret, unsigned long) \
2627 DEFN_REL_OP_T(op, ret, float) \
2628 DEFN_REL_OP_T(op, ret, double) \
2629 DEFN_REL_OP_T(op, ret, const char *) \
2630 DEFN_REL_OP_T(op, ret, const sc_fxval_fast &) \
2631 DEFN_REL_OP_T(op, ret, const sc_fxnum_fast &) \
2632 DEFN_REL_OP_OTHER(op, ret)
2698 #define DEFN_ASN_OP_T(op, fnc, tp) \
2700 sc_fxnum::operator op (tp b) \
2712 #define DEFN_ASN_OP_OTHER(op, fnc) \
2713 DEFN_ASN_OP_T(op, fnc, int64) \
2714 DEFN_ASN_OP_T(op, fnc, uint64) \
2715 DEFN_ASN_OP_T(op, fnc, const sc_int_base &) \
2716 DEFN_ASN_OP_T(op, fnc, const sc_uint_base &) \
2717 DEFN_ASN_OP_T(op, fnc, const sc_signed &) \
2718 DEFN_ASN_OP_T(op, fnc, const sc_unsigned &)
2720 #define DEFN_ASN_OP(op, fnc) \
2722 sc_fxnum::operator op (const sc_fxnum &b) \
2735 sc_fxnum::operator op (const sc_fxval &b) \
2746 DEFN_ASN_OP_T(op, fnc, int) \
2747 DEFN_ASN_OP_T(op, fnc, unsigned int) \
2748 DEFN_ASN_OP_T(op, fnc, long) \
2749 DEFN_ASN_OP_T(op, fnc, unsigned long) \
2750 DEFN_ASN_OP_T(op, fnc, float) \
2751 DEFN_ASN_OP_T(op, fnc, double) \
2752 DEFN_ASN_OP_T(op, fnc, const char *) \
2753 DEFN_ASN_OP_T(op, fnc, const sc_fxval_fast &) \
2754 DEFN_ASN_OP_T(op, fnc, const sc_fxnum_fast &) \
2755 DEFN_ASN_OP_OTHER(op, fnc)
3258 #define DEFN_BIN_OP_T(op, tp) \
3260 operator op (const sc_fxnum_fast &a, tp b) \
3264 return sc_fxval_fast(a.m_val op tmp.get_val()); \
3268 operator op (tp a, const sc_fxnum_fast &b) \
3272 return sc_fxval_fast(tmp.get_val() op b.m_val); \
3275 #define DEFN_BIN_OP_OTHER(op) \
3276 DEFN_BIN_OP_T(op, int64) \
3277 DEFN_BIN_OP_T(op, uint64) \
3278 DEFN_BIN_OP_T(op, const sc_int_base &) \
3279 DEFN_BIN_OP_T(op, const sc_uint_base &) \
3280 DEFN_BIN_OP_T(op, const sc_signed &) \
3281 DEFN_BIN_OP_T(op, const sc_unsigned &)
3283 #define DEFN_BIN_OP(op, dummy) \
3285 operator op (const sc_fxnum_fast &a, const sc_fxnum_fast &b) \
3289 return sc_fxval_fast(a.m_val op b.m_val); \
3293 operator op (const sc_fxnum_fast &a, const sc_fxval_fast &b) \
3296 return sc_fxval_fast(a.m_val op b.get_val()); \
3300 operator op (const sc_fxval_fast &a, const sc_fxnum_fast &b) \
3303 return sc_fxval_fast(a.get_val() op b.m_val); \
3306 DEFN_BIN_OP_T(op, int) \
3307 DEFN_BIN_OP_T(op, unsigned int) \
3308 DEFN_BIN_OP_T(op, long) \
3309 DEFN_BIN_OP_T(op, unsigned long) \
3310 DEFN_BIN_OP_T(op, float) \
3311 DEFN_BIN_OP_T(op, double) \
3312 DEFN_BIN_OP_T(op, const char *) \
3313 DEFN_BIN_OP_OTHER(op)
3376 #define DEFN_BIN_FNC_T(fnc, op, tp) \
3382 c.set_val(a.m_val op tmp.get_val()); \
3390 c.set_val(tmp.get_val() op b.m_val); \
3398 c.m_val = a.m_val op tmp.get_val(); \
3408 c.m_val = tmp.get_val() op b.m_val; \
3413 #define DEFN_BIN_FNC_OTHER(fnc, op) \
3414 DEFN_BIN_FNC_T(fnc, op, int64) \
3415 DEFN_BIN_FNC_T(fnc, op, uint64) \
3416 DEFN_BIN_FNC_T(fnc, op, const sc_int_base &) \
3417 DEFN_BIN_FNC_T(fnc, op, const sc_uint_base &) \
3418 DEFN_BIN_FNC_T(fnc, op, const sc_signed &) \
3419 DEFN_BIN_FNC_T(fnc, op, const sc_unsigned &)
3421 #define DEFN_BIN_FNC(fnc, op) \
3427 c.set_val(a.m_val op b.m_val); \
3435 c.m_val = a.m_val op b.m_val; \
3444 c.set_val(a.m_val op b.get_val()); \
3451 c.set_val(a.get_val() op b.m_val); \
3458 c.m_val = a.m_val op b.get_val(); \
3467 c.m_val = a.get_val() op b.m_val; \
3472 DEFN_BIN_FNC_T(fnc, op, int) \
3473 DEFN_BIN_FNC_T(fnc, op, unsigned int) \
3474 DEFN_BIN_FNC_T(fnc, op, long) \
3475 DEFN_BIN_FNC_T(fnc, op, unsigned long) \
3476 DEFN_BIN_FNC_T(fnc, op, float) \
3477 DEFN_BIN_FNC_T(fnc, op, double) \
3478 DEFN_BIN_FNC_T(fnc, op, const char *) \
3479 DEFN_BIN_FNC_T(fnc, op, const sc_fxval &) \
3480 DEFN_BIN_FNC_T(fnc, op, const sc_fxnum &) \
3481 DEFN_BIN_FNC_OTHER(fnc, op)
3525 #define DEFN_REL_OP_T(op, tp) \
3527 operator op (const sc_fxnum_fast &a, tp b) \
3531 return (a.m_val op tmp.get_val()); \
3535 operator op (tp a, const sc_fxnum_fast &b) \
3539 return (tmp.get_val() op b.m_val); \
3542 #define DEFN_REL_OP_OTHER(op) \
3543 DEFN_REL_OP_T(op, int64) \
3544 DEFN_REL_OP_T(op, uint64) \
3545 DEFN_REL_OP_T(op, const sc_int_base &) \
3546 DEFN_REL_OP_T(op, const sc_uint_base &) \
3547 DEFN_REL_OP_T(op, const sc_signed &) \
3548 DEFN_REL_OP_T(op, const sc_unsigned &)
3550 #define DEFN_REL_OP(op) \
3552 operator op (const sc_fxnum_fast &a, const sc_fxnum_fast &b) \
3556 return (a.m_val op b.m_val); \
3560 operator op (const sc_fxnum_fast &a, const sc_fxval_fast &b) \
3563 return (a.m_val op b.get_val()); \
3567 operator op (const sc_fxval_fast &a, const sc_fxnum_fast &b) \
3570 return (a.get_val() op b.m_val); \
3573 DEFN_REL_OP_T(op, int) \
3574 DEFN_REL_OP_T(op, unsigned int) \
3575 DEFN_REL_OP_T(op, long) \
3576 DEFN_REL_OP_T(op, unsigned long) \
3577 DEFN_REL_OP_T(op, float) \
3578 DEFN_REL_OP_T(op, double) \
3579 DEFN_REL_OP_T(op, const char *) \
3580 DEFN_REL_OP_OTHER(op)
3646 #define DEFN_ASN_OP_T(op, tp) \
3648 sc_fxnum_fast::operator op (tp b) \
3652 m_val op tmp.get_val(); \
3658 #define DEFN_ASN_OP_OTHER(op) \
3659 DEFN_ASN_OP_T(op, int64) \
3660 DEFN_ASN_OP_T(op, uint64) \
3661 DEFN_ASN_OP_T(op, const sc_int_base &) \
3662 DEFN_ASN_OP_T(op, const sc_uint_base &) \
3663 DEFN_ASN_OP_T(op, const sc_signed &) \
3664 DEFN_ASN_OP_T(op, const sc_unsigned &)
3666 #define DEFN_ASN_OP(op) \
3668 sc_fxnum_fast::operator op (const sc_fxnum_fast &b) \
3672 m_val op b.m_val; \
3679 sc_fxnum_fast::operator op (const sc_fxval_fast &b) \
3682 m_val op b.get_val(); \
3688 DEFN_ASN_OP_T(op, int) \
3689 DEFN_ASN_OP_T(op, unsigned int) \
3690 DEFN_ASN_OP_T(op, long) \
3691 DEFN_ASN_OP_T(op, unsigned long) \
3692 DEFN_ASN_OP_T(op, float) \
3693 DEFN_ASN_OP_T(op, double) \
3694 DEFN_ASN_OP_T(op, const char *) \
3695 DEFN_ASN_OP_T(op, const sc_fxval &) \
3696 DEFN_ASN_OP_T(op, const sc_fxnum &) \
3697 DEFN_ASN_OP_OTHER(op)
4096 #define DEFN_BIN_OP_T(op, fnc, tp) \
4098 operator op (const sc_fxval &a, tp b) \
4106 operator op (tp a, const sc_fxval &b) \
4113 #define DEFN_BIN_OP(op, fnc) \
4114 DEFN_BIN_OP_T(op, fnc, const sc_fxnum_fast &)
4161 #define DEFN_REL_OP_T(op, ret, tp) \
4163 operator op (const sc_fxval &a, tp b) \
4172 operator op (tp a, const sc_fxval &b) \
4180 #define DEFN_REL_OP(op, ret) \
4181 DEFN_REL_OP_T(op, ret, const sc_fxnum_fast &)
4216 #define DEFN_ASN_OP_T(op, fnc, tp) \
4218 sc_fxval::operator op (tp b) \
4229 #define DEFN_ASN_OP(op, fnc) \
4231 sc_fxval::operator op (const sc_fxnum &b) \
4241 DEFN_ASN_OP_T(op, fnc, const sc_fxnum_fast &)
4281 #define DEFN_BIN_FNC_T(fnc, op, tp) \
4287 c.m_val = a.m_val op tmp.m_val; \
4296 c.m_val = tmp.m_val op b.m_val; \
4300 #define DEFN_BIN_FNC(fnc, op) \
4301 DEFN_BIN_FNC_T(fnc, op, const sc_fxval &) \
4302 DEFN_BIN_FNC_T(fnc, op, const sc_fxnum &)
4336 #define DEFN_ASN_OP_T(op, tp) \
4338 sc_fxval_fast::operator op (tp b) \
4342 m_val op tmp.m_val; \
4347 #define DEFN_ASN_OP(op) \
4349 sc_fxval_fast::operator op (const sc_fxnum_fast &b) \
4352 m_val op b.get_val(); \
4357 DEFN_ASN_OP_T(op, const sc_fxnum &)