Skip to content

Commit e0827e2

Browse files
committed
Make our internal Rational.new_already_canonical method private.
1 parent 0f606a2 commit e0827e2

File tree

6 files changed

+15
-14
lines changed

6 files changed

+15
-14
lines changed

lib/truffle/truffle/cext.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1310,7 +1310,7 @@ def rb_Rational(num, den)
13101310
end
13111311

13121312
def rb_rational_raw(num, den)
1313-
Rational.new_already_canonical(num, den)
1313+
Rational.__send__(:new_already_canonical, num, den)
13141314
end
13151315

13161316
def rb_rational_new(num, den)

src/main/ruby/truffleruby/core/complex.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ def ** (other)
197197
z
198198
else
199199
if defined? Rational
200-
(Rational.new_already_canonical(1, 1) / self) ** -other
200+
(Rational.__send__(:new_already_canonical, 1, 1) / self) ** -other
201201
else
202202
self ** Float(other)
203203
end

src/main/ruby/truffleruby/core/float.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ def rationalize(eps=undefined)
134134
f = Math.ldexp(f, Float::MANT_DIG).to_i
135135
n -= Float::MANT_DIG
136136

137-
Rational.new_already_canonical(2 * f, 1 << (1 - n)).rationalize(Rational.new_already_canonical(1, 1 << (1 - n)))
137+
Rational.__send__(:new_already_canonical, 2 * f, 1 << (1 - n)).rationalize(Rational.__send__(:new_already_canonical, 1, 1 << (1 - n)))
138138
else
139139
to_r.rationalize(eps)
140140
end

src/main/ruby/truffleruby/core/integer.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def **(o)
5151
if (Primitive.object_kind_of?(o, Float) || Primitive.object_kind_of?(o, Rational)) && self < 0 && o != o.round
5252
return Complex.new(self, 0) ** o
5353
elsif Primitive.object_kind_of?(o, Integer) && o < 0
54-
return Rational.new_already_canonical(self, 1) ** o
54+
return Rational.__send__(:new_already_canonical, self, 1) ** o
5555
elsif Primitive.object_kind_of?(o, Integer) && o > 0
5656
return self ** o.to_f
5757
end

src/main/ruby/truffleruby/core/rational.rb

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ class Rational < Numeric
4141
class << self
4242
alias_method :new_already_canonical, :new
4343
undef_method :new
44+
private :new_already_canonical
4445
end
4546

4647
def *(other)
@@ -72,19 +73,19 @@ def **(other)
7273
raise ZeroDivisionError, 'divided by 0' if self == 0
7374
Rational(@denominator ** -other, @numerator ** -other)
7475
elsif other == 0
75-
Rational.new_already_canonical(1, 1)
76+
Rational.__send__(:new_already_canonical, 1, 1)
7677
end
7778
else
7879
if self == 0
7980
if other < 0
8081
raise ZeroDivisionError, 'divided by 0'
8182
elsif other > 0
82-
Rational.new_already_canonical(0, 1)
83+
Rational.__send__(:new_already_canonical, 0, 1)
8384
end
8485
elsif self == 1
85-
Rational.new_already_canonical(1, 1)
86+
Rational.__send__(:new_already_canonical, 1, 1)
8687
elsif self == -1
87-
Rational.new_already_canonical(other.even? ? 1 : -1, 1)
88+
Rational.__send__(:new_already_canonical, other.even? ? 1 : -1, 1)
8889
else
8990
to_f ** other
9091
end
@@ -181,7 +182,7 @@ def ==(other)
181182
def abs
182183
return self if @numerator >= 0
183184

184-
Rational.new_already_canonical(-@numerator, @denominator)
185+
Rational.__send__(:new_already_canonical, -@numerator, @denominator)
185186
end
186187

187188
def ceil(precision = 0)
@@ -195,7 +196,7 @@ def ceil(precision = 0)
195196
def coerce(other)
196197
case other
197198
when Integer
198-
[Rational.new_already_canonical(other, 1), self]
199+
[Rational.__send__(:new_already_canonical, other, 1), self]
199200
when Float
200201
[other, self.to_f]
201202
when Rational
@@ -268,7 +269,7 @@ def rationalize(eps = undefined)
268269
end
269270

270271
# The rational number is guaranteed to be in lowest terms.
271-
Rational.new_already_canonical(c * p1 + p0, c * q1 + q0)
272+
Rational.__send__(:new_already_canonical, c * p1 + p0, c * q1 + q0)
272273
end
273274

274275
def round(precision = 0, half: nil)
@@ -378,7 +379,7 @@ def self.reduce(num, den)
378379
end
379380

380381
if den == 1
381-
return new_already_canonical(num, den)
382+
return Rational.__send__(:new_already_canonical, num, den)
382383
end
383384
when Numeric
384385
den = den.to_i
@@ -390,7 +391,7 @@ def self.reduce(num, den)
390391
num = num / gcd
391392
den = den / gcd
392393

393-
new_already_canonical(num, den)
394+
Rational.__send__(:new_already_canonical, num, den)
394395
end
395396
private_class_method :reduce
396397

src/main/ruby/truffleruby/core/rationalizer.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def convert
5454
ifp, exp = nu.split(/[eE]/)
5555
ip, fp = ifp.split(/\./)
5656

57-
value = Rational.new_already_canonical(ip.to_i, 1)
57+
value = Rational.__send__(:new_already_canonical, ip.to_i, 1)
5858

5959
if fp
6060
ctype = Truffle::CType

0 commit comments

Comments
 (0)