+
    iT                        R t ^ RIHt ^ RIHtHtHtHtHtH	t	H
t
HtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHt ^ R	IHtHtHtHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't' ^ R
I(H)t) ^ RI*H+t+H,t, ^ RI-H.t. ^ RI/H0t0 ^ RI1H2t2 ^ RI3H4t4H5t5 ^ RI6H7t7 ^ RI8H9t9H:t: ^ RI;H<t< ^ RI=H>t>H?t?H@t@HAtAHBtB ^ RICHDtDHEtE ^ RIFHGtG ]P                  ! ]! ^4      ]! ^4      4      tIR tJR tKR tLR tMR tNR tOR tPR tQR tRR tSR  tTR! tUR" tVR# tWR$ tXR% tYR& tZR' t[R( t\R) t]R* t^R+ t_R, t`R- taR. tbR/ tcR0 tdR1 teR2 tfR3 tgR4 thR5 tiR6 tjR7 tkR8 tlR9 tmR: tnR; toR< tpR= tqR> trR? tsR@ ttRA tuRB tvRC twRD txRE tyRF tzRG t{RH t|RI# )JzPTests for classes defining properties of ground domains, e.g. ZZ, QQ, ZZ[x] ... )GROUND_TYPES)	AlgebraicNumberEFloatIIntegerRationaloopi_illegal)S)exp)sqrt)sin)Poly)xyz)ZZQQRRCCFFGFEXEXRAWZZ_gmpy	ZZ_pythonQQ_gmpy	QQ_python)AlgebraicField)ZZ_IQQ_I)PolynomialRing)	RealField)field_isomorphism)ringPolyElement)cyclotomic_poly)fieldFracElement)FiniteExtension)UnificationFailedGeneratorsErrorCoercionFailedNotInvertibleDomainError)raiseswarns_deprecated_sympy)productc                 $    V P                  V4      # Nunify)K0K1s   &&d/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/polys/domains/tests/test_domains.pyr7   r7   )   s    88B<    c                  p"  a a \        ^4      o \        ^4      o\        S S 4      S 8X  g   Q h\        \        V 3R l4       \        \        V 3R l4       \        \        V 3R l4       \        \        V 3R l4       \        \        V 3R l4       \        \        V 3R l4       \        \        V 3R l4       \        \        V 3R l4       \        \        V 3R	 l4       \        \        V 3R
 l4       \        SS4      S8X  g   Q h\        \        V V3R l4       \        \        V V3R l4       \        \        V V3R l4       \        \        V 3R l4       \        \        \        4      \        8X  g   Q h\        \        \
        4      \
        8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \        \        ,          4      \        \        ,          8X  g   Q h\        \        \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        V 3R l4       \        \
        \        4      \
        8X  g   Q h\        \
        \
        4      \
        8X  g   Q h\        \
        \        4      \        8X  g   Q h\        \
        \        4      \        8X  g   Q h\        \
        \        4      \        8X  g   Q h\        \
        \        \        ,          4      \
        \        ,          8X  g   Q h\        \
        \        P                  ! \        4      4      \
        P                  ! \        4      8X  g   Q h\        \
        \        4      \        8X  g   Q h\        \        V 3R l4       \        \        \        4      \        8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \
        4      \        8X  g   Q h\        \        \        4      \
        P                  ! \        \!        ^4      \!        ^4      4      8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \        \        ,          4      \        \        ,          8X  g   Q h\        \        \        \        ,          4      \        \        ,          8X  g   Q h\        \        \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        V 3R l4       \        \        \        4      \        8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \
        4      \        8X  g   Q h\        \        \        4      \
        P                  ! \        \!        ^4      \!        ^4      4      8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \        \        ,          4      \        \        ,          8X  g   Q h\        \        \        \        ,          4      \        \        ,          8X  g   Q h\        \        \
        \        ,          4      \        \        ,          8X  g   Q h\        \        \        \        ,          4      \        \        ,          8X  g   Q h\        \        \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        \
        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        V 3R l4       \        \        \        4      \        8X  g   Q h\        \        \
        4      \        8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \        \        ,          4      \        \        ,          8X  g   Q h\        \        \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        ,          P                  \        P                  ! \"        4      4      \        P                  ! \        \"        4      8X  g   Q h\        \        V 3R l4       \        \        \        4      \        8X  g   Q h\        \        \
        4      \        8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \        \        ,          4      \        \        ,          8X  g   Q h\        \        \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        V 3R l4       \        \        \        ,          \        4      \        \        ,          8X  g   Q h\        \        \        ,          \
        4      \
        \        ,          8X  g   Q h\        \        \        ,          \        4      \        \        ,          8X  g   Q h\        \        \        ,          \        4      \        \        ,          8X  g   Q h\        \        \        ,          \        4      \        \        ,          8X  g   Q h\        \        \        ,          \        \        ,          4      \        \        ,          8X  g   Q h\        \        \        ,          \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        \        ,          \        4      \        8X  g   Q h\        \        V 3R l4       \        \        P                  ! \        4      \        4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \
        4      \
        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        4      \        P                  \        4      8X  g   Q h\        \        P                  ! \        4      \        4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        \        ,          4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        4      \        8X  g   Q h\        \        V 3R l4       \        \        \        4      \        8X  g   Q h\        \        \
        4      \        8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \        4      \        8X  g   Q h\        \        \        \        ,          4      \        8X  g   Q h\        \        \        P                  ! \        4      4      \        8X  g   Q h\        \        \        4      \        8X  g   Q hR# )   c                  $   < \        S \        4      # r5   r7   r   F3s   r:   <lambda>#test_Domain_unify.<locals>.<lambda>1       eBmr;   c                  $   < \        S \        4      # r5   r7   r   r@   s   r:   rB   rC   2   rD   r;   c                  $   < \        S \        4      # r5   r7   r!   r@   s   r:   rB   rC   3       eBor;   c                  $   < \        S \        4      # r5   r7   r"   r@   s   r:   rB   rC   4   rI   r;   c                  $   < \        S \        4      # r5   )r7   ALGr@   s   r:   rB   rC   5   s    eBnr;   c                  $   < \        S \        4      # r5   r7   r   r@   s   r:   rB   rC   6   rD   r;   c                  $   < \        S \        4      # r5   r7   r   r@   s   r:   rB   rC   7   rD   r;   c                  :   < \        S \        \        ,          4      # r5   r7   r   r   r@   s   r:   rB   rC   8   s    eB1&6r;   c                  L   < \        S \        P                  ! \        4      4      # r5   r7   r   
frac_fieldr   r@   s   r:   rB   rC   9   s    eBa0@&Ar;   c                  $   < \        S \        4      # r5   r7   r   r@   s   r:   rB   rC   :   rD   r;   c                     < \        SS 4      # r5   r6   rA   F5s   r:   rB   rC   =   s    eBmr;   c                  2   < \        SS \        ,          4      # r5   )r7   r   rZ   s   r:   rB   rC   >   s    eB1&6r;   c                  B   < \        SS P                  \        4      4      # r5   )r7   rV   r   rZ   s   r:   rB   rC   ?   s    eBa0@&Ar;   c                  $   < \        \        S 4      # r5   r?   r@   s   r:   rB   rC   A       eBmr;   c                  $   < \        \        S 4      # r5   rF   r@   s   r:   rB   rC   K   r_   r;   c                  $   < \        \        S 4      # r5   rH   r@   s   r:   rB   rC   U       eD"or;   c                  $   < \        \        S 4      # r5   rK   r@   s   r:   rB   rC   b   rb   r;   c                  $   < \        \        S 4      # r5   rO   r@   s   r:   rB   rC   s   r_   r;   c                  $   < \        \        S 4      # r5   rQ   r@   s   r:   rB   rC   ~   r_   r;   c                  :   < \        \        \        ,          S 4      # r5   rS   r@   s   r:   rB   rC      s    eBqE2&6r;   c                  L   < \        \        P                  ! \        4      S 4      # r5   rU   r@   s   r:   rB   rC      s    eBMM!,<b&Ar;   c                  $   < \        \        S 4      # r5   rX   r@   s   r:   rB   rC      r_   r;   N)r   r7   r1   r,   r   r   rM   r   r   r   rV   r   r!   r"   algebraic_fieldr   r   r   rZ   s   @@r:   test_Domain_unifyrj   ,   s'
   	AB	ABR=B
