§
    OŠtj%  ã                   óä   — d dl mZ d dlmZ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mZmZ d dlmZmZ d dlmZmZ d„ Zd„ Zd„ Zd	„ Zd
„ Zed„ ¦   «         Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'dS )é    )Úgcd)ÚSieveÚsieve)ÚmrÚ_lucas_extrastrong_paramsÚis_lucas_prpÚ	is_squareÚis_strong_lucas_prpÚis_extra_strong_lucas_prpÚ
proth_testÚisprimeÚis_euler_pseudoprimeÚis_gaussian_primeÚis_fermat_pseudoprimeÚis_euler_jacobi_pseudoprimeÚMERSENNE_PRIME_EXPONENTSÚ_lucas_lehmer_primality_testÚis_mersenne_prime)ÚslowÚraises)ÚIÚFloatc                  óN   — t          dd¦  «        sJ ‚t          dd¦  «        sJ ‚d S )Né   é   é	   )r   © ó    ú`/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/ntheory/tests/test_primetest.pyÚtest_is_fermat_pseudoprimer       s4   € Ý   AÑ&Ô&Ð&Ð&Ð&Ý   AÑ&Ô&Ð&Ð&Ð&Ð&Ð&r   c                  óT  — t          dd¦  «        sJ ‚t          dd¦  «        sJ ‚t          dd¦  «        sJ ‚t          dd¦  «        sJ ‚t          dd	¦  «        sJ ‚t          d
d¦  «        sJ ‚t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         g d¢} | D ]}t          |d¦  «        sJ ‚Œg d¢} | D ]}t          |d¦  «        sJ ‚Œg d¢}|D ]<}t          d|¦  «        D ])}t	          ||¦  «        dk    rŒt          ||¦  «        sJ ‚Œ*Œ=d S )Né   r   é   é   é   ée   é   iñ  é
   i,  é)   c                  ó"   — t          dd¦  «        S )Nr   é   ©r   r   r   r   ú<lambda>z)test_euler_pseudoprimes.<locals>.<lambda>   ó   € Õ3°A°qÑ9Ô9€ r   c                  ó"   — t          dd¦  «        S )Né   r   r,   r   r   r   r-   z)test_euler_pseudoprimes.<locals>.<lambda>   r.   r   c                  ó"   — t          dd¦  «        S )Nr#   r%   r,   r   r   r   r-   z)test_euler_pseudoprimes.<locals>.<lambda>   s   € Õ3°B¸Ñ:Ô:€ r   )éU  i1  iQ  éÁ  iq  éÿ  é¡	  éÍ  éÁ  éI  iU  iÉ  é�   i!!  i(  éY)  é   )éy   é¿  r3   éc  i  éÑ  iÕ  éÑ   éÏ"  r:   és0  ia<  éá=  é“@  é!I  é‘K  éá[  iU`  iim  r0   )r3   r5   rC   iQ   iA¶  ia& iaz i1  i™ i)Ú i±u )r   r   Ú
