code: def test_bug705231(self):
      # -1.0 raised to an integer should never blow up.  It did if the
      # platform pow() was buggy, and Python didn't worm around it.
      eq = self.assertEqual
      a = -1.0
      # The next two tests can still fail if the platform floor()
      # function doesn't treat all large inputs as integers
      # test_math should also fail if that is happening
      eq(pow(a, 1.23e167), 1.0)
      eq(pow(a, -1.23e167), 1.0)
      for b in range(-10, 11):
          eq(pow(a, float(b)), b & 1 and -1.0 or 1.0)
      for n in range(0, 100):
          fiveto = float(5**n)
          # For small n, fiveto will be odd.  Eventually we run out of
          # mantissa bits, though, and thereafer fiveto will be even.
          expected = fiveto % 2.0 and -1.0 or 1.0
          eq(pow(a, fiveto), expected)
          eq(pow(a, -fiveto), expected)
      eq(expected, 1.0)
  
file_path: cpython/Lib/test/test_pow.py
imports: import math
  import unittest
label_desc: Use image node_id 7 for calling the PowTest obj's underlying member method code with example usage: obj.test_bug705231() without return types