
    sg                         d Z ddlmZ ddlmZmZmZmZmZm	Z	m
Z
 ddlmZ ddlmZ ddlmZmZ ddlmZmZmZmZmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddl m!Z!m"Z" d Z#d Z$d Z%d Z&d Z'y)z:Tests for tools for constructing domains for expressions.     )construct_domain)ZZQQZZ_IQQ_IRRCCEX)	RealField)ComplexField)CatalanGoldenRatio)EFloatIRationalpi)S)exp)sqrt)sin)xyc            	         t        g d      t        t        d      t        d      t        d      gfk(  sJ t        g dd      t        t        d      t        d      t        d      gfk(  sJ t        t        j                  t        d      t        d      g      t        t        d      t        d      t        d      gfk(  sJ t        t        j                  t        d      t        d      gd      t        t        d      t        d      t        d      gfk(  sJ t        t        j
                  t        d      g      t        t        dd      t        d      gfk(  sJ t        ddt        j
                  g      } t        | d   t              sJ | d   t        d      t        d	      t        d
      gk(  sJ t        dt        t        j
                  g      } t        | d   t              sJ | d   t        d      t        d      t        d
      gk(  sJ t        d	t        z   g      t        t        d	d	      gfk(  sJ t        ddt        z  z   g      t        t        dd      gfk(  sJ t        dt        g      t        t        dd      t        dd      gfk(  sJ t        dt        dz  g      t        t        dd      t        dt        j
                        gfk(  sJ t        dt        d      gd       t        t        d      t        t        d            gfk(  sJ t        dt        d      gd      t        t        d      t        t        d            gfk(  sJ t        dt        d      gd       t        t        d      t        t        d            gfk(  sJ t        t         t        t               g      t        t        t               t        t        t                     gfk(  sJ t        t         t        t               t        t"              g      t        t        t               t        t        t                     t        t        t"                    gfk(  sJ t        j$                  t        d            }t        dt        j
                  t        d      gd      ||j'                  d      |j'                  t        j
                        |j'                  t        d            gfk(  sJ t        j$                  t        d      t        d      z         }t        dt        d      t        d      gd      ||j'                  d      |j'                  t        d            |j'                  t        d            gfk(  sJ t        t            }t        dt         z  dg      ||j'                  dt         z        |j'                  d      gfk(  sJ t        t         t"        f   }t        dt         z  dt"        z  g      ||j'                  dt         z        |j'                  dt"        z        gfk(  sJ t        t            }t        t         dz  dg      ||j'                  t         dz        |j'                  d      gfk(  sJ t        t         t"        f   }t        t         dz  dt"        z  g      ||j'                  t         dz        |j'                  dt"        z        gfk(  sJ t        t            }t        dt         z  t        g      ||j'                  dt         z        |j'                  t              gfk(  sJ t        t         t"        f   }t        dt         z  t        t"        z  g      ||j'                  dt         z        |j'                  t        t"        z        gfk(  sJ t        t            }t        t         dz  t        g      ||j'                  t         dz        |j'                  t              gfk(  sJ t        t         t"        f   }t        t         dz  t        t"        z  g      ||j'                  t         dz        |j'                  t        t"        z        gfk(  sJ t        t            }t        t         dz  dg      ||j'                  t         dz        |j'                  d      gfk(  sJ t        t         t"        f   }t        t         dz  dt"        z  g      ||j'                  t         dz        |j'                  dt"        z        gfk(  sJ t        t            }t        t        t         z  dz  dg      ||j'                  t        t         z  dz        |j'                  d      gfk(  sJ t        t         t"        f   }t        t        t         z  dz  dt"        z  g      ||j'                  t        t         z  dz        |j'                  dt"        z        gfk(  sJ t        t            }t        t         dz  t        dz  g      ||j'                  t         dz        |j'                  t        dz        gfk(  sJ t        t         t"        f   }t        t         dz  t        dz  t"        z  g      ||j'                  t         dz        |j'                  t        dz  t"        z        gfk(  sJ t        j(                  t               }t        dt         z  dg      ||j'                  dt         z        |j'                  d      gfk(  sJ t        j(                  t         t"              }t        dt         z  dt"        z  g      ||j'                  dt         z        |j'                  dt"        z        gfk(  sJ t        j(                  t               }t        dt         z  dg      ||j'                  dt         z        |j'                  d      gfk(  sJ t        j(                  t         t"              }t        dt         z  dt"        z  g      ||j'                  dt         z        |j'                  dt"        z        gfk(  sJ t        d      t            }t        t+        j,                  d      t         z  g      ||j'                  t+        j,                  d      t         z        gfk(  sJ t        d      t        t        d      fk(  sJ t        t        d      dz        t        t        dd      fk(  sJ t        t/        dd            t        t        dd      fk(  sJ t        i       t        i fk(  sJ y )N)         r   r   r   T)fieldgQ	@r   g      ?g      ?y              ?g       @g      @	extension   g      @iP  )precd   )r   r   r   r   OneHalf
isinstancer   r   r   r   r	   r   r   r   r
   r   r   algebraic_fieldconvert
frac_fieldr   evalfr   )resultalgdoms      U/var/www/html/venv/lib/python3.12/site-packages/sympy/polys/tests/test_constructor.pytest_construct_domainr/      s8   I&21r!ube/D*EEEEIT2rBqE2a5"Q%;P6QQQQQUUAaD!A$/0R"Q%A19N4OOOOQUUAaD!A$/t<beRPQUTVWXTYEZ@[[[[QVVQqTN+R1Xr!u4E/FFFFtQ/0FfQi+++!9D2c7BsG4444tQ/0FfQi...!9D2d8RW5555SUG$bcl^(<<<<SQYK(R"S#,,@@@@QF#tAqz41:.F'GGGGQ!H%$aT!QVV_0M)NNNNT47Ot<bhPRSWXYSZP[E\@]]]]T47Ot<bhPRSWXYSZP[E\@]]]]QQLD9b2a5"TRSW+BV=WWWWQQL)b2a5"T!W+2F-GGGGQQa12rBqE2d1g;PRSWXYSZP[;\6]]]]


T!W
%CQQ0DA	s{{1~s{{1662CKKQ4HIJK K K 

T!WtAw.
/CQQa1TB	s{{1~s{{473S[[a5IJKL L L Q%CQqS!H%	s{{1Q3Q012 2 2 QT(CQqS!A#J'	s{{1Q3QqS!1234 4 4 Q%CQqS!H%	s{{1Q3Q012 2 2 QT(CQqS!A#J'	s{{1Q3QqS!1234 4 4 q'CQqS!H%	s{{1Q3Q012 2 2 q!t*CQqS!A#J'	s{{1Q3QqS!1234 4 4 q'CQqS!H%	s{{1Q3Q012 2 2 q!t*CQqS!A#J'	s{{1Q3QqS!1234 4 4 Q%CQqS#J'	s{{1Q3S!1234 4 4 QT(CQqS#a%L)	s{{1Q3SU!3456 6 6 Q%CQqSUCL)	s{{1Q3q5!3;;s#3456 6 6 QT(CQqSUCEN+	s{{1Q3q5!3;;s1u#5678 8 8 Q%CQqS!C%L)	s{{1Q3QsU!3456 6 6 QT(CQqS!C%'N+	s{{1Q3QsU1W!5678 8 8 --
CQqS!H%	s{{1Q3Q012 2 2 --1
CQqS!A#J'	s{{1Q3QqS!1234 4 4 --
CQqS#J'	s{{1Q3S!1234 4 4 --1
CQqS#a%L)	s{{1Q3SU!3456 6 6 
a
 CRXXc]1_-.	s{{288C=?+,-. . . A2r!u+---AaDF#Bq!H~555HQN+Bq!H~===BB8+++    c                     t        t         dz  t        z  dz  d      } t        j                  |       }t        | dz  | dgd      ||j                  | dz        |j                  |       |j                  d      gfk(  sJ y )Nr   r   F)evaluater   Tr   )r   r   r   r   r'   r   r(   )wr,   s     r.   test_complex_exponentialr4      s    QBqDGAI&A


Q
CQT1aLD9	QT		Q	Q	>   r0   c                  n   t        dt        t              id      t        dt        t        t                    ifk(  sJ t        dt        id      t        dt        t              ifk(  sJ t        ddid      t        ddifk(  sJ t        dt        id      t        dt        t              ifk(  sJ y )N)r   F)	composite)r   r   r   )r   r   )r   r   r   r
   r    r0   r.   test_composite_optionr8      s    T3q6Ne<	dBs1vJ ! ! ! T1I7	dBqE]   VQK59	fa[   VQK59	fbe_  r0   c                  2   t        d      } t        d      }ddddddd	d
d| |fD ]5  }t        |g      }t        |d   d         }t        ||z
        |z  dk  r5J  t        | g      }|d   d   }|dz
  dkD  sJ t        |g      }|d   d   }|dz
  dkD  sJ y )Nz1.01z1.0000000000000000000001r   g{Gz?gư>gvIh%<=g+=gؗҜ<g#B;g0.++gYnr   gJz5)r   r   floatabs)f1f2ur+   vr   s         r.   test_precisionr@      s    	vB	)	*BtUE5% &!1#&&)A,1q5zA~%%%	& rd#Fq	!AQ3;;rd#Fq	!AQ3;;r0   c                  ,   t         t        t        fD ]C  } t        |       d   t        |    k(  sJ t        t
        | z         d   t        t
        | f   k(  rCJ  t        t              d   t        k(  sJ t        t
        t        z         d   t        k(  sJ y )Nr   )r   r   r   r   r   r   r   r
   )ns    r.   test_issue_11538rC      s    W 6"1%A...A&q)R1X5556 K(+r111AO,Q/2555r0   N)(__doc__sympy.polys.constructorr   sympy.polys.domainsr   r   r   r   r   r	   r
   sympy.polys.domains.realfieldr    sympy.polys.domains.complexfieldr   
sympy.corer   r   sympy.core.numbersr   r   r   r   r   sympy.core.singletonr   &sympy.functions.elementary.exponentialr   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   	sympy.abcr   r   r/   r4   r8   r@   rC   r7   r0   r.   <module>rP      sM    @ 4 > > > 3 9 - : : " 6 9 8 L,^$6r0   