* ext/bigdecimal/bigdecimal.c (VpCtoV): do not raise infinity

exception for BigDecimal("0E200000000000").

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
mame 2010-01-26 15:21:25 +00:00
Родитель 6ce4994231
Коммит 48b4d8c528
2 изменённых файлов: 9 добавлений и 2 удалений

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

@ -1,3 +1,8 @@
Wed Jan 27 00:19:30 2010 Yusuke Endoh <mame@tsg.ne.jp>
* ext/bigdecimal/bigdecimal.c (VpCtoV): do not raise infinity
exception for BigDecimal("0E200000000000").
Tue Jan 26 21:50:31 2010 Yusuke Endoh <mame@tsg.ne.jp>
* ext/bigdecimal/bigdecimal.c (VpCtoV): BigDecimal("0E200000000000")

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

@ -4079,9 +4079,11 @@ VpCtoV(Real *a, const char *int_chr, U_LONG ni, const char *frac, U_LONG nf, con
int zero = 1;
for( ; i < mi && zero; i++) zero = int_chr[i] == '0';
for(i = 0; i < nf && zero; i++) zero = frac[i] == '0';
if(!zero && signe > 0) VpSetInf(a, sign);
if(!zero && signe > 0) {
VpSetInf(a, sign);
VpException(VP_EXCEPTION_INFINITY,"exponent overflow",0);
}
else VpSetZero(a, sign);
VpException(VP_EXCEPTION_INFINITY,"exponent overflow",0);
return 1;
}