Ë
    7^(h%  ã                   óÜ   — 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'y)é    )Ú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                  ó<   — t        dd«      sJ ‚t        dd«      sJ ‚y )Né   é   é	   )r   © ó    ú`/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/ntheory/tests/test_primetest.pyÚtest_is_fermat_pseudoprimer       s"   € Ü   AÔ&Ð&Ð&Ü   AÔ&Ð&Ñ&r   c                  óê  — 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«      rŒJ ‚ g d¢} | D ]  }t        |d«      rŒJ ‚ g d¢}|D ]1  }t        d|«      D ]   }t	        ||«      dk7  rŒt        ||«      rŒ J ‚ Œ3 y )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€ 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Ô:Ü
Œ:Ñ:Ô;òC€Iàò *ˆÜ# A qÕ)Ð)Ð)ð*òP€Iàò *ˆÜ# A qÕ)Ð)Ð)ð*òBÐàò .ˆÜ�q˜!“ò 	.ˆAÜ�1�a‹y˜AŠ~ØÜ'¨¨1Õ-Ð-Ð-ñ	.ñ.r   c                  ó<   — t        dd«      sJ ‚t        dd«      sJ ‚y )Né   r   r#   )r   r   r   r   Ú test_is_euler_jacobi_pseudoprimerQ   6   s"   € Ü& 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 ‚y )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Ü$ QÓ'¨:Ò5Ð5Ð5Ü$ QÓ'¨9Ò4Ð4Ð4Ü$ QÓ'¨9Ò4Ð4Ð4Ü$ RÓ(¨JÒ6Ð6Ð6Ü$ RÓ(¨JÒ6Ð6Ð6Ü$ SÓ)¨\Ò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 ‚y )	Nr+   FéÝ  Té}*  r   é   é©   )r   r   r   r   Útest_is_extra_strong_lucas_prpr^   E   st   € Ü$ QÓ'¨5Ò0Ð0Ð0Ü$ SÓ)¨TÒ1Ð1Ð1Ü$ UÓ+¨tÒ3Ð3Ð3Ü$ QÓ'¨5Ò0Ð0Ð0Ü$ RÓ(¨EÒ1Ð1Ð1Ü$ SÓ)¨UÒ2Ð2Ñ2r   c                  ó”  — t        dd«      D � cg c]  } | dz  rt        | «      s| ‘Œ }} t        |«      dk(  sJ ‚|D � cg c]  } t        | dg«      sŒ| ‘Œ c} g d¢k(  sJ ‚|D � cg c]  } t        | dg«      sŒ| ‘Œ c} g d¢k(  sJ ‚|D � cg c]  } t        | dg«      sŒ| ‘Œ c} g d	¢k(  sJ ‚t	        d
„ |D «       «      rJ ‚|D � cg c]  } t        | «      sŒ| ‘Œ c} g d¢k(  sJ ‚|D � cg c]  } t        | «      sŒ| ‘Œ c} g d¢k(  sJ ‚|D � cg c]  } t        | «      sŒ| ‘Œ c} g d¢k(  sJ ‚y c c} w c c} w c c} w c c} w c c} w c c} w c c} w )Nr   é † r;   i‰níy)r4   r6   r7   r8   r9   rC   i�r  i/§  iõ¿  i™Í  iÿ  i©# iÅ: iñM i%Y ib r0   )r<   r=   r>   r?   r@   rA   r:   rB   rD   rE   rF   rG   i…{  iÿ¬  é]¸  i¡Ú  i£ö  ia# i›4 iQB iiW iýY i} éE  )1r   é   é   é1   éA   éQ   rb   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�¬  ra   iyÃ  ieÚ  iáÚ  iYæ  iÑæ  i™ï  i¡ÿ  i× iÁ iù+ iI2 iwO c              3   ó6   K  — | ]  }t        |d g«      –— Œ y­w)l   ©j¹_‹|™ N©r   )Ú.0Úns     r   ú	<genexpr>ztest_prps.<locals>.<genexpr>a   s   è ø€ ÒG°A”2�aÐ-Ð.×/ÑGùs   ‚)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 éŸ| )rm   rn   r[   ro   rp   rq   rr   rs   ru   rv   ry   rz   )rZ   i§  rn   r[   iCm  iñs  ix  i�{  rt   rw   rx   ry   )rI   r   Úsumr   Úanyr   r
   r   )rk   Úoddcompositess     r   Ú	test_prpsr~   M   s�  € ä % a¨£ö "˜1Ø	ˆAŠ”g˜a”jò ð "€Mð "ô ˆ}Ó Ò+Ð+Ð+Ø$Ö3�!¬¨1¨q¨c­