ValueErrorÚranger   )Ú	euler_prpÚpÚabsolute_euler_prpÚas       r   Útest_euler_pseudoprimesrN      s±  € Ý  AÑ&Ô&Ð&Ð&Ð&Ý  AÑ&Ô&Ð&Ð&Ð&Ý  AÑ&Ô&Ð&Ð&Ð&Ý  QÑ'Ô'Ð'Ð'Ð'Ý  bÑ)Ô)Ð)Ð)Ð)Ý  rÑ*Ô*Ð*Ð*Ð*å
�:Ð9Ð9Ñ:Ô:Ð:Ý
�:Ð9Ð9Ñ:Ô:Ð:Ý
�:Ð:Ð:Ñ;Ô;Ð;ðCð Cð C€Iàð *ð *ˆÝ# A qÑ)Ô)Ð)Ð)Ð)Ð)ðPð Pð P€Iàð *ð *ˆÝ# A qÑ)Ô)Ð)Ð)Ð)Ð)ðBð Bð BÐàð .ð .ˆÝ�q˜!‘”ð 	.ð 	.ˆAÝ�1�a‰yŒy˜AŠ~ˆ~ØÝ'¨¨1Ñ-Ô-Ð-Ð-Ð-Ð-ð	.ð.ð .r   c                  óN   — t          dd¦  «        sJ ‚t          dd¦  «        sJ ‚d S )Né   r   r#   )r   r   r   r   Ú test_is_euler_jacobi_pseudoprimerQ   6   s4   € Ý& r¨1Ñ-Ô-Ð-Ð-Ð-Ý& r¨1Ñ-Ô-Ð-Ð-Ð-Ð-Ð-r   c                  ó,  — t          d¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚t          d¦  «        d	k    sJ ‚t          d
¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚d S )Nr0   )r   r0   r   r   )é   r+   r   r'   r   )r   r   r   rP   )é   r   r   é;   )é    r%   r   iß  )éu   rP   r   )r   r   r   r   Útest_lucas_extrastrong_paramsrX   ;   s·   € Ý$ QÑ'Ô'¨9Ò4Ð4Ð4Ð4Ý$ QÑ'Ô'¨:Ò5Ð5Ð5Ð5Ý$ QÑ'Ô'¨9Ò4Ð4Ð4Ð4Ý$ QÑ'Ô'¨9Ò4Ð4Ð4Ð4Ý$ RÑ(Ô(¨JÒ6Ð6Ð6Ð6Ý$ RÑ(Ô(¨JÒ6Ð6Ð6Ð6Ý$ SÑ)Ô)¨\Ò9Ð9Ð9Ð9Ð9Ð9r   c                  ó  — t          d¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚d S )	Nr+   FéÝ  Té}*  r   é   é©   ©r   r   r   r   Útest_is_extra_strong_lucas_prpr_   E   sž   € Ý$ QÑ'Ô'¨5Ò0Ð0Ð0Ð0Ý$ SÑ)Ô)¨TÒ1Ð1Ð1Ð1Ý$ UÑ+Ô+¨tÒ3Ð3Ð3Ð3Ý$ QÑ'Ô'¨5Ò0Ð0Ð0Ð0Ý$ RÑ(Ô(¨EÒ1Ð1Ð1Ð1Ý$ SÑ)Ô)¨UÒ2Ð2Ð2Ð2Ð2Ð2r   c                  óŠ  — d„ t          dd¦  «        D ¦   «         } t          | ¦  «        dk    sJ ‚d„ | D ¦   «         g d¢k    sJ ‚d„ | D ¦   «         g d¢k    sJ ‚d	„ | D ¦   «         g d
¢k    sJ ‚t          d„ | D ¦   «         ¦  «        rJ ‚d„ | D ¦   «         g d¢k    sJ ‚d„ | D ¦   «         g d¢k    sJ ‚d„ | D ¦   «         g d¢k    sJ ‚d S )Nc                 ó:   — g | ]}|d z  ¯t          |¦  «        °|‘ŒS ©r;   ©r   ©Ú.0Úns     r   ú
<listcomp>ztest_prps.<locals>.<listcomp>O   s>   € ð "ð "ð "˜1Ø	ˆA‰ð"Ý˜a‘j”jð"�Qð "ð "ð "r   r   é † i‰níyc                 ó4   — g | ]}t          |d g¦  «        ¯|‘ŒS rb   ©r   rd   s     r   rg   ztest_prps.<locals>.<listcomp>S   ó'   € Ð3Ð3Ð3�!­¨1¨q¨c©
¬
Ð3ˆAÐ3Ð3Ð3r   )r4   r6   r7   r8   r9   rC   i�r  i/§  iõ¿  i™Í  iÿ  i©# iÅ: iñM i%Y ib c                 ó4   — g | ]}t          |d g¦  «        ¯|‘ŒS )r0   rj   rd   s     r   rg   ztest_prps.<locals>.<listcomp>V   rk   r   )r<   r=   r>   r?   r@   rA   r:   rB   rD   rE   rF   rG   i…{  iÿ¬  é]¸  i¡Ú  i£ö  ia# i›4 iQB iiW iýY i} c                 ó4   — g | ]}t          |d g¦  «        ¯|‘ŒS )éE  rj   rd   s     r   rg   ztest_prps.<locals>.<listcomp>Z   s'   € Ð5Ð5Ð5�!­¨1¨s¨e©¬Ð5ˆAÐ5Ð5Ð5r   )1r   é   é   é1   éA   éQ   ro   r2   iW  i¹  iu  i  ie  i  iÑ  r7   r8   iM  iÉ  iu  i3  rA   rB   iq2  iÃ:  i•>  i1N  iõV  iµZ  iI`  iaa  ia|  i+Š  ig–  iÍ¨  i�¬  rm   iyÃ  ieÚ  iáÚ  iYæ  iÑæ  i™ï  i¡ÿ  i× iÁ iù+ iI2 iwO c              3   ó8   K  — | ]}t          |d g¦  «        V — ŒdS )l   ©j¹_‹|™ Nrj   rd   s     r   ú	<genexpr>ztest_prps.<locals>.<genexpr>a   s0   è è € ÐGÐG°A•2�aÐ-Ð.Ñ/Ô/ÐGÐGÐGÐGÐGÐGr   c                 ó0   — g | ]}t          |¦  «        ¯|‘ŒS r   )r   rd   s     r   rg   ztest_prps.<locals>.<listcomp>b   s#   € Ð8Ð8Ð8�!­°Q©¬Ð8ˆAÐ8Ð8Ð8r   )9iC  iy  i‡  i%  ió  éS  é‘  io#  iÛ#  r[   i›,  i�-  i_6  i÷9  éí>  iS?  içG  éJ  icJ  éãW  io[  éù_  éob  ie  iÕe  i»j  i÷  iˆ  i‡‰  é“˜  i#™  i	›  éu�  iC¬  iƒ·  i»  iÄ  iË  iŸÑ  i×Û  é—ä  iÙë  i‰ù  i… éÅ é¿  éE% i£- i»6 i·7 i'D iÃI i/P i¯` iËq iûz éŸ| c                 ó0   — g | ]}t          |¦  «        ¯|‘ŒS r   )r
   rd   s     r   rg   ztest_prps.<locals>.<listcomp>j   s&   € Ð?Ð?Ð?�!Õ(;¸AÑ(>Ô(>Ð?ˆAÐ?Ð?Ð?r   )rx   ry   r[   rz   r{   r|   r}   r~   r€   r�   r„   r…   c                 ó0   — g | ]}t          |¦  «        ¯|‘ŒS r   r^   rd   s     r   rg   ztest_prps.<locals>.<listcomp>m   s4   € ð ð ð �!Õ(AÀ!Ñ(DÔ(Dð ˆAð ð ð r   )rZ   i§  ry   r[   iCm  iñs  ix  i�{  r   r‚   rƒ   r„   )rI   ÚsumÚany)Úoddcompositess    r   Ú	test_prpsr‹   M   s½  € ð"ð "¥ a¨¡¤ð "ñ "ô "€Mõ ˆ}ÑÔ Ò+Ð+Ð+Ð+Ø3Ð3�}Ð3Ñ3Ô3ð 89ð 89ð 89ò 9ð 9ð 9ð 9ð 4Ð3�}Ð3Ñ3Ô3ð 82ð 82ð 82ò 2ð 2ð 2ð 2ð 6Ð5�}Ð5Ñ5Ô5ð :ð :ð :ò ð ð ð õ ÐGÐG¸ÐGÑGÔGÑGÔGÐGÐGÐGØ8Ð8�}Ð8Ñ8Ô8ð =9ð =9ð =9ò 9ð 9ð 9ð 9ð @Ð?�}Ð?Ñ?Ô?ð Dð Dð Dò ð ð ð ðð �}ð ñ ô ðð ð òð ð ð ð ð r   c                  ó¤   ‡— g d¢} g d¢}t          d¦  «        D ]6Š‰| v rt          ‰¦  «        ‰|v k    sJ ‚Œt          t          ˆfd„¦  «         Œ7d S )N)r0   r   r   r"   r$   rp   é!   r)   rr   é9   rs   rt   éa   éq   é�   é‘   é¡   é±   éÁ   )r0   r   r"   r$   r)   r�   r�   r•   éÈ   c                  ó"   •— t          ‰ ¦  «        S )N)r   )rf   s   €r   r-   z!test_proth_test.<locals>.<lambda>~   s   ø€ ¥z°!¡}¤}€ r   )rI   r   r   rH   )ÚA080075ÚA080076rf   s     @r   Útest_proth_testrš   s   s„   ø€ ð5ð 5ð 5€Gð /Ð.Ð.€Gå�3‰ZŒZð 6ð 6ˆØ�ˆ<ˆ<Ý˜a‘=”= Q¨' \Ò2Ð2Ð2Ð2Ð2å•:Ð4Ð4Ð4Ð4Ñ5Ô5Ð5Ð5ð	6ð 6r   c                  ón   — t          j        dd¦  «        D ]} t          | ¦  «        | t          v k    sJ ‚Œd S )Nr0   éd   )r   Ú
