(self)
| 946 | self.assertRaises(TypeError, operator.mod, Symbolic('X'), F(2, 3)) |
| 947 | |
| 948 | def testMixedPower(self): |
| 949 | # ** has more interesting conversion rules. |
| 950 | self.assertTypedEquals(F(100, 1), F(1, 10) ** -2) |
| 951 | self.assertTypedEquals(F(100, 1), F(10, 1) ** 2) |
| 952 | self.assertTypedEquals(0.1, F(1, 10) ** 1.0) |
| 953 | self.assertTypedEquals(0.1 + 0j, F(1, 10) ** (1.0 + 0j)) |
| 954 | self.assertTypedEquals(4 , 2 ** F(2, 1)) |
| 955 | z = pow(-1, F(1, 2)) |
| 956 | self.assertAlmostEqual(0, z.real) |
| 957 | self.assertEqual(1, z.imag) |
| 958 | self.assertTypedEquals(F(1, 4) , 2 ** F(-2, 1)) |
| 959 | self.assertTypedEquals(2.0 , 4 ** F(1, 2)) |
| 960 | self.assertTypedEquals(0.25, 2.0 ** F(-2, 1)) |
| 961 | self.assertTypedEquals(1.0 + 0j, (1.0 + 0j) ** F(1, 10)) |
| 962 | self.assertRaises(ZeroDivisionError, operator.pow, |
| 963 | F(0, 1), -2) |
| 964 | |
| 965 | self.assertTypedEquals(F(3, 2) ** Rat(3, 1), F(27, 8)) |
| 966 | self.assertTypedEquals(F(3, 2) ** Rat(-3, 1), F(8, 27)) |
| 967 | self.assertTypedEquals(F(-3, 2) ** Rat(-3, 1), F(-8, 27)) |
| 968 | self.assertTypedEquals(F(9, 4) ** Rat(3, 2), 3.375) |
| 969 | self.assertIsInstance(F(4, 9) ** Rat(-3, 2), float) |
| 970 | self.assertAlmostEqual(F(4, 9) ** Rat(-3, 2), 3.375) |
| 971 | self.assertAlmostEqual(F(-4, 9) ** Rat(-3, 2), 3.375j) |
| 972 | self.assertTypedEquals(Rat(9, 4) ** F(3, 2), 3.375) |
| 973 | self.assertTypedEquals(Rat(3, 2) ** F(3, 1), Rat(27, 8)) |
| 974 | self.assertTypedEquals(Rat(3, 2) ** F(-3, 1), F(8, 27)) |
| 975 | self.assertIsInstance(Rat(4, 9) ** F(-3, 2), float) |
| 976 | self.assertAlmostEqual(Rat(4, 9) ** F(-3, 2), 3.375) |
| 977 | |
| 978 | self.assertTypedEquals(Root(4) ** F(2, 3), Root(4, 3.0)) |
| 979 | self.assertTypedEquals(Root(4) ** F(2, 1), Root(4, F(1))) |
| 980 | self.assertTypedEquals(Root(4) ** F(-2, 1), Root(4, -F(1))) |
| 981 | self.assertTypedEquals(Root(4) ** F(-2, 3), Root(4, -3.0)) |
| 982 | self.assertEqual(F(3, 2) ** SymbolicReal('X'), SymbolicReal('3/2 ** X')) |
| 983 | self.assertEqual(SymbolicReal('X') ** F(3, 2), SymbolicReal('X ** 1.5')) |
| 984 | |
| 985 | self.assertTypedEquals(F(3, 2) ** Rect(2, 0), Polar(F(9,4), 0.0)) |
| 986 | self.assertTypedEquals(F(1, 1) ** Rect(2, 3), Polar(F(1), 0.0)) |
| 987 | self.assertTypedEquals(F(3, 2) ** RectComplex(2, 0), Polar(2.25, 0.0)) |
| 988 | self.assertTypedEquals(F(1, 1) ** RectComplex(2, 3), Polar(1.0, 0.0)) |
| 989 | self.assertTypedEquals(Polar(4, 2) ** F(3, 2), Polar(8.0, 3.0)) |
| 990 | self.assertTypedEquals(Polar(4, 2) ** F(3, 1), Polar(64, 6)) |
| 991 | self.assertTypedEquals(Polar(4, 2) ** F(-3, 1), Polar(0.015625, -6)) |
| 992 | self.assertTypedEquals(Polar(4, 2) ** F(-3, 2), Polar(0.125, -3.0)) |
| 993 | self.assertEqual(F(3, 2) ** SymbolicComplex('X'), SymbolicComplex('3/2 ** X')) |
| 994 | self.assertEqual(SymbolicComplex('X') ** F(3, 2), SymbolicComplex('X ** 1.5')) |
| 995 | |
| 996 | self.assertEqual(F(3, 2) ** Symbolic('X'), Symbolic('3/2 ** X')) |
| 997 | self.assertEqual(Symbolic('X') ** F(3, 2), Symbolic('X ** 1.5')) |
| 998 | |
| 999 | def testMixingWithDecimal(self): |
| 1000 | # Decimal refuses mixed arithmetic (but not mixed comparisons) |
nothing calls this directly
no test coverage detected