34
34
56
56
45
34
34
67
AB
34R=B
34
67
AB
34R=BR=BS>S   R=BR=BRUr!u$$$R]]1%&"--*::::R=B
34R=BR=BS>S   R=BR=BRUr!u$$$R]]1%&"--*::::R=B
56r?d"""t$$$r?d"""sr11!T!Wd1gFFFFr?b   r?b   r!ua(((tAw47***r}}Q'(DOOA,>>>>tq)*dooa.@@@@r?b   
56r?d"""t$$$r?d"""sr11!T!Wd1gFFFFr?b   r?b   r!ua(((tAw47***r!ua(((tAw47***r}}Q'(DOOA,>>>>tq)*dooa.@@@@r}}Q'(DOOA,>>>>tq)*dooa.@@@@r?b   
34R=BR=BS>RR=BR=BRUr!u$$$R]]1%&"--*::::R=Ba5;;r}}Q'(BMM!Q,????
34R=BR=BS>RR=BR=BRUr!u$$$R]]1%&"--*::::R=B
67Ar!u$$$Ar!u$$$AA&&&Ar!u$$$Ar!u$$$A1"Q%'''Aa()R]]1-====Ar!!!
ABq!2&"--*::::q!2&"--*::::q!3'3>>!+<<<<q!2&"--*::::q!2&"--*::::q!2a5)R]]1-====q!2==#34a8HHHHq!2&",,,
34R=BR=BS>RR=BR=BRUr!!!R]]1%&",,,R=Br;   c                  E   \        \        P                  ! \        4      \        4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        4      \        P                  ! \        4      8X  g   Q h\        \        \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        4      \        P                  ! \        \
        4      8X  g   Q h\        \        \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        4      \        P                  ! \        4      8X  g   Q h\        \        \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        4      \        P                  ! \        \
        4      8X  g   Q h\        \        \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        \        4      4      \        P                  ! \        \
        \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        \        4      4      \        P                  ! \        \
        \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        \        4      4      \        P                  ! \        \
        \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        \        4      4      \        P                  ! \        \
        \        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        \        4      4      \        P                  ! \        \
        \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        \        4      4      \        P                  ! \        \
        \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        \        4      4      \        P                  ! \        \
        \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        \        4      4      \        P                  ! \        \
        \        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        \        4      4      \        P                  ! \        \
        \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        \        4      4      \        P                  ! \        \
        \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        \        4      4      \        P                  ! \        \
        \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        \        4      4      \        P                  ! \        \
        \        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        4      \        P                  ! \        \
        4      4      \        P                  ! \        \
        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        \        4      4      \        P                  ! \        \
        \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        \        4      4      \        P                  ! \        \
        \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        \        4      4      \        P                  ! \        \
        \        4      8X  g   Q h\        \        P                  ! \        \
        4      \        P                  ! \        \        4      4      \        P                  ! \        \
        \        4      8X  g   Q hR # r5   )r7   r   	poly_ringr   r   r   rV   r    r;   r:   test_Domain_unify_compositern      s   a"%a888a"%a888a"%a888a"%a888R\\!_%a888R\\!_%a888R\\!_%a888R\\!_%a888a#R(BLLA,>>>>a#R(BLLA,>>>>a#R(BLLA,>>>>a#R(BLLA,>>>>R\\!Q'(BLLA,>>>>R\\!Q'(BLLA,>>>>R\\!Q'(BLLA,>>>>R\\!Q'(BLLA,>>>>q!2&"--*::::q!2&"--*::::q!2&"--*::::q!2&"--*::::R]]1%&"--*::::R]]1%&"--*::::R]]1%&"--*::::R]]1%&"--*::::q!$b)R]]1a-@@@@q!$b)R]]1a-@@@@q!$b)R]]1a-@@@@q!$b)R]]1a-@@@@R]]1a()R]]1a-@@@@R]]1a()R]]1a-@@@@R]]1a()R]]1a-@@@@R]]1a()R]]1a-@@@@a",,q/2bll1oEEEa",,q/2bll1oEEEa",,q/2bll1oEEEa",,q/2bll1oEEEa#R\\!_5a9KKKKa#R\\!_5a9KKKKa#R\\!_5a9KKKKa#R\\!_5a9KKKKa",,q!"45a9KKKKa",,q!"45a9KKKKa",,q!"45a9KKKKa",,q!"45a9KKKKa#R\\!Q%78BLLAq<QQQQa#R\\!Q%78BLLAq<QQQQa#R\\!Q%78BLLAq<QQQQa#R\\!Q%78BLLAq<QQQQq!2==#34a8HHHHq!2==#34a8HHHHq!2==#34a8HHHHq!2==#34a8HHHHq!$bmmA&672==A;NNNNq!$bmmA&672==A;NNNNq!$bmmA&672==A;NNNNq!$bmmA&672==A;NNNNq!2==A#672==A;NNNNq!2==A#672==A;NNNNq!2==A#672==A;NNNNq!2==A#672==A;NNNNq!$bmmAq&9:bmmAqRS>TTTTq!$bmmAq&9:bmmAqRS>TTTTq!$bmmAq&9:bmmAqRS>TTTTq!$bmmAq&9:bmmAqRS>TTTTa"--"23r}}Q7GGGGa"--"23r}}Q7GGGGa"--"23r}}Q7GGGGa"--"23r}}Q7GGGGa#R]]1%56"--1:MMMMa#R]]1%56"--1:MMMMa#R]]1%56"--1:MMMMa#R]]1%56"--1:MMMMa"--1"56"--1:MMMMa"--1"56"--1:MMMMa"--1"56"--1:MMMMa"--1"56"--1:MMMMa#R]]1a%89R]]1aQR=SSSSa#R]]1a%89R]]1aQR=SSSSa#R]]1a%89R]]1aQR=SSSSa#R]]1a%89R]]1aQR=SSSSq!2<<?3r}}Q7GGGGq!2<<?3r}}Q7GGGGq!2<<?3r}}Q7GGGGq!2<<?3r}}Q7GGGGq!$bll1o6"--1:MMMMq!$bll1o6"--1:MMMMq!$bll1o6"--1:MMMMq!$bll1o6"--1:MMMMq!2<<1#56"--1:MMMMq!2<<1#56"--1:MMMMq!2<<1#56"--1:MMMMq!2<<1#56"--1:MMMMq!$bll1a&89R]]1aQR=SSSSq!$bll1a&89R]]1aQR=SSSSq!$bll1a&89R]]1aQR=SSSSq!$bll1a&89R]]1aQR=SSSSr;   c                     \         P                  ! \        ^4      4      p \         P                  ! \        ^4      4      p\         P                  ! \        ^4      \        ^4      4      pV P                  V4      V8X  g   Q hV P                  V \        \
        3,          4      V \        \
        3,          8X  g   Q hV \        \
        3,          P                  V 4      V \        \
        3,          8X  g   Q hV P                  V P                  \        \
        4      4      V P                  \        \
        4      8X  g   Q hV P                  \        \
        4      P                  V 4      V P                  \        \
        4      8X  g   Q hV P                  V\        \
        3,          4      V\        \
        3,          8X  g   Q hV \        \
        3,          P                  V4      V\        \
        3,          8X  g   Q hV P                  VP                  \        \
        4      4      VP                  \        \
        4      8X  g   Q hV P                  \        \
        4      P                  V4      VP                  \        \
        4      8X  g   Q hR#    N)r   ri   r   r7   r   r   rV   )sqrt5sqrt7sqrt57s      r:   test_Domain_unify_algebraicru     s   tAw'EtAw'EQa1F;;u''';;uQT{#uQT{222A;U#uQT{222;;u''1-.%2B2B1a2HHHHAq!''.%2B2B1a2HHHH;;uQT{#vad|333A;U#vad|333;;u''1-.&2C2CAq2IIIIAq!''.&2C2CAq2IIIIr;   c            	         \        \        \        ^,          ^,
          \        \        R7      4      p \        \        \        ^,          ^,
          \        \        R7      4      p\        \        \        ^,          ^,
          \        \        \
        ,          R7      4      p\        \        \        ^,          ^,
          \        \        \
        ,          R7      4      pV P                  V 4      V 8X  g   Q hVP                  V4      V8X  g   Q hVP                  V4      V8X  g   Q hVP                  V4      V8X  g   Q hV P                  \        4      V 8X  g   Q hV P                  \        4      V8X  g   Q hVP                  \        4      V8X  g   Q hVP                  \        4      V8X  g   Q hV P                  \        \
        ,          4      V8X  g   Q hV P                  \        \
        ,          4      V8X  g   Q hVP                  \        \
        ,          4      V8X  g   Q hVP                  \        \
        ,          4      V8X  g   Q hVP                  \        4      V8X  g   Q hVP                  \        4      V8X  g   Q hVP                  \        4      V8X  g   Q hVP                  \        4      V8X  g   Q hVP                  \        \
        ,          4      V8X  g   Q hVP                  \        \
        ,          4      V8X  g   Q hVP                  \        \
        ,          4      V8X  g   Q hVP                  \        \
        ,          4      V8X  g   Q h\        \        \        ^,          ^,
          \        \        \
        ,          R7      4      pVP                  \        4      V8X  g   Q hVP                  \        \        ,          4      V8X  g   Q hVP                  \        \
        ,          4      V8X  g   Q hVP                  \        \        \
        3,          4      V8X  g   Q h\        \        \        ^,          ^,
          \        \        \
        \        3,          R7      4      pVP                  \        \        ,          4      V8X  g   Q hVP                  \        \        \        3,          4      V8X  g   Q hVP                  \        \
        \        3,          4      V8X  g   Q hVP                  \        \        \
        \        3,          4      V8X  g   Q h\        \        \        ^,          ^,
          \        \        R7      4      p\        \        \
        ^,          ^,
          \
        \        R7      4      p\        \        \
        ^,          ^,
          \
        VR7      4      pVP                  V4      V8X  g   Q hVP                  V4      V8X  g   Q hVP                  V4      V8X  g   Q hVP                  V4      V8X  g   Q hR# )   domainN)r+   r   r   r   r   r   r7   r   )	KxZZKxQQKxZZyKxQQyKKzKxKyKxys	            r:   !test_Domain_unify_FiniteExtensionr   2  s'   41q!B78D41q!B78DDA1RU;<EDA1RU;<E::dt###::dt###;;u&&&;;u&&&::b>T!!!::b>T!!!::b>T!!!::b>T!!!::be%%%::be%%%::be%%%::be%%%;;r?e###;;r?e###;;r?e###;;r?e###;;r!u&&&;;r!u&&&;;r!u&&&;;r!u&&&QTAXqA78A772;!772a5>Q772a5>Q772ad8!!!	adQh"QT(;	<B772a5>R772ad8"""772ad8"""772aAg;2%%%	adQh"5	6B	adQh"5	6B
