diff options
-rw-r--r-- | ext/bigdecimal/bigdecimal.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/bigdecimal/bigdecimal.c b/ext/bigdecimal/bigdecimal.c index f1bd1e2320..b8b1a068e2 100644 --- a/ext/bigdecimal/bigdecimal.c +++ b/ext/bigdecimal/bigdecimal.c @@ -683,8 +683,10 @@ BigDecimal_div(VALUE self, VALUE r) /* c xxxxx r 00000yyyyy ==> (y/b)*BASE >= HALF_BASE */ - /* Round up ? */ - VpInternalRound(c,0,c->frac[c->Prec-1],(VpBaseVal()*res->frac[0])/div->frac[0]); + /* Round */ + if(VpIsDef(c)) { + VpInternalRound(c,0,c->frac[c->Prec-1],(VpBaseVal()*res->frac[0])/div->frac[0]); + } return ToValue(c); } |