
    g                         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'dS )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          ||                    d          |                    t          j                  |                    t          d                    gfk    sJ t          j        t          d          t          d          z             }t          dt          d          t          d          gd          ||                    d          |                    t          d                    |                    t          d                    gfk    sJ t          t                    }t          dt           z  dg          ||                    dt           z            |                    d          gfk    sJ t          t           t"          f         }t          dt           z  dt"          z  g          ||                    dt           z            |                    dt"          z            gfk    sJ t          t                    }t          t           dz  dg          ||                    t           dz            |                    d          gfk    sJ t          t           t"          f         }t          t           dz  dt"          z  g          ||                    t           dz            |                    dt"          z            gfk    sJ t          t                    }t          dt           z  t          g          ||                    dt           z            |                    t                    gfk    sJ t          t           t"          f         }t          dt           z  t          t"          z  g          ||                    dt           z            |                    t          t"          z            gfk    sJ t          t                    }t          t           dz  t          g          ||                    t           dz            |                    t                    gfk    sJ t          t           t"          f         }t          t           dz  t          t"          z  g          ||                    t           dz            |                    t          t"          z            gfk    sJ t          t                    }t          t           dz  dg          ||                    t           dz            |                    d          gfk    sJ t          t           t"          f         }t          t           dz  dt"          z  g          ||                    t           dz            |                    dt"          z            gfk    sJ t          t                    }t          t          t           z  dz  dg          ||                    t          t           z  dz            |                    d          gfk    sJ t          t           t"          f         }t          t          t           z  dz  dt"          z  g          ||                    t          t           z  dz            |                    dt"          z            gfk    sJ t          t                    }t          t           dz  t          dz  g          ||                    t           dz            |                    t          dz            gfk    sJ t          t           t"          f         }t          t           dz  t          dz  t"          z  g          ||                    t           dz            |                    t          dz  t"          z            gfk    sJ t          j        t                     }t          dt           z  dg          ||                    dt           z            |                    d          gfk    sJ t          j        t           t"                    }t          dt           z  dt"          z  g          ||                    dt           z            |                    dt"          z            gfk    sJ t          j        t                     }t          dt           z  dg          ||                    dt           z            |                    d          gfk    sJ t          j        t           t"                    }t          dt           z  dt"          z  g          ||                    dt           z            |                    dt"          z            gfk    sJ t          d          t                    }t          t+          j        d          t           z  g          ||                    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 d S )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      ^/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/polys/tests/test_constructor.pytest_construct_domainr/      s   III&&21r!uubee/D*EEEEEIIIT222rBqEE2a55"Q%%;P6QQQQQQUAaDD!A$$/00R"Q%%A19N4OOOOOQUAaDD!A$$/t<<<beeRPQUUTVWXTYTYEZ@[[[[[QVQqTTN++R1XXr!uu4E/FFFFFtQ/00FfQi+++++!9D2c77BsGG44444tQ/00FfQi.....!9D2d88RWW55555SUG$$bcll^(<<<<<SQYK((R"S#,,,@@@@@QF##tAqzz41::.F'GGGGGQ!H%%$aT!QV__0M)NNNNNT477Ot<<<bhhPRSWXYSZSZP[P[E\@]]]]]T477Ot<<<bhhPRSWXYSZSZP[P[E\@]]]]]QQLD999b2a55"TRSWW++BV=WWWWWQQL))b2a55"T!WW++2F-GGGGGQQa122rBqEE2d1gg;;PRSWXYSZSZP[P[;\6]]]]]

T!WW
%
%CQQ0DAAA	s{{1~~s{{1622CKKQ4H4HIJK K K K 
T!WWtAww.
/
/CQQa1TBBB	s{{1~~s{{47733S[[a5I5IJKL L L L Q%CQqS!H%%	s{{1Q3Q012 2 2 2 QT(CQqS!A#J''	s{{1Q3QqS!1!1234 4 4 4 Q%CQqS!H%%	s{{1Q3Q012 2 2 2 QT(CQqS!A#J''	s{{1Q3QqS!1!1234 4 4 4 q'CQqS!H%%	s{{1Q3Q012 2 2 2 q!t*CQqS!A#J''	s{{1Q3QqS!1!1234 4 4 4 q'CQqS!H%%	s{{1Q3Q012 2 2 2 q!t*CQqS!A#J''	s{{1Q3QqS!1!1234 4 4 4 Q%CQqS#J''	s{{1Q3S!1!1234 4 4 4 QT(CQqS#a%L))	s{{1Q3SU!3!3456 6 6 6 Q%CQqSUCL))	s{{1Q3q5!!3;;s#3#3456 6 6 6 QT(CQqSUCEN++	s{{1Q3q5!!3;;s1u#5#5678 8 8 8 Q%CQqS!C%L))	s{{1Q3QsU!3!3456 6 6 6 QT(CQqS!C%'N++	s{{1Q3QsU1W!5!5678 8 8 8 -

CQqS!H%%	s{{1Q3Q012 2 2 2 -1

CQqS!A#J''	s{{1Q3QqS!1!1234 4 4 4 -

CQqS#J''	s{{1Q3S!1!1234 4 4 4 -1

CQqS#a%L))	s{{1Q3SU!3!3456 6 6 6 


a
 CRXc]]1_-..	s{{28C==?++,-. . . . A2r!uu+----AaDDF##Bq!HH~5555HQNN++Bq!HH~====BB8++++++    c                  4   t          t           dz  t          z  dz  d          } t          j        |           }t          | dz  | dgd          ||                    | dz            |                    |           |                    d          gfk    sJ d S )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99	QT			Q	Q	>      r0   c                     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 d S )N)r   F)	composite)r   r   r   )r   r   )r   r   r   r
   r    r0   r.   test_composite_optionr8      s   T3q66Ne<<<	dBs1vvJJ ! ! ! ! T1I777	dBqEE]    VQK5999	fa[    VQK5999	fbee_     r0   c                     t          d          } t          d          }ddddddd	d
d| |fD ]H}t          |g          }t          |d         d                   }t          ||z
            |z  dk     sJ It          | g          }|d         d         }|dz
  dk    sJ t          |g          }|d         d         }|dz
  dk    sJ d S )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,1q5zzA~%%%%%rd##Fq	!AQ3;;;;rd##Fq	!AQ3;;;;;;r0   c                     t           t          t          fD ]]} t          |           d         t          |          k    sJ t          t
          | z             d         t          t
          | f         k    sJ ^t          t                    d         t          k    sJ t          t
          t          z             d         t          k    sJ d S )Nr   )r   r   r   r   r   r   r   r
   )ns    r.   test_issue_11538rC      s    W 6 6""1%A....A&&q)R1X55555K((+r1111AO,,Q/2555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      sr   @ @ 4 4 4 4 4 4 > > > > > > > > > > > > > > > > > > 3 3 3 3 3 3 9 9 9 9 9 9 - - - - - - - - : : : : : : : : : : : : : : " " " " " " 6 6 6 6 6 6 9 9 9 9 9 9 8 8 8 8 8 8        L, L, L,^      $6 6 6 6 6r0   