"> % irb -r complex -r rational > irb(main):001:0> 1/Complex(Rational(3,2),1) > Complex(Rational(6, 13), Rational(-4, 13)) Yup, but you can (in fact should) templatize your C++ - complex library ... Ruby does not have any significant advantage here over C++. Christoph