def testIsPrime(self):
    limit = 100
    primes = intalg.primes_upto(limit)
    self.assertEquals(97, primes[-1])
    primes2 = [n for n in xrange(limit + 1) if intalg.is_prime(n)]
    self.assertEquals(primes, primes2)
    self.assertEquals('True', repr(intalg.is_prime(97)))
    self.assertEquals('False', repr(intalg.is_prime(98)))
    self.assertEquals('False', repr(intalg.is_prime(99)))
    self.assertEquals('False', repr(intalg.is_prime(100)))

    self.assertEquals([1], intalg._prime_cache_limit_ary[:])
    intalg.prime_index(257)
    self.assertEquals([512], intalg._prime_cache_limit_ary[:])
    primes3 = [n for n in xrange(99) if intalg.is_prime(n)]
    self.assertEquals(primes, primes3)

    limit = 1009
    primes = intalg.primes_upto(limit)
    self.assertEquals(1009, primes[-1])
    primes2 = [n for n in xrange(limit + 1) if intalg.is_prime(n)]
    self.assertEquals(primes, primes2)

    del intalg._prime_cache[:]
    primes4 = [n for n in xrange(99) if intalg.is_prime(n)]
    self.assertEquals([2], primes4)  # Because of the fake empty _prime_cache.
Example #2
0
    def testIsPrime(self):
        limit = 100
        primes = intalg.primes_upto(limit)
        self.assertEquals(97, primes[-1])
        primes2 = [n for n in xrange(limit + 1) if intalg.is_prime(n)]
        self.assertEquals(primes, primes2)
        self.assertEquals('True', repr(intalg.is_prime(97)))
        self.assertEquals('False', repr(intalg.is_prime(98)))
        self.assertEquals('False', repr(intalg.is_prime(99)))
        self.assertEquals('False', repr(intalg.is_prime(100)))

        self.assertEquals([1], intalg._prime_cache_limit_ary[:])
        intalg.prime_index(257)
        self.assertEquals([512], intalg._prime_cache_limit_ary[:])
        primes3 = [n for n in xrange(99) if intalg.is_prime(n)]
        self.assertEquals(primes, primes3)

        limit = 1009
        primes = intalg.primes_upto(limit)
        self.assertEquals(1009, primes[-1])
        primes2 = [n for n in xrange(limit + 1) if intalg.is_prime(n)]
        self.assertEquals(primes, primes2)

        del intalg._prime_cache[:]
        primes4 = [n for n in xrange(99) if intalg.is_prime(n)]
        self.assertEquals([2],
                          primes4)  # Because of the fake empty _prime_cache.
  def testPrimesUpto(self):
    self.assertEquals([2, 3, 5, 7, 11, 13, 17, 19], intalg.primes_upto(22))
    self.assertEquals([2, 3, 5, 7, 11, 13, 17, 19, 23], intalg.primes_upto(23))
    self.assertEquals([2, 3, 5, 7, 11, 13, 17, 19, 23], intalg.primes_upto(24))
    primes = intalg.primes_upto(100)
    self.assertEquals([1], intalg._prime_cache_limit_ary[:])
    self.assertEquals(None, intalg.prime_index(100))
    self.assertEquals(len(primes) - 1, intalg.prime_index(97))
    self.assertEquals(primes, intalg.primes_upto(100))
    self.assertEquals(primes, intalg.primes_upto(97))

    intalg._prime_cache[:] = [6, 77, 8]
    primes3 = intalg.primes_upto(100)
    self.assertEquals([6, 77, 8], primes3)  # Because of the fake _prime_cache.
Example #4
0
    def testPrimesUpto(self):
        self.assertEquals([2, 3, 5, 7, 11, 13, 17, 19], intalg.primes_upto(22))
        self.assertEquals([2, 3, 5, 7, 11, 13, 17, 19, 23],
                          intalg.primes_upto(23))
        self.assertEquals([2, 3, 5, 7, 11, 13, 17, 19, 23],
                          intalg.primes_upto(24))
        primes = intalg.primes_upto(100)
        self.assertEquals([1], intalg._prime_cache_limit_ary[:])
        self.assertEquals(None, intalg.prime_index(100))
        self.assertEquals(len(primes) - 1, intalg.prime_index(97))
        self.assertEquals(primes, intalg.primes_upto(100))
        self.assertEquals(primes, intalg.primes_upto(97))

        intalg._prime_cache[:] = [6, 77, 8]
        primes3 = intalg.primes_upto(100)
        self.assertEquals([6, 77, 8],
                          primes3)  # Because of the fake _prime_cache.
  def testFirstPrimes(self):
    self.assertEquals([], intalg.first_primes(0))
    self.assertEquals([2], intalg.first_primes(1))
    self.assertEquals([2, 3, 5, 7, 11, 13, 17, 19],
                      intalg.first_primes(8))
    self.assertEquals([2, 3, 5, 7, 11, 13, 17, 19, 23],
                      intalg.first_primes(9))
    primes = intalg.first_primes(100)
    self.assertEquals(100, len(primes))
    self.assertEquals([1], intalg._prime_cache_limit_ary[:])
    self.assertEquals(len(primes) - 1, intalg.prime_index(primes[-1]))
    self.assertEquals([1024], intalg._prime_cache_limit_ary[:])
    primes2 = intalg.first_primes(100)
    self.assertEquals(primes, primes2)

    intalg._prime_cache[0] = 6
    primes3 = intalg.first_primes(100)
    primes3_exp = primes2[:]
    primes3_exp[0] = 6
    self.assertEquals(primes3_exp, primes3)  # Because of the fake _prime_cache.