$q!tax26
7C88B<288B<288B<388B<3r;   c                  J    \        \        R  4       \        \        R 4       R# )c                  l    \         \        \        3,          P                  \         \        \        34      # r5   )r   r   r   unify_with_symbolsr   rm   r;   r:   rB   0test_Domain_unify_with_symbols.<locals>.<lambda>f  s    bAh&A&A"q!f&Mr;   c                  n    \         P                  ! \         \        \        3,          \        \        34      # r5   )r   r   r   r   r   rm   r;   r:   rB   r   g  s    b&;&;Bq!tHq!f&Mr;   N)r1   r,   rm   r;   r:   test_Domain_unify_with_symbolsr   e  s    
MN
MNr;   c                     ^ \         9   RJ g   Q h^ \        9   RJ g   Q h^ \        9   RJ g   Q h^ \        9   RJ g   Q h^ \        9   RJ g   Q h^ \
        9   RJ g   Q h^ \        \        \        3,          9   RJ g   Q h^ \        \        \        3,          9   RJ g   Q h^ \        \        \        3,          9   RJ g   Q hR\         9   RJ g   Q hR\        9   RJ g   Q hR\        9   RJ g   Q hR\        9   RJ g   Q hR\        9   RJ g   Q hR\
        9   RJ g   Q hR\        \        \        3,          9   RJ g   Q hR\        \        \        3,          9   RJ g   Q hR\        \        \        3,          9   RJ g   Q h^\         9   RJ g   Q h^\        9   RJ g   Q h^\        9   RJ g   Q h^\        9   RJ g   Q h^\        9   RJ g   Q h^\
        9   RJ g   Q h^\        \        \        3,          9   RJ g   Q h^\        \        \        3,          9   RJ g   Q h^\        \        \        3,          9   RJ g   Q h\        R^4      \         9   RJ g   Q h\        R^4      \        9   RJ g   Q h\        R^4      \        9   RJ g   Q h\        R^4      \        9   RJ g   Q h\        R^4      \        9   RJ g   Q h\        R^4      \
        9   RJ g   Q h\        R^4      \        \        \        3,          9   RJ g   Q h\        R^4      \        \        \        3,          9   RJ g   Q h\        R^4      \        \        \        3,          9   RJ g   Q h\        ^^4      \         9   RJ g   Q h\        ^^4      \        9   RJ g   Q h\        ^^4      \        9   RJ g   Q h\        ^^4      \        9   RJ g   Q h\        ^^4      \        9   RJ g   Q h\        ^^4      \
        9   RJ g   Q h\        ^^4      \        \        \        3,          9   RJ g   Q h\        ^^4      \        \        \        3,          9   RJ g   Q h\        ^^4      \        \        \        3,          9   RJ g   Q hR\         9   RJ g   Q hR\        9   RJ g   Q hR\        9   RJ g   Q hR\        9   RJ g   Q hR\        9   RJ g   Q hR\
        9   RJ g   Q hR\        \        \        3,          9   RJ g   Q hR\        \        \        3,          9   RJ g   Q hR\        \        \        3,          9   RJ g   Q hR\         9   RJ g   Q hR\        9   RJ g   Q hR\        9   RJ g   Q hR\        9   RJ g   Q hR\        9   RJ g   Q hR\
        9   RJ g   Q hR\        \        \        3,          9   RJ g   Q hR\        \        \        3,          9   RJ g   Q hR\        \        \        3,          9   RJ g   Q h\        \
        9   RJ g   Q h\        \        \        \        3,          9   RJ g   Q h\        \        \        \        3,          9   RJ g   Q h\        ) \        9   RJ g   Q h\        ) \        9   RJ g   Q h\        ) \
        9   RJ g   Q h\        ) \        \        \        3,          9   RJ g   Q h\        ) \        \        \        3,          9   RJ g   Q h\        ^4      \         9   RJ g   Q h\        ^4      \        9   RJ g   Q h\        ^4      \        9   RJ g   Q h\        ^4      \        9   RJ g   Q h\        ^4      \        9   RJ g   Q h\        ^4      \
        9   RJ g   Q h\        ^4      \        \        \        3,          9   RJ g   Q h\        ^4      \        \        \        3,          9   RJ g   Q h\        ^4      \        \        \        3,          9   RJ g   Q h^\        ^4      ,          ^,           \         9   RJ g   Q h^\        ^4      ,          ^,           \        9   RJ g   Q h^\        ^4      ,          ^,           \        9   RJ g   Q h^\        ^4      ,          ^,           \        9   RJ g   Q h^\        ^4      ,          ^,           \        9   RJ g   Q h^\        ^4      ,          ^,           \
        9   RJ g   Q h^\        ^4      ,          ^,           \        \        \        3,          9   RJ g   Q h^\        ^4      ,          ^,           \        \        \        3,          9   RJ g   Q h^\        ^4      ,          ^,           \        \        \        3,          9   RJ g   Q h\        ^4      \         9   RJ g   Q h\        ^4      \        9   RJ g   Q h\        ^4      \        9   RJ g   Q h\        ^4      \        9   RJ g   Q h\        ^4      \        9   RJ g   Q h\        ^4      \
        9   RJ g   Q h\        ^4      \        \        \        3,          9   RJ g   Q h\        ^4      \        \        \        3,          9   RJ g   Q h\        ^4      \        \        \        3,          9   RJ g   Q h\        ^,          ^,           \         9   RJ g   Q h\        ^,          ^,           \        9   RJ g   Q h\        ^,          ^,           \        9   RJ g   Q h\        ^,          ^,           \        9   RJ g   Q h\        ^,          ^,           \        9   RJ g   Q h\        ^,          ^,           \
        9   RJ g   Q h\        ^,          ^,           \        \        ,          9   RJ g   Q h\        ^,          ^,           \        \        ,          9   RJ g   Q h\        ^,          ^,           \        \        ,          9   RJ g   Q h\        ^,          ^,           \        \        \        3,          9   RJ g   Q h\        ^,          ^,           \        \        \        3,          9   RJ g   Q h\        ^,          ^,           \        \        \        3,          9   RJ g   Q h\        ^,          \        ^,          ,           \         9   RJ g   Q h\        ^,          \        ^,          ,           \        9   RJ g   Q h\        ^,          \        ^,          ,           \        9   RJ g   Q h\        ^,          \        ^,          ,           \        9   RJ g   Q h\        ^,          \        ^,          ,           \        9   RJ g   Q h\        ^,          \        ^,          ,           \
        9   RJ g   Q h\        ^,          \        ^,          ,           \        \        ,          9   RJ g   Q h\        ^,          \        ^,          ,           \        \        ,          9   RJ g   Q h\        ^,          \        ^,          ,           \        \        ,          9   RJ g   Q h\        ^,          \        ^,          ,           \        \        \        3,          9   RJ g   Q h\        ^,          \        ^,          ,           \        \        \        3,          9   RJ g   Q h\        ^,          \        ^,          ,           \        \        \        3,          9   RJ g   Q h\        ^^4      \        ,          \        ^,           ,          \        ,
          \        \        \        \        3,          9   RJ g   Q hR# )    TFg      @Q	@N)r   r   r   r   r   rM   r   r   r   r	   r   r   r   rm   r;   r:   test_Domain__contains__r   i  st   GGGGGHAqDMd"""AqDMd"""AqDMd""""H"H"H"H"H#I$"QT(Nt###"QT(Nt###"QT(Nt###"H"H"H"H"H#I$"QT(Nt###"QT(Nt###"QT(Nt###ROr!d***ROr!e+++ROr!d***ROr!d***ROr!d***ROs"t+++ROr!Q$x'E111ROr!Q$x'D000ROr!Q$x'D000QNb T)))QNb U***QNb T)))QNb T)))QNb T)))QNc!d***QNbAh&5000QNbAh&4///QNbAh&4///2I$2I$2I$2I$2I$3J42ad8O$$$2ad8O$$$2ad8O$$$BJ4BJ5   BJ4BJ4BJ4CKD   Bq!tH&&&Bq!tH%%%Bq!tH%%%#I%"QT(Nu$$$"QT(Nu$$$C2I%C2I%C3J5   C2ad8O%%%C2ad8O%%%GrMd"""GrMe###GrMe###GrMd"""GrMd"""GsNu$$$Gr!Q$xE)))Gr!Q$xE)))Gr!Q$xD(((d1gIMRD(((d1gIMRE)))d1gIMRE)))d1gIMRD(((d1gIMRD(((d1gIMS T)))d1gIMR1X%%///d1gIMR1X%%///d1gIMR1X%$...FbLT!!!FbLU"""FbLU"""FbLT!!!FbLT!!!FcMe###FbAh5(((FbAh5(((FbAh4'''qD1HNt###qD1HNu$$$qD1HNu$$$qD1HNu$$$qD1HNu$$$qD1HO%%%qD1H1$&&&qD1H1$&&&qD1H1$&&&qD1H1a4 T)))qD1H1a4 T)))qD1H1a4 T)))qD1a4K2$&&&qD1a4K2%'''qD1a4K2%'''qD1a4K2%'''qD1a4K2%'''qD1a4K35(((qD1a4K2a5 U***qD1a4K2a5 U***qD1a4K2a5 U***qD1a4K2ad8#,,,qD1a4K2ad8#,,,qD1a4K2ad8#,,,QN1a!e$q(Bq!QwK7EAAAr;   c                  ~   \        ^^4      \        ,          \        P                  ! ^\        ,          4      9   RJ g   Q h^\        ,          \        P                  ! \        4      9   RJ g   Q h\        ^,          \        ^,          ,           \        P                  ! ^\        ,          ^\        ,          4      9   RJ g   Q h\        \        ,           \        P                  ! ^\        ,          \        4      9   RJ g   Q h\        \        ,
          \        P                  ! \        ^\        ,          4      9   RJ g   Q hR# )rw   TN)r   r   r   rV   r   rm   r;   r:   test_issue_14433r     s    QN1ac 22t;;;aC2==##,,,TAqD[R]]1Q3!44===Ur}}QqS!,,555Ur}}Q!,,555r;   c                     \         P                  R J g   Q h\        ^4      P                  RJ g   Q h\        ^4      P                  R J g   Q h\        P                  RJ g   Q h\        P                  RJ g   Q h\
        P                  RJ g   Q h\        P                  RJ g   Q h\        P                  RJ g   Q h\        \        ,          P                  R J g   Q h\         P                  ! \        4      P                  RJ g   Q hR# )FTN)
