§
    OŠtjt  ã                  óœ   — d dl mZ d dlZ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 d dlmZ ed„ ¦   «         Zdd
„Zd„ Zd„ Zd„ Zd„ ZdS )é    )ÚannotationsN)Ú_randint)ÚqsÚ	qs_factor)ÚSievePolynomialÚ_generate_factor_baseÚ_generate_polynomialÚ_gen_sieve_arrayÚ_check_smoothnessÚ_trial_division_stageÚ_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 ‚d S )Nì   »M0)	 éd   é'  iË† iÑ† l   ©spÑOÑ9V{Óéè  l   ó8ã,2l   óÿ¯7l   wI±PR3:z2XéÐ  l   RÄFBp l   w+½ù l   ÛgºJª/´
Q9u(iPÃ  l   8(WÐCl   +-šA]L©r   © ó    úY/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/ntheory/tests/test_qs.pyÚ	test_qs_1r      s²   € åˆk˜3 Ñ&Ô&¨6°6Ð*:Ò:Ð:Ð:Ð:ÝÐ)¨4°Ñ7Ô7Ø	˜Ð(ò)ð )ð )ð )åÐ-¨t°UÑ;Ô;Ø	˜/Ð*ò+ð +ð +ð +åÐ+¨T°5Ñ9Ô9Ø	˜Ð(ò)ð )ð )ð )ð )ð )r   ÚreturnÚNonec            
     óÌ  ‡‡— d} d}t          dd| ¦  «        }|                     d¦  «        |                     d¦  «        dz  | z
  cxk    rdk    sn J ‚|                     d¦  «        |                     d¦  «        dz  | z
  cxk    rdk    sn J ‚t          d	| ¦  «        \  }}Š|d
k    sJ ‚ˆfd„t	          d¦  «        D ¦   «         g d¢k    sJ ‚ˆfd„t	          d¦  «        D ¦   «         g d¢k    sJ ‚ˆfd„t	          d¦  «        D ¦   «         g d¢k    sJ ‚t          | |‰||t          d¦  «        ¦  «        }t          |¦  «        }|j        dk    sJ ‚|j	        dk    sJ ‚ˆfd„t	          d¦  «        D ¦   «         g d¢k    sJ ‚ˆfd„t	          d¦  «        D ¦   «         g d¢k    sJ ‚ˆfd„t	          d¦  «        D ¦   «         ddgddgddgddgddggk    sJ ‚t          |¦  «        }|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"k    sJ ‚i }	t          | |‰|||	d#¬$¦  «        \  Š}
|	d%d&d'd(d)œk    sJ ‚ˆfd*„t	          d¦  «        D ¦   «         g d+¢k    sJ ‚ˆfd,„t	          d¦  «        D ¦   «         g d-¢k    sJ ‚‰d         d         d.k    sJ ‚|
t          ¦   «         k    sJ ‚d S )/Nr   é2   é
   éP   é   lýÿÿÿ+O/)	 é   lýÿÿÿ·0)	 r   éR   c                ó*   •— g | ]}‰|         j         ‘ŒS r   )Úprime©Ú.0ÚiÚfactor_bases     €r   ú
<listcomp>ztest_qs_2.<locals>.<listcomp>    ó    ø€ Ð4Ð4Ð4 QˆK˜ŒNÔ Ð4Ð4Ð4r   é   )r    é   é   é   é   é   é   é   é+   é;   é=   éC   éG   éI   éO   c                ó*   •— g | ]}‰|         j         ‘ŒS r   )Útmem_pr%   s     €r   r)   ztest_qs_2.<locals>.<listcomp>"   s    ø€ Ð5Ð5Ð5 aˆK˜ŒNÔ!Ð5Ð5Ð5r   )é   r<   r,   r!   r,   é   r=   é   r<   é   é   é   é   rA   r+   c                ó*   •— g | ]}‰|         j         ‘ŒS r   )Úlog_pr%   s     €r   r)   ztest_qs_2.<locals>.<listcomp>$   s    ø€ Ð3Ð3Ð3 QˆK˜ŒNÔ Ð3Ð3Ð3r   )éÆ  ie  iÉ  i—	  iU  r   i3J i/j
 c                ó*   •— g | ]}‰|         j         ‘ŒS r   )Úsoln1r%   s     €r   r)   ztest_qs_2.<locals>.<listcomp>,   r*   r   )r   r   r,   r-   é   r   é   r0   é	   r3   é   é   é?   r1   r0   c                ó*   •— g | ]}‰|         j         ‘ŒS r   )Úsoln2r%   s     €r   r)   ztest_qs_2.<locals>.<listcomp>.   r*   r   )r   r<   r<   r,   é   r?   r+   r=   r+   r<   é8   é7   r5   é:   r?   c                ó*   •— g | ]}‰|         j         ‘ŒS r   )Úb_ainvr%   s     €r   r)   ztest_qs_2.<locals>.<listcomp>0   s    ø€ Ð4Ð4Ð4 aˆK˜ŒNÔ!Ð4Ð4Ð4r   r,   rJ   rH   i= )iè   i#5  i+  i×  rE   i­%  )l         r!   i‰5 )i R  r<   i d  )Ú
