+
    i"                         ^ RI Ht ^ RIHtHtHtHtHtHtH	t	H
t
HtHtHtHtHtHtHt ^ RIHt R tR tR tR tR tR	 tR
 tR tR tR tR tR tR t R t!R t"R# )    )permutations)	bit_scan1remove	bit_scan0is_fermat_prpis_euler_prpis_strong_prpgcdext_lucas_sequenceis_fibonacci_prpis_lucas_prpis_selfridge_prpis_strong_lucas_prpis_strong_selfridge_prpis_bpsw_prpis_strong_bpsw_prp)raisesc                     \        ^ 4      e   Q h\        ^4      ^ 8X  g   Q h\        R4      ^ 8X  g   Q h\        ^4      ^8X  g   Q h\        ^4      ^ 8X  g   Q h\        R4      ^ 8X  g   Q h\        ^d4       F<  p \        ^V ,          4      V 8X  g   Q h\        ^V ,          R,          4      V 8X  d   K<  Q h	  \        R4       F,  p ^R,          ^V ,          ,           p\        V4      V 8X  d   K,  Q h	  \        ^R,          4      R8X  g   Q h\        ^R,          R,          4      R8X  g   Q h\        ^^
4       F(  p ^V ,          p\        V) 4      \        V4      8X  d   K(  Q h	  R# )	r   Niiz  i  iAB i$. il   >qKwl/-:)r   range)inbigs      _/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/external/tests/test_ntheory.pytest_bit_scan1r      sG   Q<Q<1R=AQ<1Q<1R=A3Za A%%%!q&E)*a///  3Z#X!q&!|q     Q'\"g---a6k5()V3331b\1f#)C.000     c                      \        R4      e   Q h\        ^ 4      ^ 8X  g   Q h\        ^4      ^8X  g   Q h\        R4      ^ 8X  g   Q hR# )   Nr   )r    r   r   test_bit_scan0r!       sH    R=   Q<1Q<1R=Ar   c                      \        \        R  4       \        ^ ^4      R8X  g   Q h\        ^^
4       F@  p \        ^R4       F-  pR F$  p\        W V,          ,          V 4      W!38X  d   K$  Q h	  K/  	  KB  	  R# )c                      \        ^^4      # )r   )r   r    r   r   <lambda>test_remove.<locals>.<lambda>(   s
    va|r   i  N)r   r   )r      e   i  )r   
ValueErrorr   r   )fyzs      r   test_remover,   '   sh    
:+,!Q<6!!!1b\q$A'a1fa(QF222 (   r   c                  T   \        ^ ^ 4      R8X  g   Q h\        ^^ 4      R8X  g   Q h\        ^ ^4      R8X  g   Q h\        ^^
4       F  p \        V ^4      \        V ) ^4      u;8X  d	   R8X  g   Q h Q h\        V R4      \        V ) R4      u;8X  d	   R8X  g   Q h Q h\        W 4      \        V ) V 4      u;8X  d   V ^ ^38X  g   Q h Q h\        W ) 4      \        V ) V ) 4      u;8X  d   V ^ R38X  d   K  Q h Q h	  \        ^^
4       FU  p \        ^V 4      \        ^V ) 4      u;8X  d	   R8X  g   Q h Q h\        RV 4      \        RV ) 4      u;8X  d   R	8X  d   KR  Q h Q h	  \        . R
O^4       F:  w  r\        W4      w  r4pW1V,          W%,          ,           u;8X  d   ^8X  d   K7  Q h Q h	  R# )r   N)r   r   r   )   r   r   )   r   r   )r   r   r   r   )r   r   r   )r   r   r   )r   r   r   )    r.      1      )r
   r   r   )r   abgxr*   s         r   test_gcdextr8   0   s   !Q<9$$$!Q<9$$$!Q<9$$$1b\a|vqb!}9	99999a}r2<*<<<<<a|vqb!}9Aq	99999a}rA2<1a*<<<<<	  1b\a|va!}9	99999b!}rA2<*<<<<<  3Q7,aaC!#I"""""" 8r   c                     \        \        R  4       \        \        R 4       \        ^^4      '       d   Q h\        ^^4      '       g   Q h\        ^^4      '       g   Q h\        ^^4      '       g   Q h\        R^4      '       g   Q h. ROp V  F  p\        V^4      '       d   K  Q h	  . ROp V  F  p\        V^4      '       d   K  Q h	  R# )c                      \        ^ ^