r   is_Fieldr   r   r   r   r   rM   r   rV   rm   r;   r:   test_Domain_is_fieldr     s    ;;%a5>>T!!!a5>>U""";;$;;$;;$;;$<<4a5>>U"""==$$,,,r;   c                  |   \         P                  R J g   Q h\        P                  R J g   Q h\         \        ,          P                  R J g   Q h\        \        ,          P                  R J g   Q h\         \        \        3,          P                  R J g   Q h\        \        \        3,          P                  R J g   Q h\         P
                  ! \        4      P                  R J g   Q h\        P
                  ! \        4      P                  R J g   Q h\         P
                  ! \        \        4      P                  R J g   Q h\        P
                  ! \        \        4      P                  R J g   Q h\        P                  RJ g   Q h\        P                  RJ g   Q h\        P                  RJ g   Q h\         P                  ! 4       \         8X  g   Q h\        P                  ! 4       \         8X  g   Q h\         \        ,          P                  4       \         \        ,          8X  g   Q h\        \        ,          P                  4       \        \        ,          8X  g   Q h\         \        \        3,          P                  4       \         \        \        3,          8X  g   Q h\        \        \        3,          P                  4       \        \        \        3,          8X  g   Q h\         P
                  ! \        4      P                  4       \         \        ,          8X  g   Q h\        P
                  ! \        4      P                  4       \        \        ,          8X  g   Q h\         P
                  ! \        \        4      P                  4       \         \        \        3,          8X  g   Q h\        P
                  ! \        \        4      P                  4       \        \        \        3,          8X  g   Q h\        P                  ! 4       \        8X  g   Q h\        P                  ! 4       \        8X  g   Q h\        \        R 4       R# )TFc                  *    \         P                  4       # r5   )rM   get_ringrm   r;   r:   rB   &test_Domain_get_ring.<locals>.<lambda>)  s
    r;   N)r   has_assoc_Ringr   r   r   rV   r   r   rM   r   r1   r0   rm   r;   r:   test_Domain_get_ringr   
  s   $$$$$$a54'''a54'''ad8""d***ad8""d***==**d222==**d222==A--555==A--555%%%%%%&&&;;=B;;=Ba5>>r!u$$$a5>>r!u$$$ad8"QT(***ad8"QT(***==$$&"Q%///==$$&"Q%///==A'')R1X555==A'')R1X555;;=B;;=B
;./r;   c                  \   \         P                  R J g   Q h\        P                  R J g   Q h\        P                  R J g   Q h\        P                  R J g   Q h\
        P                  R J g   Q h\        \        ,          P                  R J g   Q h\        \        ,          P                  R J g   Q h\        \        \        3,          P                  R J g   Q h\        \        \        3,          P                  R J g   Q h\         P                  ! 4       \         8X  g   Q h\        P                  ! 4       \        8X  g   Q h\        P                  ! 4       \        8X  g   Q h\        P                  ! 4       \        8X  g   Q h\
        P                  4       \
        8X  g   Q h\        \        ,          P                  4       \        P                  ! \        4      8X  g   Q h\        \        ,          P                  4       \        P                  ! \        4      8X  g   Q h\        \        \        3,          P                  4       \        P                  ! \        \        4      8X  g   Q h\        \        \        3,          P                  4       \        P                  ! \        \        4      8X  g   Q hR# )TN)
r   has_assoc_Fieldr   r   r   rM   r   r   	get_fieldrV   rm   r;   r:   test_Domain_get_fieldr   ,  s   %%%%%%%%%%%%$&&&a5  D(((a5  D(((ad8##t+++ad8##t+++<<>R<<>R<<>R<<>R==?c!!!a5??a 0000a5??a 0000ad82==A#6666ad82==A#6666r;   c                     \        ^4      \        \        \        \        \
        \        \        \        ,          \        \        ,          \        \        ,          \
        \        ,          \        \        ,          .p V  EF	  pV  EF  pV\        ,          P                  V4      V\        ,          8X  g   Q hV\        \        3,          P                  V4      V\        \        3,          8X  g   Q hVP                  \        4      P                  V4      VP                  \        4      8X  g   Q hVP                  \        \        4      P                  V4      VP                  \        \        4      8X  g   Q hVP                  \        4      P                  V4      VP                  \        4      8X  g   Q hVP                  \        \        4      P                  V4      VP                  \        \        4      8X  g   Q hVP                  \        4      P                  V4      VP                  \        4      8X  g   Q hVP                  \        \        4      P                  V4      VP                  \        \        4      8X  d   EK  Q h	  EK  	  R# rp   )r   r   r   rM   r   r   r   r   r   
set_domainr   rV   old_poly_ringold_frac_field)domsD1D2s      r:   test_Domain_set_domainr   B  s   qE2r3BBqE2a5"Q%A1NDBa5##B'2a5000ad8&&r*bAh666==#..r2bmmA6FFFF==A&11"5q!9LLLL##A&11"59I9I!9LLLL##Aq)44R8B<L<LQPQ<RRRR$$Q'2226":K:KA:NNNN$$Q*55b9R=N=NqRS=TTTT  r;   c                  v   \        ^4      \        \        \        \        .p \
        \        .pW,            F  pW"\        ,          VP                  \        4      VP                  \        4      VP                  \        4      3 F/  pW 9   d   VP                  RJ g   Q hK  VP                  RJ d   K/  Q h	  K  	  R# )rq   TFN)r   r   r   rM   r   r   r   r   rV   r   r   is_Exact)exactinexactDRs       r:   test_Domain_is_Exactr   P  s    UBC$E2hG__aD!,,q/1??1+=q?O?OPQ?RRAzzzT)))zzU***	 S r;   c                  t   \         P                  ! 4       \         8X  g   Q h\        P                  ! 4       \        8X  g   Q h\        P                  ! 4       \        8X  g   Q h\        P                  ! 4       \        8X  g   Q h\
        P                  ! 4       \        8X  g   Q h\        P                  4       \        8X  g   Q h\        \        ,          P                  4       \        \        ,          8X  g   Q h\        \        ,          P                  4       \        \        ,          8X  g   Q h\        \        ,          P                  4       \        \        ,          8X  g   Q h\
        \        ,          P                  4       \        \        ,          8X  g   Q h\        \        \        3,          P                  4       \        \        \        3,          8X  g   Q h\        \        \        3,          P                  4       \        \        \        3,          8X  g   Q h\        \        \        3,          P                  4       \        \        \        3,          8X  g   Q h\
        \        \        3,          P                  4       \        \        \        3,          8X  g   Q h\        P                  ! \        4      P                  4       \        P                  ! \        4      8X  g   Q h\        P                  ! \        4      P                  4       \        P                  ! \        4      8X  g   Q h\        P                  ! \        4      P                  4       \        P                  ! \        4      8X  g   Q h\
        P                  ! \        4      P                  4       \        P                  ! \        4      8X  g   Q h\        P                  ! \        \        4      P                  4       \        P                  ! \        \        4      8X  g   Q h\        P                  ! \        \        4      P                  4       \        P                  ! \        \        4      8X  g   Q h\        P                  ! \        \        4      P                  4       \        P                  ! \        \        4      8X  g   Q h\
        P                  ! \        \        4      P                  4       \        P                  ! \        \        4      8X  g   Q h\        P                  ! \        4      P                  4       \        P                  ! \        4      8X  g   Q h\        P                  ! \        4      P                  4       \        P                  ! \        4      8X  g   Q h\        P                  ! \        4      P                  4       \        P                  ! \        4      8X  g   Q h\
        P                  ! \        4      P                  4       \        P                  ! \        4      8X  g   Q h\        P                  ! \        \        4      P                  4       \        P                  ! \        \        4      8X  g   Q h\        P                  ! \        \        4      P                  4       \        P                  ! \        \        4      8X  g   Q h\        P                  ! \        \        4      P                  4       \        P                  ! \        \        4      8X  g   Q h\
        P                  ! \        \        4      P                  4       \        P                  ! \        \        4      8X  g   Q h\        P                  ! \        4      P                  4       \        P                  ! \        4      8X  g   Q h\        P                  ! \        4      P                  4       \        P                  ! \        4      8X  g   Q h\        P                  ! \        4      P                  4       \        P                  ! \        4      8X  g   Q h\
        P                  ! \        4      P                  4       \        P                  ! \        4      8X  g   Q h\        P                  ! \        \        4      P                  4       \        P                  ! \        \        4      8X  g   Q h\        P                  ! \        \        4      P                  4       \        P                  ! \        \        4      8X  g   Q h\        P                  ! \        \        4      P                  4       \        P                  ! \        \        4      8X  g   Q h\
        P                  ! \        \        4      P                  4       \        P                  ! \        \        4      8X  g   Q hR # r5   )r   	get_exactr   r   r   r   r"   rM   r   r   rV   r   r   rm   r;   r:   test_Domain_get_exactr   [  s   <<>R<<>R<<>R<<>R<<>T!!!==?c!!!a5??1%%%a5??1%%%a5??1%%%a5??Q'''ad82ad8+++ad82ad8+++ad82ad8+++ad841:---==%%'2==+;;;;==%%'2==+;;;;==%%'2==+;;;;==%%'4??1+======A((*bmmAq.AAAA==A((*bmmAq.AAAA==A((*bmmAq.AAAA==A((*dooa.CCCCA((*b.>.>q.AAAAA((*b.>.>q.AAAAA((*b.>.>q.AAAAA((*d.@.@.CCCCAq!++-1A1A!Q1GGGGAq!++-1A1A!Q1GGGGAq!++-1A1A!Q1GGGGAq!++-1C1CAq1IIIIQ))+r/@/@/CCCCQ))+r/@/@/CCCCQ))+r/@/@/CCCCQ))+t/B/B1/EEEEQ",,."2C2CAq2IIIIQ",,."2C2CAq2IIIIQ",,."2C2CAq2IIIIQ",,.$2E2Ea2KKKKr;   c                     \        ^4      ^3\        ^4      ^3\        ^4      ^33 F  w  rW \        ,          V P                  \        4      V P                  \        4      V P	                  \        4      3 F,  pVP
                  RJ g   Q hVP                  4       V8X  d   K,  Q h	  K  	  \        \        \        \        \        3 F}  pW3\        ,          VP                  \        4      VP                  \        4      VP	                  \        4      3 F,  pVP
                  RJ g   Q hVP                  4       ^ 8X  d   K,  Q h	  K  	  R# )r=   FTN)r   r   rV   r   r   has_CharacteristicZerocharacteristicr   r   r!   r"   rM   )Fcr   r   s       r:   test_Domain_characteristicr     s   Q%beQZ"Q%4aD!,,q/1??1+=q?O?OPQ?RRA++u444##%*** S 5 T4$aD!,,q/1??1+=q?O?OPQ?RRA++t333##%*** S %r;   c                  r   . ROp . ROp. ROp\         \        ,          \        \        ,          \        P                  ! \        4      rTpV  Uu. uF"  p\         P                  ! \        V4      4      NK$  	  upV8X  g   Q hV  Uu. uF"  p\        P                  ! \        V4      4      NK$  	  upV8X  g   Q hV  Uu. uF  qcP	                  V! V4      4      NK  	  upV8X  g   Q hV  Uu. uF  qdP	                  V! V4      4      NK  	  upV8X  g   Q hV  Uu. uF  qeP	                  V! V4      4      NK  	  upV8X  g   Q hVP	                  V! \        4      4      RJ g   Q hVP	                  V! \        4      4      RJ g   Q hVP	                  V! \        4      4      RJ g   Q hR# u upi u upi u upi u upi u upi )rw   FTN)r   r      rw   )FTFTF)TTFTT)r   r   r   rV   is_unit)numsinvringinvfieldZZxQQxQQxfns          r:   test_Domain_is_unitr     s[   D/G.HUBqE2==#3dC'+,t!BJJr!ut,777'+,t!BJJr!ut,888)-.AKKA.'999)-.AKKA.(:::+/04aLLa!40H<<<;;s1v%''';;s1v%'''<<Q D((( -,..0s   (F (F%8F*%F/F4c            	        a R  oV3R lp R p\         P                  ! \        ^4      4      p\         P                  ! \        ^4      4      p\        \         W#\        \
        \        \        .p\        V4       F6  w  rVWER  F)  pV! V4       F  pV! V4       F  p	V ! W4       K  	  K  	  K+  	  K8  	  \         P                  ! R4      \        RR4      8X  g   Q h\        R\        4      w  r\        P                  ! W,
          4      ^ 8X  g   Q h\        P                  ! W,
          V
P                  4       4      ^ 8X  g   Q h\        P                  ! \        ^^4      4      \        ^^4      8X  g   Q h\        P                  ! \	        ^^4      4      \        ^^4      8X  g   Q h\         P                  ! \        R4      \        4      \        ^^4      8X  g   Q h\        P                  ! \        ^^4      \         4      \        R4      8X  g   Q h\        P                  ! \        RR	4      \        4      \	        \        ^^4      \        ^^4      4      8X  g   Q h\        P                  ! \	        \        ^^4      \        ^^4      4      \        4      \        RR	4      8X  g   Q h\         P                  ! \        4      p\        P                  ! \        4      p\         \        ,          p\        \        ,          p	WgW.p\        W4       FD  w  rVP                  VP!                  \        4      V4      VP!                  \        4      8X  d   KD  Q h	  VP                  \        ^^4      \         4      V! \        ^^4      4      8X  g   Q hR# )
c           
         \        V \        4      '       d5   \        V\        4      '       d   V P                  VP                  8X  g   Q hM|\        V \        4      '       d5   \        V\        4      '       d   V P                  VP                  8X  g   Q hM2\        V 4      \        V4      J g   Q V : R V: RV: RV: RV: 2	4       hW8X  g   Q V : R V: RV: RV: RV: 2	4       hR# )z, z:  z -> N)
isinstancer'   r&   r*   r)   type)e1e2r9   K2K3s   &&&&&r:   check_element*test_Domain_convert.<locals>.check_element  s    b+&&b+..277bgg3EEE3EK((b+..288rxx3GGG3G8tBx'U"b"bRT)UU'xE"b"b"EExr;   c                   < V P                  V4      pS! VP                  V P                  V 4      VP                  WV4       S! VP                  VP                  V4      VP                  WV4       S! VP                  V P                  V 4      VP                  WV4       S! VP                  VP                  V4      VP                  WV4       R # r5   )r7   convert_fromonezero)r9   r   r   r   s   && r:   check_domains*test_Domain_convert.<locals>.check_domains  s    XXb\boobffb1BFFRRHboobffb1BFFRRHboobggr2BGGRRHboobggr2BGGRRHr;   c           
          V V \         ,          V \        ,          V \         \        3,          V P                  \         4      V P                  \        4      V P                  \         \        4      .pV# r5   )r   r   rV   )r~   domainss   & r:   composite_domains.test_Domain_convert.<locals>.composite_domains  sL    aD!A$!Q$LLOQ\\!_all1a.@
 r;   NgLoW5l   $7q/ l                                r   g      ?g      ?)r   ri   r   r   r"   r!   r   r   	enumerateconvertr&   	to_domainr   rV   r   r3   
from_sympy)r   r   QQ2QQ3r   ir9   r   r   K4r   xrKsKaKbr   s                  @r:   test_Domain_convertr     s   FI 

T!W
%C


T!W
%CCdD"b1D4r(B'++B/B!") 0 ,  ! ::f$46y!zzzzbMEA::bg!###::bgq{{}-222::d1aj!R1X---::d1aj!R1X---??2c7B'2a8333??2a8R(BsG333RT]B/41a"Q(3KKKK??41a"Q(3T:bdmKKK	q	B	q	B	AB	AB
"	B"/r}}Q/4a8HHHH " ??2a8R(Br!QxL888r;   c                  4   \         \        ^4      3\        \        ^^4      3\        \        ^^4      3\        \        ^^4      3\        \	        ^4      3\
        \        ^^4      3\        \        ^4      3\        \        ^4      3\        \        P                  \        ^4      4      3.	p V  Fh  w  r\        \        3 FS  pVP                  VP                  V4      4      pVP                  W!4      V8X  g   Q hVP                  WC4      V8X  d   KS  Q h	  Kj  	  R# r=   N)r   r   r!   r"   r   r   r   r   rM   r   r   to_sympyr   )elementsr   eEEelems        r:   test_EX_convertr     s     
RU	R!W	tAay	tAay	RU	R!W	RU	a	cnnT!W%&
H e)B==A/D??1(D000>>$+q000  r;   c                     \         P                  ! \        4      p \         \        ,          pV P                  \        4      V P                  VP                  \        4      V4      8X  g   Q hVP                  \        4      VP                  V P                  \        4      V 4      8X  g   Q h\         P                  ! \        \        4      p \         \        ,          pV P                  \        4      V P                  VP                  \        4      V4      8X  g   Q h\
        P                  ! \        \        4      p \         \        ,          pV P                  \        4      V P                  VP                  \        4      V4      8X  g   Q hR # r5   )r   r   r   r   r   r   )r9   r   s     r:   !test_GlobalPolynomialRing_convertr     s    			!	B	AB::a=BJJrzz!}b9999::a=BJJrzz!}b9999			!Q	B	AB::a=BJJrzz!}b9999 
		!Q	B	AB::a=BJJrzz!}b9999r;   c                  ~    \        R \        4      w  p \        P                  ! 4       V P                  4       8X  g   Q hR#  N)r&   r   rl   r   )r   s    r:   test_PolynomialRing__initr     s)    	b"BA<<>Q[[]***r;   c                  ~    \        R \        4      w  p \        P                  ! 4       V P                  4       8X  g   Q hR# r   )r)   r   rV   r   )r   s    r:   test_FractionField__initr     s)    	r2BA==?akkm+++r;   c                  j   \         P                  ! \        4      p V P                  \        ^^4      \         4      V P	                  \        ^^4      4      8X  g   Q h\         P                  ! \        4      p V P                  \        ^4      \        4      V P	                  \        ^4      4      8X  g   Q hR# rw   N)r   rV   r   r   r   r   r   r   )r~   s    r:   test_FractionField_convertr     sv    
aA99R1Xr"all8Aq>&BBBB
aA99RUB1<<
#;;;;r;   c                     \         P                  ! \        \        \        4      \         \        \        \        3,          8X  g   Q h\         \        ,          P                  \        \        4      \         \        \        \        3,          8X  g   Q h\         P
                  ! \        4      P                  \        \        4      \         P
                  ! \        \        \        4      8X  g   Q h\        \        R  4       R# )c                  J    \         \        ,          P                  \        4      # r5   )r   r   injectrm   r;   r:   rB   test_inject.<locals>.<lambda>  s    BqELLOr;   N)r   r   r   r   r   rV   r1   r-   rm   r;   r:   test_injectr     s    99Q1Aq!G,,,a5<<1Aq!G,,,==""1a(BMM!Q,BBBB
?34r;   c                    a \         P                  ! \        4      \         8X  g   Q h\         \        ,          P                  \        4      \         8X  g   Q h\         \        \        3,          P                  \        4      \         \        ,          8X  g   Q h\         P                  ! \        4      P                  \        4      \         8X  g   Q h\         P                  ! \        \        4      P                  \        4      \         P                  ! \        4      8X  g   Q h\         \        ,          \        ,          P                  \        4      \         \        ,          8X  g   Q h\         \        ,          \        ,          P                  \        4      \         \        ,          8X  g   Q h\         P                  ! \        4      \        ,          P                  \        4      \         \        ,          8X  g   Q h\         P                  ! \        4      \        ,          P                  \        4      \         P                  ! \        4      8X  g   Q h\        \        \        ^,          ^,
          \        \         \        ,          R7      4      o\        \        \        ^,          ^,
          \        \         R7      4      p SP                  \        4      V 8X  g   Q h\        \        V3R l4       R# )rw   rx   c                  .   < S P                  \        4      # r5   )dropr   )r   s   r:   rB   test_drop.<locals>.<lambda>(  s    BGGAJr;   N)	r   r   r   r   rV   r+   r   r1   r-   )r~   r   s    @r:   	test_dropr    s   771:a5::a=Bad8==r!u$$$==  #r)))==A##A&"--*::::a58==r!u$$$a58==r!u$$$==A##A&"Q%///==A##A&"--*::::	ad1fa16	7BQT!VQr23A771:??
?./r;   c                     \         P                  ! . RO4      p \        ;QJ d    R V  4       F  '       d   K   RM	  RM! R V  4       4      '       g   Q h\         P                  ! . RO.4      p \        ;QJ d#    R V ^ ,           4       F  '       d   K   RM	  RM! R V ^ ,           4       4      '       d   \        V 4      ^8X  g   Q hR# )r   c              3   N   "   T F  p\         P                  ! V4      x  K  	  R # 5ir5   r   of_type.0elts   & r:   	<genexpr>"test_Domain_map.<locals>.<genexpr>.  s     .#3rzz##   #%FTc              3   N   "   T F  p\         P                  ! V4      x  K  	  R # 5ir5   r  r  s   & r:   r	  r
  2  s     1&3rzz#&r  N)r   rw   r=      )r   mapalllen)seqs    r:   test_Domain_mapr  +  s    
&&
C3.#.333.#.....
&&,
 C31#a&13331#a&111c#h!mCCmr;   c                  ,   \         \        \        3,          \         \        \        3,          8H  R J g   Q h\        \        \        3,          \        \        \        3,          8H  R J g   Q h\         \        \        3,          \        \        \        3,          8H  RJ g   Q h\        \        \        3,          \         \        \        3,          8H  RJ g   Q h\         P                  ! \        \        4      \         P                  ! \        \        4      8H  R J g   Q h\        P                  ! \        \        4      \        P                  ! \        \        4      8H  R J g   Q h\         P                  ! \        \        4      \        P                  ! \        \        4      8H  RJ g   Q h\        P                  ! \        \        4      \         P                  ! \        \        4      8H  RJ g   Q h\        4       \        ,          \        \        ,          8X  g   Q hR# )TFN)r   r   r   r   rV   r$   r   rm   r;   r:   test_Domain___eq__r  5  sJ   q!tH1a4 T)))q!tH1a4 T)))q!tH1a4 U***q!tH1a4 U***MM!Q2==A#664???MM!Q2==A#664???MM!Q2==A#665@@@MM!Q2==A#665@@@;q>RU"""r;   c                     \         P                  ! \        ^4      4      p V P                  P                  \        \        ^,          ^,
          4      8X  g   Q hV P                  \        8X  g   Q h\        P                  ! \        ^4      4      p V P                  P                  \        \        ^,          ^,
          4      8X  g   Q hV P                  \        8X  g   Q hV P                  \        ^4      4      p V P                  P                  \        \        ^,          ^
\        ^,          ,          ,
          ^,           4      8X  g   Q hV P                  \        8X  g   Q hR# r   )	r   ri   r   extminpolyr   r   domr   )algs    r:   test_Domain__algebraic_fieldr  E  s    


T!W
%C77??d1a4!8n,,,77b==


T!W
%C77??d1a4!8n,,,77b==


d1g
&C77??d1a4"QT'>A#5666677b==r;   c                     \        \        ^,          ^,
          4      p \        \        ^,          ^,
          4      p\        \        ^,          ^
\        ^,          ,          ,
          ^,           4      p\        P                  ! V 4      pVP                  P
                  V 8X  g   Q hVP                  \        8X  g   Q h\        P                  ! V 4      pVP                  P
                  V 8X  g   Q hVP                  \        8X  g   Q hVP                  V4      pVP                  P
                  V8X  g   Q hVP                  \        8X  g   Q hR# r   )r   r   r   alg_field_from_polyr  r  r  r   )fghr  s       r:   test_Domain_alg_field_from_polyr   S  s    QTAXAQTAXAQTBq!tG^a A

 
 
#C77??a77b==

 
 
#C77??a77b==

!
!!
$C77??a77b==r;   c                     \         P                  ! ^4      p V P                  P                  \	        \        ^4      4      8X  g   Q hV P                  \        8X  g   Q h\        P                  ! ^4      pVP                  P                  \	        \        ^4      4      8X  g   Q hVP                  \        8X  g   Q hVP                  ^4      p\        VP                  V P                  4      f   Q hVP                  \        8X  g   Q hR# )   N)	r   cyclotomic_fieldr  r  r   r(   r  r   r%   )r~   r   r   s      r:   test_Domain_cyclotomic_fieldr$  e  s    
BA55==D!4555555B;;
AA55==D!3444455B;;	1AQUUAEE*66655B;;r;   c                  J   \        R \        4      w  rp\        R \        4      w  r4pV^,          V^,          ,           V^,           ,          pV^,          V^,          ,           ^,          pV^,          V^,          ,           pVP                  4       P	                  W`P                  4       4      e   Q hVP                  4       P	                  WpP                  4       4      V^,          ^,          V^,          ^,          ,           8X  g   Q hVP                  4       P	                  WP                  4       4      V^,          V^,          ,           8X  g   Q h\        R \
        4      w  rp\        R \
        4      w  r4pV^,          V^,          ,           V^,           ,          pV^,          V^,          ,           ^,          pV^,          V^,          ,           pVP                  4       P	                  W`P                  4       4      e   Q hVP                  4       P	                  WpP                  4       4      V^,          ^,          V^,          ^,          ,           8X  g   Q hVP                  4       P	                  WP                  4       4      V^,          V^,          ,           8X  g   Q hR# zx,yN)r)   r   r&   r   from_FractionFieldr   )	r   r   r   r   XYr  r  r  s	            r:   &test_PolynomialRing_from_FractionFieldr*  s  s   5"FA%_FA	
A1q1uA	
A1aA	
A1A;;=++A{{}=EEE;;=++A{{}=Aa!Q$q&PPP;;=++A{{}=A1LLL5"FA%_FA	
A1q1uA	
A1aA	
A1A;;=++A{{}=EEE;;=++A{{}=Aa!Q$q&PPP;;=++A{{}=A1LLLr;   c                  P   \        R \        4      w  rp\        R \        4      w  r4p^V^,          ,          ^V^,          ,          ,           pV^,          ^,          V^,          ^,          ,           pVP	                  4       P                  W`P	                  4       4      ^V^,          ,          ^V^,          ,          ,           8X  g   Q hVP	                  4       P                  WpP	                  4       4      ^V^,          ,          ^V^,          ,          ,           ^,          8X  g   Q hR# r&  )r&   r   r)   r   r   from_PolynomialRing)r   r   r   r   r(  r)  r  r  s           r:   &test_FractionField_from_PolynomialRingr-    s    %_FA5"FA	!Q$1a4A	1QAaA;;=,,Q>!AqD&1QPQT6/QQQ;;=,,Q>1QT6AaQRdF?TVBVVVVr;   c                      \        ^4      P                  \        ^4      ! ^4      4      RJ g   Q h\        ^4      P                  \        ^4      ! ^4      4      RJ g   Q hR# )r=   TN)r   r  rm   r;   r:   test_FF_of_typer/    sJ     a5==Aq"d***a5==Aq"d***r;   c                      \         \        ,          \        \        ,          8X  d   Q h\         P                  ! \        4      \        P                  ! \        4      8X  d   Q hR # r5   )r   r   r   rV   rm   r;   r:   test___eq__r1    s:    !u1~}}Q2==#33333r;   c                     \         P                  ! \        P                  4      \         P                  ! ^ 4      8X  g   Q h\         P                  ! \        R4      4      \         P                  ! R4      8X  g   Q h\         P                  ! \        P
                  4      \         P                  ! ^4      8X  g   Q h\         P                  ! \        R4      4      \         P                  ! R4      8X  g   Q h\         P                  ! \        ^4      4      \         P                  ! \        ^4      P                  4       4      8X  g   Q hR# )r   g        g      ?N)r   r   r   ZerodtypeOner   evalfrm   r;   r:   test_RealField_from_sympyr7    s    ::aff!,,,::af#...::aee+++::af#...::c!f#a&,,.!9999r;   c                  p  a a \        \        4      \        .,           \        R ,           U u. uF  p \        V 4      NK  	  up ,           p\        \
        \        \        \        3 FI  oV F@  o S \        8X  d   S\        8X  d   K  S S9  g
   Q S S34       h\        \        VV 3R l4       KB  	  KK  	  R# u up i ):Nr=   Nc                  &   < S P                  S4      # r5   )r   )r  r   s   r:   rB   (test_not_in_any_domain.<locals>.<lambda>  s    3;;q>r;   N)listr   r   floatr   r   r   r   r   r1   r.   )r   checkr  s   ` @r:   test_not_in_any_domainr>    s    NaS "2,$(&Qa,$( (EBB#AAv#)C<)!S)<>#9:	  $$(s   B3c            	        aaa \        ^4      p V ! ^ 4      pV P                  V4      '       d   V^ 8X  g   Q hV ! ^4      pV P                  V4      '       d   V^8X  g   Q hV ! ^4      pV P                  V4      '       d   V^8X  g   Q hV ! ^4      pV P                  V4      '       d   V^ 8X  g   Q hV ! ^4      pV P                  V4      '       d   V^8X  g   Q hV ! V ! ^ 4      4      pV P                  V4      '       d   V^ 8X  g   Q hV ! V ! ^4      4      pV P                  V4      '       d   V^8X  g   Q hV ! V ! ^4      4      pV P                  V4      '       d   V^8X  g   Q hV ! V ! ^4      4      pV P                  V4      '       d   V^ 8X  g   Q hV ! V ! ^4      4      pV P                  V4      '       d   V^8X  g   Q hV ! ^4      ) pV P                  V4      '       d   V^8X  g   Q hV ! ^4      ) pV P                  V4      '       d   V^8X  g   Q h^V ! ^4      ,           pV P                  V4      '       d   V^8X  g   Q hV ! ^4      ^,           pV P                  V4      '       d   V^8X  g   Q hV ! ^4      V ! ^4      ,           pV P                  V4      '       d   V^8X  g   Q hV ! ^4      V ! ^4      ,           pV P                  V4      '       d   V^8X  g   Q h^V ! ^4      ,
          pV P                  V4      '       d   V^8X  g   Q hV ! ^4      ^,
          pV P                  V4      '       d   V^8X  g   Q hV ! ^4      V ! ^4      ,
          pV P                  V4      '       d   V^8X  g   Q hV ! ^4      V ! ^4      ,
          pV P                  V4      '       d   V^8X  g   Q h^V ! ^4      ,          pV P                  V4      '       d   V^8X  g   Q hV ! ^4      ^,          pV P                  V4      '       d   V^8X  g   Q hV ! ^4      V ! ^4      ,          pV P                  V4      '       d   V^8X  g   Q hV ! ^4      V ! ^4      ,          pV P                  V4      '       d   V^8X  g   Q h^V ! ^4      ,          pV P                  V4      '       d   V^8X  g   Q hV ! ^4      ^,          pV P                  V4      '       d   V^8X  g   Q hV ! ^4      V ! ^4      ,          pV P                  V4      '       d   V^8X  g   Q hV ! ^4      V ! ^4      ,          pV P                  V4      '       d   V^8X  g   Q hV ! ^4      ^ ,          pV P                  V4      '       d   V^8X  g   Q hV ! ^4      ^,          pV P                  V4      '       d   V^8X  g   Q hV ! ^4      ^,          pV P                  V4      '       d   V^8X  g   Q h\        ^4      pV! ^4      R,          pVP                  V4      '       d   V^8X  g   Q hV! ^4      R,          pVP                  V4      '       d   V^8X  g   Q h\        V ! ^4      4      RJ g   Q h\        V ! ^4      4      RJ g   Q h\        ^4      oS! ^4      R,          pSP                  V4      '       d   V^8X  g   Q hS! ^4      R,          pSP                  V4      '       d   V^8X  g   Q hS! ^4      R,          pSP                  V4      '       d   V^8X  g   Q hS! ^4      R,          pSP                  V4      '       d   V^8X  g   Q h\        R8w  d)   \	        \
        V3R l4       \	        \
        V3R l4       \	        \        R 4       \	        \        R 4       \        ^4       EFU  o\        ^4       EFA  o\        R8w  d   \        4       ;_uu_ 4        S! S4      S! S4      8  SS8  J g   Q h R	R	R	4       \        4       ;_uu_ 4        S! S4      S! S4      8*  SS8*  J g   Q h R	R	R	4       \        4       ;_uu_ 4        S! S4      S! S4      8  SS8  J g   Q h R	R	R	4       \        4       ;_uu_ 4        S! S4      S! S4      8  SS8  J g   Q h R	R	R	4       K  \	        \        VVV3R
 l4       \	        \        VVV3R l4       \	        \        VVV3R l4       \	        \        VVV3R l4       EKD  	  EKX  	  \        \        ^4      4      S8X  g   Q hS! \        ^4      4      S! ^4      8X  g   Q hR	#   + '       g   i     ELR; i  + '       g   i     EL0; i  + '       g   i     EL; i  + '       g   i     EK  ; i)r=   l    h] FTflintc                  "   < S ! ^ 4      R,          # )r   r   rm   r[   s   r:   rB   %test_ModularInteger.<locals>.<lambda>      bebkr;   c                  "   < S ! ^4      R,          # )rq   r   rm   rB  s   r:   rB   rC    rD  r;   c                      \        ^ 4      # r   r   rm   r;   r:   rB   rC    s    r!ur;   c                      \        R 4      # )g @rH  rm   r;   r:   rB   rC    s    r#wr;   Nc                  &   < S ! S4      S ! S4      8  # r5   rm   r[   n1n2s   r:   rB   rC  '      "R&2b6/r;   c                  &   < S ! S4      S ! S4      8*  # r5   rm   rK  s   r:   rB   rC  (      "R&BrF*:r;   c                  &   < S ! S4      S ! S4      8  # r5   rm   rK  s   r:   rB   rC  )  rN  r;   c                  &   < S ! S4      S ! S4      8  # r5   rm   rK  s   r:   rB   rC  *  rP  r;   l h] r   )r   r  boolr   r1   r/   
ValueErrorranger2   	TypeErrorr   r   )rA   aF7r[   rL  rM  s      @@@r:   test_ModularIntegerrY    sg   	AB
1A::a==Q!V##
1A::a==Q!V##
1A::a==Q!V##
1A::a==Q!V##
1A::a==Q!V##
2a5	A::a==Q!V##
2a5	A::a==Q!V##
2a5	A::a==Q!V##
2a5	A::a==Q!V##
2a5	A::a==Q!V##	AA::a==Q!V##	AA::a==Q!V##	BqE	A::a==Q!V##
1	A::a==Q!V##
11A::a==Q!V##
11A::a==Q!V##	BqE	A::a==Q!V##
1	A::a==Q!V##
11A::a==Q!V##
11A::a==Q!V##	"Q%A::a==Q!V##
1aA::a==Q!V##
1beA::a==Q!V##
1beA::a==Q!V##	"Q%A::a==Q!V##
1aA::a==Q!V##
1beA::a==Q!V##
1beA::a==Q!V##
1qA::a==Q!V##
1qA::a==Q!V##
1qA::a==Q!V##	AB
1|A::a==Q!V##
1}A::a==Q!V##1;%1;$	AB
1A::a==Q!V##
1A::a==Q!V##
1A::a==Q!V##
1A::a==Q!V##w}12}12
:}%
:'Ah(Bw&+--rFRVOb999 .+--rFbf,"(;;; .+--rFRVOb999 .+--rFbf,"(;;; .- y"9:y":;y"9:y":;  $ gaj>Rgaj>RU"""! .-----------s0   *d	 d#	d7	e	d #d47eec                      \        \        ^R,          ^R,          4      4      R8X  g   Q h\        \        ^^d,          ^4      4      R8X  g   Q hR# )rw   i  i  i l   UU*UU*UU*UN)intr   rm   r;   r:   test_QQ_intr\  1  sB    r!T'1d7#$...r!S&!}!????r;   c                      \        R 4      R8  g   Q h\        R4      R8  g   Q h\        R4      R8  g   Q h\        R4      R8  g   Q h\        R4      R8  g   Q h\        R4      R8  g   Q hR# )r   Jz5vIh%<=+=V瞯<#B;Ww'&l7N)r   rm   r;   r:   test_RR_doublerd  6  sn    d8ee9ue9ue9ue9ue9ur;   c                  f   \        R 4      p \        R4      pV P                  ^58X  g   Q hVP                  ^P8X  g   Q h\        V 4      ^,
          R8  g   Q h\        V4      ^,
          R8  g   Q h\        VP                  R7      pV! V 4      ^,
          R8  g   Q hV! V4      ^,
          R8  g   Q hR# )z1.01z1.0000000000000000000001r^  )precN)r   _precr   r$   )f1f2RR2s      r:   test_RR_Floatrk  ?  s    	vB	)	*B88r>>88r>>b6!8eb6!8e

"Cr719ur719ur;   c                     \        R 4      P                  R8  g   Q h\        R4      P                  R8  g   Q h\        R4      P                  R8  g   Q h\        R4      P                  R8  g   Q h\        R4      P                  R8  g   Q h\        R4      P                  R8  g   Q h\        R4      P                  R8  g   Q h\        R4      P                  R8  g   Q h\        R	4      P                  R8  g   Q h\        R
4      P                  R8  g   Q h\        R4      P                  R8  g   Q h\        R4      P                  R8  g   Q hR# )r   r^  r_  r`  ra  rb  rc  y        Q	@y        vIh%<=y        +=y        V瞯<y        #B;y        Ww'&l7N)r   realimagrm   r;   r:   test_CC_doublero  L  s
   d8==5   e9>>E!!!e9>>E!!!e9>>E!!!e9>>E!!!e9>>E!!!e9>>E!!!f:??U"""f:??U"""f:??U"""f:??U"""f:??U"""r;   c                    aa \         P                  p ^^V ,           ^V ,
          ^^V ,          ,
          3 Uu. uF  p\        P                  ! V4      NK  	  upw  r#rE\        P                  ! W#4      V8X  g   Q h\        P                  ! W$4      V8X  g   Q h\        P
                  ! W#4      V8X  g   Q h\        P
                  ! W$4      V8X  g   Q h\        ^^4      \        ^^4      8w  g   Q h\        ^^ 4      ^8w  g   Q h\        \        ^4      ^,          ^ 4      \        ^4      ^,          8w  g   Q h\        ^ ^ 4      P                  4       ^ 8X  g   Q h\        R^ 4      P                  4       ^8X  g   Q h\        P                  ! \        ^^4      4      \        \        ^^4      \        ^ 4      4      8X  g   Q h\        P                  ! \        ^^4      \        4      \        \        ^^4      \        ^ 4      4      8X  g   Q h\        \        3 E
F4  oS! ^^4      o\        S4      R8X  g   Q hSP                  4       S8X  g   Q hSP                  \        4      R8X  g   Q hSP                  ^4      R8X  g   Q hSP                  ^V ,          4      R8X  g   Q h\        S4      \        R4      8X  g   Q hS! ^^4      S! ^^4      8X  g   Q hS! ^^4      S! ^^4      8w  g   Q hS! ^^ 4      S! ^4      8X  g   Q hSS,           S! ^^4      8X  g   Q hSS,
          S! ^ ^ 4      8X  g   Q h^S,
          S) ^,           u;8X  d   S! ^ R4      8X  g   Q h Q h^S,           S^,           u;8X  d   S! ^^4      8X  g   Q h Q hSS,          S! R^4      8X  g   Q h^S,          S^,          u;8X  d   S! ^	^4      8X  g   Q h Q hS^ ,          S! ^^ 4      8X  g   Q hS^,          S8X  g   Q hS^,          SS,          u;8X  d   S! R^4      8X  g   Q h Q hS^,          SS,          S,          u;8X  d   S! R^,4      8X  g   Q h Q h^S,          SR,          u;8X  d4   \        \        ^4      ^,          \        ^4      ) ^,          4      8X  g   Q h Q hS^,          \        ^^4      8X  g   Q hS^,          \        \        ^4      ^,          ^4      8X  g   Q hS^,          \        ^\        ^4      ^,          4      8X  g   Q h^S,          \        \        ^	4      ^,          \        ^4      ) ^,          4      8X  g   Q h\        S^4      w  rg^V,          V,           S8X  g   Q h\        ^S4      w  rgSV,          V,           S! ^^ 4      8X  g   Q hS! ^^ 4      S! ^R4      r2SP                  W#4      w  rEpVSP	                  W#4      8X  g   Q hWB,          WS,          ,           V8X  g   Q h\!        \"        V3R l4       \!        \"        V3R l4       \!        \"        V3R l4       \!        \"        V3R l4       \!        \"        V3R l4       \!        \$        V3R l4       \!        \$        V3R	 l4       \!        \$        V3R
 l4       \!        \$        V3R l4       \!        \$        V3R l4       \!        \$        V3R l4       \!        \$        V3R l4       \!        \$        V3R l4       \!        \$        V3R l4       \!        \$        V3R l4       SP'                  \        ^4      4      S! ^^ 4      8X  g   Q hSP)                  S! ^^ 4      4      \        ^4      8X  g   Q h\!        \*        V3R l4       SP-                  \.        4      p	\1        V	\2        4      '       g   Q hV	P4                  S8X  g   Q h\7        V	P8                  4      ^8X  d+   V	P8                  ^ ,          P;                  4       \.        8X  g   Q hS\        J dd   SP=                  4       p
\1        V
\>        4      '       g   Q hV
P4                  \        8X  g   Q hV
P@                  PB                  ^ ,          V 8X  g   Q hS! R^ 4      S! ^^ 4      S! ^ R4      S! ^ ^4      3 F_  pSPE                  V4      RJ g   Q hSPG                  V4      RJ g   Q hSPI                  V4      RJ g   Q hSPK                  V4      RJ d   K_  Q h	  \L        \        \?        \        V 4      .pV\O        4       \Q        4       .,          p\R        R8X  d   V\U        4       \W        4       .,          pV FN  pSP                  V! ^4      4      S! ^^ 4      8X  g   Q hSP                  V! ^4      V4      S! ^^ 4      8X  d   KN  Q h	  \        \        3 FP  pSP                  V! ^^4      4      S! ^^4      8X  g   Q hSP                  V! ^^4      V4      S! ^^4      8X  d   KP  Q h	  S\        8X  d   \Y        S4      R8X  g   Q hS^,          S! ^^4      8X  g   Q h^S,          S! ^R4      8X  g   Q h^S,          S! ^^4      8X  g   Q hS^,          S! R^ 4      8X  g   Q hVS! ^ ^ 4      8X  g   Q hVS! ^^ 4      8X  g   Q hSP[                  4       S8X  g   Q hSP]                  4       \        8X  g   Q hEK  \Y        S4      R8X  g   Q hSP[                  4       \        8X  g   Q hSP]                  4       S8X  g   Q hS^,          S! ^\        ^4      ^,          4      8X  g   Q h^S,          S! \        ^$4      ^,          \        ^04      ) ^,          4      8X  g   Q h^S,          S! ^ ^ 4      8X  g   Q hS^,          S! ^ ^ 4      8X  g   Q hVS! \        ^4      ^,          \        ^4      ) ^,          4      8X  g
   Q SV34       hVS! ^ ^ 4      8X  g   Q hS! \        ^4      ^,          \        ^4      ^,          4      pSP_                  V4      \        ^	^
4      8X  g   Q hSPa                  V4      \        ^4      8X  d   E
K5  Q h	  R# u upi ) rq   z3 + 4*INc                     < S ^ ,          # rG  rm   qs   r:   rB   'test_gaussian_domains.<locals>.<lambda>  	    !a%r;   c                     < S ^ ,          # rG  rm   rr  s   r:   rB   rt    ru  r;   c                     < S ^ ,          # rG  rm   rr  s   r:   rB   rt    s	    !q&r;   c                     < \        S ^ 4      # rG  divmodrr  s   r:   rB   rt        &A,r;   c                     < \        S ^ 4      # rG  ry  rr  s   r:   rB   rt    r{  r;   c                     < S \         ,           # r5   r   rr  s   r:   rB   rt    	    !a%r;   c                     < S \         ,
          # r5   r~  rr  s   r:   rB   rt    r  r;   c                     < \         S ,           # r5   r~  rr  s   r:   rB   rt    	    !a%r;   c                     < \         S ,
          # r5   r~  rr  s   r:   rB   rt    r  r;   c                     < S \         ,          # r5   r~  rr  s   r:   rB   rt    r  r;   c                     < \         S ,          # r5   r~  rr  s   r:   rB   rt    r  r;   c                     < S \         ,          # r5   r~  rr  s   r:   rB   rt    r  r;   c                     < \         S ,          # r5   r~  rr  s   r:   rB   rt    r  r;   c                     < S \         ,          # r5   r~  rr  s   r:   rB   rt    s	    !q&r;   c                     < \         S ,          # r5   r~  rr  s   r:   rB   rt    s	    !q&r;   c                  .   < S P                  \        4      # r5   )r   r
   )Gs   r:   rB   rt    s    q||B'7r;   Fgmpyz
ZZ_I(3, 4)z
QQ_I(3, 4)r   )NN)rw   r   )r   rw   )r=   r  r   ir   )1r   ImaginaryUnitr!   r   gcdlcmr"   quadrantr   strparent_get_xyr
   hashrz  gcdexr1   ZeroDivisionErrorrV  r   r   r.   r   r   r   r#   ry   r  gensas_expras_AlgebraicFieldr    r  argsis_negativeis_positiveis_nonnegativeis_nonpositiver   r   r   r   r   r   reprr   r   numerdenom)r   r   rW  br   dr   rr  PRAFqir   r~   q2r  rs  s                  @@r:   test_gaussian_domainsr  \  s
   	A,-q1ua!eQ1W+EF+Ea$,,q/+EFJA!88A>Q88A>Q88A>Q88A>Q1:a###1:??!Q?ad1f$$$1: A%%%A;!Q&&&<<1a!T"Q(BqE%::::<<1a"%bAh1)>>>>D\aG1v"""xxzQyy},,,yy|v%%%yy1~'''Aw$v,&&&Aw!Aq'!!!Aw!Aq'!!!Aw!A$1u!Q1u!Q1u!a+1Q8+++++1uA(1a(((((1u"b	!!!1uA)1b)))))Av1a   Av{{AvQ+!B)+++++AvQ1abk111111uR;4!R1Q4#;;;;;;1uQ
"""1uQqT!VQ'''sd1ad1fo%%%sd1Q47QrUF2I....a|sQw!||a|sQw!Aq'!!!Aw!R1''!-aAEE!Kuqu}!!! -0 -0 .1 "67 "67y-(y-(y-(y-(y-(y-(y-(y-(y.)y.)||AaD!Qq!W,,,zz!Aq'"ad***~78XXa["n----yyA~~277|q RWWQZ%7%7%9Q%>>>9$$&Bb.111199?"?66;;q>Q&&&R8Qq!Wa2h!Q8B==$---==$---##B'5000##B'5000	 9 r>"a01 	IK--6!	79--GA99QqT?a1g---99QqT1%1a000  tA99Qq!W%1a00099Qq!Wa(AaG333  97l***a41Q7?"?q5AaH$$$6Qq!W$$$q5Ab!H$$$!Q<<!Q<<::<1$$$;;=D(((7l***::<4''';;=A%%%a41Q!Q<'''q5AaeBh2r	22226Qq!W$$$q5AaG###!A$r'AaD58,,3qe3,!Q<<1Q461Q46"B772;$q"+---772;$q')))i  Gs   q	c                  J   \         P                  \        P                  J g   Q h\         P                  \        P
                  J g   Q h\        ^4      \        P                  ! ^4      8X  g   Q h\        ^4      P                  \        P
                  J g   Q h\        ^4      \        P
                  J g   Q h^\        \        \        \        ,          ,           \        ,          4      ,          \        ^^\        ,          ,           4      u;8X  d5   ^\        \        \        ,          ,           \        ,          ,          8w  g   Q h Q h^\        \        \        \        ,          ,           \        ,          4      ,          ^\        \        \        ,          ,           \        ,          ,          u;8X  d   ^\        ,           8w  g   Q h Q h\         P                  ! \        ^4      \        4      \         P                  J g   Q h\        P                  ! \        ^4      \         4      \        P                  8X  g   Q h\         P                  ! \        P
                  4      \        P
                  J g   Q h\         P                  ! \         P                  4      \        P
                  J g   Q h\        \        R 4       \         P                   ! 4       \         8X  g   Q h\         P"                  ! \        4      \         8X  g   Q h\        P"                  ! \         4      \         8X  g   Q hR# )r   c                  .    \         P                  ! . 4      # r5   )r   r   rm   r;   r:   rB   test_EX_EXRAW.<locals>.<lambda>  s    5#3#3B#7r;   N)r   r   r   r3  r   r5  r   
Expressionexr   r   r   r   r   r1   r.   r   r7   rm   r;   r:   test_EX_EXRAWr    s   ::99a5BMM!$$$$a588quu8quu RQqS!_1qs7>q1qs7A+>>>>>UA!GQ;1q1Q3wk?=q1u=====beR(EII555??58U+rvv555AEE"aee+++>>%))$---
>78??%%%;;r?e###88E?e###r;   c                      \        ^4      \        \        4      \        ^4      .p \        V 4      \        ^4      \        ^4      \        \        4      .8X  g   Q hR# )r   N)r   r   sorted)r   s    r:   test_EX_orderingr    s@    1r!ube$H(1r!ube4444r;   c                     \         \        \        3 FK  p V P                  V ! ^4      4      V ! ^4      8X  g   Q hV P                  V ! R4      4      V ! R4      8X  d   KK  Q h	  \        \
        3 F  p V P                  \        4      pV P                  V ! ^4      4      V ! ^4      8X  g   Q hV P                  V ! ^4      V,          4      V) 8X  g   Q hV P                  V ! ^4      ) 4      V ! R4      8X  g   Q hV P                  V ! ^4      ) V,          4      V8X  d   K  Q h	  \         \        ,          p V P                  V ! \        ^,           4      4      V ! ^4      8X  g   Q hV P                  V ! \        ) ^,           4      4      V ! R4      8X  g   Q h\        \        ,          p V P                  V P                  \        \        ,          4      4      \	        ^ R4      8X  g   Q h\        P                  ! \        \        4      p V P                  \        4      pW,          V P                  8X  g   Q hV P                  V,           WP                  ,
          ,          V) 8X  g   Q hR# )rw   Nr   r   )r   r   r   canonical_unitr!   r"   r   r   r   rV   r   r   )r~   r   s     r:   test_canonical_unitr    s   "b\!%1---"&!B%///  D\LLO!%1---!Q'A2---1&!B%///1a(A---  	1AAa!eH%1---Aqb1fI&!B%///QAALL1-.$q"+===1A	QA5AEE>>EEAIEE	"qb(((r;   c                     \         P                  p ^V ,           ^3 Uu. uF  p\        P                  ! V4      NK  	  upw  r#\        P                  ! V4      R8X  g   Q h\        P                  ! V4      R8X  g   Q hR# u upi rw   FN)r   r  r   r   r  r   r   rW  r  s       r:   test_Domain_is_negativer    d    	A$%E1:.:aBJJqM:.DA>>!%%%>>!%%% /   A>c                     \         P                  p ^V ,           ^3 Uu. uF  p\        P                  ! V4      NK  	  upw  r#\        P                  ! V4      R8X  g   Q h\        P                  ! V4      R8X  g   Q hR# u upi r  )r   r  r   r   r  r  s       r:   test_Domain_is_positiver  "  r  r  c                     \         P                  p ^V ,           ^3 Uu. uF  p\        P                  ! V4      NK  	  upw  r#\        P                  ! V4      R8X  g   Q h\        P                  ! V4      R8X  g   Q hR# u upi r  )r   r  r   r   r  r  s       r:   test_Domain_is_nonnegativer  )  h    	A$%E1:.:aBJJqM:.DAQ5(((Q5((( /r  c                     \         P                  p ^V ,           ^3 Uu. uF  p\        P                  ! V4      NK  	  upw  r#\        P                  ! V4      R8X  g   Q h\        P                  ! V4      R8X  g   Q hR# u upi r  )r   r  r   r   r  r  s       r:   test_Domain_is_nonpositiver  0  r  r  c                      \         \        ,          p V P                  \        4      pV P                  \        ^4      4      V^,          8X  g   Q hV P	                  \        ^4      4      V^,          8X  g   Q hR# r   )r   r   r   r   r   )r~   eKs     r:   test_exponential_domainr  7  sV    
1A	
aB<<A27***99SVa'''r;   c                     \         P                  ! \        ^4      4      p V P                  P                  e   Q h\        \        ^4      RR7      p\         P                  ! V4      p V P                  P                  P                  R8X  g   Q h\         P                  ! VRR7      p V P                  P                  P                  R8X  g   Q h\         P                  ! \        ^4      \        ^4      4      p V P                  P                  e   Q h\         P                  ! V\        ^4      4      p V P                  P                  e   Q h\         P                  ! \        ^4      \        ^4      RR7      p V P                  P                  P                  R8X  g   Q h\         P                  ! V4      p V P                  V ! . RO4      4      pVP                  VP                  J g   Q hR# )rw   Nalpha)aliastheta)r   rw   r=   )r   ri   r   r  r  r   name
to_alg_num)kr  betas      r:   test_AlgebraicField_aliasr  >  sh   
47#A55;; DG73E
5!A55;;w&&& 	50A55;;w&&& 	47DG,A55;; 	5$q'*A55;; 	47DG7;A55;;w&&& 	5!A<<)%D::$$$r;   c                  n   \         P                  ! \        ^4      4      RJ g   Q h\         P                  ! \        ^4      4      \        ^4      8X  g   Q h\         P                  ! \        ^*4      4      RJ g   Q h\         P                  ! \        ^*4      4      e   Q h\         P                  ! \        ^ 4      4      RJ g   Q h\         P                  ! \        ^ 4      4      \        ^ 4      8X  g   Q h\         P                  ! \        R	4      4      RJ g   Q h\         P                  ! \        R	4      4      e   Q h\        P                  ! \        ^	^4      4      RJ g   Q h\        P                  ! \        ^	^4      4      \        ^^4      8X  g   Q h\        P                  ! \        ^^4      4      RJ g   Q h\        P                  ! \        ^^4      4      \        ^^4      8X  g   Q h\        P                  ! \        R
R4      4      RJ g   Q h\        P                  ! \        R
R4      4      \        ^^4      8X  g   Q h\        P                  ! \        ^^4      4      RJ g   Q h\        P                  ! \        ^^4      4      e   Q h\        P                  ! \        ^	^4      4      RJ g   Q h\        P                  ! \        ^	^4      4      e   Q h\        P                  ! \        ^4      4      RJ g   Q h\        P                  ! \        ^4      4      \        ^4      8X  g   Q h\        P                  ! \        ^ 4      4      RJ g   Q h\        P                  ! \        ^ 4      4      \        ^ 4      8X  g   Q h\        P                  ! \        R^	4      4      RJ g   Q h\        P                  ! \        R^	4      4      e   Q h\        P                  ! \	        R4      4      RJ g   Q h\        P                  ! \	        R4      4      \	        R4      8X  g   Q h\        P                  ! \	        ^4      4      RJ g   Q h\        P
                  ! \        P                  ! \	        ^4      4      \	        R4      RR7      '       g   Q h\        P                  ! \	        ^ 4      4      RJ g   Q h\        P                  ! \	        ^ 4      4      \	        ^ 4      8X  g   Q h\        P                  ! \	        R	4      4      RJ g   Q h\        P                  ! \	        R	4      4      e   Q h\        P                  ! \        ^4      4      RJ g   Q h\        P
                  ! \        P                  ! \        ^4      4      \        R4      RR7      '       g   Q h\        P                  ! \        ^ 4      4      RJ g   Q h\        P                  ! \        ^ 4      4      \        ^ 4      8X  g   Q h\        P                  ! \        R	4      4      RJ g   Q h\        P                  ! \        R	4      4      \        ^ ^4      8X  g   Q h\        P                  ! \        ^ ^4      4      RJ g   Q h\        P                  ! \        ^ ^4      4      \        ^^4      8X  g   Q h\        P                  ! \        RR4      4      RJ g   Q h\        P                  ! \        RR4      4      \        ^R4      8X  g   Q h\        ^4      p V P                  V ! ^4      4      RJ g   Q hV P                  V ! ^4      4      V ! ^4      8X  g   Q hV P                  V ! ^ 4      4      RJ g   Q hV P                  V ! ^ 4      4      V ! ^ 4      8X  g   Q h\        ^4      pVP                  V! ^4      4      RJ g   Q hVP                  V! ^4      4      V! ^4      8X  g   Q hVP                  V! ^4      4      RJ g   Q hVP                  V! ^4      4      e   Q hVP                  V! ^ 4      4      RJ g   Q hVP                  V! ^ 4      4      V! ^ 4      8X  g   Q hR# )r  TFNg      @g      @g;f?ra  )	tolerancer   ir  ir   )r   	is_squareexsqrtr   r   almosteqr   r   )F2rX  s     r:   test_exsqrtr  _  s   <<1$&&&99RUr!u$$$<<25(((99RV$$$<<1$&&&99RUr!u$$$<<25(((99RV$$$<<1a!T)))99R1X"Q(***<<2q	"d***99RAY2a8+++<<2r
#t+++99RBZ Bq!H,,,<<2q	"e+++99RAY'''<<1a!U***99R1X&&&<<1$&&&99RUr!u$$$<<1$&&&99RUr!u$$$<<3
#u,,,99RQZ (((<<4!T)))99RX"S')))<<1$&&&;;ryyA',>)?5QQQQ<<1$&&&99RUr!u$$$<<25(((99RV$$$<<1$&&&;;ryyA',>)?5QQQQ<<1$&&&99RUr!u$$$<<24'''99RV1a(((<<1a!T)))99R1X"Q(***<<2r
#t+++99RBZ Bq"I---	AB<<1$&&&99RUr!u$$$<<1$&&&99RUr!u$$$	AB<<1$&&&99RUr!u$$$<<1%'''99RU###<<1$&&&99RUr!u$$$r;   N)}__doc__sympy.external.gmpyr   sympy.core.numbersr   r   r   r   r   r   r	   r
   r   sympy.core.singletonr   &sympy.functions.elementary.exponentialr   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   sympy.polys.polytoolsr   	sympy.abcr   r   r   sympy.polys.domainsr   r   r   r   r   r   r   r   r   r   r   r   "sympy.polys.domains.algebraicfieldr    #sympy.polys.domains.gaussiandomainsr!   r"   "sympy.polys.domains.polynomialringr#   sympy.polys.domains.realfieldr$   !sympy.polys.numberfields.subfieldr%   sympy.polys.ringsr&   r'   sympy.polys.specialpolysr(   sympy.polys.fieldsr)   r*   sympy.polys.agca.extensionsr+   sympy.polys.polyerrorsr,   r-   r.   r/   r0   sympy.testing.pytestr1   r2   	itertoolsr3   ri   rM   r7   rj   rn   ru   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/  r1  r7  r>  rY  r\  rd  rk  ro  r  r  r  r  r  r  r  r  r  r  r  rm   r;   r:   <module>r     s   V ,      " 6 9 8 &  # # # # = : = 3 ? / 4 1 7  @ a$q'*xtwTrJ&1fOIBX6
-0D7,U+&LR+)<9~1*:"+
,
<50 D# $M0W+4
:;y#x@

# D*N$25
)4&&))(%B;%r;   