diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | time.c | 2 |
2 files changed, 6 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Tue Mar 22 11:36:49 2016 NAKAMURA Usaku <usa@ruby-lang.org> + + * time.c (wmul): wrong condition. + fixed many test failures on 32bit and LLP64 platforms. + Tue Mar 22 10:31:34 2016 NAKAMURA Usaku <usa@ruby-lang.org> * time.c (wdiv, wmod): wdivmod0() assumes the 3rd and the 4th arguments @@ -367,7 +367,7 @@ wmul(wideval_t wx, wideval_t wy) { #if WIDEVALUE_IS_WIDER if (FIXWV_P(wx) && FIXWV_P(wy)) { - if (MUL_OVERFLOW_FIXWV_P(FIXWV2WINT(wx), FIXWV2WINT(wy))) + if (!MUL_OVERFLOW_FIXWV_P(FIXWV2WINT(wx), FIXWV2WINT(wy))) return WINT2WV(FIXWV2WINT(wx) * FIXWV2WINT(wy)); } #endif |