From 39c8c051f8c435e3ddfc91d9440ba3418c195c3f Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Mon, 25 Apr 2022 10:03:47 +0900 Subject: [PATCH] numeric.c: mrb_integer_to_str now supports big integers. --- src/numeric.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/numeric.c b/src/numeric.c index c84ce47d7..27a7cb8c3 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -1754,6 +1754,11 @@ mrb_integer_to_str(mrb_state *mrb, mrb_value x, mrb_int base) if (base < 2 || 36 < base) { mrb_raisef(mrb, E_ARGUMENT_ERROR, "invalid radix %i", base); } +#ifdef MRB_USE_BIGINT + if (mrb_bigint_p(x)) { + return mrb_bint_to_s(mrb, x, base); + } +#endif const char *p = mrb_int_to_cstr(buf, sizeof(buf), val, base); mrb_assert(p != NULL); mrb_value str = mrb_str_new_cstr(mrb, p);