primeranger   r   )rK   s    r   Ú test_lucas_lehmer_primality_testrž   �   sN   € ÝÔ˜a Ñ%Ô%ð Rð RˆÝ+¨AÑ.Ô.°1Õ8PÐ3PÒQÐQÐQÐQÐQðRð Rr   c                  ó  — t          d¦  «        du sJ ‚t          d¦  «        du sJ ‚t          d¦  «        du sJ ‚t          d¦  «        du sJ ‚t          d¦  «        du sJ ‚t          d¦  «        du sJ ‚t          d	¦  «        du sJ ‚d S )
NéýÿÿÿFr0   Tr(   é   iÿ  iÿÿ iÿÿÿ)r   r   r   r   Útest_is_mersenne_primer¢   †   s·   € Ý˜RÑ Ô  EÐ)Ð)Ð)Ð)Ý˜QÑÔ 4Ð'Ð'Ð'Ð'Ý˜RÑ Ô  EÐ)Ð)Ð)Ð)Ý˜SÑ!Ô! TÐ)Ð)Ð)Ð)Ý˜SÑ!Ô! UÐ*Ð*Ð*Ð*Ý˜VÑ$Ô$¨Ð,Ð,Ð,Ð,Ý˜ZÑ(Ô(¨DÐ0Ð0Ð0Ð0Ð0Ð0r   c                  óJ  — t          ¦   «         } |                      d¦  «         t          |                      dd¦  «        ¦  «        }t	          d¦  «        D ]}||v t          |¦  «        k    sJ ‚Œt          d¦  «        sJ ‚t          d¦  «        sJ ‚t          d¦  «        sJ ‚t          d¦  «        sJ ‚t          d¦  «        sJ ‚t          d	¦  «        sJ ‚t          d
¦  «        sJ ‚t          d¦  «        sJ ‚t          d¦  «        sJ ‚t          t          d¦  «        ¦  «        sJ ‚t          d¦  «        sJ ‚t          ddz  dz
  ¦  «        sJ ‚t          ddz  dz
  ¦  «        sJ ‚t          ddz  dz
  ¦  «        rJ ‚t          d¦  «        rJ ‚t          d¦  «        rJ ‚t          d¦  «        rJ ‚t          d¦  «        rJ ‚t          d¦  «        rJ ‚t          d¦  «        rJ ‚t          d¦  «        rJ ‚t          d¦  «        rJ ‚t          t          d¦  «        ¦  «        rJ ‚t          t          d¦  «        ¦  «        rJ ‚t          j        d¦  «         t          d¦  «        sJ ‚t          d¦  «        rJ ‚t          t          d „ ¦  «         t          t          d!„ ¦  «         d S )"Nrh   r;   i¡† i¡Í±
