git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
shigek 2003-08-27 13:29:23 +00:00
Родитель e1a6b435db
Коммит 0ec8683145
1 изменённых файлов: 6 добавлений и 5 удалений

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

@ -2589,12 +2589,13 @@ VpMult(Real *c, Real *a, Real *b)
}
}
}
VpNmlz(c); /* normalize the result */
if(w != NULL) { /* free work variable */
VpNmlz(c);
VpAsgn(w, c, 1);
VpFree(c);
c = w;
} else {
VpLimitRound(c,0);
}
Exit:
@ -3821,6 +3822,7 @@ static int
VpLimitRound(Real *c,U_LONG ixDigit)
{
U_LONG ix = VpGetPrecLimit();
if(!VpNmlz(c)) return -1;
if(!ix) return 0;
if(!ixDigit) ixDigit = c->Prec-1;
if((ix+BASE_FIG-1)/BASE_FIG > ixDigit+1) return 0;
@ -3832,7 +3834,6 @@ VpInternalRound(Real *c,int ixDigit,U_LONG vPrev,U_LONG v)
{
int f = 0;
if(!VpNmlz(c)) return;
if(VpLimitRound(c,ixDigit)) return;
if(!v) return;