From: Tommy Nordgren Date: 2007-12-30T02:18:36+09:00 Subject: Bug in ruby complex module: Transcript : emac$ irb >> require 'complex' => true >> cc = Complex(Float::MAX/2, Float::MAX / 2) => Complex(8.98846567431158e+307, 8.98846567431158e+307) >> cc / cc => Complex(NaN, NaN) >> require 'cpfixup' => true >> cc / cc => Complex(1.0, 0.0) >> exit Work Directory: ~ : emac$ Th source of the fix (in a file called 'cpfixup.rb' in my home directory is require 'complex' class Complex < Numeric def / (other) if other.kind_of?(Complex) magn = other.abs tmp = Complex.new(other.real/magn , other.image/magn) self * tmp.conjugate / magn elsif Complex.generic?(other) Complex(@real/other, @image/other) else x, y = other.coerce(self) x / y end end end ------------------------------------ This sig is dedicated to the advancement of Nuclear Power Tommy Nordgren tommy.nordgren@comhem.se