summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorshigek <shigek@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-08-05 14:03:09 +0000
committershigek <shigek@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-08-05 14:03:09 +0000
commita179c38e4c5b75469703720efa45c09e6f6a40c6 (patch)
treefbac07929bec3cf0442bfe1d01ee4fcf85f445af /ext
parent717848493c02584d1a7ae379766a01860ad548ee (diff)
Trailing 0s in split removed. & bug in floor fixed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/bigdecimal/bigdecimal.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/bigdecimal/bigdecimal.c b/ext/bigdecimal/bigdecimal.c
index 4f747e2922..166e01e2d2 100644
--- a/ext/bigdecimal/bigdecimal.c
+++ b/ext/bigdecimal/bigdecimal.c
@@ -3154,6 +3154,7 @@ VpSzMantissa(Real *a,char *psz)
}
}
*psz = 0;
+ while(psz[-1]=='0') *(--psz) = 0;
} else {
if(VpIsPosZero(a)) sprintf(psz, "0");
else sprintf(psz, "-0");
@@ -3728,8 +3729,9 @@ VpMidRound(Real *y, int f, int nf)
VpNmlz(y);
VpRdup(y,0);
} else {
+ S_INT s = VpGetSign(y);
VpSetOne(y);
- VpSetSign(y,VpGetSign(y));
+ VpSetSign(y,s);
}
} else {
y->frac[ix] = div;