
    \hVT                        S r SSKJrJrJrJrJrJrJrJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@  SSKAJBrB  SSKCJDrDJErE  SSKFJGrG  SSKHJIrI  SSKJJKrK  SSKLJMrM  \B" 5        V s/ s H  o R                  5       PM     sn u  rOrPrQrRrSrTrUS	 rVS
 rWS rXS rYS rZS r[S r\S r]S r^S r_S r`S raS rbS rcS rdS reS rfS rgS rhS riS rjS rkS rlS  rmS! rnS" roS# rpS$ rqS% rrS& rsS' rtS( ruS) rvS* rwS+ rxS, ryS- rzS. r{S/ r|S0 r}S1 r~S2 rS3 rS4 rS5 rS6 rS7 rS8 rS9 rS: rS; rS< rS= rS> rS? rS@ rSA rSB rgCs  sn f )Dz4Tests for dense recursive polynomials' basic tools.     )?ninfdup_LCdmp_LCdup_TCdmp_TCdmp_ground_LCdmp_ground_TCdmp_true_LT
dup_degree
dmp_degreedmp_degree_indmp_degree_list	dup_strip	dmp_stripdmp_validatedup_reversedup_copydmp_copy
dup_normal
dmp_normaldup_convertdmp_convertdup_from_sympydmp_from_sympydup_nthdmp_nthdmp_ground_nth
dmp_zero_pdmp_zero	dmp_one_pdmp_onedmp_ground_p
dmp_grounddmp_negative_pdmp_positive_p	dmp_zerosdmp_groundsdup_from_dictdup_from_raw_dictdup_to_dictdup_to_raw_dictdmp_from_dictdmp_to_dictdmp_swapdmp_permutedmp_nest	dmp_raisedup_deflatedmp_deflatedup_multi_deflatedmp_multi_deflatedup_inflatedmp_inflatedmp_excludedmp_include
dmp_inject	dmp_ejectdup_terms_gcddmp_terms_gcddmp_list_termsdmp_apply_pairs	dup_slice
dup_random)f_polys)ZZQQ)ring)S)raises)ooc                  `    [        / [        5      S:X  d   e[        / SQ[        5      S:X  d   eg )Nr               rK   )r   rC        Y/var/www/auris/envauris/lib/python3.13/site-packages/sympy/polys/tests/test_densebasic.pytest_dup_LCrR   3   +    "b>Q,#q(((rP   c                  `    [        / [        5      S:X  d   e[        / SQ[        5      S:X  d   eg )Nr   rJ   rN   )r   rC   rO   rP   rQ   test_dup_TCrU   8   rS   rP   c                      [        / /[        5      / :X  d   e[        / SQS//[        5      / SQ:X  d   e[        / //[        5      / /:X  d   e[        S/SS//S///[        5      S/SS//:X  d   eg NrK   rL   rM   rN   rK   rL   rM   )r   rC   rO   rP   rQ   test_dmp_LCrY   =   s    2$r!!!9qc"B'9444B4&""%%%QC!Q=A3%("-1#1v>>>rP   c                      [        / /[        5      / :X  d   e[        / SQS//[        5      S/:X  d   e[        / //[        5      / /:X  d   e[        S/SS//S///[        5      S//:X  d   eg rW   )r   rC   rO   rP   rQ   test_dmp_TCr[   D   s~    2$r!!!9qc"B'A3...B4&""%%%QC!Q=A3%("-1#666rP   c                      [        / /S[        5      S:X  d   e[        / SQS//S[        5      S:X  d   e[        / //S[        5      S:X  d   e[        S/SS//S///S[        5      S:X  d   eg N   r   rX   rN   rK   rL   rM   )r   rC   rO   rP   rQ   test_dmp_ground_LCr_   K   ~    "q"%***)aS)1b1Q6662$B'1,,,A3A-1#/B71<<<rP   c                      [        / /S[        5      S:X  d   e[        / SQS//S[        5      S:X  d   e[        / //S[        5      S:X  d   e[        S/SS//S///S[        5      S:X  d   eg r]   )r	   rC   rO   rP   rQ   test_dmp_ground_TCrb   R   r`   rP   c                     [        / /S[        5      S:X  d   e[        S//S[        5      S:X  d   e[        SS//S[        5      S:X  d   e[        S// /S[        5      S:X  d   e[        SS// /S[        5      S:X  d   eg )	Nr^   )r   r   r      )rd   re   r   )r   r^   r^   )r^   r   r^   )r^   r^   r^   )r
   rC   rO   rP   rQ   test_dmp_true_LTri   Y   s    tQ#{222ua$333AxB';666Ry!R(K777A|Q+{:::rP   c                      [         [        S5      :X  d   e[        / 5      [         L d   e[        S/5      S:X  d   e[        SS/5      S:X  d   e[        / SQ5      S:X  d   eg )Nz-infr^   r   )r^   r   r   r   r^   rM   )r   floatr   rO   rP   rQ   test_dup_degreerl   b   sd    5=   b>T!!!qc?aq!f"""o&!+++rP   c                      [        / /S5      [        L d   e[        / //S5      [        L d   e[        S//S5      S:X  d   e[        S/S//S5      S:X  d   eg Nr^   rK   r   )r   r   rO   rP   rQ   test_dmp_degreero   j   sh    rdA$&&&tfa D(((seQ1$$$sQCj!$)))rP   c                  |   [        / //SS5      [        L d   e[        / //SS5      [        L d   e[        / //SS5      [        L d   e[        S///SS5      S:X  d   e[        S///SS5      S:X  d   e[        S///SS5      S:X  d   e[        [        SS5      S:X  d   e[        [        SS5      S:X  d   e[        [        SS5      S:X  d   e[        [        SS5      S:X  d   e[        [        SS5      S:X  d   e[        [        SS5      S:X  d   e[        [        S	S	5      S	:X  d   e[	        [
        S
 5        g )Nr   rK   r^   	         rM      rL   c                       [        S//SS5      $ )Nr^   )r   rO   rP   rQ   <lambda>$test_dmp_degree_in.<locals>.<lambda>   s    }qcUB:rP   )r   r   f_4f_6rG   
IndexErrorrO   rP   rQ   test_dmp_degree_inr|   r   sV   2$A&$...2$A&$...2$A&$...A3%!Q'1,,,A3%!Q'1,,,A3%!Q'1,,,a#q(((a#r)))a#q(((a#q(((a#q(((a#q(((a#q(((
::;rP   c                     [        / ///S5      [        * [        * [        * [        * 4:X  d   e[        S////S5      S:X  d   e[        [        S5      S:X  d   e[        [        S5      S:X  d   e[        [        S5      S:X  d   e[        [
        S5      S:X  d   e[        [        S5      S	:X  d   e[        [        S5      S:X  d   e[        [        S5      S
:X  d   eg )NrL   r^   )r   r   r   r   rK   )rK   rK   rK   )rL   rL   rL   )rN   rL   rL   )rN   rM   re   )rq   rr   rs   )rM   rM   rt   rL   )	r   rH   f_0f_1f_2f_3ry   f_5rz   rO   rP   rQ   test_dmp_degree_listr      s    cUG9a(bS2#sRC,@@@@qcUG9a(M9993"i///3"i///3"i///3"i///3"j0003"i///3"l222rP   c                  d   [        / 5      / :X  d   e[        S/5      / :X  d   e[        / SQ5      / :X  d   e[        S/5      S/:X  d   e[        SS/5      S/:X  d   e[        / SQ5      S/:X  d   e[        / SQ5      / SQ:X  d   e[        / SQ5      / SQ:X  d   e[        / SQ5      / SQ:X  d   eg )Nr   r   r   r   r^   )r   r   r   r^   )r^   rK   r   )r   r^   rK   r   )r   r   r   r^   rK   r   )r   rO   rP   rQ   test_dup_stripr      s    R=BaS>RY2%%%aS>aS   aV###\"qc)))Y9,,,\"i///'(I555rP   c                     [        / SQS5      SS/:X  d   e[        / /S5      / /:X  d   e[        / / /S5      / /:X  d   e[        / / / /S5      / /:X  d   e[        / //S5      / //:X  d   e[        / // //S5      / //:X  d   e[        / // // //S5      / //:X  d   e[        S///S5      S///:X  d   e[        / /S///S5      S///:X  d   e[        / /S/// //S5      S/// //:X  d   eg )N)r   r^   r   r   r^   rK   )r   rO   rP   rQ   test_dmp_stripr      sD   Y"q!f,,,bT1"%%%b"Xq!bT)))b"b\1%"---rdVQRD6)))rdRD\1%2$///rdRD2$'+v555seWa qcUG+++rdaSE]A&QC5'111rdaSEB4(!,1#===rP   c                      [        / 5      / S4:X  d   e[        / SQ5      SS/S4:X  d   e[        / //5      / //S4:X  d   e[        S// S/S/S//5      S// /S4:X  d   e[        [        S 5        g )Nr   )r   r   r   r^   r   r^   rK   c                  *    [        S/SS/S/S//5      $ )Nr   r^   )r   rO   rP   rQ   rw   #test_dmp_validate.<locals>.<lambda>   s    |aS!aS1#s,CDrP   )r   rG   
ValueErrorrO   rP   rQ   test_dmp_validater      s    Aw&&&(aVQK777"bTFA;...!b1#sQC01sBi^CCC
:DErP   c                  X    [        / SQ5      / SQ:X  d   e[        / SQ5      / SQ:X  d   eg )N)r^   rK   r   rL   )rL   r   rK   r^   r^   rK   rL   r   )rL   rK   r^   )r   rO   rP   rQ   test_dup_reverser      s(    |$444|$	111rP   c                      [        S5      [        S5      [        S5      /n [        U 5      n[        S5      [        S5      sUS'   US'   X:w  d   eg )Nr^   r   rK   re   )rC   r   fgs     rQ   test_dup_copyr      sG    	A1r!uAAA1JAaD!A$6M6rP   c                      [        S5      /[        S5      [        S5      //n [        U S5      n[        S5      [        S5      sUS   S'   US   S'   X:w  d   eg )Nr^   rK   r   re   )rC   r   r   s     rQ   test_dmp_copyr      sV    
Q%2a5"Q%.!AAA!ubeAaDGQqT!W6M6rP   c                      [        / SQ[        5      [        S5      [        S5      [        S5      [        S5      [        S5      /:X  d   eg )N)r   r   rK   r^   r      r   rK   r^   r   r   )r   rC   rO   rP   rQ   test_dup_normalr      s>    ,b1	A1r!ubfbe,- - -rP   c                      [        S// / SQS/S// /S[        5      [        S5      [        S5      // [        S5      // /:X  d   eg )Nr   )r   rK   r^   r   r^   rK   )r   rC   rO   rP   rQ   test_dmp_normalr      sN    sB	A3b91bA
Q%AbfXr*+ + +rP   c                      [         S   [         pU " S5      U " S5      U " S5      U " S5      /n[        X U5      [        S5      [        S5      [        S5      [        S5      /:X  d   eg )Nxr^   rK   r   rL   )rC   r   K0K1r   s      rQ   test_dup_convertr      s`    Wb	A1r!ube$Aqb!	A1r!ube$% % %rP   c                      [         S   [         pU " S5      /U " S5      // U " S5      //n[        USX5      [        S5      /[        S5      // [        S5      //:X  d   eg )Nr   r^   rK   rL   )rC   r   r   s      rQ   test_dmp_convertr      sf    Wb
Q%2a5'21w'Aq!R$
Q%2a5'21w'( ( (rP   c                     [        [        R                  [        S5      /[        5      [        S5      [        S5      /:X  d   e[        [        R                  [        S5      /[
        5      [        SS5      [        SS5      /:X  d   eg )NrK   r^   rL   )r   rF   OnerC   HalfrD   rO   rP   rQ   test_dup_from_sympyr      so    155!A$-,	A1  1661Q4."-	Aq2a8  rP   c                  B   [        [        R                  [        S5      /[        R                  //S[        5      [	        S5      [	        S5      // /:X  d   e[        [        R
                  [        S5      //S[        5      [        SS5      [        SS5      //:X  d   eg )NrK   r^   )r   rF   r   ZerorC   r   rD   rO   rP   rQ   test_dmp_from_sympyr      s    AEE1Q4=166(3Q;
Q%A  AFFAaD>*Ar2
Q(Bq!H	  rP   c                      [        / SQS[        5      S:X  d   e[        / SQS[        5      S:X  d   e[        / SQS[        5      S:X  d   e[        / SQS[        5      S:X  d   e[        [        S 5        g )Nr^   rK   rL   r   rL   r^   rK   rq   c                  (    [        / SQS[        5      $ )N)rL   rM   rN   )r   rC   rO   rP   rQ   rw   test_dup_nth.<locals>.<lambda>  s    wy"b9rP   )r   rC   rG   r{   rO   rP   rQ   test_dup_nthr      si    9a$)))9a$)))9a$)))9a$)))
:9:rP   c                     [        S/S/S//SS[        5      S/:X  d   e[        S/S/S//SS[        5      S/:X  d   e[        S/S/S//SS[        5      S/:X  d   e[        S/S/S//SS[        5      / :X  d   e[        [        S 5        g )Nr^   rK   rL   r   rq   c                  2    [        S/S/S//SS[        5      $ )NrL   rM   rN   r   r^   )r   rC   rO   rP   rQ   rw   test_dmp_nth.<locals>.<lambda>  s    waS1#ArBrP   )r   rC   rG   r{   rO   rP   rQ   test_dmp_nthr     s    QC!qc?Aq"-!444QC!qc?Aq"-!444QC!qc?Aq"-!444QC!qc?Aq"-333
:BCrP   c                     [        / /SS[        5      S:X  d   e[        S/S/S//SS[        5      S:X  d   e[        S/S/S//SS[        5      S:X  d   e[        S/S/S//SS[        5      S:X  d   e[        S/S/S//SS[        5      S:X  d   e[        S/S/S//S	S[        5      S:X  d   e[        [        S
 5        g )Nrd   r^   r   rK   rL   rg   rK   r   rK   r^   )rL   r   c                  2    [        S/S/S//SS[        5      $ )NrL   rM   rN   )rK   r   r^   )r   rC   rO   rP   rQ   rw   %test_dmp_ground_nth.<locals>.<lambda>  s    ~sQC!ow2NrP   )r   rC   rG   r{   rO   rP   rQ   test_dmp_ground_nthr     s    2$2.!333A3aS/61b9Q>>>A3aS/61b9Q>>>A3aS/61b9Q>>>A3aS/61b9Q>>>A3aS/61b9Q>>>
:NOrP   c                      [        / S5      SL d   e[        / /S5      SL d   e[        / //S5      SL d   e[        S///S5      SL d   eg )Nr   Tr^   rK   F)r   rO   rP   rQ   test_dmp_zero_pr     sb    b!$$$rdA$&&&tfa D(((ugq!U***rP   c                  L    [        S5      / :X  d   e[        S5      / //:X  d   eg )Nr   rK   )r   rO   rP   rQ   test_dmp_zeror   %  s*    A;"A;B4&   rP   c                      [        S/S[        5      SL d   e[        S//S[        5      SL d   e[        S///S[        5      SL d   e[        S///S[        5      SL d   eg )Nr^   r   TrK   rr   F)r    rC   rO   rP   rQ   test_dmp_one_pr   *  sp    aS!R D(((qcUAr"d***seWa$,,,tfXq"%...rP   c                      [        S[        5      [        S5      /:X  d   e[        S[        5      [        S5      ///:X  d   eg )Nr   r^   rK   )r!   rC   rO   rP   rQ   test_dmp_oner   1  s:    1b>beW$$$1b>1wi[(((rP   c                  `   [        / SS5      SL d   e[        / /SS5      SL d   e[        / /SS5      SL d   e[        [        S5      //SS5      SL d   e[        [        S5      ///SS5      SL d   e[        [        S5      ///SS5      SL d   e[        [        S5      // //SS5      SL d   e[        / S S5      SL d   e[        / /S S5      SL d   e[        [        S5      /S S5      SL d   e[        [        S5      ///S S5      SL d   e[        [        S5      // //S S5      SL d   eg )Nr   Tr^   FrK   rL   )r"   rC   rO   rP   rQ   test_dmp_ground_pr   6  s`   Aq!T)))a#t+++a#u,,,"Q%	1a(D0002a5'Q*d2222a5'Q*e3332a5'2A.%777D!$,,,dA&$...Aq)T1112a5'T1-5552a5'2q1U:::rP   c                     [        [        S5      S5      / //:X  d   e[        [        S5      S5      [        S5      :X  d   e[        [        S5      S5      [        S5      /:X  d   e[        [        S5      S5      [        S5      ///:X  d   eg )Nr   rK   re   r   )r#   rC   rO   rP   rQ   test_dmp_groundr   J  s~    beQRD6)))beR BqE)))beQBqE7***beQbeWI;...rP   c                  H   [        SS[        5      / / / / /:X  d   e[        SS[        5      / :X  d   e[        SS[        5      / ///:X  d   e[        SS[        5      / /// ///:X  d   e[        SS[        5      / /// /// ///:X  d   e[        SS[        5      / SQ:X  d   eg )NrM   r   rK   r^   rL   r   r   )r&   rC   rO   rP   rQ   test_dmp_zerosr   R  s    Q22r2r"2222Q2"$$$Q2RD6(***Q2RD6RD6"2222Q2RD6RD6RD6"::::QB9,,,rP   c                  P   [        [        S5      SS5      / :X  d   e[        [        S5      SS5      S////:X  d   e[        [        S5      SS5      S///S////:X  d   e[        [        S5      SS5      S///S///S////:X  d   e[        [        S5      SS5      / SQ:X  d   eg )Nre   r   rK   r^   rL   r   )re   re   re   )r'   rC   rO   rP   rQ   test_dmp_groundsr   ]  s    r!ua#r)))r!ua#1#y000r!ua#1#A3%'9999r!ua#1#A3%QC5''BBBBr!ua$	111rP   c                      [        / //S[        5      SL d   e[        S/S///S[        5      SL d   e[        S/S///S[        5      SL d   eg )NrK   Fr^   r   T)r$   rC   rO   rP   rQ   test_dmp_negative_pr   g  s_    B4&!R(E111QC!:,2.%777RD1#;-B/4777rP   c                      [        / //S[        5      SL d   e[        S/S///S[        5      SL d   e[        S/S///S[        5      SL d   eg )NrK   Fr^   Tr   )r%   rC   rO   rP   rQ   test_dmp_positive_pr   m  s_    B4&!R(E111QC!:,2.$666RD1#;-B/5888rP   c                  b   [        0 [        5      / :X  d   e[        0 [        5      / :X  d   e[        / 5      0 :X  d   e[	        / 5      0 :X  d   e[        / [        SS9S[        S5      0:X  d   e[	        / [        SS9S[        S5      0:X  d   e/ SQn SSSS	.nSSSS
.n[        U[        5      U :X  d   e[        U[        5      U :X  d   e[        U 5      U:X  d   e[	        U 5      U:X  d   e[        S[        5      u  p4nUR                  5       nU" S5      U" S5      U" S5      U" S5      U" S5      U" S5      /n U" S5      U" S5      U" S5      S.nU" S5      U" S5      U" S5      S.n[        X5      U :X  d   e[        X&5      U :X  d   e[        U 5      U:X  d   e[	        U 5      U:X  d   eg )NTzeror   r   )	rL   r   r   rK   r   r   r   r   rs   rL   rK   rs   )rs   rN   r   ))rs   rN   r   x,y)rN   rL   r   )r   rL   r   )r)   rC   r(   r+   r*   rE   	to_domain)r   r   hRr   yKs          rQ   test_dup_from_to_dictr   s  s   R$***R B&&&2"$$$r?b   2r-!RU;;;r2D)dBqE]:::#A!A#AQ#q(((B1$$$1"""q>Q%_FA	A	
1qtQqT1Q41qt,AaDQqTad#At1Q4qt,AQ"a'''!###1"""q>QrP   c            	      Z   [        0 S[        5      / /:X  d   e[        / /S5      0 :X  d   e[        / S[        SS9S[        S5      0:X  d   e[        / /S[        SS9S[        S5      0:X  d   eS// / S// / / / S	//	n SSS	S
.n[        US[        5      U :X  d   e[        U S5      U:X  d   eg )Nr^   r   Tr   r   rd   rL   rK   rs   ))rs   r   )rN   r   rd   )r,   rC   r-   r   s     rQ   test_dmp_from_to_dictr     s    Q#t+++tQ2%%%r1bt,r!u===tQ.62a5/AAA
b"qc2r2rA3/AAq)AAr"a'''q!!!!rP   c                  ,  ^ [        / SQ/ SS// S//S[        5      m[        / SQ/ SQS//S[        5      n [        TSSS[        5      T:X  d   e[        TSSS[        5      U :X  d   e[        U SSS[        5      T:X  d   e[        [        U4S j5        g )Nr^   r   r   r^   r   r^   r   r   r   r   c                  *   > [        T SSS[        5      $ )Nr   ir^   )r.   rC   r   s   rQ   rw   test_dmp_swap.<locals>.<lambda>  s    x2r1b9rP   )r   rC   r.   rG   r{   )r   r   s    @rQ   test_dmp_swapr     s    IrAq62s3Q;AOY4a<AAq!Q#q(((Aq!Q#q(((Aq!Q#q(((
:9:rP   c                  <   [        / SQ/ SS// S//S[        5      n [        / SQ/ SQS//S[        5      n[        U SS/S[        5      U :X  d   e[        USS/S[        5      U:X  d   e[        U SS/S[        5      U:X  d   e[        USS/S[        5      U :X  d   eg )Nr   r^   r   r   )r   rC   r/   r   s     rQ   test_dmp_permuter     s    IrAq62s3Q;AOY4a<Aq1a&!R(A---q1a&!R(A---q1a&!R(A---q1a&!R(A---rP   c                      [        [        S5      S[        5      S///:X  d   e[        S//S[        5      S//:X  d   e[        S//S[        5      S///:X  d   e[        S//S[        5      S////:X  d   eg rn   )r0   rC   rO   rP   rQ   test_dmp_nestr     s    BqE1b!seW,,,aSE1b!qcU***aSE1b!seW,,,aSE1b!ugY...rP   c                      [        / SS[        5      / //:X  d   e[        S//SS[        5      S//:X  d   e[        / SQ/ SS//SS[        5      S//S//S//// //S//S////:X  d   eg )NrK   r   r^   r   rL   )r1   rC   rO   rP   rQ   test_dmp_raiser     s    RAr"tf,,,qcUAq"%1#...iaV,aB73%1#!	"1#!78 8 8rP   c                     [        / [        5      S/ 4:X  d   e[        S/[        5      SS/4:X  d   e[        / SQ[        5      S/ SQ4:X  d   e[        / SQ[        5      S/ SQ4:X  d   e[        [        SSS.[        5      [        5      S/ SQ4:X  d   e[        [        SSS.[        5      [        5      SSS/4:X  d   e[        [        SSS	.[        5      [        5      S/ S
Q4:X  d   e[        [        SSS.[        5      [        5      S/ SQ4:X  d   e[        [        SSS.[        5      [        5      S/ SQ4:X  d   e[        [        SS0[        5      [        5      SSS/4:X  d   e[        [        SS0[        5      [        5      SSS/4:X  d   e[        [        SS0[        5      [        5      SSS/4:X  d   eg )Nr^   rK   r   r^   r   rK   r   rL   )re   r^   )r^   r   r   r   r   r   r^   r   )re   r   re   )re   rL   )r^   r   r   r   r^   r   r   r   )re   rM   )r^   r   r   r^   r   r   r   r   )rs   rM   rM   )r^   r^   r   rs   r   )r2   rC   r)   rO   rP   rQ   test_dup_deflater     s   r21b')))sBAs8+++y"%!Y777+9~===(Q1r:B?	
$%& & &(Q1r:B?	
QF  (Q1r:B?	
$%& & & (Q1r:B?	
$%& & &(Q1r:B?	
I   (!Q4b9	
QF  (!Q4b9	
QF  (!Q4b9	
QF  rP   c                      [        / /S[        5      S/ /4:X  d   e[        S//S[        5      SS//4:X  d   e/ SQ/ SS// S//n [        U S[        5      S/ SQSS/S//4:X  d   eg )Nr^   rh   rK   r   r   r   )r3   rC   r   s    rQ   test_dmp_deflater     s    tQ#~555ua$1#777	BAQC(Aq!R Vi!Q!-E$FFFFrP   c                  |   [        S/4[        5      SS/44:X  d   e[        / / 4[        5      S/ / 44:X  d   e[        / SQ4[        5      S/ SQ44:X  d   e[        / SQ4[        5      S/ SQ44:X  d   e[        / SQ/ SQ4[        5      S/ SQSS/44:X  d   e[        / SQ/ SQ4[        5      S/ SQ/ SQ44:X  d   eg )NrK   r^   r   r   rK   r   r   r   )rK   r^   r   )r4   rC   rO   rP   rQ   test_dup_multi_deflater     s    qcVR(Q!K777b"Xr*q2r(m;;;i\2.1yl2CCCCo/4YL8IIIIoy92>	
YA ! ! !oy92>	
_i()* * *rP   c                  Z   [        / /4S[        5      S/ /44:X  d   e[        / // /4S[        5      S/ // /44:X  d   e[        S/// /4S[        5      SS/// /44:X  d   e[        S//S//4S[        5      SS//S//44:X  d   e[        S//SS//4S[        5      SS//SS//44:X  d   e[        SS//SS//4S[        5      SSS//SS//44:X  d   e[        S/// SQ/4S[        5      SS//SS//44:X  d   e[        / SQ// SQ/4S[        5      SSS//SS//44:X  d   e[        / SQ/ SQ4S[        5      SSS// S	Q44:X  d   e/ S
Q/ SS// S//n / SQ/ S//n[        U 4S[        5      S/ S
QSS/S//44:X  d   e[        X4S[        5      S/ S
QSS/S/// SQS//44:X  d   eg )Nr^   rh   rK   r   r   r^   rK   )r^   r   rM   r   r^   rK   )r^   rM   r^   r   r^   r   r^   r   r   )r5   rC   r   s     rQ   test_dmp_multi_deflater     s   rdWa,	2$  rdRD\1b1	2$   sebT]Ar2	A3%"     seqcU^Q3	A3%1# ! ! !seq!fX.26	A3%1a&"#$ $ $ 1vh!Q11b9	Aq6(aVH%&' ' ' #a%)/A3%1a&1B(CD D D
yk"Ar+/5!QAq6(7K.LM M M i91bA	A	"#$ $ $ 
BAQC(A	rA3AaT1b)	9q!fqc*,-. . . aVQ+	9q!fqc*!%' 	(( ( (rP   c                  ,   [        / S[        5      / :X  d   e[        / SQS[        5      / SQ:X  d   e[        / SQS[        5      / SQ:X  d   e[        / SQS[        5      / SQ:X  d   e[        / SQS[        5      / S	Q:X  d   e[        [        S
 5        g )N   r   r^   rK   r   rL   )r^   r   r   rK   r   r   rL   rM   )	r^   r   r   r   rK   r   r   r   rL   c                  (    [        / SQS[        5      $ )Nr   r   )r6   rC   rO   rP   rQ   rw   "test_dup_inflate.<locals>.<lambda>%  s    {9a<rP   )r6   rC   rG   r{   rO   rP   rQ   test_dup_inflater     s    r2r"b(((y!R(I555y!R(O;;;y!R(,AAAAy!R(,GGGG
:<=rP   c                     [        S/SS[        5      S/:X  d   e[        / /SS[        5      / /:X  d   e[        S//SS[        5      S//:X  d   e[        SS//SS[        5      SS//:X  d   e[        SS//SS[        5      / SQ/:X  d   e[        SS//S	S[        5      / S
Q/:X  d   e[        / SQS/SS//SS[        5      / SQ/ S// SS//:X  d   e[        [        S 5        g )Nr^   r   r   )rL   re   rK   r   rh   r   )r^   rL   rK   r   r   r   r   r   c                  (    [        / /SS[        5      $ )N)re   r^   )r7   rC   rO   rP   rQ   rw   "test_dmp_inflate.<locals>.<lambda>5  s    {B4!R@rP   )r7   rC   rG   r{   rO   rP   rQ   test_dmp_inflater  (  s   sD!R(QC///tVQ+t333ufa,!555AxB/QF8;;;AxB/I;>>>AxB/L>AAA	A3A/B?	BR!Q() ) ) :@ArP   c                     [        / //S[        5      / / //S4:X  d   e[        S///S[        5      / S///S4:X  d   e[        / SQS[        5      / / SQS4:X  d   e[        S/SS//S[        5      / S/SS//S4:X  d   e[        / SQ/S[        5      S// SQS4:X  d   e[        S/S/S//S[        5      S// SQS4:X  d   e[        / SQ//S[        5      SS// SQS4:X  d   e[        S//S//S///S[        5      SS// SQS4:X  d   eg )NrK   re   r   r   r^   rL   )r8   rC   rO   rP   rQ   test_dmp_excluder  8  sJ   vq"%"tfa888!w2&2!w*::::y!R(RA,>>>>aV}a,qcAq6]A0FFFF	{Ar*sIq.AAAAaS1#2.A3	12EEEE}a,!QA0FFFF!use,a4!QA8NNNNrP   c                  D   [        / SQ/ S[        5      / SQ:X  d   e[        / SQS/S[        5      / SQ/:X  d   e[        / SQS/S[        5      S/S/S//:X  d   e[        / SQSS/S[        5      / SQ//:X  d   e[        / SQSS/S[        5      S//S//S///:X  d   eg )Nr   r   r^   rK   rL   )r9   rC   rO   rP   rQ   test_dmp_includer  F  s    y"a,	999y1#q"-)<<<y1#q"-1#sQC@@@y1a&!R0i[MAAAy1a&!R0qcUaSEQC54IIIIrP   c                  D   [        S[        5      u  pnU R                  5       n[        / SU5      / //S4:X  d   e[        / /SU5      / ///S4:X  d   e[        U " S5      /SU5      S///S4:X  d   e[        U " S5      //SU5      S////S4:X  d   e[        U " S5      SU-  SU-  -   S-   /SU5      S//S/SS///S4:X  d   eSUS-  -  SU-  U-  -   SUS-  -  -   SU-  U " S5      XS-  -  S	-   /nS/SS// S
Q/S// // // SQS	///n[        USU5      US4:X  d   eg )Nr   r   rK   r^   rL   rM   re   rN   r   rN   r   r   r   )rE   rC   r   r:   r   r   r   r   r   r   s         rQ   test_dmp_injectr  P  s~   %_FA	Ab!QbTFA;...rdAq!vh]222qtfa#1#|333!vh1%aSE7)Q777qtQqS1Q3Y]+Q2!aV}7Mq6QQQQ	
1a4!A#a%!AqD&	 !A#qtQ!tVb[9A#1vy	!QC9rdY4EFAaA1a&(((rP   c                  ,   [        S[        5      u  pnU R                  5       n[        / //SU5      / :X  d   e[        / ///SU5      / /:X  d   e[        S///SU5      U " S5      /:X  d   e[        S////SU5      U " S5      //:X  d   e[        S//S/SS///SU5      U " S5      SU-  SU-  -   S-   /:X  d   eSUS-  -  SU-  U-  -   SUS-  -  -   SU-  U " S5      XS-  -  S	-   /nS/SS// S
Q/S// // // SQS	///n[        USU5      U:X  d   eg )Nr   rK   rL   r^   rM   re   rN   r   r   r	  r   )rE   rC   r   r;   r
  s         rQ   test_dmp_ejectr  b  se   %_FA	ArdVQ"b(((tfXq!$,,,seWa#!v---ugY1%1Q4&111seqcAq6]+Q2qtQqS1Q3Y]6KKKK	
1a4!A#a%!AqD&	 !A#qtQ!tVb[9A#1vy	!QC9rdY4EFAQ1"""rP   c                      [        / [        5      S/ 4:X  d   e[        / SQ[        5      S/ SQ4:X  d   e[        / SQ[        5      S/ SQ4:X  d   eg )Nr   r^   r   r^   r   r^   )r<   rC   rO   rP   rQ   test_dup_terms_gcdr  t  sM    R QG+++B'Ay>999r*q)n<<<rP   c                  R   [        / /S[        5      S/ /4:X  d   e[        / SQS[        5      S/ SQ4:X  d   e[        S// S// /S[        5      SS// S//4:X  d   e[        SS// S//S[        5      SSS// S//4:X  d   e[        SS// SQ/ / /S[        5      S	S/SS//4:X  d   eg )
Nr^   rd   r   r   r^   r  rg   r   r   )r=   rC   rO   rP   rQ   test_dmp_terms_gcdr  z  s    "q"%&2$777q"-$	1BBBB1#rA3+Q3!b1#7OOOO
QaS1b"&,1vrA3.?%@A A A
QB#Q,06!q!f/FG G GrP   c                     [        / //S[        5      S/:X  d   e[        S///S[        5      S/:X  d   e[        / SQS[        5      / SQ:X  d   e[        S/SS// S	Q/S[        5      / S
Q:X  d   e/ SQ/ SQ/ /n [        U S[        SS9SS/:X  d   e[        U S[        SS9SS/:X  d   e/ SQ/ SQ/ /n [        U S[        SS9SS/:X  d   e[        U S[        SS9SS/:X  d   eg )NrK   )r   r   r^   )r   r^   )r^   rK   rM   rL   rN   r   )))rM   r^   )r   rK   )r   rM   )r  rL   )r   rN   rM   )rL   rN   r   ))r   r^   )rh   rK   )rg   rM   ))r   rK   rL   )rf   rN   r   r   lex)order))rK   rL   rK   )r   r^   grlex)r^   r   r   r   r   r   ))r^   rN   r^   )r>   rC   r   s    rQ   test_dmp_list_termsr    s:   B4&!R(^,<<<<QC5'1b)n-====/1b1?@ @ @ A3A	2Ar:IJ J J 
y"%A!Q%0[+4NNNN	1b!%0+$>? ? ? 
)2.A!Q%0[+4NNNN	1b!%0+$>? ? ?rP   c                     S n [        / SQ/ SQU / S[        5      / SQ:X  d   e[        SS// SQU / S[        5      SS	/:X  d   e[        / SQS
S/U / S[        5      SS	/:X  d   e[        SS/S//SS
/S//U / S[        5      SS/S	//:X  d   e[        SS/S//S/S
S//U / S[        5      S/S	//:X  d   e[        S/SS//SS
/S//U / S[        5      S
/S	//:X  d   eg )Nc                 
    X-  $ )NrO   )abs     rQ   rw   &test_dmp_apply_pairs.<locals>.<lambda>  s    QSrP   r   )rM   rN   rt   r   )rM   
      rK   rL   r  r  rN   rt   r^   rM   rs   )r?   rC   )r   s    rQ   test_dmp_apply_pairsr     sD   A9iB2>+MMMAq69aQ;BxGGG9q!faQ;BxGGG
Q!A}aQ49:B"G G G 
Q!aV}aQ49:bT{C C C
q!fA}aQ49:bT{C C CrP   c                     / SQn [        U SS[        5      / :X  d   e[        U SS[        5      S/:X  d   e[        U SS[        5      SS/:X  d   e[        U SS[        5      / SQ:X  d   e[        U SS[        5      / SQ:X  d   e[        U SS[        5      U :X  d   e[        U SS[        5      U :X  d   e[        U SS[        5      / :X  d   e[        U SS[        5      / :X  d   e[        U SS[        5      SS/:X  d   e[        U SS[        5      / S	Q:X  d   e[        U SS[        5      / S
Q:X  d   e[        SS/SS[        5      SS/:X  d   e/ SQn[        USS[        5      S/:X  d   eg )N)r^   rK   rL   rM   r   r^   rM   rK   rL   rX   rq   )rK   rL   r   r   )r^   r   r   rK   )r@   rC   r   s     rQ   test_dup_slicer"    s~   AQ1b!R'''Q1b!aS(((Q1b!aV+++Q1b!Y...Q1b!\111Q1b!Q&&&Q1b!Q&&&Q1b!R'''Q1b!R'''Q1b!aV+++Q1b!Y...Q1b!\111aVQ2&1a&000AQ1b!aS(((rP   c                     [        SSS[        5      n [        U 5      S:X  d   e[        S U  5       5      (       d   e[        SSS[        5      n [        U 5      S:X  d   e[        S U  5       5      (       d   e[        S	S
S[        5      n [        U 5      S	:X  d   e[        S U  5       5      (       d   e[        SSS[        5      n [        U 5      S:X  d   e[        S U  5       5      (       d   eg )Nr   r  c              3   L   #    U  H  nS Us=:*  =(       a    S:*  Os  v   M     g7f)r$  r  NrO   .0cs     rQ   	<genexpr>"test_dup_random.<locals>.<genexpr>       )q!sa~~2~~q   "$r^      c              3   L   #    U  H  nS Us=:*  =(       a    S:*  Os  v   M     g7f)r-  r.  NrO   r&  s     rQ   r)  r*    r+  r,  rK      c              3   L   #    U  H  nS Us=:*  =(       a    S:*  Os  v   M     g7f)r0  r1  NrO   r&  s     rQ   r)  r*    r+  r,  rL   (   c              3   L   #    U  H  nS Us=:*  =(       a    S:*  Os  v   M     g7f)r3  r4  NrO   r&  s     rQ   r)  r*    r+  r,  )rA   rC   r   allr   s    rQ   test_dup_randomr7    s    1c2r"Aa=A)q)))))1c2r"Aa=A)q)))))1c2r"Aa=A)q)))))1c2r"Aa=A)q)))))rP   N)__doc__sympy.polys.densebasicr   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   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   sympy.polys.specialpolysrB   sympy.polys.domainsrC   rD   sympy.polys.ringsrE   sympy.core.singletonrF   sympy.testing.pytestrG   sympy.core.numbersrH   to_denser~   r   r   r   ry   r   rz   rR   rU   rY   r[   r_   rb   ri   rl   ro   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   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r   r"  r7  r   s   0rQ   <module>rA     s   :# # # # # # # # # # # # # # # # #J - & " " ' !<CI$GIqjjlI$G !S#sCc)
)
?7==;,*<*
36> F2
-
+
%(;D	P+!
/)
;(/-289D"	;./84G
* (F>B OJ)$#$=	G?.C")2*m %Hs   4F