Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5ddbcfc

Browse files
author
Stefan Krah
committed
Pad the result with zeros just before the final rounding.
1 parent c73e8c2 commit 5ddbcfc

1 file changed

Lines changed: 1 addition & 3 deletions

File tree

Modules/_decimal/libmpdec/mpdecimal.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3903,7 +3903,6 @@ _mpd_qexp_check_one(mpd_t *result, const mpd_t *a, const mpd_context_t *ctx,
39033903
/* abs(a) <= 9 * 10**(-prec-1) */
39043904
if (_mpd_cmp(&aa, &lim) <= 0) {
39053905
_settriple(result, 0, 1, 0);
3906-
_mpd_zeropad(result, ctx, status);
39073906
*status |= MPD_Rounded|MPD_Inexact;
39083907
return 1;
39093908
}
@@ -4074,8 +4073,6 @@ _mpd_qexp(mpd_t *result, const mpd_t *a, const mpd_context_t *ctx,
40744073
}
40754074
#endif
40764075

4077-
_mpd_zeropad(result, ctx, status);
4078-
40794076
mpd_del(&tmp);
40804077
mpd_del(&sum);
40814078
*status |= (workctx.status&MPD_Errors);
@@ -4148,6 +4145,7 @@ mpd_qexp(mpd_t *result, const mpd_t *a, const mpd_context_t *ctx,
41484145
if (mpd_isspecial(result) || mpd_iszerocoeff(result) ||
41494146
mpd_qcmp(&t1, &t2, status) == 0) {
41504147
workctx.clamp = ctx->clamp;
4148+
_mpd_zeropad(result, ctx, status);
41514149
mpd_check_underflow(result, &workctx, status);
41524150
mpd_qfinalize(result, &workctx, status);
41534151
break;

0 commit comments

Comments
 (0)