
    \ht                        S SK Jr  S SKrS SKJr  S SKJrJr  S SKJ	r	J
r
JrJrJrJrJr  S SKJr  \S 5       rSS jrS	 rS
 rS rS rg)    )annotationsN)_randint)qs	qs_factor)SievePolynomial_generate_factor_base_generate_polynomial_gen_sieve_array_check_smoothness_trial_division_stage_find_factor)slowc                     [        SSS5      SS1:X  d   e[        SSS5      SS	1:X  d   e[        S
SS5      SS1:X  d   e[        SSS5      SS1:X  d   eg )N   M0)	 d   '  iˆ iц l   spO9V{  l   8,2l   7l   wIPR3:z2X  l   RFBp l   w+ l   gJ/
Q9u(iP  l   8(WCl   +-A]Lr        S/var/www/auris/envauris/lib/python3.13/site-packages/sympy/ntheory/tests/test_qs.py	test_qs_1r      s    k3&66*::::)47	() ) )-tU;	/*+ + ++T59	() ) )r   c            
     R   Sn Sn[        SSU 5      nUR                  S5      UR                  S5      S-  U -
  s=:X  a  S:X  d   e   eUR                  S5      UR                  S5      S-  U -
  s=:X  a  S:X  d   e   e[        S	U 5      u  p4nUS
:X  d   e[	        S5       Vs/ s H  oeU   R
                  PM     sn/ SQ:X  d   e[	        S5       Vs/ s H  oeU   R                  PM     sn/ SQ:X  d   e[	        S5       Vs/ s H  oeU   R                  PM     sn/ SQ:X  d   e[        XXSU[        S5      5      n[        U5      nUR                  S:X  d   eUR                  S:X  d   e[	        S5       Vs/ s H  oeU   R                  PM     sn/ SQ:X  d   e[	        S5       Vs/ s H  oeU   R                  PM     sn/ SQ:X  d   e[	        S5       Vs/ s H  oeU   R                  PM     snSS/SS/SS/SS/SS//:X  d   e[        U5      n	U	R                  S:X  d   eU	R                  S:X  d   e[!        X5      n
U
SS / SQ:X  d   e[#        SU5      S:X  d   e[#        SU5      S:X  d   e0 n[%        XXZX+SS9u  pUSS S!S"S#.:X  d   e[	        S5       Vs/ s H
  olU   S   PM     sn/ S$Q:X  d   e[	        S5       Vs/ s H
  olU   S%   PM     sn/ S&Q:X  d   eUS   S   S':X  d   eU['        5       :X  d   eg s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf )(Nr   2   
   P      l+O/)	    l0)	 r   R      )r                        +   ;   =   C   G   I   O   )   r0   r"   r   r"      r1      r0               r5   r!   )  ie  i  i	  iU  r   i3J i/j
 )r   r   r"   r#      r      r&   	   r)         ?   r'   r&   )r   r0   r0   r"      r3   r!   r1   r!   r0   8   7   r+   :   r3   r"   r:   r8   i= )i   i#5  i+  i  r7   i%  )l         r   i5 )i R  r0   i d  )
ERROR_TERM)i  l{Y*)	 l            )i  l#))	 i5  )i  lw()	 l   %              @)i&  l0')	 l             )i!  iU iy i  )ii> is i i  r0   )lY.)	 l   -\#l   [x l   %2 i1Etl
                    )r   eval_veval_ur   rangeprimetmem_plog_pr	   r   nextabsoln1soln2b_ainvr
   r   r   set)nM
sieve_polyidx_1000idx_5000factor_baseiitgg_1sieve_arraypartial_relationssmooth_relationproper_factors                 r   	test_qs_2r^      s   A
A R+JR J$5$5b$91$<q$@PLPPPPPQ:#4#4Q#7#:Q#>N,NNNNN&;D!&D#Hr>>*/)4)QN  )4AB B B+0959aN!!95<= = =*/(3(QN  (3%& & & 
	kXx{
<BRA33'>>33&==*/)4)QN  )4=> > >*/)4)QN  )4>? ? ?+0848aN!!84
Q!Q!Q!Q"b23 3 3 r(C55G55F??"12Kq====T;/3IIIIV[1Z???46%:	k
&"O :+I=	!    ,1848aAq!84 9- - - -+0848aAq!84 9J J J J1a $PPPPCE!!![ 553 5440 54s0   "LLL8L(LLLL$c                 F    Sn / SQn[        [        XS5      5      S:X  d   eg )Ni  ))iu% i}  r9   )iXTi> r   )i i 1  r   )   iO  r   )i$iK  r         )rI   r   )Nsmooth_relationss     r   	test_qs_3re   P   s+    A Q!45;;;r   c                 L    Sn [        U SS5       H  nX-  S:X  d   eX-  n M     g )Nl   q`T<o r   r   r   r   )rc   factors     r   	test_qs_4rh   \   s/    +AQd#zQ	 $r   c                     [        SSS5      SSS.:X  d   eSn [        U SS5      n[        U5      S:  d   e[        R                  " S UR	                  5        5       5      U :X  d   eg )Nisr   r   r0   )i  i l   kn.='w!& c              3  .   #    U  H  u  pX-  v   M     g 7f)Nr   ).0pes      r   	<genexpr>!test_qs_factor.<locals>.<genexpr>h   s     6odaQTos   )r   lenmathproditems)rP   factorss     r   test_qs_factorru   c   sf    ]D%01a4HHHH&A4'Gw<!996gmmo66!;;;r   c                 (    Sn [        U SS5      c   eg )Nl   ivT@ i  i N  r   )rc   s    r   test_issue_27616rw   k   s    Aau)))r   )returnNone)
__future__r   rq   sympy.core.randomr   sympy.ntheoryr   r   sympy.ntheory.qsr   r   r	   r
   r   r   r   sympy.testing.pytestr   r   r^   re   rh   ru   rw   r   r   r   <module>r      sV    "  & 'M M M & ) )6"r	<<*r   