From ce570c28bbaf22520d6af4c7bbe596ecca59acd2 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 23 Dec 2025 08:50:30 +0900 Subject: [PATCH] mruby-rational: inline int_lshift into rational_new_f Remove the static int_lshift function and directly call mrb_bint_lshift at the only call site. This simplifies the code and avoids static function name collision with src/numeric.c for future amalgamation support. Co-authored-by: Claude --- mrbgems/mruby-rational/src/rational.c | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/mrbgems/mruby-rational/src/rational.c b/mrbgems/mruby-rational/src/rational.c index 6e0a02393..9f4475749 100644 --- a/mrbgems/mruby-rational/src/rational.c +++ b/mrbgems/mruby-rational/src/rational.c @@ -325,24 +325,6 @@ mrb_rational_new(mrb_state *mrb, mrb_int nume, mrb_int deno) #define RAT_HUGE_VAL HUGE_VAL #endif -#define mrb_int_fit_p(x,t) ((t)MRB_INT_MIN <= (x) && (x) <= (t)MRB_INT_MAX) - -static mrb_value -int_lshift(mrb_state *mrb, mrb_value v, mrb_int n) -{ - if (mrb_integer_p(v) && n < (mrb_int)sizeof(long) * CHAR_BIT) { - mrb_float f = (mrb_float)mrb_integer(v); - f *= 1L<