core :: Numeric :: *
self
i
# Multiplication of `self` with `i` fun *(i: OTHER): OTHER is abstract
redef fun *(i) is intern
# assert("3/2".to_r * 2.to_r == 3.to_r) redef fun *(r) do var res = new NativeMPQ val.mul(res, r.val) return new Ratio(res) end
# assert(2.to_bi * 2.to_bi == 4.to_bi) redef fun *(i) do var res = new NativeMPZ val.mul(res, i.val) return new BigInt(res) end