Permalink
Browse files

Reverse default arguments for Rubinius::Type.coerce_to_float

  • Loading branch information...
1 parent 6d1467d commit ecfcabcab642a9942489beab8ae08ceafdc1e6b8 @zaeleus zaeleus committed Apr 17, 2012
@@ -10,7 +10,7 @@ def self.pattern(size, str)
end
def to_f
- Rubinius::Type::coerce_to_float self
+ Rubinius::Type::coerce_to_float self, false, false
end
alias_method :convert_float, :to_f
@@ -12,7 +12,7 @@ def self.coerce_to_array(obj)
return obj.to_a
end
- def self.coerce_to_float(obj, strict=false, must_be_numeric=false)
+ def self.coerce_to_float(obj, strict=true, must_be_numeric=true)
case obj
when String
value = Rubinius.invoke_primitive :string_to_f, obj, strict
@@ -13,7 +13,7 @@ def self.coerce_to_array(obj)
return [obj]
end
- def self.coerce_to_float(obj, strict=false, must_be_numeric=false)
+ def self.coerce_to_float(obj, strict=true, must_be_numeric=true)
if !must_be_numeric && object_kind_of?(obj, String)
value = Rubinius.invoke_primitive :string_to_f, obj, strict
raise ArgumentError, "invalid value for Float" if value.nil?
@@ -132,7 +132,7 @@ def Float(obj)
when Float
obj
when String
- Rubinius::Type.coerce_to_float(obj, true)
+ Rubinius::Type.coerce_to_float(obj, true, false)
else
coerced_value = Rubinius::Type.coerce_to(obj, Float, :to_f)
if coerced_value.nan?
@@ -220,7 +220,7 @@ def Float(obj)
when Float
obj
when String
- Rubinius::Type.coerce_to_float(obj, true)
+ Rubinius::Type.coerce_to_float(obj, true, false)
else
Rubinius::Type.coerce_to(obj, Float, :to_f)
end
View
@@ -15,25 +15,25 @@ class DomainError < SystemCallError
end
def atan2(y, x)
- y = Rubinius::Type.coerce_to_float y, true, true
- x = Rubinius::Type.coerce_to_float x, true, true
+ y = Rubinius::Type.coerce_to_float y
+ x = Rubinius::Type.coerce_to_float x
FFI::Platform::Math.atan2 y, x
end
def cos(x)
- FFI::Platform::Math.cos Rubinius::Type.coerce_to_float(x, true, true)
+ FFI::Platform::Math.cos Rubinius::Type.coerce_to_float(x)
end
def sin(x)
- FFI::Platform::Math.sin Rubinius::Type.coerce_to_float(x, true, true)
+ FFI::Platform::Math.sin Rubinius::Type.coerce_to_float(x)
end
def tan(x)
- FFI::Platform::Math.tan Rubinius::Type.coerce_to_float(x, true, true)
+ FFI::Platform::Math.tan Rubinius::Type.coerce_to_float(x)
end
def acos(x)
- x = Rubinius::Type.coerce_to_float(x, true, true)
+ x = Rubinius::Type.coerce_to_float(x)
raise DomainError, 'acos' unless x.abs <= 1.0
@@ -45,43 +45,43 @@ def acos(x)
end
def asin(x)
- x = Rubinius::Type.coerce_to_float(x, true, true)
+ x = Rubinius::Type.coerce_to_float(x)
raise DomainError, 'asin' unless x.abs <= 1.0
FFI::Platform::Math.asin x
end
def atan(x)
- FFI::Platform::Math.atan Rubinius::Type.coerce_to_float(x, true, true)
+ FFI::Platform::Math.atan Rubinius::Type.coerce_to_float(x)
end
def cosh(x)
- FFI::Platform::Math.cosh Rubinius::Type.coerce_to_float(x, true, true)
+ FFI::Platform::Math.cosh Rubinius::Type.coerce_to_float(x)
end
def sinh(x)
- FFI::Platform::Math.sinh Rubinius::Type.coerce_to_float(x, true, true)
+ FFI::Platform::Math.sinh Rubinius::Type.coerce_to_float(x)
end
def tanh(x)
- FFI::Platform::Math.tanh Rubinius::Type.coerce_to_float(x, true, true)
+ FFI::Platform::Math.tanh Rubinius::Type.coerce_to_float(x)
end
def acosh(x)
- x = Rubinius::Type.coerce_to_float(x, true, true)
+ x = Rubinius::Type.coerce_to_float(x)
raise DomainError, 'acosh' unless x >= 1.0
FFI::Platform::Math.acosh x
end
def asinh(x)
- FFI::Platform::Math.asinh Rubinius::Type.coerce_to_float(x, true, true)
+ FFI::Platform::Math.asinh Rubinius::Type.coerce_to_float(x)
end
# This is wierd, but we need to only do the ERANGE check if
# there is an ERANGE.
if Errno.const_defined?(:ERANGE)
def atanh(x)
- x = Rubinius::Type.coerce_to_float(x, true, true)
+ x = Rubinius::Type.coerce_to_float(x)
raise DomainError, 'atanh' unless x.abs <= 1.0
FFI::Platform::POSIX.errno = 0
@@ -101,7 +101,7 @@ def atanh(x)
else
def atanh(x)
- x = Rubinius::Type.coerce_to_float(x, true, true)
+ x = Rubinius::Type.coerce_to_float(x)
raise DomainError, 'atanh' unless x.abs <= 1.0
FFI::Platform::POSIX.errno = 0
@@ -114,29 +114,29 @@ def atanh(x)
end
def exp(x)
- FFI::Platform::Math.exp Rubinius::Type.coerce_to_float(x, true, true)
+ FFI::Platform::Math.exp Rubinius::Type.coerce_to_float(x)
end
def log2(x)
- x = Rubinius::Type.coerce_to_float(x, true, true)
+ x = Rubinius::Type.coerce_to_float(x)
raise DomainError, 'log2' unless x >= 0.0
FFI::Platform::Math.log2 x
end
def log10(x)
- x = Rubinius::Type.coerce_to_float(x, true, true)
+ x = Rubinius::Type.coerce_to_float(x)
raise DomainError, 'log10' unless x >= 0.0
FFI::Platform::Math.log10 x
end
def sqrt(x)
- x = Rubinius::Type.coerce_to_float(x, true, true)
+ x = Rubinius::Type.coerce_to_float(x)
raise DomainError, 'sqrt' unless x >= 0.0
FFI::Platform::Math.sqrt x
end
def frexp(x)
- x = Rubinius::Type.coerce_to_float(x, true, true)
+ x = Rubinius::Type.coerce_to_float(x)
FFI::MemoryPointer.new :int do |exp|
result = FFI::Platform::Math.frexp x, exp
[result, exp.read_int]
@@ -146,7 +146,7 @@ def frexp(x)
def ldexp(x, n)
n = Rubinius::Type.coerce_to(n, Integer, :to_int)
- FFI::Platform::Math.ldexp Rubinius::Type.coerce_to_float(x, true, true), n
+ FFI::Platform::Math.ldexp Rubinius::Type.coerce_to_float(x), n
end
# Rubinius-specific, used in Marshal
@@ -158,16 +158,16 @@ def modf(x)
end
def hypot(x, y)
- x = Rubinius::Type.coerce_to_float x, true, true
- y = Rubinius::Type.coerce_to_float y, true, true
+ x = Rubinius::Type.coerce_to_float x
+ y = Rubinius::Type.coerce_to_float y
FFI::Platform::Math.hypot x, y
end
def erf(x)
- FFI::Platform::Math.erf Rubinius::Type.coerce_to_float(x, true, true)
+ FFI::Platform::Math.erf Rubinius::Type.coerce_to_float(x)
end
def erfc(x)
- FFI::Platform::Math.erfc Rubinius::Type.coerce_to_float(x, true, true)
+ FFI::Platform::Math.erfc Rubinius::Type.coerce_to_float(x)
end
end
@@ -2,7 +2,7 @@
module Math
def log(x)
- x = Rubinius::Type.coerce_to_float(x, true, true)
+ x = Rubinius::Type.coerce_to_float(x)
raise DomainError, 'log' unless x >= 0.0
FFI::Platform::Math.log x
end
@@ -28,11 +28,11 @@ module Math
]
def cbrt(x)
- x = Rubinius::Type.coerce_to_float x, true, true
+ x = Rubinius::Type.coerce_to_float x
end
def gamma(x)
- x = Rubinius::Type.coerce_to_float x, true, true
+ x = Rubinius::Type.coerce_to_float x
return Float::INFINITY if x == 0.0
return Float::NAN if x.nan?
@@ -57,7 +57,7 @@ def gamma(x)
end
def lgamma(x)
- x = Rubinius::Type.coerce_to_float x, true, true
+ x = Rubinius::Type.coerce_to_float x
if sign = x.infinite?
raise DomainError, "lgamma" if sign == -1
@@ -72,12 +72,12 @@ def lgamma(x)
end
def log(x, base=undefined)
- x = Rubinius::Type.coerce_to_float x, true, true
+ x = Rubinius::Type.coerce_to_float x
raise DomainError, 'log' unless x >= 0.0
return -Float::INFINITY if x == 0.0
y = FFI::Platform::Math.log x
unless base.equal? undefined
- base = Rubinius::Type.coerce_to_float base, true, true
+ base = Rubinius::Type.coerce_to_float base
y /= log(base)
end
y

0 comments on commit ecfcabc

Please sign in to comment.