Lines Matching refs:F
13 F = fractions.Fraction variable
31 return op(F.from_float(self.value), other)
132 self.assertEqual((0, 1), _components(F()))
133 self.assertEqual((7, 1), _components(F(7)))
134 self.assertEqual((7, 3), _components(F(F(7, 3))))
136 self.assertEqual((-1, 1), _components(F(-1, 1)))
137 self.assertEqual((-1, 1), _components(F(1, -1)))
138 self.assertEqual((1, 1), _components(F(-2, -2)))
139 self.assertEqual((1, 2), _components(F(5, 10)))
140 self.assertEqual((7, 15), _components(F(7, 15)))
141 self.assertEqual((10**23, 1), _components(F(10**23)))
143 self.assertEqual((3, 77), _components(F(F(3, 7), 11)))
144 self.assertEqual((-9, 5), _components(F(2, F(-10, 9))))
145 self.assertEqual((2486, 2485), _components(F(F(22, 7), F(355, 113))))
148 F, 12, 0)
149 self.assertRaises(TypeError, F, 1.5 + 3j)
151 self.assertRaises(TypeError, F, "3/2", 3)
152 self.assertRaises(TypeError, F, 3, 0j)
153 self.assertRaises(TypeError, F, 3, 1j)
157 self.assertEqual((5, 2), _components(F(2.5)))
158 self.assertEqual((0, 1), _components(F(-0.0)))
160 _components(F(0.1)))
161 self.assertRaises(TypeError, F, float('nan'))
162 self.assertRaises(TypeError, F, float('inf'))
163 self.assertRaises(TypeError, F, float('-inf'))
167 _components(F(Decimal('1.1'))))
169 _components(F(Decimal('3.5e-2'))))
171 _components(F(Decimal('.000e20'))))
172 self.assertRaises(TypeError, F, Decimal('nan'))
173 self.assertRaises(TypeError, F, Decimal('snan'))
174 self.assertRaises(TypeError, F, Decimal('inf'))
175 self.assertRaises(TypeError, F, Decimal('-inf'))
178 self.assertEqual((5, 1), _components(F("5")))
179 self.assertEqual((3, 2), _components(F("3/2")))
180 self.assertEqual((3, 2), _components(F(" \n +3/2")))
181 self.assertEqual((-3, 2), _components(F("-3/2 ")))
182 self.assertEqual((13, 2), _components(F(" 013/02 \n ")))
183 self.assertEqual((13, 2), _components(F(u" 013/02 \n ")))
185 self.assertEqual((16, 5), _components(F(" 3.2 ")))
186 self.assertEqual((-16, 5), _components(F(u" -3.2 ")))
187 self.assertEqual((-3, 1), _components(F(u" -3. ")))
188 self.assertEqual((3, 5), _components(F(u" .6 ")))
189 self.assertEqual((1, 3125), _components(F("32.e-5")))
190 self.assertEqual((1000000, 1), _components(F("1E+06")))
191 self.assertEqual((-12300, 1), _components(F("-1.23e4")))
192 self.assertEqual((0, 1), _components(F(" .0e+0\t")))
193 self.assertEqual((0, 1), _components(F("-0.000e0")))
198 F, "3/0")
201 F, "3/")
204 F, "/2")
207 F, "3 /2")
211 F, "3/+2")
215 F, "+ 3/2")
219 F, "3a2")
223 F, "3/7.2")
227 F, "3.2/7")
231 F, ".")
234 r = F(7, 3)
247 self.assertNotEqual(F(4, 2), r)
250 self.assertRaises(TypeError, F.from_float, 3+4j)
251 self.assertEqual((10, 1), _components(F.from_float(10)))
253 self.assertEqual((bigint, 1), _components(F.from_float(bigint)))
254 self.assertEqual((0, 1), _components(F.from_float(-0.0)))
255 self.assertEqual((10, 1), _components(F.from_float(10.0)))
256 self.assertEqual((-5, 2), _components(F.from_float(-2.5)))
258 _components(F.from_float(1e23)))
259 self.assertEqual(float(10**23), float(F.from_float(1e23)))
261 _components(F.from_float(3.2)))
262 self.assertEqual(3.2, float(F.from_float(3.2)))
268 F.from_float, inf)
271 F.from_float, -inf)
274 F.from_float, nan)
277 self.assertRaises(TypeError, F.from_decimal, 3+4j)
278 self.assertEqual(F(10, 1), F.from_decimal(10))
279 self.assertEqual(F(0), F.from_decimal(Decimal("-0")))
280 self.assertEqual(F(5, 10), F.from_decimal(Decimal("0.5")))
281 self.assertEqual(F(5, 1000), F.from_decimal(Decimal("5e-3")))
282 self.assertEqual(F(5000), F.from_decimal(Decimal("5e3")))
283 self.assertEqual(1 - F(1, 10**30),
284 F.from_decimal(Decimal("0." + "9" * 30)))
288 F.from_decimal, Decimal("inf"))
291 F.from_decimal, Decimal("-inf"))
294 F.from_decimal, Decimal("nan"))
297 F.from_decimal, Decimal("snan"))
300 rpi = F('3.1415926535897932')
301 self.assertEqual(rpi.limit_denominator(10000), F(355, 113))
302 self.assertEqual(-rpi.limit_denominator(10000), F(-355, 113))
303 self.assertEqual(rpi.limit_denominator(113), F(355, 113))
304 self.assertEqual(rpi.limit_denominator(112), F(333, 106))
305 self.assertEqual(F(201, 200).limit_denominator(100), F(1))
306 self.assertEqual(F(201, 200).limit_denominator(101), F(102, 101))
307 self.assertEqual(F(0).limit_denominator(10000), F(0))
311 F(1).limit_denominator, i)
314 self.assertTypedEquals(-1, math.trunc(F(-11, 10)))
315 self.assertTypedEquals(-1, int(F(-11, 10)))
316 self.assertTypedEquals(1, math.trunc(F(11, 10)))
317 self.assertEqual(False, bool(F(0, 1)))
318 self.assertEqual(True, bool(F(3, 2)))
319 self.assertTypedEquals(0.1, float(F(1, 10)))
325 float(F(long('2'*400+'7'), long('3'*400+'1'))))
327 self.assertTypedEquals(0.1+0j, complex(F(1,10)))
331 self.assertEqual(F(1, 2), F(1, 10) + F(2, 5))
332 self.assertEqual(F(-3, 10), F(1, 10) - F(2, 5))
333 self.assertEqual(F(1, 25), F(1, 10) * F(2, 5))
334 self.assertEqual(F(1, 4), F(1, 10) / F(2, 5))
335 self.assertTypedEquals(2, F(9, 10) // F(2, 5))
336 self.assertTypedEquals(10**23, F(10**23, 1) // F(1))
337 self.assertEqual(F(2, 3), F(-7, 3) % F(3, 2))
338 self.assertEqual(F(8, 27), F(2, 3) ** F(3))
339 self.assertEqual(F(27, 8), F(2, 3) ** F(-3))
340 self.assertTypedEquals(2.0, F(4) ** F(1, 2))
341 self.assertEqual(F(1, 1), +F(1, 1))
343 self.assertRaises(ValueError, pow, F(-1), F(1, 2))
346 self.assertTypedEquals(F(11, 10), F(1, 10) + 1)
347 self.assertTypedEquals(1.1, F(1, 10) + 1.0)
348 self.assertTypedEquals(1.1 + 0j, F(1, 10) + (1.0 + 0j))
349 self.assertTypedEquals(F(11, 10), 1 + F(1, 10))
350 self.assertTypedEquals(1.1, 1.0 + F(1, 10))
351 self.assertTypedEquals(1.1 + 0j, (1.0 + 0j) + F(1, 10))
353 self.assertTypedEquals(F(-9, 10), F(1, 10) - 1)
354 self.assertTypedEquals(-0.9, F(1, 10) - 1.0)
355 self.assertTypedEquals(-0.9 + 0j, F(1, 10) - (1.0 + 0j))
356 self.assertTypedEquals(F(9, 10), 1 - F(1, 10))
357 self.assertTypedEquals(0.9, 1.0 - F(1, 10))
358 self.assertTypedEquals(0.9 + 0j, (1.0 + 0j) - F(1, 10))
360 self.assertTypedEquals(F(1, 10), F(1, 10) * 1)
361 self.assertTypedEquals(0.1, F(1, 10) * 1.0)
362 self.assertTypedEquals(0.1 + 0j, F(1, 10) * (1.0 + 0j))
363 self.assertTypedEquals(F(1, 10), 1 * F(1, 10))
364 self.assertTypedEquals(0.1, 1.0 * F(1, 10))
365 self.assertTypedEquals(0.1 + 0j, (1.0 + 0j) * F(1, 10))
367 self.assertTypedEquals(F(1, 10), F(1, 10) / 1)
368 self.assertTypedEquals(0.1, F(1, 10) / 1.0)
369 self.assertTypedEquals(0.1 + 0j, F(1, 10) / (1.0 + 0j))
370 self.assertTypedEquals(F(10, 1), 1 / F(1, 10))
371 self.assertTypedEquals(10.0, 1.0 / F(1, 10))
372 self.assertTypedEquals(10.0 + 0j, (1.0 + 0j) / F(1, 10))
374 self.assertTypedEquals(0, F(1, 10) // 1)
375 self.assertTypedEquals(0.0, F(1, 10) // 1.0)
376 self.assertTypedEquals(10, 1 // F(1, 10))
377 self.assertTypedEquals(10**23, 10**22 // F(1, 10))
378 self.assertTypedEquals(10.0, 1.0 // F(1, 10))
380 self.assertTypedEquals(F(1, 10), F(1, 10) % 1)
381 self.assertTypedEquals(0.1, F(1, 10) % 1.0)
382 self.assertTypedEquals(F(0, 1), 1 % F(1, 10))
383 self.assertTypedEquals(0.0, 1.0 % F(1, 10))
388 self.assertTypedEquals(F(100, 1), F(1, 10) ** -2)
389 self.assertTypedEquals(F(100, 1), F(10, 1) ** 2)
390 self.assertTypedEquals(0.1, F(1, 10) ** 1.0)
391 self.assertTypedEquals(0.1 + 0j, F(1, 10) ** (1.0 + 0j))
392 self.assertTypedEquals(4 , 2 ** F(2, 1))
394 self.assertRaises(ValueError, pow, (-1), F(1, 2))
395 self.assertTypedEquals(F(1, 4) , 2 ** F(-2, 1))
396 self.assertTypedEquals(2.0 , 4 ** F(1, 2))
397 self.assertTypedEquals(0.25, 2.0 ** F(-2, 1))
398 self.assertTypedEquals(1.0 + 0j, (1.0 + 0j) ** F(1, 10))
405 operator.add, F(3,11), Decimal('3.1415926'))
409 operator.add, Decimal('3.1415926'), F(3,11))
410 self.assertNotEqual(F(5, 2), Decimal('2.5'))
413 self.assertTrue(F(1, 2) < F(2, 3))
414 self.assertFalse(F(1, 2) < F(1, 2))
415 self.assertTrue(F(1, 2) <= F(2, 3))
416 self.assertTrue(F(1, 2) <= F(1, 2))
417 self.assertFalse(F(2, 3) <= F(1, 2))
418 self.assertTrue(F(1, 2) == F(1, 2))
419 self.assertFalse(F(1, 2) == F(1, 3))
420 self.assertFalse(F(1, 2) != F(1, 2))
421 self.assertTrue(F(1, 2) != F(1, 3))
424 self.assertTrue(F(1, 2) == DummyRational(1, 2))
425 self.assertTrue(DummyRational(1, 2) == F(1, 2))
426 self.assertFalse(F(1, 2) == DummyRational(3, 4))
427 self.assertFalse(DummyRational(3, 4) == F(1, 2))
429 self.assertTrue(F(1, 2) < DummyRational(3, 4))
430 self.assertFalse(F(1, 2) < DummyRational(1, 2))
431 self.assertFalse(F(1, 2) < DummyRational(1, 7))
432 self.assertFalse(F(1, 2) > DummyRational(3, 4))
433 self.assertFalse(F(1, 2) > DummyRational(1, 2))
434 self.assertTrue(F(1, 2) > DummyRational(1, 7))
435 self.assertTrue(F(1, 2) <= DummyRational(3, 4))
436 self.assertTrue(F(1, 2) <= DummyRational(1, 2))
437 self.assertFalse(F(1, 2) <= DummyRational(1, 7))
438 self.assertFalse(F(1, 2) >= DummyRational(3, 4))
439 self.assertTrue(F(1, 2) >= DummyRational(1, 2))
440 self.assertTrue(F(1, 2) >= DummyRational(1, 7))
442 self.assertTrue(DummyRational(1, 2) < F(3, 4))
443 self.assertFalse(DummyRational(1, 2) < F(1, 2))
444 self.assertFalse(DummyRational(1, 2) < F(1, 7))
445 self.assertFalse(DummyRational(1, 2) > F(3, 4))
446 self.assertFalse(DummyRational(1, 2) > F(1, 2))
447 self.assertTrue(DummyRational(1, 2) > F(1, 7))
448 self.assertTrue(DummyRational(1, 2) <= F(3, 4))
449 self.assertTrue(DummyRational(1, 2) <= F(1, 2))
450 self.assertFalse(DummyRational(1, 2) <= F(1, 7))
451 self.assertFalse(DummyRational(1, 2) >= F(3, 4))
452 self.assertTrue(DummyRational(1, 2) >= F(1, 2))
453 self.assertTrue(DummyRational(1, 2) >= F(1, 7))
457 y = F(1, 3)
468 self.assertTrue(2 < F(5, 2))
469 self.assertFalse(2 < F(4, 2))
470 self.assertTrue(F(5, 2) < 3)
471 self.assertFalse(F(4, 2) < 2)
473 self.assertTrue(F(1, 2) < 0.6)
474 self.assertFalse(F(1, 2) < 0.4)
475 self.assertTrue(0.4 < F(1, 2))
476 self.assertFalse(0.5 < F(1, 2))
478 self.assertFalse(float('inf') < F(1, 2))
479 self.assertTrue(float('-inf') < F(0, 10))
480 self.assertFalse(float('nan') < F(-3, 7))
481 self.assertTrue(F(1, 2) < float('inf'))
482 self.assertFalse(F(17, 12) < float('-inf'))
483 self.assertFalse(F(144, -89) < float('nan'))
486 self.assertTrue(0.5 <= F(1, 2))
487 self.assertFalse(0.6 <= F(1, 2))
488 self.assertTrue(F(1, 2) <= 0.5)
489 self.assertFalse(F(1, 2) <= 0.4)
490 self.assertTrue(2 <= F(4, 2))
491 self.assertFalse(2 <= F(3, 2))
492 self.assertTrue(F(4, 2) <= 2)
493 self.assertFalse(F(5, 2) <= 2)
495 self.assertFalse(float('inf') <= F(1, 2))
496 self.assertTrue(float('-inf') <= F(0, 10))
497 self.assertFalse(float('nan') <= F(-3, 7))
498 self.assertTrue(F(1, 2) <= float('inf'))
499 self.assertFalse(F(17, 12) <= float('-inf'))
500 self.assertFalse(F(144, -89) <= float('nan'))
504 self.assertFalse(F(10**23) == float(10**23))
506 self.assertFalse(1e23 < float(F(math.trunc(1e23) + 1)))
507 self.assertTrue(1e23 < F(math.trunc(1e23) + 1))
508 self.assertFalse(1e23 <= F(math.trunc(1e23) - 1))
509 self.assertTrue(1e23 > F(math.trunc(1e23) - 1))
510 self.assertFalse(1e23 >= F(math.trunc(1e23) + 1))
513 self.assertFalse(F(10**23) == complex(10**23))
514 self.assertRaises(TypeError, operator.gt, F(10**23), complex(10**23))
515 self.assertRaises(TypeError, operator.le, F(10**23), complex(10**23))
517 x = F(3, 8)
531 self.assertTrue(0.5 == F(1, 2))
532 self.assertFalse(0.6 == F(1, 2))
533 self.assertTrue(F(1, 2) == 0.5)
534 self.assertFalse(F(1, 2) == 0.4)
535 self.assertTrue(2 == F(4, 2))
536 self.assertFalse(2 == F(3, 2))
537 self.assertTrue(F(4, 2) == 2)
538 self.assertFalse(F(5, 2) == 2)
539 self.assertFalse(F(5, 2) == float('nan'))
540 self.assertFalse(float('nan') == F(3, 7))
541 self.assertFalse(F(5, 2) == float('inf'))
542 self.assertFalse(float('-inf') == F(2, 5))
545 self.assertEqual("Fraction(7, 3)", repr(F(7, 3)))
547 repr(F('3.1415926535')))
549 repr(F(1, -10**20)))
550 self.assertEqual("7/3", str(F(7, 3)))
551 self.assertEqual("7", str(F(7, 1)))
554 self.assertEqual(hash(2.5), hash(F(5, 2)))
555 self.assertEqual(hash(10**50), hash(F(10**50)))
556 self.assertNotEqual(hash(float(10**23)), hash(F(10**23)))
561 three = F(3)
563 while abs(s - lasts) > F(1, 10**9):
574 x = F(1)
575 i, lasts, s, fact, num, sign = 0, 0, F(1), 1, 1, 1
576 while abs(s - lasts) > F(1, 10**9):
586 r = F(13, 7)
598 r = F(13, 7)