4      # r   r   r    r   r   r$   $test_is_fermat_prp.<locals>.<lambda>F       }Q3r   c                      \        ^^4      # r1   r<   r    r   r   r$   r=   G       }Q2r   N)U  1    Q  k    q    	  i
        i  i  I  )   U   [   rC   i  i  rD   rE     rF   i  i  rG   i-  i  rH   c  rI   )r   r(   r   pseudorpimer   s     r   test_is_fermat_prprW   D   s    
:34
:23 Q"""" AAQ!$$$$CKQ"""" CKQ"""" r   c                     \        \        R  4       \        \        R 4       \        ^^4      '       d   Q h\        ^^4      '       g   Q h\        ^^4      '       g   Q h\        ^^4      '       g   Q h\        R^4      '       g   Q h. ROp V  F  p\        V^4      '       d   K  Q h	  . ROp V  F  p\        V^4      '       d   K  Q h	  R# )c                      \        ^ ^
4      # r;   r   r    r   r   r$   #test_is_euler_prp.<locals>.<lambda>a   s    |Ar2r   c                      \        ^^4      # r@   rZ   r    r   r   r$   r[   b   s    |Aq1r   NrB   )rD   rF   rH   rI   rJ   rK   rM   rN   rO        i!!  Y)  i2  =  )y   rS   rH   rT   rL     i     "  r_   s0  ia<  r`   @  !I  )r   r(   r   rU   s     r   test_is_euler_prprh   _   s    
:23
:12 Aq!!!! 11A####@KAq!!!! CKAq!!!! r   c                     \        \        R  4       \        \        R 4       \        ^^4      '       d   Q h\        ^^4      '       g   Q h\        ^^4      '       g   Q h\        ^^4      '       g   Q h\        R^4      '       g   Q h. ROp V  F  p\        V^4      '       d   K  Q h	  . ROp V  F  p\        V^4      '       d   K  Q h	  R# )c                      \        ^ ^
4      # r;   r	   r    r   r   r$   $test_is_strong_prp.<locals>.<lambda>|   r>   r   c                      \        ^^4      # r@   rk   r    r   r   r$   rl   }   rA   r   NrB   )rJ   rM   rN   rO   r^   r`   ir  i/  i  i  i  i# i: )ra   rS   rT   rb   rc   rd   r_   re   rf   rg   iK  i[  i{  i  i]  )r   r(   r	   rU   s     r   test_is_strong_prprn   z   s    
:34
:23 Q"""" AAQ!$$$$=KQ"""" DKQ"""" r   c            
         R  p R p^p\        R^
4       F  p\        R^
4       F  pV^,          ^V,          ,
          pV^ 8X  d   K#  V ! W4V4      pV! W4V4      p\        ^^d^4       Fc  p\        V4       FQ  p	\        WWI4      w  rpWV	,          V,          8X  g   Q hWV	,          V,          8X  g   Q h\        WIV4      V8X  d   KQ  Q h	  Ke  	  K  	  K  	  R# )c                     ^ .V,          p^V^&   \        ^V4       F6  pWV^,
          ,          ,          WV^,
          ,          ,          ,
          W4&   K8  	  V# r;   r   PQlengtharrayks   &&&  r   lucas_u$test_lucas_sequence.<locals>.lucas_u   sN    faq&!AQ<'!AEl*::EH "r   c                     ^ .V,          p^V^ &   W^&   \        ^V4       F6  pWV^,
          ,          ,          WV^,
          ,          ,          ,
          W4&   K8  	  V# r;   rq   rr   s   &&&  r   lucas_v$test_lucas_sequence.<locals>.lucas_v   sU    faaq&!AQ<'!AEl*::EH "r   Ni)r   r   pow)rx   r{   ru   rs   rt   Dusvsr   rw   UVQks                r   test_lucas_sequencer      s     F3^sBA1qs
AAvv&Bv&B1c1%vA.qQ:HA"1	>)>1	>)>qQ<2---	 ' &   r   c                     \        \        R  4       \        \        R 4       \        \        R 4       \        \        R 4       \        ^^^4      '       d   Q h\        ^^^4      '       g   Q h\        ^^R4      '       g   Q h\        ^^^4      '       g   Q h\        R^R4      '       g   Q h. ROp V  F  p\        V^R4      '       d   K  Q h	  R# )c                      \        ^^^4      # r.   r   r    r   r   r$   'test_is_fibonacci_prp.<locals>.<lambda>       /1a8r   c                      \        ^R^4      # )r.   r   r    r   r   r$   r      s    /2q9r   c                      \        ^^^4      # r   r   r    r   r   r$   r      r   r   c                      \        ^ ^R4      # r   r   r   r    r   r   r$   r      s    /1b9r   Nr   rB   )i  rK   i
  i  U    A  }*  3  ;  i_  iar  i  )r   r(   r   rU   s     r   test_is_fibonacci_prpr      s    
:89
:9:
:89
:9:  1a(((( Aq!$$$$Aq"%%%%B1%%%%GQ++++=K1b)))) r   c                     \        \        R  4       \        \        R 4       \        \        R 4       \        ^^^4      '       d   Q h\        ^^^4      '       g   Q h\        ^^R4      '       g   Q h\        ^^^4      '       g   Q h\        R^R4      '       g   Q h. ROp V  F  p\        V^R4      '       d   K  Q h	  R# )c                      \        ^^^4      # r   r   r    r   r   r$   #test_is_lucas_prp.<locals>.<lambda>   s    |Aq!4r   c                      \        ^ ^R4      # r   r   r    r   r   r$   r      s    |Aq"5r   c                      \        ^^^4      # rP   r   r    r   r   r$   r      s    |B15r   Nr   rB   )C  y  rT     r   r   r]   r   i  r   -  r   i6  r   iB  )r   r(   r   rU   s     r   test_is_lucas_prpr      s    
:45
:56
:56 Aq!$$$$ 1a    1b!!!!Aq!!!!B''''CKAq"%%%% r   c                  &   \        \        R  4       \        ^4      '       d   Q h\        ^4      '       g   Q h\        ^4      '       g   Q h\        ^4      '       g   Q h\        R4      '       g   Q h. ROp V  F  p\        V4      '       d   K  Q h	  R# )c                      \        ^ 4      # r;   )r   r    r   r   r$   'test_is_selfridge_prp.<locals>.<lambda>   s
    /2r   NrB   )r   r   i  i%  r   S  r   io#  i#  r   i,  r   i_6  i9  >  )r   r(   r   rU   s     r   test_is_selfridge_prpr      s    
:23  """" AABG$$$$CK"""" r   c                  >   \        \        R  4       \        \        R 4       \        \        R 4       \        ^^^4      '       d   Q h\        ^^^4      '       g   Q h\        ^^R4      '       g   Q h\        ^^^4      '       g   Q h\        R^R4      '       g   Q hR# )c                      \        ^^^4      # r   r   r    r   r   r$   *test_is_strong_lucas_prp.<locals>.<lambda>   s    21a;r   c                      \        ^ ^R4      # r   r   r    r   r   r$   r      s    21a<r   c                      \        ^^^4      # r   r   r    r   r   r$   r      s    22q!<r   Nr   rB   r   )r   r(   r   r    r   r   test_is_strong_lucas_prpr      s    
:;<
:<=
:<= #1a++++ q!Q''''q!R((((r1a((((w2....r   c                  &   \        \        R  4       \        ^4      '       d   Q h\        ^4      '       g   Q h\        ^4      '       g   Q h\        ^4      '       g   Q h\        R4      '       g   Q h. ROp V  F  p\        V4      '       d   K  Q h	  R# )c                      \        ^ 4      # r;   )r   r    r   r   r$   .test_is_strong_selfridge_prp.<locals>.<lambda>  s
    6q9r   NrB   )r   r   r   r   iJ  iW  i_  iob  iu  i  iE% i| i i )r   r(   r   rU   s     r   test_is_strong_selfridge_prpr     s    
:9: 'q)))) #1%%%%"1%%%%"2&&&&"7++++FK&q)))) r   c                      \        \        R  4       \        ^4      '       d   Q h\        ^4      '       g   Q h\        ^4      '       g   Q h\        ^4      '       g   Q h\        R4      '       g   Q hR# )c                      \        ^ 4      # r;   )r   r    r   r   r$   "test_is_bpsw_prp.<locals>.<lambda>  s    {1~r   NrB   )r   r(   r   r    r   r   test_is_bpsw_prpr     s[    
:-. 1~~ q>>>q>>>r???wr   c                      \        \        R  4       \        ^4      '       d   Q h\        ^4      '       g   Q h\        ^4      '       g   Q h\        ^4      '       g   Q h\        R4      '       g   Q hR# )c                      \        ^ 4      # r;   )r   r    r   r   r$   )test_is_strong_bpsw_prp.<locals>.<lambda>*  s
    1!4r   NrB   )r   r(   r   r    r   r   test_is_strong_bpsw_prpr   (  sf    
:45 "!$$$$ a    a    b!!!!g&&&&r   N)#	itertoolsr   sympy.external.ntheoryr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   sympy.testing.pytestr   r   r!   r,   r8   rW   rh   rn   r   r   r   r   r   r   r   r   r    r   r   <module>r      sw    "E E E E E
 (1*3#(#6"6#6.@*.&,#(/ *( 'r   