ERROR_TERM)i¸  lýÿÿÿ{Y*)	 l            )iê  lýÿÿÿ×#))	 i5  )i  lýÿÿÿw()	 l   %              @)i&  lýÿÿÿ0')	 l             )iû!  iU‹ iy iý  c                ó,   •— g | ]}‰|         d          ‘ŒS )r   r   ©r&   r'   Úsmooth_relations     €r   r)   ztest_qs_2.<locals>.<listcomp>H   ó#   ø€ Ð4Ð4Ð4 aˆO˜AÔ˜qÔ!Ð4Ð4Ð4r   )iÿÿÿi> is iŠ i‡¬  c                ó,   •— g | ]}‰|         d          ‘ŒS )r<   r   rX   s     €r   r)   ztest_qs_2.<locals>.<listcomp>J   rZ   r   )lýÿÿÿ—Y.)	 l   ¹-\#l   ©[x l   ¹%ñ2 i1¯Etl
                    )r   Úeval_vÚeval_ur   Úranger	   r   ÚnextÚaÚbr
   r   r   Úset)ÚnÚMÚ
sieve_polyÚidx_1000Úidx_5000ÚitÚgÚg_1Úsieve_arrayÚpartial_relationsÚproper_factorr(   rY   s              @@r   Ú	test_qs_2rn      sS  øø€ Ø€AØ
€AÝ   R¨Ñ+Ô+€JØ×Ò˜RÑ Ô  J×$5Ò$5°bÑ$9Ô$9¸1Ñ$<¸qÑ$@ÐPÐPÒPÐPÀLÒPÐPÐPÐPÐPÐPØ×Ò˜QÑÔ :×#4Ò#4°QÑ#7Ô#7¸Ñ#:¸QÑ#>ÐNÐNÒNÐNÀ,ÒNÐNÐNÐNÐNÐNå&;¸DÀ!Ñ&DÔ&DÑ#€Hˆh˜Ø�rŠ>ˆ>ˆ>ˆ>Ø4Ð4Ð4Ð4­%°©)¬)Ð4Ñ4Ô4ØAÐAÐAòBð Bð Bð Bà5Ð5Ð5Ð5­5°©9¬9Ð5Ñ5Ô5Ø<Ð<Ð<ò=ð =ð =ð =à3Ð3Ð3Ð3­%°©(¬(Ð3Ñ3Ô3Ø%Ð%Ð%ò&ð &ð &ð &õ 
Ø	ˆ1ˆk˜8 X­x¸©{¬{ñ
<ô 
<€BåˆR‰Œ€AØŒ3�'Š>ˆ>ˆ>ˆ>ØŒ3�&Š=ˆ=ˆ=ˆ=Ø4Ð4Ð4Ð4­%°©)¬)Ð4Ñ4Ô4Ø=Ð=Ð=ò>ð >ð >ð >à4Ð4Ð4Ð4­%°©)¬)Ð4Ñ4Ô4Ø>Ð>Ð>ò?ð ?ð ?ð ?à4Ð4Ð4Ð4­5°©8¬8Ð4Ñ4Ô4Ø
ˆQˆ�!�Q�˜!˜Q˜ ! Q ¨"¨b¨Ð2ò3ð 3ð 3ð 3õ ˆr‰(Œ(€CØŒ5�GÒÐÐÐØŒ5�FŠ?ˆ?ˆ?ˆ?å" 1 kÑ2Ô2€KØ�q˜�sÔÐ=Ð=Ð=Ò=Ð=Ð=Ð=å˜T ;Ñ/Ô/Ð3IÒIÐIÐIÐIÝ˜V [Ñ1Ô1°ZÒ?Ð?Ð?Ð?à46ÐÝ%:Ø	ˆ1ˆk˜;¨
Ð4EØð&ñ &ô &Ñ"€O�]ð Ø:Ø+ØIØ=ð	!ð !ò ð ð ð ð 5Ð4Ð4Ð4­5°©8¬8Ð4Ñ4Ô4ð 9-ð 9-ð 9-ò -ð -ð -ð -à4Ð4Ð4Ð4­5°©8¬8Ð4Ñ4Ô4ð 9Jð 9Jð 9Jò Jð Jð Jð Jà˜1Ô˜aÔ Ð$PÒPÐPÐPÐPØ�C™EœEÒ!Ð!Ð!Ð!Ð!Ð!r   c                 óZ   — d} g d¢}t          t          | |d¦  «        ¦  «        dk    sJ ‚d S )Ni  ))iðu% i}  rI   )iXÜTþi€> r   )iÐä® i 1  r   )é•   i O  r   )iæÞ$þiK  r    é   é   )r_   r   )ÚNÚsmooth_relationss     r   Ú	test_qs_3ru   P   sG   € Ø€Aðð ð Ðõ •˜QÐ 0°!Ñ4Ô4Ñ5Ô5¸Ò;Ð;Ð;Ð;Ð;Ð;r   c                 óR   — d} t          | dd¦  «        D ]}| |z  dk    sJ ‚| |z  } Œd S )Nl   ƒq`©T<oÃý r   r   r   r   )rs   Úfactors     r   Ú	test_qs_4rx   \   sH   € Ø+€AÝ�Q˜˜dÑ#Ô#ð ð ˆØ�6‰z˜QŠˆˆˆØ	ˆf‰ˆˆðð r   c                 óö   — t          ddd¦  «        dddœk    sJ ‚d} t          | dd¦  «        }t          |¦  «        dk    sJ ‚t          j        d„ |                     ¦   «         D ¦   «         ¦  «        | k    sJ ‚d S )Nis¨r   r   r<   )iñ  i£† l   kn.=¾'´w!& c              3  ó&   K  — | ]\  }}||z  V — Œd S )Nr   )r&   ÚpÚes      r   ú	<genexpr>z!test_qs_factor.<locals>.<genexpr>h   s*   è è € Ð6Ð6™d˜a �Q˜‘TÐ6Ð6Ð6Ð6Ð6Ð6r   )r   ÚlenÚmathÚprodÚitems)rc   Úfactorss     r   Útest_qs_factorrƒ   c   sŒ   € Ý�] D¨%Ñ0Ô0¸1ÀaÐ4HÐ4HÒHÐHÐHÐHØ&€AÝ˜˜4 Ñ'Ô'€GÝˆw‰<Œ<˜!ÒÐÐÐÝŒ9Ð6Ð6 g§m¢m¡o¤oÐ6Ñ6Ô6Ñ6Ô6¸!Ò;Ð;Ð;Ð;Ð;Ð;r   c                 ó0   — d} t          | dd¦  «        €J ‚d S )Nl   òivT‰@ iˆ  i N  r   )rs   s    r   Útest_issue_27616r…   k   s%   € à€AÝˆa��uÑÔÐ)Ð)Ð)Ð)Ð)r   )r   r   )Ú
__future__r   r   Úsympy.core.randomr   Úsympy.ntheoryr   r   Úsympy.ntheory.qsr   r   r	   r
   r   r   r   Úsympy.testing.pytestr   r   rn   ru   rx   rƒ   r…   r   r   r   ú<module>r‹      s@  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø &Ð &Ð &Ð &Ð &Ð &Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'ðMð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð &Ð %Ð %Ð %Ð %Ð %ð ð)ð )ñ „ð)ð6"ð 6"ð 6"ð 6"ðr	<ð 	<ð 	<ðð ð ð<ð <ð <ð*ð *ð *ð *ð *r   