зеркало из https://github.com/github/ruby.git
Forgot to round '*'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
e1a6b435db
Коммит
0ec8683145
|
@ -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;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче