mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
a225aaa185
when comparing bigint values with <=> operator, the comparison would convert both operands to float, losing precision for values > 2^53. this caused incorrect results like (10^20+1) <=> (10^20+2) returning 0 instead of -1. add direct bigint comparison paths in cmpnum() to avoid float conversion when both operands can be handled by mrb_bint_cmp(). Co-authored-by: Claude <noreply@anthropic.com>