MCPcopy Index your code
hub / github.com/python/cpython / binary_op_nan

Method binary_op_nan

Lib/test/test_opcache.py:1446–1472  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 4

assertTrueMethod · 0.80
assert_no_opcodeMethod · 0.80
filterFunction · 0.50
assertEqualMethod · 0.45

Tested by

no test coverage detected