[ruby/bigdecimal] Fix length calculation in rb_uint64_convert_to_BigDecimal
https://github.com/ruby/bigdecimal/commit/14e53ed7f6
This commit is contained in:
parent
1eb8eb55c2
commit
ccabf4966f
@ -2697,8 +2697,7 @@ rb_uint64_convert_to_BigDecimal(uint64_t uval, RB_UNUSED_VAR(size_t digs), int r
|
|||||||
vp->frac[0] = (DECDIG)uval;
|
vp->frac[0] = (DECDIG)uval;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
const size_t len10 = ceil(LOG10_2 * bit_length(uval));
|
const size_t len = (size_t)ceil(log10(uval) / BASE_FIG);
|
||||||
size_t len = roomof(len10, BASE_FIG);
|
|
||||||
|
|
||||||
vp = VpAllocReal(len);
|
vp = VpAllocReal(len);
|
||||||
vp->MaxPrec = len;
|
vp->MaxPrec = len;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user