o
    GZh4                     @   s  d 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 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# ddl$m%Z%m&Z& dd Z'dd Z(dd Z)edd Z*dd Z+dd Z,dd Z-dS )z:Tests for tools for constructing domains for expressions.     )tooslow)construct_domain)ZZQQZZ_IQQ_IRRCCEX)	RealField)ComplexField)CatalanGoldenRatio)EFloatIRationalpi)S)exp)sqrt)sin)rootof)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)fieldgQ	@r   g      ?g      ?y              ?g       @g      @	extension   g      @iP  )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algdom r*   Q/var/www/auris/lib/python3.10/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s1J d S )Nr   r   F)evaluater   Tr   )r   r   r   r   r%   r   r&   )wr(   r*   r*   r+   test_complex_exponential   s   
r/   c                  C   s   t td t d d} t td t d d}t| }t|}t| gtt| gfks.J t|gtt|gfks<J t| |gtt| t|gfksNJ t| gdd||| gfks_J t|gdd|||gfkspJ d S Nr   r   r   Tr   )r   r   r   r%   r   r
   
from_sympy)r1r2ZK1ZK2r*   r*   r+   test_rootof   s   

$
r4   c                  C   sj   t td t d d} t td t d d}t| | }t| |gdd||| ||gfks3J d S r0   )r   r   r   r%   r   r1   )r2   r3   ZK12r*   r*   r+   test_rootof_primitive_element   s   r5   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   
r6   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   


r=   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
   "r?   N).__doc__Zsympy.testing.pytestr   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sympyr   Z	sympy.abcr   r   r,   r/   r4   r5   r6   r=   r?   r*   r*   r*   r+   <module>   s.    $ 
