
    \h9                     D   S r SSKJr  SSKJrJr  SSKJrJrJ	r	  SSK
JrJrJr  SSKJr  SSKJrJr  \" 5        V s/ s H  o R'                  5       PM     sn u  rrrrrrrS rS	 rS
 rS rS rS r S r!S r"S r#S r$S r%S r&S r'S r(S r)S r*S r+S r,S r-S r.gs  sn f )z:Tests for OO layer of several polynomial representations.     )sqrt)ZZQQ)DMPDMFANP)CoercionFailedExactQuotientFailedNotInvertible)f_polys)raiseswarns_deprecated_sympyc            	         [        [        S5      // [        S5      [        S5      [        S5      /[        S5      //[        5      n U R                  SS/S//:X  d   eU R                  [        :X  d   eU R                  S:X  d   e[        [        S5      [        S5      /[        S5      //[        S5      n U R                  SS/S//:X  d   eU R                  [        :X  d   eU R                  S:X  d   e[         R
                  " [        S5      [        S5      S.S[        5      n U R                  SS/S//:X  d   eU R                  [        :X  d   eU R                  S:X  d   eg )Nr            )r   r   r   r   )r   r   _repdomlev	from_dictfs    Z/var/www/auris/envauris/lib/python3.13/site-packages/sympy/polys/tests/test_polyclasses.pytest_DMP___init__r      s.   beWb2a5"Q%A/"Q%92>A66q!fqc]"""55B;;55A::beRU^beW%r1-A66q!fqc]"""55B;;55A::r!ube4a<A66q!fqc]"""55B;;55A::    c                      [        / SQ[        5      n [        5          U R                  / SQ:X  d   e S S S 5        g ! , (       d  f       g = f)Nr   r   r   )r   r   r   repr   s    r   test_DMP_rep_deprecationr!   !   s2    IrA		!uu	!!! 
"	!	!s	   <
A
c                  H   [        [        S5      [        S5      /[        S5      //[        5      [        [        S5      [        S5      /[        S5      //[        5      :X  d   e[        [        S5      [        S5      /[        S5      //[        5      [        [        S5      [        S5      /[        S5      //[        5      :X  d   e[        [        S5      [        S5      /[        S5      //[        5      [        [        S5      [        S5      /[        S5      //[        5      :X  d   e[        [        S5      ///[        5      [        [        S5      //[        5      :w  d   e[        [        S5      //[        5      [        [        S5      ///[        5      :w  d   eg )Nr   r   r   )r   r   r    r   r   test_DMP___eq__r$   (   sU   A1A("-beRU^beW%r*+ + + A1A("-beRU^beW%r*+ + +A1A("-beRU^beW%r*+ + + "Q%	{B3Ay"#5555Ay"1wi["!5555r   c                      [        [        / /[        5      5      SL d   e[        [        [        S5      //[        5      5      SL d   eg NFr   T)boolr   r   r#   r   r   test_DMP___bool__r(   5   s?    RD"%'''beWIr"#t+++r   c            	      J   [        [        S5      // [        S5      // [        S5      //[        5      n U R                  5       SSSS.:X  d   eU R                  5       [        R                  " S5      [        R                  " S5      [        R                  " S5      S.:X  d   eg )Nr   r      ))   r   r   r   r   )r   r   to_dictto_sympy_dictto_sympyr   s    r   test_DMP_to_dictr0   :   s    beWb2a5'21w/4A99;Aq)* * *??QQ	Q	  r   c            	      p   [        / /[        5      R                  SL d   e[        [        S5      //[        5      R                  SL d   e[        [        S5      //[        5      R                  SL d   e[        [        S5      //[        5      R                  SL d   e[        [        S5      //[        5      R                  SL d   e[        [        S5      /[        S5      /[        S5      //[        5      R                  SL d   e[        [        S5      /[        S5      [        S5      /[        S5      [        S5      //[        5      R
                  SL d   e[        [        S5      /[        S5      [        S5      /[        S5      [        S5      [        S5      //[        5      R
                  SL d   e[        [        S5      [        S5      /[        S5      //[        5      R                  SL d   e[        [        S5      [        S5      /[        S5      //[        5      R                  SL d   e[        [        S5      [        S5      /[        S5      //[        5      R                  SL d   e[        [        S5      [        S5      /[        S5      //[        5      R                  SL d   eg )	NTr   Fr   r   r   r+      )r   r   is_zerois_one	is_groundis_sqfis_monicis_primitiver#   r   r   test_DMP_propertiesr9   D   s-   tR=  D(((Ay"%%...Ay"$$,,,Ay"$$---Ay"''4///A"Q%2a5'*B/99UBBBA"Q%A"Q%A8"=DDLLLA"Q%A"Q%A1)>?DKKuTTTA1A("-66$>>>A1A("-66%???A1A("-::dBBBA1A("-::eCCCr   c            	      f  ^^ [        [        S5      /[        S5      [        S5      //[        5      mTR                  S5      [        [        S5      /[        S5      [        S5      //[        5      :X  d   eTR                  S5      [        [        S5      /[        S5      [        S5      //[        5      :X  d   e[	        [
        U4S j5        [        [        S5      //[        5      m[        [        S5      //[        5      mTR                  5       T:X  d   e[        T5      T:X  d   eTR                  5       T:X  d   eT* T:X  d   e[        / /[        5      n TR                  T5      U :X  d   eTT-   U :X  d   eTT-   U :X  d   eTS-   U :X  d   eST-   U :X  d   e[        [        S5      //[        5      n TR                  T5      U :X  d   eTT-
  U :X  d   eTT-
  U * :X  d   eTS-
  U :X  d   eST-
  U * :X  d   e[        [        S	5      //[        5      n TR                  T5      U :X  d   eTT-  U :X  d   eTT-  U :X  d   eTS-  U :X  d   eST-  U :X  d   e[        [        S
5      //[        5      n TR                  5       U :X  d   eTR                  S5      U :X  d   eTS-  U :X  d   e[	        [        U4S j5        [        [        S5      // [        S5      [        S5      [        S5      //[        5      m[        [        S5      /[        S5      [        S5      //[        5      m[        [        S5      /[        S5      [        S5      //[        5      n[        [        S5      [        S5      [        S5      //[        5      nTR                  T5      X4:X  d   eTR                  T5      U:X  d   eTR!                  T5      U:X  d   e[	        [
        UU4S j5        [        [        S5      // [        S5      [        S5      [        S5      //[        5      m[        [        S5      /[        S5      [        S5      //[        5      m[        [        S5      /[        S5      [        S5      //[        5      n[        [        S5      [        S5      [        S5      //[        5      nTR#                  T5      X4:X  d   eTR%                  T5      U:X  d   eTR'                  T5      U:X  d   e[)        TT5      X4:X  d   eTT-  U:X  d   eTT-  U:X  d   e[	        [
        UU4S j5        [        [        S5      [        S5      [        S5      /[        5      m[        [        S5      [        S5      /[        5      m[        / [        5      nTn[        [        S5      [        S5      /[        5      n[        / [        5      nTR#                  T5      X4:X  d   eTR%                  T5      U:X  d   eTR'                  T5      U:X  d   e[)        TT5      X4:X  d   eTT-  U:X  d   eTT-  U:X  d   e[	        [
        UU4S j5        TR                  T5      X44:X  d   eTR                  T5      U:X  d   eTR!                  T5      U:X  d   eTR+                  T5      U:X  d   eg )Nr   r   r+   r   c                  &   > T R                  S5      $ )Nr   )exquo_groundr   s   r   <lambda>&test_DMP_arithmetics.<locals>.<lambda>^   s    q(9r      i   c                  &   > T R                  S5      $ )Nx)powr   s   r   r=   r>      s    aeeCjr   r*   c                  &   > T R                  T5      $ N)pexquor   gs   r   r=   r>      s    r   c                  &   > T R                  T5      $ rH   exquorJ   s   r   r=   r>          
r   c                  &   > T R                  T5      $ rH   rN   rJ   s   r   r=   r>      rP   r   )r   r   
mul_ground
quo_groundr   r
   absnegaddsubmulsqrrE   	TypeErrorpdivpquopremdivquoremdivmodrI   )hqrpqprr   rK   s        @@r   test_DMP_arithmeticsrg   X   s   beWr!uben%r*A<<?cBqE7RUBqEN";R@@@@<<?cBqE7RUBqEN";R@@@@
 9:bfXJAbeWIrA557a<<q6Q;;557a<<27N7RD"A558q==q5A::q5A::q5A::q5A::bgYKA558q==q5A::q5QB;;q5A::q5QB;;bgYKA558q==q5A::q5A::q5A::q5A::bfXJA557a<<558q==a4199
9()beWb2a5"Q%A/0"5AbeWr"vr!uo&+AbeWr!uben%r*AbeRUBqE"#R(A66!966!9>>66!9>>
 34beWb2a5"Q%A/0"5AbeWr"vr!uo&+AbeWr!uben%r*AbeRUBqE"#R(A558v558q==558q==!Q<A6!!!6Q;;q5A::
 23RUBqE2b6"B'ARUBrFOR ABA	A	beRU^R	 B	RB558v558q==558q==!Q<A6!!!6Q;;q5A::
 2366!9   66!9??66!9??88A;"r   c            
        ^ [        [        S5      /[        S5      [        S5      /[        S5      [        S5      [        S5      //[        5      m[        [        S5      /[        S5      [        S5      //[        5      n [        [        S5      //[        5      nTR                  5       S:X  d   eTR                  5       S:X  d   eTR	                  5       S:X  d   eTR                  5       [        S5      :X  d   eTR                  5       [        S5      :X  d   eTR                  SS5      [        S5      :X  d   e[        [        U4S j5        TR                  5       S:X  d   eTR                  5       S:X  d   e[        [        S5      /[        S5      [        S5      //[        5      nTR                  SSS9U:X  d   eTR                  SSS9U:X  d   e[        [        U4S j5        [        [        S5      [        S5      [        S5      /[        5      n[        [        S5      [        S5      [        S5      /[        5      nTR                  SSS	9U:X  d   eTR                  SSS	9U:X  d   eTR                  S5      R                  S5      [        S5      :X  d   eTR                  U 5      X U4:X  d   eTR                  U 5      U :X  d   eTR!                  U 5      T:X  d   e[        [#        S
5      [#        S5      [#        S5      //["        5      n[        [#        S5      [#        SS5      [#        SS5      //["        5      nUR%                  5       U:X  d   eST-  R'                  5       [        S5      :X  d   eST-  R)                  5       [        S5      T4:X  d   e[        [#        SS5      [#        S5      /["        5      m[        [#        SS5      [#        S5      /["        5      n TR+                  U 5      TR+                  U SS9s=:X  aM  [        [#        S5      [#        S5      /["        5      [        [#        S5      [#        S5      /["        5      4:X  d   e   eTR+                  U SS9[#        S5      [#        S5      [        [#        S5      [#        S5      /["        5      [        [#        S5      [#        S5      /["        5      4:X  d   e[        [        S5      /[        S5      /[        S5      /[        S5      /[        S5      /[        S5      //[        5      mTR-                  S5      [        [        S5      /[        S5      // [        S5      /[        S5      // /[        5      :X  d   e[        [.        [        5      mTR1                  5       T* :X  d   eTR3                  5       [        S5      T* S4/4:X  d   e[        [        S5      // / [        S5      //[        5      m[        [        S5      [        S5      // / /[        5      n [        [        S
5      [        S5      [        S5      //[        5      n[        [        S5      [        S5      [        S5      [        S5      /[        5      nTR5                  U 5      TX/:X  d   eTR7                  U 5      U:X  d   e[        [        S5      [        S5      [        S5      [        S5      /[        5      mTR9                  5       S:X  d   e[        [#        S5      [#        S5      /["        5      m[        [#        S5      [#        S5      [#        S5      /["        5      n [        [#        SS5      [#        S5      /["        5      n[        [#        SS5      /["        5      n[        [#        S5      /["        5      nTR;                  U 5      XQ4:X  d   eTR=                  U 5      XVU4:X  d   eTR?                  U 5      U:X  d   e[        [#        S5      /[#        S5      /[#        S5      //["        5      m[        [@        U4S j5        [        [@        U4S j5        [        [@        U4S  j5        [        [        RB                  " / S!Q5      [        5      m[        [        S5      [        S5      [        S5      [        S"5      [        S5      /[        5      n [        [        S5      [        S5      [        S5      [        S5      /[        5      nU RE                  U5      T:X  d   eTRG                  5       X/:X  d   e[        [#        S5      /[#        S5      /[#        S5      //["        5      m[        [@        U4S# j5        [        [@        U4S$ j5        g )%Nr   r   r   )r   r   c                  (   > T R                  SS5      $ )Nr   rD   )nthr   s   r   r=   (test_DMP_functionality.<locals>.<lambda>   s    aeeAsmr   r+   mjc                  $   > T R                  SSS9$ )NrD   r   rl   )diffr   s   r   r=   rk      s    affsaf0r   )arn   -      r@   r   	      T)include   Fr2   rL   i     rB   iipi       c                  &   > T R                  T 5      $ rH   )
half_gcdexr   s   r   r=   rk     s    q||Ar   c                  &   > T R                  T 5      $ rH   )gcdexr   s   r   r=   rk     s    qwwqzr   c                  &   > T R                  T 5      $ rH   )invertr   s   r   r=   rk      s    qxx{r   )r   r      r      r   i  r   iq  rF   r   rA   rt   rF   c                  $   > T R                  5       $ rH   )	decomposer   s   r   r=   rk   +  s    q{{}r   c                  $   > T R                  5       $ rH   )sturmr   s   r   r=   rk   ,  s    qwwyr   )$r   r   degreedegree_listtotal_degreeLCTCrj   r   rZ   max_norml1_normrp   eval	cofactorsgcdlcmr   moniccontent	primitivecanceltruncf_4sqf_partsqf_listsubresultants	resultantdiscriminantr|   r~   r   
ValueErrormapcomposer   )rK   rb   uvrd   str   s          @r   test_DMP_functionalityr      s   beWr!ubenr!ubeRU&;<bAAbeWr!uben%r*AbeWIrA88:??==?f$$$>>q   446RU??446RU??55A;"Q%
9+,::<199;!beWr!uben%r*A66A6q   66A6q   
901RUBqE2a5!2&ARUBqE2a5!2&A66A6q   66A6q   66!9>>!1%%%;;q>aAY&&&558q==558q==bfbfbe$%r*AbeR1Xr!Qx()2.A779>>aC==?be###aC??A
***R!Wbeb!AR!Wbeb!A88A;!((1d(3 RUBrFOR RUBrFOR 8      88Au8%
1
1RUBqENBRUBqENB	*    	beWr!ug1wA"Q%2a5'BBGA771:r!ug2xbeWr"vhKRPPPPCA::<A2::<BrFqb!WI....bfXr21w',AbeRU^R$b)Abfbfbe$%r*ARWbgr#w2/4A??1!Q***;;q>QRUBqE2a5"S'*B/A>>v%%%RUBqENBARUBqE2c7#R(AR2Y1#ARBZL"ARUGRA<<?qf$$$771:!"""88A;!beWr!ug1w',A
:./
:)*
:*+BFFDErJARUBqE2a5"R&"Q%0"5ARUBqE2a5"Q%("-A99Q<1;;=QF"""beWr!ug1w',A
:,-
:()r   c            	         [        S5      /// /////////////////////////n / SQn[        U [         5      R                  5       U[        [        S5      [        S5      /[         5      4:X  d   e[        [        S5      /[        S5      [        S5      //[         5      R                  5       / [        [        S5      /[        S5      [        S5      //[         5      4:X  d   eg )Nr   )r   r   r   r   r+   r@   r2   ru   r*   rt   
                  rz            r   rw         rB   r   )r   r   exclude)r   Js     r   test_DMP_excluder   /  s    "$Q%	B40123456789:;<=>?@ABCD
E	FGA	$A q":AsBqE2a5>2'>#????A"Q%A("-557r!ug1r!u~.345 5 5r   c                     [        S// / SQS/// SQ/4[        5      n U R                  SS/S//:X  d   eU R                  / SQ/:X  d   eU R                  S:X  d   eU R
                  [        :X  d   e[        SS/S/// SQ/4[        S5      n U R                  SS/S//:X  d   eU R                  / SQ/:X  d   eU R                  S:X  d   eU R
                  [        :X  d   e[        S/S//S/S	//4[        5      n U R                  S/S//:X  d   eU R                  S/S	//:X  d   eU R                  S:X  d   eU R
                  [        :X  d   e[        S/S//S
/S//4[        5      n U R                  S/S//:X  d   eU R                  S/S	//:X  d   eU R                  S:X  d   eU R
                  [        :X  d   e[        S/S//S
/S//4[        5      n U R                  S/S//:X  d   eU R                  S/S	//:X  d   eU R                  S:X  d   eU R
                  [        :X  d   e[        / /S
/S//4[        5      n U R                  / /:X  d   eU R                  S//:X  d   eU R                  S:X  d   eU R
                  [        :X  d   e[        S[        S5      n U R                  S//:X  d   eU R                  S//:X  d   eU R                  S:X  d   eU R
                  [        :X  d   e[        S/S//[        5      n U R                  S/S//:X  d   eU R                  S//:X  d   eU R                  S:X  d   eU R
                  [        :X  d   e[        S// / SQS//[        5      n U R                  SS/S//:X  d   eU R                  S//:X  d   eU R                  S:X  d   eU R
                  [        :X  d   e[        SSS.[        S5      n U R                  SS/S//:X  d   eU R                  S//:X  d   eU R                  S:X  d   eU R
                  [        :X  d   e[        [        S5      /[        S5      //[        S5      * /[        S5      //4[        5      n U R                  [        S5      * /[        S5      * //:X  d   eU R                  [        S5      /[        S5      * //:X  d   eU R                  S:X  d   eU R
                  [        :X  d   e[        [        SS5      /[        SS5      //[        SS5      * /[        SS5      //4[        5      n U R                  [        S5      * /[        S5      * //:X  d   eU R                  [        S5      /[        S5      * //:X  d   eU R                  S:X  d   eU R
                  [        :X  d   e[        [        S 5        [        [        S 5        g )Nr   )r   r   r   r   r   r   r   rL   rF   r+   r   r   r@   ru   r   r   r   c                  ,    [        S/S//4[        5      $ Nr   r   r   r#   r   r   r=   "test_DMF__init__.<locals>.<lambda>  s    sQC1#<4r   c                  (    [        S// 4[        5      $ r   r   r#   r   r   r=   r     s    cA3)R&8r   )
r   r   numdenr   r   r   r   r   ZeroDivisionErrorr   s    r   test_DMF__init__r   9  s   qc2y1#&4b9A55aVaSM!!!55YK55A::55B;;q!fqc]YK("a0A55aVaSM!!!55YK55A::55B;;rdRD\QC";',A55bTB4L   55aS2$K55A::55B;;qcA3Z2$%r*A55bTB4L   55aS2$K55A::55B;;qcA3Z2$%r*A55bTB4L   55aS2$K55A::55B;;bTRD1#;$A55RD==55aSE>>55A::55B;;BAA55bTF??55aSE>>55A::55B;;qcA3Z"A55aS1#J55aSE>>55A::55B;;aS"i!%r*A55aVaSM!!!55aSE>>55A::55B;;Q"B*A55aVaSM!!!55aSE>>55A::55B;;r!ug1wBqE6(RUG!45r:A55r!ufXAx((((55beW1vh''''55A::55B;;r!Qxj2a8*%"Q(bAhZ'@A2FA55r!ufXBy))))55bfXBy))))55A::55B;;
:45
89r   c                      [        [        / /[        5      5      SL d   e[        [        S//[        5      5      SL d   eg r&   )r'   r   r   r#   r   r   test_DMF__bool__r     s:    RD"%'''aSE24'''r   c                  R   [        / /[        5      R                  SL d   e[        / /[        5      R                  SL d   e[        S//[        5      R                  SL d   e[        S//[        5      R                  SL d   e[        S//S//4[        5      R                  SL d   eg )NTFr   r   )r   r   r3   r4   r#   r   r   test_DMF_propertiesr     s    tR=  D(((tR=5(((ub>!!U***ub>  D(((!u~r"))U222r   c                     [        S/S//[        5      n [        S/S//[        5      nU R                  5       U * s=:X  a  U:X  d   e   e[        S//S// /4[        5      n [        S//SS//4[        5      n[        S/SS//SS// /4[        5      nU R                  U5      X-   s=:X  a  U:X  d   e   eUR                  U 5      X-   s=:X  a  U:X  d   e   e[        S/SS//SS// /4[        5      nU R	                  U5      X-
  s=:X  a  U:X  d   e   e[        S//SS// /4[        5      nU R                  U5      X-  s=:X  a  U:X  d   e   eUR                  U 5      X-  s=:X  a  U:X  d   e   e[        SS//S// /4[        5      nU R                  U5      X-  s=:X  a  U:X  d   e   e[        S//S// / / /4[        5      nU R                  S5      U S-  s=:X  a  U:X  d   e   e[        S/// S	Q/4[        5      nUR                  S5      US-  s=:X  a  U:X  d   e   e[        SS//S//4[        5      nUR                  S5      US-  s=:X  a  U:X  d   e   eg )
Nru   iirt   r   r   rL   r   )r   r   r   r   )r   r   rU   rV   rW   rX   r_   rE   )r   rK   rb   s      r   test_DMF_arithmeticsr     s   aS2$KAbTA3KA557qbAqcUaS"I#AqcUaVHr"AqcAq6]aVRL)2.A558qu!!!!!!558qu!!!!!!rdQF^q!fb\*B/A558qu!!!!!!qcUaVRL!2&A558qsa558qsaq!fXRy!2&A558qsaqcUaS"b"%&+A558q!t q     qcU\N#R(A558q!t q     q!fXur"A5592""""""r   c                  t  ^ [        S5      [        S5      /n [        S5      [        S5      [        S5      /m[        U T[         5      nUR                  5       [        S5      [        S5      /:X  d   eUR                  5       [        S5      [        S5      [        S5      /:X  d   eUR                  [         :X  d   e[        S5      [        S5      S.n [        S5      [        S5      S.m[        U T[         5      nUR                  5       [        S5      [        S5      /:X  d   eUR                  5       [        S5      [        S5      [        S5      /:X  d   eUR                  [         :X  d   e[        ST[         5      nUR                  5       [        S5      /:X  d   eUR                  5       [        S5      [        S5      [        S5      /:X  d   eUR                  [         :X  d   e[        SS/T[         5      n[        S UR                  5        5       5      (       d   e[        [        U4S j5        g )Nr   r   )r   r   r,   g      ?c              3   N   #    U  H  n[         R                  " U5      v   M     g 7frH   )r   of_type).0rq   s     r   	<genexpr>$test_ANP___init__.<locals>.<genexpr>  s     2krzz!}}ks   #%c                  :   > [        [        S5      /T [        5      $ )Nr   )r   r   r   mods   r   r=   #test_ANP___init__.<locals>.<lambda>  s    3Qy#r#:r   )r   r   to_listmod_to_listr   allr   r	   )r    r   r   s     @r   test_ANP___init__r     s   a5"Q%.Ca5"Q%A
CCbA99;2a5"Q%.(((==?r!ubeRU333355B;;e1
Ce1
CCbA99;2a5"Q%.(((==?r!ubeRU333355B;;AsBA99;2a5'!!!==?r!ubeRU333355B;;QHc2A2aiik22222
>:;r   c                     [        [        S5      [        S5      /[        S5      [        S5      [        S5      /[        5      n [        [        S5      [        S5      /[        S5      [        S5      [        S5      /[        5      nX :H  SL d   eX :g  SL d   eX:H  SL d   eX:g  SL d   e[        [        S5      [        S5      /[        S5      [        S5      [        S5      /[        5      nX:H  SL d   eX:g  SL d   eg )Nr   r   r   TF)r   r   )rq   bs     r   test_ANP___eq__r     s    RUBqENRUBqE2a5126ARUBqENRUBqE2a5126AFtFuFuFtRUBqENRUBqE2a5126AFuFtr   c            
         [        [        / [        S5      [        S5      [        S5      /[        5      5      SL d   e[        [        [        S5      /[        S5      [        S5      [        S5      /[        5      5      SL d   eg )Nr   r   FT)r'   r   r   r#   r   r   test_ANP___bool__r     sf    BA1r!u-r23u<<<RUGbeRUBqE2B78D@@@r   c                     [        S5      [        S5      [        S5      /n [        [        S5      /U [         5      R                  SL d   e[        [        S5      /U [         5      R                  SL d   e[        [        S5      /U [         5      R                  SL d   e[        [        S5      /U [         5      R                  SL d   eg )Nr   r   TFr   )r   r   r3   r4   r   s    r   test_ANP_propertiesr     s    a5"Q%A
C1wR ((D0001wR ((E1111wR ''4///1wR ''5000r   c                    ^^ [        S5      [        S5      [        S5      [        S5      /n [        [        S5      [        S5      [        S5      /U [         5      m[        [        S5      [        S5      /U [         5      n[        [        S5      [        S5      [        S5      /U [         5      mTR                  5       T* s=:X  a  T:X  d   e   e[        [        S5      [        S5      [        S5      /U [         5      mTR                  U5      TU-   s=:X  a  T:X  d   e   eUR                  T5      UT-   s=:X  a  T:X  d   e   e[        [        S5      [        S5      [        S5      /U [         5      mTR	                  U5      TU-
  s=:X  a  T:X  d   e   e[        [        S5      [        S5      [        S5      /U [         5      mUR	                  T5      UT-
  s=:X  a  T:X  d   e   e[        [        S5      [        S5      [        S5      /U [         5      mTR                  U5      TU-  s=:X  a  T:X  d   e   eUR                  T5      UT-  s=:X  a  T:X  d   e   e[        [        SS5      [        S	S5      [        S
S5      /U [         5      mTR                  S5      TS-  s=:X  a  [        SU [         5      :X  d   e   eTR                  S5      TS-  s=:X  a  T:X  d   e   eTR                  S5      TS-  s=:X  a  T:X  d   e   eTR                  T5      TR                  TR                  S5      5      s=:X  a#  TTS-  -  s=:X  a  [        SU [         5      :X  d   e   e[        / / SQ[         5      mTR                  U5      nTR                  U5      u  p4X$s=:X  a  Ts=:X  a
  TU-  :X  d   e   e[        [        UU4S j5        [        [        UU4S j5        UTU-  :X  d   eg )Nr   r   rF   r   rL   r   r2   +   rt   r@   )r   r   r   rF   c                  &   > T R                  T5      $ rH   )r^   rq   cs   r   r=   &test_ANP_arithmetics.<locals>.<lambda>4      !%%(r   c                  &   > T R                  T5      $ rH   )r`   r   s   r   r=   r   5  r   r   )r   r   rU   rV   rW   rX   rE   r_   r`   r^   r   r   )r   r   r1rc   r2rq   r   s        @@r   test_ANP_arithmeticsr     sV   a5"Q%A2
'CRUBrFBqE"C,ARUBqENC$ARVRUBrF#S"-A557qbARUBqE2a5!3+A558q1u!!!!!!558q1u!!!!!!RUBrFBrF#S"-A558q1u!!!!!!RVRUBqE"C,A558q1u!!!!!!RUBrFBqE"C,A558qsa558qsaRBZArBq"I.R8A558q1v0QR00000558q1v""""""559B$1$$$$$558quuQUU2Y'G1QW9GAsBGGGGGBr"A	
qBeeAhGQ!q!AE!!!!!
=*+
=*+ !8O8r   c                     [        S5      [        S5      [        S5      /n [        S5      [        S5      [        S5      /n[        [        S5      /U[        5      n[        [        S5      /U [         5      nUR                  U5      S   [        :X  d   eUR                  U5      S   [        :X  d   eUR                  U5      S   [        :X  d   eUR                  U5      S   [         :X  d   eUR	                  U5      S   [        :X  d   eUR	                  U5      S   [        :X  d   eUR	                  U5      S   [        :X  d   eUR	                  U5      S   [         :X  d   eg )Nr   r   rF   rL   )r   r   r   unify	unify_ANP)mod_zmod_qrq   r   s       r   test_ANP_unifyr   =  s.   UBqE2b6"EUBqE2b6"ERUGUBARUGUBA771:a=B771:a=B771:a=B771:a=B;;q>"###;;q>"###;;q>"###;;q>"###r   c                      SSK Jn   U " S5      n[        R                  " U5      nU" S5      nUR	                  5       u  pEUS:X  d   eXS:X  d   eUR
                  SL d   eg )Nr   )SymbolrD   F)sympyr   r   old_poly_ringr   r8   )r   rD   R_oldzero_poly_oldcont_oldprim_olds         r   test_zero_polyr   O  sd    sAQE!HM&002Hq==$$$  E)))r   N)/__doc__(sympy.functions.elementary.miscellaneousr   sympy.polys.domainsr   r   sympy.polys.polyclassesr   r   r   sympy.polys.polyerrorsr	   r
   r   sympy.polys.specialpolysr   sympy.testing.pytestr   r   to_densef_0f_1f_2f_3r   f_5f_6r   r!   r$   r(   r0   r9   rg   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s   0r   <module>r     s    @ 9 & 1 13 3 , ?<CI$GIqjjlI$G !S#sCc("
6,
D(cLn*b5V:r(
3%#P<@ A
13j$$
*I %Hs   B