| 992 | } |
| 993 | |
| 994 | expr expr::smul_fix_sat(const expr &a, const expr &b, const expr &c) { |
| 995 | expr r = smul_fix_helper(a, b, c); |
| 996 | auto width = a.bits(); |
| 997 | return mkIf(smul_fix_no_soverflow(a, b, c), |
| 998 | smul_fix(a, b, c), |
| 999 | mkIf(r.isNegative(), IntSMin(width), IntSMax(width))); |
| 1000 | } |
| 1001 | |
| 1002 | static expr umul_fix_helper(const expr &a, const expr &b, const expr &c) { |
| 1003 | auto width = a.bits(); |
nothing calls this directly
no test coverage detected