From e8aa6a9ec20dc06650f6a6a71f2d7b88a74455fd Mon Sep 17 00:00:00 2001 From: SamW Date: Mon, 15 Jun 2026 20:10:51 -0700 Subject: [PATCH 1/3] Initial commit---non-coerce, non-odd ones --- core/integer.rbs | 73 ++----- core/numeric.rbs | 3 + test/stdlib/Integer_test.rb | 393 +++++++++++++++++++++++++++++++++++- test/stdlib/test_helper.rb | 9 + 4 files changed, 422 insertions(+), 56 deletions(-) diff --git a/core/integer.rbs b/core/integer.rbs index fd2ef0ae49..039fafb145 100644 --- a/core/integer.rbs +++ b/core/integer.rbs @@ -93,6 +93,8 @@ # given value. # class Integer < Numeric + # TODO: `undef self.new` + # # Returns `1`. # - def denominator: () -> Integer + def denominator: () -> 1 # # - def magnitude: () -> Integer + alias magnitude abs # # Returns `self` modulo `other` as a real numeric (Integer, Float, or Rational). @@ -1009,7 +1010,7 @@ class Integer < Numeric # # Related: Integer#pred (predecessor value). # - def next: () -> Integer + alias next succ # # Returns `self`. # - def numerator: () -> Integer + def numerator: () -> self # # Returns `self`; intended for compatibility to character literals in Ruby 1.9. # - def ord: () -> Integer + def ord: () -> self def polar: () -> [ Integer, Integer | Float ] @@ -1180,8 +1181,7 @@ class Integer < Numeric # # Related: Integer#truncate. # - def round: (?half: :up | :down | :even) -> Integer - | (int digits, ?half: :up | :down | :even) -> (Integer | Float) + def round: (?int digits, ?half: Numeric::round_mode) -> Integer # # Returns `self` (which is already an Integer). # - def to_i: () -> Integer + def to_i: () -> self # # Returns a string containing the place-value representation of `self` in radix @@ -965,7 +965,7 @@ class Integer < Numeric # 3.lcm(-7) #=> 21 # ((1<<31)-1).lcm((1<<61)-1) #=> 4951760154835678088235319297 # - def lcm: (Integer) -> Integer + def lcm: (Integer other_int) -> Integer #