1234567891011121314151617181920212223242526272829303132333435363738 |
- #!/usr/bin/ruby
- include('../lib/bacovia.sf')
- var a = Fraction(3, 4)
- var b = Fraction(5, 6)
- assert_eq(a+b, Fraction(38, 24))
- assert_eq(a*b, Fraction(15, 24))
- assert_eq(a/b, Fraction(18, 20))
- assert_eq(a-b, Fraction(-2, 24))
- assert_eq(a**b, Power(a, b))
- #assert_eq(a * Log(b), Fraction(Product(Log(Fraction(5, 6)), 3), 4))
- #assert_eq(a * Exp(b), Fraction(Product(Exp(Fraction(5, 6)), 3), 4))
- assert_eq(a * Log(b), Product(Fraction(3, 4), Log(Fraction(5, 6))))
- assert_eq(a * Exp(b), Product(Fraction(3, 4), Exp(Fraction(5, 6))))
- assert_eq(Exp(Exp(Log(5))).simple, Exp(5))
- assert_eq(a / Log(b), Fraction(Fraction(3, 4), Log(Fraction(5, 6))))
- #assert_eq(a / Log(b), Fraction(3, Product(4, Log(Fraction(5, 6)))))
- assert_eq(a / Exp(b), Fraction(Fraction(3, 4), Exp(Fraction(5, 6))))
- #assert_eq(a / Exp(b), Fraction(3, Product(4, Exp(Fraction(5, 6)))))
- assert_eq(-Log(b), Log(Fraction(6, 5)))
- assert_eq(Exp(b).inv, Exp(Fraction(-5, 6)))
- assert_eq(Log(a)+Log(b), Log(a*b))
- assert_eq(Exp(a)*Exp(b), Exp(a+b))
- assert_eq(Exp(Exp(Exp(Log(Log(Log(a)))))).simple, 3/4)
- say "** Test passed!"
|