l   ©{! l   ­\)l   yW-ƒ	l   GP‘F´Qw8 l   Ï­XƒFqíb l   ÕI’iß|Á	3mV&> l   å:_s½h1Ú•S3b l	   #–�:�gWj#0¶[µÎ z¸
531137992816767098689588206552468627329593117727031923199444138200403559860852242739162502265229285668889329486246501015346579337652707239409519978766587351943831270835393219031728127l   ÿÿÿÿ éY   r   i_  iY  l   ;n>Ôl   ßp¤l   ÁHe%�Z	 l   ûy5�D¬( l   --‰	l   qŽ.�;ðm l   å7yç_@I®7 l   …k$¯9úH©"úYÇaR  
8038374574536394912570796143419421081388376882875581458374889175222974273765333652186502336163960045457915042023603208766569966760987284043965408232928738791850869166857328267761771029389697739470167082304286871099974399765441448453411558724506334092790222752962294149842306881685404326457534018329786111298960644845216191652872597534901aŽ  
2887148238050771212671429597130393991977609459279722700926516024197432303799152733116328983144639225941977803110929349655578418949441740933805615113979999421542416933972905423711002751042080134966731755152859226962916775325475044445856101949404200039904432116776619949629539250452698719329070373564032273701278453899126120309244841494728976885406024976768122077071687938121709811322297802059565867i¸  i  is  c                  ó    — t          d¦  «        S )Ng       @rc   r   r   r   r-   ztest_isprime.<locals>.<lambda>Ô   s   € �w s™|œ|€ r   c                  ó:   — t          t          d¦  «        ¦  «        S )Nr;   )r   r   r   r   r   r-   ztest_isprime.<locals>.<lambda>Õ   s   € �w¥u¨Q¡x¤xÑ0Ô0€ r   )
r   ÚextendÚsetr�   rI   r   Úintr   r   rH   )ÚsÚpsrf   s      r   Útest_isprimer¬   �   s+  € Ý‰Œ€AØ‡H‚HˆVÑÔÐÝ	ˆQ�\Š\˜!˜VÑ$Ô$Ñ	%Ô	%€BÝ�6‰]Œ]ð 'ð 'ˆà�R��G A™JœJÒ&Ð&Ð&Ð&Ð&Ý�9ÑÔÐÐÐÝ�;ÑÔÐÐÐÝ�=Ñ!Ô!Ð!Ð!Ð!Ý�=Ñ!Ô!Ð!Ð!Ð!ÝÐ'Ñ(Ô(Ð(Ð(Ð(ÝÐ,Ñ-Ô-Ð-Ð-Ð-ÝÐ0Ñ1Ô1Ð1Ð1Ð1ÝÐ5Ñ6Ô6Ð6Ð6Ð6ÝÐ:Ñ;Ô;Ð;Ð;Ð;Ý•3ð 1ñ 2ô 2ñ 3ô 3ð 3ð 3ð 3õ �9ÑÔÐÐÐÝ�1�b‘5˜1‘9ÑÔÐÐÐÝ�1�c‘6˜A‘:ÑÔÐÐÐå�q˜#‘v ‘zÑ"Ô"Ð"Ð"Ð"õ
 �}Ñ%Ô%Ð%Ð%Ð%Ý�}Ñ%Ô%Ð%Ð%Ð%Ý�Ñ'Ô'Ð'Ð'Ð'ÝÐ*Ñ+Ô+Ð+Ð+Ð+åÐ'Ñ(Ô(Ð(Ð(Ð(åÐ/Ñ0Ô0Ð0Ð0Ð0åÐ/Ñ0Ô0Ð0Ð0Ð0åÐ5Ñ6Ô6Ð6Ð6Ð6õ
 •sð Añ Bô Bñ Cô Cð Cð Cð Cõ •sð 8ñ 9ô 9ñ :ô :ð :ð :ð :õ 
„L�ÑÔÐÝ�4‰=Œ=ÐÐˆ=Ý�t‰}Œ}ÐÐÐÝ
�:Ð+Ð+Ñ,Ô,Ð,Ý
�:Ð0Ð0Ñ1Ô1Ð1Ð1Ð1r   c                  óò   — d„ t          d¦  «        D ¦   «         g d¢k    sJ ‚t          d¦  «        rJ ‚t          d¦  «        rJ ‚t          d¦  «        rJ ‚t          d¦  «        rJ ‚t          d¦  «        rJ ‚d S )	Nc                 ó0   — g | ]}t          |¦  «        ¯|‘ŒS r   )r	   ©re   Úis     r   rg   z"test_is_square.<locals>.<listcomp>Ù   s#   € Ð1Ð1Ð1�!¥I¨a¡L¤LÐ1ˆAÐ1Ð1Ð1r   rp   )r   r   r+   r   r\   iÀK i <Y.l    @7Zkl   ©á,3;, i ^ )rI   r	   r   r   r   Útest_is_squarer±   Ø   sš   € Ø1Ð1•u˜R‘y”yÐ1Ñ1Ô1Ð5EÐ5EÐ5EÒEÐEÐEÐEõ ˜Ñ!Ô!Ð!Ð!Ð!Ý˜Ñ!Ô!Ð!Ð!Ð!Ý˜Ñ!Ô!Ð!Ð!Ð!Ý˜Ñ"Ô"Ð"Ð"Ð"Ý˜Ñ"Ô"Ð"Ð"Ð"Ð"Ð"r   c                  óÊ   — t          dt          z  ¦  «        sJ ‚t          d¦  «        sJ ‚t          ddt          z  z   ¦  «        sJ ‚t          ddt          z  z   ¦  «        rJ ‚d S )Nr'   r;   r0   )r   r   r   r   r   Útest_is_gaussianprimer³   â   sl   € Ý˜Q�q™SÑ!Ô!Ð!Ð!Ð!Ý˜QÑÔÐÐÐÝ˜Q ¥1¡™WÑ%Ô%Ð%Ð%Ð%Ý   Q¥q¡S¡Ñ)Ô)Ð)Ð)Ð)Ð)Ð)r   c                  ó.   — d„ dD ¦   «         g d¢k    sJ ‚d S )Nc                 ó2   — g | ]}t          |g d ¢¦  «        ‘ŒS ))r;   r0   r   r'   rj   r¯   s     r   rg   z$test_issue_27145.<locals>.<listcomp>ë   s$   € Ð/Ð/Ð/ �Bˆq���‰OŒOÐ/Ð/Ð/r   )r   r;   r%   )FTFr   r   r   r   Útest_issue_27145r¶   é   s.   € à/Ð/ YÐ/Ñ/Ô/Ð3GÐ3GÐ3GÒGÐGÐGÐGÐGÐGr   N)(Úmathr   Úsympy.ntheory.generater   r   Úsympy.ntheory.primetestr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   Úsympy.testing.pytestr   r   Úsympy.core.numbersr   r   r    rN   rQ   rX   r_   r‹   rš   rž   r¢   r¬   r±   r³   r¶   r   r   r   ú<module>r¼      sò  ðØ Ð Ð Ð Ð Ð à /Ð /Ð /Ð /Ð /Ð /Ð /Ð /ð8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð .Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'ð'ð 'ð 'ð
.ð .ð .ðD.ð .ð .ð
:ð :ð :ð3ð 3ð 3ð ð"ð "ñ „ð"ðJ6ð 6ð 6ðRð Rð Rð
1ð 1ð 1ðE2ð E2ð E2ðP#ð #ð #ð*ð *ð *ðHð Hð Hð Hð Hr   