def testRootFloor(self): self.assertEquals((41**3, True), intalg.root_floor(41**6, 2)) self.assertEquals((41**2, True), intalg.root_floor(41**6, 3)) self.assertEquals((41, False), intalg.root_floor(42**6 - 30**6, 6)) self.assertEquals((42**2 - 1, False), intalg.root_floor(42**6 - 13**6, 3)) self.assertEquals((10**2500, True), intalg.root_floor(10**5000, 2)) # 10e5000 > max_float. self.assertEquals((2, True), intalg.root_floor(2**1000, 1000)) self.assertEquals((3, True), intalg.root_floor(3**1000, 1000)) self.assertEquals((42**3, True), intalg.root_floor(42**9000, 3000)) for k in (2, 3, 4, 5, 6, 7): for n in xrange(100): r, is_exact = intalg.root_floor(n, k) rk = r**k assert rk <= n < (r + 1)**k assert (rk == n) == is_exact, (n, k, r, is_exact, rk) for k in (2, 3, 4, 5, 6, 7): for ni in xrange(20): n = int(37 + 100000 * 3**ni) r, is_exact = intalg.root_floor(n, k) rk = r**k assert rk <= n < (r + 1)**k assert (rk == n) == is_exact, (n, k, r, is_exact, rk)
def testRootFloor(self): for k in (2, 3, 4, 5, 6, 7): for n in xrange(100000): r, is_exact = intalg.root_floor(n, k) rk = r ** k assert rk <= n < (r + 1) ** k assert (rk == n) == is_exact, (n, k, r, is_exact, rk) for k in (2, 3, 4, 5, 6, 7): for ni in xrange(500): n = int(37 + 100 * 1.5 ** ni) r, is_exact = intalg.root_floor(n, k) rk = r ** k assert rk <= n < (r + 1) ** k assert (rk == n) == is_exact, (n, k, r, is_exact, rk)
def testRootFloor(self): for k in (2, 3, 4, 5, 6, 7): for n in xrange(100000): r, is_exact = intalg.root_floor(n, k) rk = r**k assert rk <= n < (r + 1)**k assert (rk == n) == is_exact, (n, k, r, is_exact, rk) for k in (2, 3, 4, 5, 6, 7): for ni in xrange(500): n = int(37 + 100 * 1.5**ni) r, is_exact = intalg.root_floor(n, k) rk = r**k assert rk <= n < (r + 1)**k assert (rk == n) == is_exact, (n, k, r, is_exact, rk)
def testRootFloor(self): self.assertEquals((41 ** 3, True), intalg.root_floor(41 ** 6, 2)) self.assertEquals((41 ** 2, True), intalg.root_floor(41 ** 6, 3)) self.assertEquals((41, False), intalg.root_floor(42 ** 6 - 30 ** 6, 6)) self.assertEquals((42 ** 2 - 1, False), intalg.root_floor(42 ** 6 - 13 ** 6, 3)) self.assertEquals((10 ** 2500, True), intalg.root_floor(10 ** 5000, 2)) # 10e5000 > max_float. self.assertEquals((2, True), intalg.root_floor(2 ** 1000, 1000)) self.assertEquals((3, True), intalg.root_floor(3 ** 1000, 1000)) self.assertEquals((42 ** 3, True), intalg.root_floor(42 ** 9000, 3000)) for k in (2, 3, 4, 5, 6, 7): for n in xrange(100): r, is_exact = intalg.root_floor(n, k) rk = r ** k assert rk <= n < (r + 1) ** k assert (rk == n) == is_exact, (n, k, r, is_exact, rk) for k in (2, 3, 4, 5, 6, 7): for ni in xrange(20): n = int(37 + 100000 * 3 ** ni) r, is_exact = intalg.root_floor(n, k) rk = r ** k assert rk <= n < (r + 1) ** k assert (rk == n) == is_exact, (n, k, r, is_exact, rk)