a
    kh4                     @   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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)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*   P/var/www/auris/lib/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)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sxJ t| |gtt| t|gfksJ t| gdd||| gfksJ t|gdd|||gfksJ 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sfJ 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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    
r6   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    


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stJ 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,   $ 
