ó
¡¼™\c           @   s7  d  d l  m Z m Z m Z m Z m Z m Z m Z m Z d  d l	 m
 Z
 d  d l m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z d  d l m Z d  d l m Z d  d l m Z d  d l m Z  d „  Z! d	 „  Z" d
 „  Z# d „  Z$ d „  Z% d „  Z& d „  Z' d „  Z( d „  Z) d S(   iÿÿÿÿ(   t   Sievet   sievet   Symbolt   St   limitt   It   zoot   nan(   t   range(   t   isprimet   totientt   mobiust	   randprimet	   nextprimet	   prevprimet
   primeranget   primepit   primet	   primorialt	   compositet   compositepit   reduced_totient(   t   cycle_length(   t   mr(   t   raises(   t   arrayc           C   sA  t  d ƒ d k s t ‚ t  d ƒ d k s0 t ‚ t  d ƒ d k sH t ‚ t  d ƒ d k s` t ‚ t  d ƒ d k sx t ‚ t  d	 ƒ d
 k s t ‚ t  d ƒ d k s¨ t ‚ t  d ƒ d k sÀ t ‚ t  d ƒ d k sØ t ‚ t  d ƒ d k sð t ‚ t  d ƒ d k st ‚ t t d „  ƒ t j d ƒ t  d ƒ d k s=t ‚ d  S(   Ni   i   i   i   i   i   i9   i  i(  i  i/  iÓ  i¸  i9k  i   iÙ—  iˆ#  iqp i¿a  imb c           S   s
   t  d ƒ S(   Ni    (   R   (    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyt   <lambda>   t    i‘  i½
  (   R   t   AssertionErrorR   t
   ValueErrorR   t   extend(    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyt
   test_prime   s    c          C   sÏ  t  d ƒ d k s t ‚ t  d ƒ d k s0 t ‚ t  d ƒ d k sH t ‚ t  t d ƒ d ƒ d k sj t ‚ t  d ƒ d k s‚ t ‚ t  d ƒ d k sš t ‚ t  d	 ƒ d k s² t ‚ t  d
 ƒ d k sÊ t ‚ t  d ƒ d k sâ t ‚ t  d ƒ d k sú t ‚ t  d ƒ d k st ‚ t  d ƒ d k s*t ‚ t  d ƒ d k sBt ‚ t  d ƒ d k sZt ‚ t  d* ƒ d k srt ‚ t  d ƒ d k sŠt ‚ t  d ƒ d k s¢t ‚ t j d ƒ t  d ƒ d  k sÇt ‚ t d! ƒ }  t  |  ƒ j |  d ƒ d k s÷t ‚ t d" d# t ƒ} t  | ƒ j | d ƒ d k s-t ‚ t  t j ƒ t j k sKt ‚ t  t j ƒ d k sgt ‚ t	 t  |  ƒ |  d$ ƒ d% k s‹t ‚ t
 t d& „  ƒ t
 t d' „  ƒ t
 t d( „  ƒ t
 t d) „  ƒ d  S(+   Niÿÿÿÿi    i   i   i   g      @i   i   i   i9   i   i(  i>   i/  if   i¸  i®  i   i4  iˆ#  ih  i¿a  iË
  i
   i   i¯éW ieöiŒnÓ IÛµ
   iÜíiÐ  i/  t   nt   rt   realid   i   c           S   s
   t  t ƒ S(   N(   R   R   (    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyR   =   R   c           S   s   t  d t ƒ S(   Ni   (   R   R   (    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyR   >   R   c           S   s
   t  t ƒ S(   N(   R   R   (    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyR   ?   R   c           S   s
   t  t ƒ S(   N(   R   R   (    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyR   @   R   i áõ(   R   R   R   R   R   R   t   subst   Truet   InfinityR   R   R   (   R    R!   (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyt   test_primepi   s<    "$$$c          C   s‹  d d l  m }  |  j ƒ  t d ƒ d k s2 t ‚ t d ƒ d k sJ t ‚ t d ƒ d k sb t ‚ t d	 ƒ d
 k sz t ‚ t d ƒ d k s’ t ‚ t d ƒ d k sª t ‚ t d ƒ d k sÂ t ‚ t d ƒ d k sÚ t ‚ t d ƒ d k sò t ‚ t d ƒ d k s
t ‚ t d ƒ d k s"t ‚ t d ƒ d k s:t ‚ |  j d ƒ t d ƒ d k s_t ‚ t d ƒ d k swt ‚ t t d „  ƒ d  S(    Niÿÿÿÿ(   R   i   i   i   i   i   i
   i   i   i)   i:   i9   iP   i(  ir  i/  i¬  i¸  i   i   i€  iˆ#  i€(  i¿a  i¸m  i¥  iü  i
  i¶  c           S   s
   t  d ƒ S(   Ni    (   R   (    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyR   U   R   (   t   sympy.ntheory.generateR   t   _resetR   R   R   R   R   (   R   (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyt   test_compositeC   s$    
c           C   sy  t  d ƒ d k s t ‚ t  d ƒ d k s0 t ‚ t  d ƒ d k sH t ‚ t  d ƒ d k s` t ‚ t  d ƒ d k sx t ‚ t  d ƒ d	 k s t ‚ t  d
 ƒ d k s¨ t ‚ t  d ƒ d k sÀ t ‚ t  d ƒ d k sØ t ‚ t  d ƒ d k sð t ‚ t  d ƒ d k st ‚ t  d ƒ d k s t ‚ t  d ƒ d k s8t ‚ t  d ƒ d k sPt ‚ t j d ƒ t  d ƒ d k sut ‚ d  S(   Ni   i    i   i   i   i9   i(   i(  ié   i/  iÈ  i¸  i	
  i   iË  iˆ#  i  i¿a  ióV  i
   i   iP÷ieöiØ‡GIÛµ
   IØ>Çò   i	  i¸  i áõ(   R   R   R   R   (    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyt   test_compositepiX   s     c          C   sj  d d l  m }  |  j ƒ  t d ƒ d k s2 t ‚ t d ƒ d k sJ t ‚ t d ƒ d k sb t ‚ t d ƒ d	 k sz t ‚ t d ƒ d k s’ t ‚ t d ƒ d k sª t ‚ t d	 ƒ d
 k sÂ t ‚ t d ƒ d k sÚ t ‚ t d ƒ d k sò t ‚ |  j d ƒ |  j d d k st ‚ |  j d d k  s1t ‚ d |  k sCt ‚ t d ƒ d k s[t ‚ t dB ƒ dD k sst ‚ t d ƒ d k s‹t ‚ t dE ƒ dG k s£t ‚ t |  j	 d d ƒ ƒ g  k sÇt ‚ t |  j	 d d ƒ ƒ d d g k sñt ‚ |  j d t
 ƒ t |  j	 d d ƒ ƒ d d d d d
 g k s4t ‚ t |  j d d ƒ ƒ d d d d d d d d d d g
 k svt ‚ |  j d t
 ƒ t |  j d d	 ƒ ƒ d d d d d d d d d d g
 k sÈt ‚ t |  j d d ƒ ƒ g  t d d ƒ D] } t | ƒ ^ qík st ‚ t |  j d d ƒ ƒ g  k s2t ‚ t |  j d d ƒ ƒ d g k sYt ‚ t |  j d d ƒ ƒ d d d d d d d d d d g
 k s›t ‚ |  j d  t
 ƒ t |  j d d	 ƒ ƒ d d d d d d d d d d g
 k sít ‚ t |  j d! d" ƒ ƒ g  t d! d" ƒ D] } t | ƒ ^ qk s3t ‚ t |  j d d ƒ ƒ g  k sWt ‚ t |  j d d ƒ ƒ d g k s~t ‚ t t	 d d ƒ ƒ g  k sŸt ‚ t t	 d d ƒ ƒ d d d g k sÉt ‚ t t	 d d ƒ ƒ d d d d g k söt ‚ t t	 d! d" ƒ ƒ d# d$ d% d& d' d( d) d* g k s/t ‚ t ƒ  } x~ t d+ d, d- ƒ D]j } xa t d d. d/ ƒ D]M } t | j	 | | | ƒ ƒ } t t	 | | | ƒ ƒ } | | k sdt ‚ qdWqKWt ƒ  } | d d0 k sØt ‚ t d d ƒ d k sót ‚ t t d1 „  ƒ t t d2 „  ƒ t t d3 „  ƒ t d d g ƒ t k sAt ‚ d4 „  } t t | d ƒ ƒ dH k skt ‚ t t | d d5 t
 ƒƒ d d6 d d d7 d8 d9 d: d d d7 d8 g k s¶t ‚ t t | d d; d ƒƒ dI k sÝt ‚ t t | d d; d d5 t
 ƒƒ d d6 d d d7 g k st ‚ |  j d< ƒ t d= ƒ d> k s>t ‚ t d? ƒ d@ k sVt ‚ t t dA „  ƒ d  S(J   Niÿÿÿÿ(   R   iüÿÿÿi   i   i   i   i   i   i   i   i   i   i	   i   i   iZ   ia   i
   i(   iy   iY   i   R   i   i   i   R
   i„  iè  i    R   i  iL  i  i%  i'  i-  i?  iC  iE  iI  i   i.	  ix  iè  is  i   c           S   s
   t  d ƒ S(   Ni    (   R
   (    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyR   ¦   R   c           S   s
   t  d ƒ S(   Ni    (   R   (    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyR   ¨   R   c           S   s
   t  d ƒ S(   Ni    (   R   (    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyR   ª   R   c         S   s   |  d d d S(   Ni   i   i3   (    (   t   i(    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyR   ®   R   t   valuesi#   i   i   i,   i2   t   nmaxi¸  i˜  i™  ir  io  c           S   s
   t  d ƒ S(   Ni   (   R   (    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyR   ¸   R   l	        «O»z—×pøcl	        «O»z—×pøcl	   y    «O»z—×pøcl	        «O»z—×pøcl	        «O»z—×pøcl	   ïÿÿ«O»z—×pøc(   i   i   (   i   N(   R'   R   R(   R   R   R   t   extend_to_not   _listt   listR   R$   t   totientrangeR   R
   t   mobiusrangeR   R    R   R   R   t   Falset   nextR   t   NoneR   (   R   t   xt   sR+   t   jt   At   Bt   func(    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyt   test_generatek   s€    
$*3BBF$'BBF$'!*-!			!3'c          C   sÿ   t  d d ƒ d  k s t ‚ t  d d ƒ d k s6 t ‚ t  d d ƒ d k sQ t ‚ t  d d ƒ d k sl t ‚ t t d „  ƒ x| d d d	 d
 g D]h }  x_ d d d	 d
 g D]K } t  |  |  | ƒ } |  | k oÜ |  | k  n rí t | ƒ s¨ t ‚ q¨ Wq Wd  S(   Ni
   i   i   i   i   c           S   s   t  d d ƒ S(   Ni   i   (   R   (    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyR   À   R   id   i,  iô  iÐ (   R   R5   R   R   R   R	   (   t   at   bt   p(    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyt   test_randprime»   s    c           C   sŽ   t  d ƒ d k s t ‚ t  d d d ƒd k s6 t ‚ t  d ƒ d k sN t ‚ t  d d d ƒd k sl t ‚ t  d d d ƒd k sŠ t ‚ d  S(   Ni   i   t   nthi    i   i   (   R   R   (    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyt   test_primorialÇ   s
    c           C   s\   d t  k s t ‚ d t  k s$ t ‚ d t  k s6 t ‚ d t  k sH t ‚ t t d „  ƒ d  S(   Ni   gÍÌÌÌÌÌ @i   iè  c           S   s   t  j d ƒ S(   Ni   (   R   t   search(    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyR   Ô   R   lC                                                                                                                                        (   R   R   R   R   (    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyt   test_searchÏ   s
    c          C   s¡   t  d d k s t ‚ t t  d d !ƒ g  t d d ƒ D] }  t  |  ^ q6 k sU t ‚ t t  d d d … ƒ g  t d d d ƒ D] }  t  |  ^ q~ k s t ‚ d  S(   Ni   i   i
   i   (   R   R   R0   R   (   R6   (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyt   test_sieve_slice×   s    ?N(*   t   sympyR    R   R   R   R   R   R   R   t   sympy.core.compatibilityR   t   sympy.ntheoryR	   R
   R   R   R   R   R   R   R   R   R   R   R   R'   R   t   sympy.ntheory.primetestR   t   sympy.utilities.pytestR   R   t   _arrayR   R&   R)   R*   R<   R@   RB   RD   RE   (    (    (    s@   lib/python2.7/site-packages/sympy/ntheory/tests/test_generate.pyt   <module>   s   :X		&			P			