Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 21 additions & 58 deletions core/integer.rbs
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,8 @@
# given value.
#
class Integer < Numeric
# TODO: `undef self.new`

# <!--
# rdoc-file=numeric.c
# - Integer.sqrt(numeric) -> integer
Expand Down Expand Up @@ -421,7 +423,7 @@ class Integer < Numeric
#
# Related: Integer#eql? (requires `other` to be an Integer).
#
def ==: (untyped) -> bool
def ==: (untyped other) -> bool

# <!--
# rdoc-file=numeric.c
Expand All @@ -434,7 +436,7 @@ class Integer < Numeric
#
# Related: Integer#eql? (requires `other` to be an Integer).
#
def ===: (untyped) -> bool
alias === ==

# <!--
# rdoc-file=numeric.c
Expand Down Expand Up @@ -687,8 +689,7 @@ class Integer < Numeric
# -5| 100000| 0
# Related: Integer#floor.
#
def ceil: () -> Integer
| (int digits) -> (Integer | Float)
def ceil: (?int digits) -> Integer

# <!--
# rdoc-file=numeric.rb
Expand Down Expand Up @@ -726,7 +727,7 @@ class Integer < Numeric
#
# Related: Integer#ord.
#
def chr: (?encoding) -> String
def chr: (?encoding encoding) -> String

# <!--
# rdoc-file=bignum.c
Expand All @@ -749,7 +750,7 @@ class Integer < Numeric
# -->
# Returns `1`.
#
def denominator: () -> Integer
def denominator: () -> 1

# <!--
# rdoc-file=numeric.c
Expand All @@ -764,7 +765,7 @@ class Integer < Numeric
#
# Raises an exception if `self` is negative or `base` is less than 2.
#
def digits: (?int base) -> ::Array[Integer]
def digits: (?int base) -> Array[Integer]

# <!--
# rdoc-file=numeric.c
Expand Down Expand Up @@ -912,7 +913,7 @@ class Integer < Numeric
# 3.gcd(-7) #=> 1
# ((1<<31)-1).gcd((1<<61)-1) #=> 1
#
def gcd: (Integer) -> Integer
def gcd: (Integer other_int) -> Integer

# <!--
# rdoc-file=rational.c
Expand All @@ -926,7 +927,7 @@ class Integer < Numeric
# 3.gcdlcm(-7) #=> [1, 21]
# ((1<<31)-1).gcdlcm((1<<61)-1) #=> [1, 4951760154835678088235319297]
#
def gcdlcm: (Integer) -> [ Integer, Integer ]
def gcdlcm: (Integer other_int) -> [ Integer, Integer ]

# <!-- rdoc-file=numeric.c -->
# Returns a string containing the place-value representation of `self` in radix
Expand Down Expand Up @@ -964,14 +965,14 @@ 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

# <!--
# rdoc-file=numeric.rb
# - magnitude()
# -->
#
def magnitude: () -> Integer
alias magnitude abs

# <!-- rdoc-file=numeric.c -->
# Returns `self` modulo `other` as a real numeric (Integer, Float, or Rational).
Expand Down Expand Up @@ -1009,7 +1010,7 @@ class Integer < Numeric
#
# Related: Integer#pred (predecessor value).
#
def next: () -> Integer
alias next succ

# <!--
# rdoc-file=numeric.c
Expand Down Expand Up @@ -1040,7 +1041,7 @@ class Integer < Numeric
# -->
# Returns `self`.
#
def numerator: () -> Integer
def numerator: () -> self

# <!--
# rdoc-file=numeric.rb
Expand All @@ -1056,7 +1057,7 @@ class Integer < Numeric
# -->
# Returns `self`; intended for compatibility to character literals in Ruby 1.9.
#
def ord: () -> Integer
def ord: () -> self

def polar: () -> [ Integer, Integer | Float ]

Expand Down Expand Up @@ -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

# <!--
# rdoc-file=numeric.rb
Expand Down Expand Up @@ -1226,8 +1226,8 @@ class Integer < Numeric
#
# With no block given, returns an Enumerator.
#
def times: () { (Integer) -> void } -> self
| () -> ::Enumerator[Integer, self]
def times: () { (Integer i) -> void } -> self
| () -> Enumerator[Integer, self]

# <!--
# rdoc-file=numeric.c
Expand All @@ -1251,7 +1251,7 @@ class Integer < Numeric
# -->
# Returns `self` (which is already an Integer).
#
def to_i: () -> Integer
def to_i: () -> self

# <!--
# rdoc-file=numeric.rb
Expand Down Expand Up @@ -1289,43 +1289,7 @@ class Integer < Numeric
#
# Raises an exception if `base` is out of range.
#
def to_s: () -> String
| (2) -> String
| (3) -> String
| (4) -> String
| (5) -> String
| (6) -> String
| (7) -> String
| (8) -> String
| (9) -> String
| (10) -> String
| (11) -> String
| (12) -> String
| (13) -> String
| (14) -> String
| (15) -> String
| (16) -> String
| (17) -> String
| (18) -> String
| (19) -> String
| (20) -> String
| (21) -> String
| (22) -> String
| (23) -> String
| (24) -> String
| (25) -> String
| (26) -> String
| (27) -> String
| (28) -> String
| (29) -> String
| (30) -> String
| (31) -> String
| (32) -> String
| (33) -> String
| (34) -> String
| (35) -> String
| (36) -> String
| (int base) -> String
def to_s: (?int base) -> String

# <!--
# rdoc-file=numeric.c
Expand All @@ -1348,8 +1312,7 @@ class Integer < Numeric
#
# Related: Integer#round.
#
def truncate: () -> Integer
| (int ndigits) -> Integer
def truncate: (?int ndigits) -> Integer

# <!--
# rdoc-file=numeric.c
Expand Down
3 changes: 3 additions & 0 deletions core/numeric.rbs
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,9 @@
class Numeric
include Comparable

# The direction you can round
type round_mode = :up | :down | :even | 'up' | 'down' | 'even' | string | nil

# <!--
# rdoc-file=numeric.c
# - self % other -> real_numeric
Expand Down
Loading
Loading