Example #6
0
    def testFirstPrimes(self):
        self.assertEquals([], intalg.first_primes(0))
        self.assertEquals([2], intalg.first_primes(1))
        self.assertEquals([2, 3, 5, 7, 11, 13, 17, 19], intalg.first_primes(8))
        self.assertEquals([2, 3, 5, 7, 11, 13, 17, 19, 23],
                          intalg.first_primes(9))
        primes = intalg.first_primes(100)
        self.assertEquals(100, len(primes))
        self.assertEquals([1], intalg._prime_cache_limit_ary[:])
        self.assertEquals(len(primes) - 1, intalg.prime_index(primes[-1]))
        self.assertEquals([1024], intalg._prime_cache_limit_ary[:])
        primes2 = intalg.first_primes(100)
        self.assertEquals(primes, primes2)

        intalg._prime_cache[0] = 6
        primes3 = intalg.first_primes(100)
        primes3_exp = primes2[:]
        primes3_exp[0] = 6
        self.assertEquals(primes3_exp,
                          primes3)  # Because of the fake _prime_cache.
 def testPrimeIndex(self):
   self.assertEquals(2, intalg.prime_index(5))
   self.assertEquals([256], intalg._prime_cache_limit_ary[:])
   self.assertEquals(2, intalg.prime_index(5))
   self.assertEquals(None, intalg.prime_index(4))
   self.assertEquals(1, intalg.prime_index(3))
   self.assertEquals(0, intalg.prime_index(2))
   self.assertEquals(None, intalg.prime_index(1))
   self.assertEquals(None, intalg.prime_index(0))
   self.assertEquals(None, intalg.prime_index(255))
   self.assertEquals(len(intalg._prime_cache) - 1, intalg.prime_index(251))
   self.assertEquals(len(intalg._prime_cache) - 1, intalg.prime_index(251))
   self.assertEquals([256], intalg._prime_cache_limit_ary[:])
   # Grows the cache.
   self.assertEquals(intalg.prime_index(251) + 1, intalg.prime_index(257))
   self.assertEquals([512], intalg._prime_cache_limit_ary[:])
   self.assertEquals(intalg.prime_index(251) + 1, intalg.prime_index(257, 600))
   self.assertEquals([512], intalg._prime_cache_limit_ary[:])
   self.assertEquals(None, intalg.prime_index(600, 600))
   self.assertEquals([600], intalg._prime_cache_limit_ary[:])
   self.assertEquals(109, intalg.prime_index(601, limit=155))
   self.assertEquals([620], intalg._prime_cache_limit_ary[:])
Example #8
0
 def testPrimeIndex(self):
     self.assertEquals(2, intalg.prime_index(5))
     self.assertEquals([256], intalg._prime_cache_limit_ary[:])
     self.assertEquals(2, intalg.prime_index(5))
     self.assertEquals(None, intalg.prime_index(4))
     self.assertEquals(1, intalg.prime_index(3))
     self.assertEquals(0, intalg.prime_index(2))
     self.assertEquals(None, intalg.prime_index(1))
     self.assertEquals(None, intalg.prime_index(0))
     self.assertEquals(None, intalg.prime_index(255))
     self.assertEquals(
         len(intalg._prime_cache) - 1, intalg.prime_index(251))
     self.assertEquals(
         len(intalg._prime_cache) - 1, intalg.prime_index(251))
     self.assertEquals([256], intalg._prime_cache_limit_ary[:])
     # Grows the cache.
     self.assertEquals(intalg.prime_index(251) + 1, intalg.prime_index(257))
     self.assertEquals([512], intalg._prime_cache_limit_ary[:])
     self.assertEquals(
         intalg.prime_index(251) + 1, intalg.prime_index(257, 600))
     self.assertEquals([512], intalg._prime_cache_limit_ary[:])
     self.assertEquals(None, intalg.prime_index(600, 600))
     self.assertEquals([600], intalg._prime_cache_limit_ary[:])
     self.assertEquals(109, intalg.prime_index(601, limit=155))
     self.assertEquals([620], intalg._prime_cache_limit_ary[:])