K iS#ddlmZddlmZmZmZddlmZmZm Z m Z m Z m Z m Z mZddlmZdZdZdZdZd Zd Zd Zy ) )ring)ZZQQAlgebraicField)modgcd_univariatemodgcd_bivariate._chinese_remainder_reconstruction_multivariatemodgcd_multivariate _to_ZZ_poly _to_ANP_polyfunc_field_modgcd_func_field_modgcd_m)sqrtctdt\}}|j|j}}t||dk(sJ|j|}}t|||ddfk(sJt|||ddfk(sJ|j| }}t|||ddfk(sJt|||ddfk(sJd|z|d}}t||d|dfk(sJd|zdzd|dzzdz }}t||d|zdzdd|zdz fk(sJ|d zd |dzzzd |dzzzd |zzd z}|dzd|dzzzd |zzdz}|dzd|zzdz}|dzd|zzd z}|dz}t|||||fk(sJ|d zd z }|d zd |dzzzd z}|dzdz}|dzdz }|dzdz}t|||||fk(sJ|d z|dzzd|d zzz d|dzzz d |dzzzd|zzdz }d|dzzd|d zzzd |dzzz d|zz d z}d}|}|}t|||||fk(sJd|dzzd|dzzzd|dzzzd|dzzzd|d zzz d|dzzzd|dzzzdz}d|d zzd|dzzzd |dzzz dz }t||j |d|k(sJd!|zd"z}d#|zd$z}d#|zd$z}d%}d}t|||||fk(sJy)&Nxrrrr  lp>Z6 -(3{CzVg sR&1l ` %'('@$@9$`V*l`%Nwgej^ r0cu`ZhD#l]%5u[ov&+/ c>_o],l@)-P/'X=vw+U9+;l _I ,4~XsR`Y?t Ul y[p?u;ZW`( lEAy\ ^ lmc @Atsl\o#MkE6w#l @r/sLxFJGjA l 3sd%u%g% 9 i[Tl qRvl@ lP\ l`i*)rrzerordiff)Rrfghcffcfgs g/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/polys/tests/test_modulargcd.pytest_modgcd_univariate_integersr.s3 R=DAq 66166qA Q "i // / 661qA Q "q!Qi // / Q "q!Qi // / 66A2qA Q "q!Rj 00 0 Q "q"aj 00 0 Q3!qA Q "q!Qi // / Q37AadFQJqA Q "qsQw1Q37&; ;; ; 1qAv 1a4"Q$&*A 1qAv 1q A 1qs QA Q$1*q.C a%C Q "q#sm 33 3 1qA 1qAv A 1qA Q$(C Q$(C Q "q#sm 33 3 1q!t a1fqAv%!Q$.14q8A !Q$1a4!AqD& 1Q3&+A A C C Q "q#sm 33 3defhjejj ]^_ac^c c d XYZ\^Y^ ^ _ SSTVXSX X Y LArE Q  R DArE I  J :!Q$ >  ? / /A Gq"u L @B F G 8A = > / /A Qq *1 - 22 2q #99A111A111A C C Q "q#sm 33 3ctdt\}}}|j|j}}t||dk(sJd|z|d}}t||d|dfk(sJ|d|zz||z}}t||d||fk(sJ|dzd|z|zz|dzz|dz|dzz}}t||||z||z|dz||zz |dzzfk(sJ||dzzd|z|zz|z||dzz|z}}t||||z|z|dz|dz|z dzfk(sJ|dz|dzz|dz|zzdz||dzz||zzdz}}t||d||fk(sJd|z|dzzd|z|zzd|zz|dzzd|zzdz}d|z|dzzd|zz|dzzdz}t||d|z|zd|zz|zdz|dz|dz|z dzfk(sJd|dzzd|zzdz|dz}}t|||dzd|zdzdfk(sJ|dzd|dzzd|zzdz}}t|||dzdd|zdzfk(sJd|dzzd|z|zzd|zz d|zz }|dz|zdz }t|||dz d|zd|zz|dzfk(sJd|dzzd|z|zzd|zz d|zz }d|z|zd|zz d|dzzzd|zz }t||||zd|zdz d|zdz fk(sJy)Nx,yrrrrr)rrr%r)r'ryr(r)s r-test_modgcd_bivariate_integersr3[s5"oGAq! 66166qA Aq !Y .. . Q3!qA Aq !aAY .. . qs7AEqA Aq !aAY .. . a4!A#a%A qAvzqA Aq !acAgq1uadQhl%C CC C a419q!tAv  !1QT6AaC >> > !Q$1Q1qs"A !A! a1fqs"A Aq !a!eQqS1WacAg%> >> >r/ctdt\}}}d\}}|dz|z|dzz dz }|dz |zd|z|dzzz dz}t||||}|j||k(sJ|j||k(sJtd|\}} d\}}||zdz| dzz|z}|dzd|zz | zdz}t||||}|j||k(sJ|j||k(sJy)Nx, y)rrrrrz)rr$)rrr trunc_ground) r'rr2pqhphqhpqTr6s r-test_chinese_remainderr>s,62GAq! DAq Aa!Q$ B Q$q1Q3q!t8 a B 8RA FC   A " $$ $   A " $$ $ QA qAvzqA q! $1q!a%AA(F FF F a419q!tAv  !1QT6AaC1Q37qA q! $QAq(9 99 9 a419qAvax !Q$ &1 ,q 0!Q$1*q.qAa%Aa!Q$*AECsA q! $C 55 5 q! $C 55 5gr"JAq!Q qs7A!GqA q! $QqS!Q 77 7  "GAq!%a+KAsC 6aeqjQsUaZ/ /K,Aq!Q1  "GAq!%a+KAsC 6aeqjQsUaZ/ /!/26Aq!Q1a  "GAq!%a+KAsC 6aeqjQsUaZ/ /#'(;R#@ Aq!Q1aAq  "GAq!%a+KAsC 6aeqjQsUaZ/ /gr"JAq!Q  "GAq!%a+KAsC 6aeqjQsUaZ/ /  "GAq!%a+KAsC 6aeqjQsUaZ/ /B'MAq!Q  "GAq!%a+KAsC 6aeqjQsUaZ/ /Zr/ctttd}td|\}}|tddzz}tdt\}}}||z|z}t |||k(sJt |||k(sJtd|\}}}} ||dzz|| zztdz}tdt\} } } td| \}}}| dz| z|z|z}t |||k(sJt |||k(sJy)Nrrrzx_, z_zx, t, szt_, s_)rrrrrr r ) Ar'rr(r=x_z_f_rJsDt_s_s r-test_to_ZZ_ANP_polyrUsr47#A Qs| R=DAq61oGAq!!tAqDy1a46!A%++A.G q5!a%qA 1g .!%% 77 7r/N)sympy.polys.ringsrsympy.polys.domainsrrrsympy.polys.modulargcdrrr r r r r r(sympy.functions.elementary.miscellaneousrr.r3r>rKrUr[r_r/r-resK"66:I4X%?P%0^0B$,(4X8r/