= private = protected
sqrt(a)
Computes the square root of a. It makes use of Complex and Rational to have no rounding errors if possible.
Math.sqrt(4/9) # => 2/3 Math.sqrt(- 4/9) # => Complex(0, 2/3) Math.sqrt(4.0/9.0) # => 0.666666666666667
# File lib/mathn.rb, line 104 def sqrt(a) if a.kind_of?(Complex) sqrt!(a) elsif a.respond_to?(:nan?) and a.nan? a elsif a >= 0 rsqrt(a) else Complex(0,rsqrt(-a)) end end