o
    8Va                     @   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mZmZmZmZmZmZmZmZ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)SsqrtsinexpFloatEIGoldenRatiopiCatalanRational)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s,J t tjtdtdgttdtdtdgfksGJ t tjtdtdgddttdtdtdgfksdJ t tjtdgttddtdgfkszJ t ddtjg} t| d tsJ | d tdtd	td
gksJ t dt	tjg} t| d t
sJ | 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s@J t dtdgd dttdttdgfksYJ t tttgttttttgfkspJ t tttttgtttttttttgfksJ ttd}t dtjtdgdd||d|tj|tdgfksJ 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sDJ tttf }t td dt g||td |dt gfksgJ tt }t dt t	g||dt |t	gfksJ tttf }t dt t	t g||dt |t	t gfksJ 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sHJ tttf }t t	t d dt g||t	t d |dt gfksoJ tt }t td t	d g||td |t	d gfksJ tttf }t td t	d t g||td |t	d t gfksJ 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s9J tddt }t tdt g||tdt gfksZJ t dttdfksgJ t tdd ttddfksyJ t tddttddfksJ t i ti fksJ 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%   D/usr/lib/python3/dist-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s1J 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s(J t ddiddtddifks8J t dtiddtdttifksJJ 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 ]}t|g}t|d d }t|| | dk s0J qt| g}|d d }|d dksDJ t|g}|d d }|d dksWJ 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s:J 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sympyr   r   r   r   r   r   r   r   r   r   r   Z	sympy.abcr   r   r'   r)   r*   r1   r3   r%   r%   r%   r&   <module>   s    $4 