()
| 1444 | binary_op_zero_division() |
| 1445 | |
| 1446 | def binary_op_nan(): |
| 1447 | def compactlong_lhs(arg): |
| 1448 | return ( |
| 1449 | 42 + arg, |
| 1450 | 42 - arg, |
| 1451 | 42 * arg, |
| 1452 | 42 / arg, |
| 1453 | ) |
| 1454 | def compactlong_rhs(arg): |
| 1455 | return ( |
| 1456 | arg + 42, |
| 1457 | arg - 42, |
| 1458 | arg * 2, |
| 1459 | arg / 42, |
| 1460 | ) |
| 1461 | nan = float('nan') |
| 1462 | for _ in range(_testinternalcapi.SPECIALIZATION_THRESHOLD): |
| 1463 | self.assertEqual(compactlong_lhs(1.0), (43.0, 41.0, 42.0, 42.0)) |
| 1464 | for _ in range(_testinternalcapi.SPECIALIZATION_COOLDOWN): |
| 1465 | self.assertTrue(all(filter(lambda x: x is nan, compactlong_lhs(nan)))) |
| 1466 | for _ in range(_testinternalcapi.SPECIALIZATION_THRESHOLD): |
| 1467 | self.assertEqual(compactlong_rhs(42.0), (84.0, 0.0, 84.0, 1.0)) |
| 1468 | for _ in range(_testinternalcapi.SPECIALIZATION_COOLDOWN): |
| 1469 | self.assertTrue(all(filter(lambda x: x is nan, compactlong_rhs(nan)))) |
| 1470 | |
| 1471 | self.assert_no_opcode(compactlong_lhs, "BINARY_OP_EXTEND") |
| 1472 | self.assert_no_opcode(compactlong_rhs, "BINARY_OP_EXTEND") |
| 1473 | |
| 1474 | binary_op_nan() |
| 1475 |
nothing calls this directly
no test coverage detected