Beispiel #1
0
    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)
Beispiel #3
0
    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)