def test_power_recursive_log(self): print("power_recursive_log") self.assertEqual(1, Exponentiation.power_recursive_log(0.0, 0)) self.assertEqual(1024, Exponentiation.power_recursive_log(2, 10)) self.assertEqual(15.625, Exponentiation.power_recursive_log(2.5, 3)) self.assertEqual(81129638414606681695789005144064.0, Exponentiation.power_recursive_log(2, 106))
def test_power_recursive_log_time(self): print("Time of recursive logarithmic exponentiation (O(log(n)): "), start = time.clock() counter5 = 0 for i in range(1, 3000): counter5 += Exponentiation.power_recursive_log(13, i) end = time.clock() print(str(end - start) + " s\n") self.assertEqual(self.result, counter5)