Numeric is a built-in class on which Fixnum, Bignum, etc., are based. Here some methods are added so that all number types can be treated to some extent as Complex numbers.
See Complex#arg.
# File complex.rb, line 60
def arg
if self > 0 || (self == 0 && self.to_s != '-0.0') # This string comparison stuff is gross. Better way?
return 0
elsif self.to_f.nan?
return self
else
return Math::PI
end
end
See Complex#conjugate (short answer: returns self).
# File complex.rb, line 81
def conjugate
self
end
Returns a Complex number
(0,self).
# File complex.rb, line 38
def im
Complex(0, self)
end
The imaginary part of a complex number, i.e. 0.
# File complex.rb, line 52
def image
0
end
See Complex#polar.
# File complex.rb, line 74
def polar
return abs, arg
end