ŠAÒ3ò 89ò 9ð 9ð 9ð %Ö3�!¬¨1¨q¨c­
ŠAÒ3ò 82ò 2ð 2ð 2ð %Ö5�!¬¨1¨s¨e­ŠAÒ5ò :ò ð ð ô ÑG¸ÔGÔGÐGÐGØ$Ö8�!¬°Q­ŠAÒ8ò =9ò 9ð 9ð 9ð %Ö?�!Ô(;¸AÕ(>ŠAÒ?ò Dò ð ð ð %ö �!Ô(AÀ!Õ(DŠAò òòð ñ ùò="ùò 4ùò 4ùò 6ùò 9ùò @ùòsL   �D'¾D,ÁD,Á#D1Á6D1ÂD6ÂD6ÃD;ÃD;Ã$E Ã5E ÄEÄEc                  óŠ   ‡— g d¢} g d¢}t        d«      D ],  Š‰| v rt        ‰«      ‰|v k(  rŒJ ‚t        t        ˆfd„«       Œ. y )N)r0   r   r   r"   r$   rc   é!   r)   re   é9   rf   rg   éa   éq   é�   é‘   é¡   é±   éÁ   )r0   r   r"   r$   r)   r‚   rƒ   rˆ   éÈ   c                  ó   •— t        ‰ «      S )N)r   )rk   s   €r   r-   z!test_proth_test.<locals>.<lambda>~   s   ø€ ¤z°!£}€ r   )rI   r   r   rH   )ÚA080075ÚA080076rk   s     @r   Útest_proth_testr�   s   sL   ø€ ò5€Gò /€Gä�3‹Zò 6ˆØ�‰<Ü˜a“= Q¨' \Ó2Ð2Ð2ä”:Ó4Õ5ñ	6r   c                  óf   — t        j                  dd«      D ]  } t        | «      | t        v k(  rŒJ ‚ y )Nr0   éd   )r   Ú
primeranger   r   )rK   s    r   Ú test_lucas_lehmer_primality_testr‘   �   s9   € Ü×Ñ˜a Ó%ò RˆÜ+¨AÓ.°1Ô8PÐ3PÓQÐQÐQñ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 ‚y )
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Ñ0r   c                  ó   — t        «       } | j                  d«       t        | j                  dd«      «      }t	        d«      D ]  }||v t        |«      k(  rŒ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!„ «       y )"Nr`   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       @)r   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Ó0€ r   )
r   ÚextendÚsetr�   rI   r   Úintr   r   rH   )ÚsÚpsrk   s      r   Útest_isprimerŸ   �   sA  € Ü‹€AØ‡H�HˆVÔÜ	ˆQ�\‰\˜!˜VÓ$Ó	%€BÜ�6‹]ò 'ˆà�R�œG A›JÓ&Ð&Ð&ð'ô �9ÔÐÐÜ�;ÔÐÐÜ�=Ô!Ð!Ð!Ü�=Ô!Ð!Ð!ÜÐ'Ô(Ð(Ð(ÜÐ,Ô-Ð-Ð-ÜÐ0Ô1Ð1Ð1ÜÐ5Ô6Ð6Ð6ÜÐ:Ô;Ð;Ð;Ü”3ð 1ó 2ô 3ð 3ð 3ô �9ÔÐÐÜ�1�b‘5˜1‘9ÔÐÐÜ�1�c‘6˜A‘:ÔÐÐä�q˜#‘v ‘zÔ"Ð"Ð"ô
 �}Ô%Ð%Ð%Ü�}Ô%Ð%Ð%Ü�Ô'Ð'Ð'ÜÐ*Ô+Ð+Ð+äÐ'Ô(Ð(Ð(äÐ/Ô0Ð0Ð0äÐ/Ô0Ð0Ð0äÐ5Ô6Ð6Ð6ô
 ”sð Aó Bô Cð Cð Cô ”sð 8ó 9ô :ð :ð :ô 
‡L�L�ÔÜ�4Œ=Ðˆ=Ü�tŒ}ÐÐÜ
Œ:Ñ+Ô,Ü
Œ:Ñ0Õ1r   c                  óè   — t        d«      D � cg c]  } t        | «      sŒ| ‘Œ c} 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 ‚y c c} w )Nrc   )r   r   r+   r   r\   iÀK i <Y.l    @7Zkl   ©á,3;, i ^ )rI   r	   ©Úis    r   Útest_is_squarer£   Ø   sv   € Ü˜R“yÖ1�!¤I¨a¥LŠAÒ1Ò5EÒEÐEÐEô ˜Ô!Ð!Ð!Ü˜Ô!Ð!Ð!Ü˜Ô!Ð!Ð!Ü˜Ô"Ð"Ð"Ü˜Ô"Ð"Ð"Ð"ùò 2s
   ŽA/ŸA/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 ‚y )Nr'   r;   r0   )r   r   r   r   r   Útest_is_gaussianprimer¥   â   sQ   € Ü˜Qœq™SÔ!Ð!Ð!Ü˜QÔÐÐÜ˜Q ¤1¡™WÔ%Ð%Ð%Ü   Q¤q¡S¡Ô)Ð)Ð)Ð)r   c                  óT   — dD � cg c]  } t        | g d¢«      ‘Œ c} g d¢k(  sJ ‚y c c} w )N)r   r;   r%   )r;   r0   r   r'   )FTFri   r¡   s    r   Útest_issue_27145r§   é   s%   € à%.Ö/ ŒBˆq’�OÒ/Ò3GÒGÐGÑGùÒ/s   …%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÷ .ß 'ò'ò
.òD.ò
:ò3ð ñ"ó ð"òJ6òRò
1òE2òP#ò*óHr   