Current section
Files
Jump to
Current section
Files
lib/rational_math.ex
defprotocol RationalMath do
def a + b
def a - b
def a * b
def a / b
def a ** b
end
defimpl RationalMath, for: [Rational, Integer, Float] do
def a + b, do: Rational.op(a, b, :+)
def a - b, do: Rational.op(a, b, :-)
def a * b, do: Rational.op(a, b, :*)
def a / b, do: Rational.op(a, b, :/)
def a ** b, do: Rational.op(a, b, :**)
end