| 496 | } |
| 497 | |
| 498 | SIValue SIValue_Multiply(const SIValue a, const SIValue b) { |
| 499 | /* Only construct an integer return if both operands are integers. */ |
| 500 | if(SI_TYPE(a) & SI_TYPE(b) & T_INT64) { |
| 501 | return SI_LongVal(a.longval * b.longval); |
| 502 | } |
| 503 | /* Return a double representation. */ |
| 504 | return SI_DoubleVal(SI_GET_NUMERIC(a) * SI_GET_NUMERIC(b)); |
| 505 | } |
| 506 | |
| 507 | SIValue SIValue_Divide(const SIValue a, const SIValue b) { |
| 508 | if(SI_TYPE(a) & SI_TYPE(b) & T_INT64) { |
no test coverage detected