U
    9%e                     @   s   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d Z#dd Z$dd Z%dd Z&d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                  C   s@	  t dddgttdtdtdgfks,tt dddgddttdtdtdgfks\tt tjtdtdgttdtdtdgfkstt tjtdtdgddttdtdtdgfkstt tjtdgttddtdgfkstt ddtjg} t| d tst| d t	dt	dt	d	gks@tt dt
tjg} t| d tsdt| d tdtd
td	gkstt dt
 gttddgfkstt ddt
  gttddgfkstt dt
gttddtddgfkstt dt
d gttddtdtjgfks.tt dtdgd dttdttdgfks`tt dtdgddttdttdgfkstt dtdgd dttdttdgfkstt tttgttttttgfkstt tttttgtttttttttgfks0tttd}t dtjtdgdd||d|tj|tdgfkstttdtd }t dtdtdgdd||d|td|tdgfksttt }t dt dg||dt |dgfksttttf }t dt dt g||dt |dt gfks`ttt }t td dg||td |dgfksttttf }t td dt g||td |dt gfksttt }t dt t
g||dt |t
gfksttttf }t dt t
t g||dt |t
t gfks`ttt }t td t
g||td |t
gfksttttf }t td t
t g||td |t
t gfkstt	t }t td dg||td |dgfkstt	ttf }t td dt g||td |dt gfks`ttt }t t
t d dg||t
t d |dgfksttttf }t t
t d dt g||t
t d |dt gfksttt }t td t
d g||td |t
d gfks2ttttf }t td t
d t g||td |t
d t gfksttt}t dt dg||dt |dgfkstttt}t dt dt g||dt |dt gfkstt	t}t dt dg||dt |dgfks>tt	tt}t dt dt g||dt |dt gfksttddt }t tdt g||tdt gfkstt dttdfkstt tdd ttddfk	stt tddttddfk	s&tt i ti fk	s<td S )N         T)fieldgQ	@r   g      ?g      ?y              ?g       @g      @	extension   g      @iP  )precd   )r   r   AssertionErrorr   r   ZOneZHalf
isinstancer
   r   r   r   r   r   r   r   r	   r   r   algebraic_fieldconvertZ
frac_fieldr   Zevalfr   )resultalgdom r)   a/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/polys/tests/test_constructor.pytest_construct_domain   s    ,06:,$$$(*0222.>$
&











"

"







$"r+   c                  C   sf   t t d t d dd} t| }t| d | dgdd||| d || |dgfksbtd S )Nr   r   F)evaluater   Tr   )r   r   r   r   r$   r   r%   r"   )wr'   r)   r)   r*   test_complex_exponential   s    
r.   c                   C   s   t dttiddtdtttifks,tt dtiddtdttifksPtt ddiddtddifksptt dtiddtdttifkstd S )N)r   F)Z	composite)r   r   r   )r   r   )r   r   r   r	   r"   r   r)   r)   r)   r*   test_composite_option   s    
r/   c                  C   s   t d} t d}ddddddd	d
d| |fD ]6}t|g}t|d d }t|| | dk s*tq*t| g}|d d }|d dkstt|g}|d d }|d dkstd S )Nz1.01z1.0000000000000000000001r   g{Gz?gư>gvIh%<=g+=gؗҜ<g#B;g0.++gYnr   gJz5)r   r   floatabsr"   )f1f2ur&   vr   r)   r)   r*   test_precision   s     


r6   c                  C   sx   t ttfD ]<} t| d t|  ks&ttt|  d tt| f ks
tq
ttd tks\tttt d tksttd S )Nr   )	r   r   r   r   r   r"   r   r   r	   )nr)   r)   r*   test_issue_11538   s
    "r8   N)(__doc__Zsympy.polys.constructorr   Zsympy.polys.domainsr   r   r   r   r   r   r	   Zsympy.polys.domains.realfieldr
   Z sympy.polys.domains.complexfieldr   Z
sympy.corer   r   Zsympy.core.numbersr   r   r   r   r   Zsympy.core.singletonr   Z&sympy.functions.elementary.exponentialr   Z(sympy.functions.elementary.miscellaneousr   Z(sympy.functions.elementary.trigonometricr   Z	sympy.abcr   r   r+   r.   r/   r6   r8   r)   r)   r)   r*   <module>   s"   $ 