* time.c (wmul): wrong condition.

fixed many test failures on 32bit and LLP64 platforms.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
usa 2016-03-22 02:41:24 +00:00
Родитель 6957898ad0
Коммит 15af93fcc8
2 изменённых файлов: 6 добавлений и 1 удалений

Просмотреть файл

@ -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

2
time.c
Просмотреть файл

@ -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