
    sg                    v    d dl 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 d dlmZ ed        Zd	dZd Zy)
    )annotationsqs)
SievePolynomial_generate_factor_base_initialize_first_polynomial_initialize_ith_poly_gen_sieve_array_check_smoothness_trial_division_stage_gauss_mod_2_build_matrix_find_factor)slowc                     t        ddd      ddhk(  sJ t        ddd      dd	hk(  sJ t        d
dd      ddhk(  sJ t        ddd      ddhk(  sJ y )N   M0)	 d   i'  iˆ iц l   spO9V{i  l   8,2l   7l   wIPR3:z2Xi  iP  l   RFBp l   w+ l   gJ/
Q9u(l   8(WCl   +-A]Lr        N/var/www/html/venv/lib/python3.12/site-packages/sympy/ntheory/tests/test_qs.py	test_qs_1r      s    k3&66*::::)47	() ) )-tU;	/*+ + ++T59	() ) )r   c            	        d} d}t        g ddd      }|j                  d      dk(  sJ |j                  d      dk(  sJ t        d	|       \  }}}|d
k(  sJ t        d      D cg c]  }||   j                   c}g dk(  sJ t        d      D cg c]  }||   j
                   c}g dk(  sJ t        d      D cg c]  }||   j                   c}g dk(  sJ t        | ||||d      \  }}|j                  dk(  sJ |j                  dk(  sJ |ddgk(  sJ t        d      D cg c]  }||   j                   c}g dk(  sJ t        d      D cg c]  }||   j                   c}g dk(  sJ t        d      D cg c]  }||   j                   c}g dk(  sJ t        d      D cg c]  }||   j                   c}ddgddgddgddgddggk(  sJ t        | |d||      }	|	j                  dk(  sJ |	j                  dk(  sJ t        ||      }
|
dd g dk(  sJ t!        d|      d k(  sJ t!        d!|      d   dd g d"k(  sJ t!        d!|      d   sJ i }t#        | |||
||d#$      \  }}|d%d&d'd(d)k(  sJ t        d      D cg c]
  }||   d    c}g d*k(  sJ t        d      D cg c]
  }||   d    c}g d+k(  sJ |d   d   dd g d,k(  sJ t%        g d-g d.g d/g d0g d0g      g d0dgg d0d1ggg d2g d-g d3g d/g d0g d0gf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 c c}w c c}w )4Nr   2   )r   i@  l40)	 
   P   l+O/)	    l0)	 i  R      )                        +   ;   =   C   G   I   O   )   r.   r    r   r       r/      r.               r3   r   )  ie  i  i	  iU  r   )seedi3J i/j
 i) i6@ )r   r   r    r!      r      r$   	   r'         ?   r%   r$   )r   r.   r.   r       r1   r   r/   r   r.   8   7   r)   :   r1   )r.   r.   r   r!   r    r      r/   (   r      -      r.   r8   r   r    r9   r7   r.   i= )i   i#5  i+  i  r5   i%  )r   Fi5 )r   r   r   r   r   r   r   r   r   r.   r   r   r.   r   r.   i d  )
ERROR_TERM)i  l{Y*)	 )i  l#))	 )i  lw()	 )i&  l0')	 )i!  iU iy i  )ilGplhFz$ l hr K lH\)lY.)	 l   -\#l   [x l   %2 i1Et)r.   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r.   )r.   r   r.   )r   r.   r   )r   r.   r.   rE   )TTTFF)r.   r   r   )r   evalr   rangeprimetmem_plog_pr   absoln1soln2a_invb_ainvr	   r
   r   r   r   )nM
sieve_polyidx_1000idx_5000factor_baseigBg_1sieve_arraypartial_relationssmooth_relationpartial_relations                 r   	test_qs_2r`      s   A
A !;RDJ??2,...??1---&;D!&D#Hhr>>*/)4QKN  4AB B B+095aKN!!5<= = =*/(3QKN  3%& & & (	1k8XA7DAq33'>>33&==    */)4QKN  4=> > >*/)4QKN  4>? ? ?*/)4QKN  49: : :+084aKN!!4
Q!Q!Q!Q"b23 3 3 q+q!Q
7C55G55F??"1k2Kq====T;/:===V[1!4Qr:56 6 6V[1!44446(=	1k;
4E)%O% !##!	!    ,184aOAq!4 9P P P P+084aOAq!4 9J J J J1a 2& +5 5 5 5 	Iy)Y? Q)Q((	Iy)Y?
  g 553 54444 54s6   $L!L&>L+*L0L5L:1L?M8M	c                 6   d} ddg dfddg dfdd	g d
fddg dfddg dfg}t        |      }|g dg dg d
g dg dgk(  sJ t        |      \  }}}|g d
dgg ddggk(  sJ |g dk(  sJ |g dg dg d
g dg dgk(  sJ t        |||d||       }|dk(  sJ y )Ni  iu% i}  )r   r   r   r.   iXTi> )r   r.   r   r.   i i 1  )r   r   r   r      iO  i$iK  )r   r.   r   r   r   r    )TTFFTr      )r   r   r   )Nsmooth_relationsmatrixdependent_rowmarkgauss_matrixfactors          r   	test_qs_3rk   \   s    A	#|$	E<(	5,'	e\"	E<( +,F    )5V(<%M4lA.q0ABBBB3333    t\1.>CFR<<r   N)returnNone)
__future__r   sympy.ntheoryr   sympy.ntheory.qsr   r   r   r	   r
   r   r   r   r   r   sympy.testing.pytestr   r   r`   rk   r   r   r   <module>rr      s?    "       & ) )CL r   