a
    t@8b                     @   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 g dttdtdtdgfks*J t g dddttdtdtdgfksXJ t tjtdtdgttdtdtdgfksJ t tjtdtdgddttdtdtdgfksJ t tjtdgttddtdgfksJ 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sJ t d	t	 gttd	d	gfksJ t ddt	  gttddgfksJ t dt	gttddtddgfksJ t dt	d gttddtdtjgfks*J t dtdgd dttdttdgfks\J t dtdgddttdttdgfksJ t dtdgd dttdttdgfksJ t tttgttttttgfksJ t tttttgtttttttttgfks,J ttd}t dtjtdgdd||d|tj|tdgfks~J ttdtd }t dtdtdgdd||d|td|tdgfksJ tt }t dt dg||dt |dgfksJ tttf }t dt dt g||dt |dt gfks\J tt }t td dg||td |dgfksJ tttf }t td dt g||td |dt gfksJ tt }t dt t	g||dt |t	gfksJ tttf }t dt t	t g||dt |t	t gfks\J tt }t td t	g||td |t	gfksJ tttf }t td t	t g||td |t	t gfksJ tt }t td dg||td |dgfksJ tttf }t td dt g||td |dt gfks\J tt }t t	t d dg||t	t d |dgfksJ tttf }t t	t d dt g||t	t d |dt gfksJ tt }t td t	d g||td |t	d gfks.J tttf }t td t	d t g||td |t	d t gfks|J tt}t dt dg||dt |dgfksJ ttt}t dt dt g||dt |dt gfksJ tt}t dt dg||dt |dgfks:J ttt}t dt dt g||dt |dt gfksJ tddt }t tdt g||tdt gfksJ t dttdfksJ t tdd 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	s8J d S )N)         r   r   r   T)ZfieldgQ	@r   g      ?g      ?y              ?g       @g      @	extension   g      @iP  )Zprecd   )r   r   r   r   ZOneZHalf
isinstancer
   r   r   r   r   r   r   r   r	   r   r   algebraic_fieldconvertZ
frac_fieldr   Zevalfr   )resultalgZdom r%   Alib/python3.9/site-packages/sympy/polys/tests/test_constructor.pytest_construct_domain   s    *.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sbJ d S )Nr   r   F)Zevaluater   Tr   )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,J t dtiddtdttifksPJ t ddiddtddifkspJ t dtiddtdttifksJ d S )N)r   F)Z	composite)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*J q*t| g}|d d }|d dksJ t|g}|d d }|d dksJ 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   r%   r%   r&   test_precision   s    


r1   c                  C   sx   t ttfD ]<} t| d t|  ks&J tt|  d tt| f ks
J q
ttd tks\J ttt d tkstJ d S )Nr   )r   r   r   r   r   r   r   r	   )nr%   r%   r&   test_issue_11538   s
    "r3   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*   r1   r3   r%   r%   r%   r&   <module>   s"   $ 