a
    lh~                     @   s$  d dl mZ d dlmZmZmZmZ d dlmZ d dl	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lmZ d dlmZ d dlmZmZ d dl m!Z! edd Z"dd Z#dd Z$dd Z%dd Z&e!dd Z'dd Z(dd Z)dd  Z*d!d" Z+d#d$ Z,d%S )&    )nfloat)FloatIRationalpi)Eq)Symbolsymbols)sqrt)	Piecewise)sin)Integral)Matrix)mnormmpf)nsolve)lambdify)raisesXFAIL)conserve_mpmath_dpsc                  C   sL   t d} t| d d|   dd|   d  d | d}|dkrD|dk sHJ d S )Nx      d   r   gq=
ףp?gGz?r	   r   r   Zans r   N/var/www/auris/lib/python3.9/site-packages/sympy/solvers/tests/test_numeric.pytest_nsolve_fail   s    ,r   c                  C   s:   t d} t| d d|   d | d  d}|dks6J d S )Nr   r      g g      r   r   r   r   r   test_nsolve_denominator   s    "r    c                     sV  t dttdt  dk s&J ttd ddtd d dksRJ ttfdd ttfdd t d} t d	}d
| d  d|d   d }| d d|   |d  d|  d }t||fj	t
| |fj	dd dD ].}t| |f|ddt  ddksJ qt dt dt d d  }d d d   d  d  }td d   }t|||fj	t
fj	dd  fdd}ttt|dg dksJ tt|dt|dt|dggdsJ t d}ttdd| d
  dd| d
   |dtd  dk sRJ d S )!Nr   r   gV瞯<ic                      s   t td  dS )Nr   r   r   r   r   r   r   <lambda>'       ztest_nsolve.<locals>.<lambda>c                      s   t td  d ddS )Nr   r   r!   r   r"   r   r   r#   (   r$   x1x2r   r      mpmath)modules))r   )r   )   r,   )r-   :0yE>)Ztolg|=yzr,   c                    s,   t f| }t | ddks(J |S )Nr   r.   )r   r   )x0rootFfr   r/   r0   r   r   getroot>   s    ztest_nsolve.<locals>.getroot)r   r   r   )r   r   r   r   agMbP?   g?g333333?z0.31883011387318591)r   r   r   r   evalfr   r   	TypeErrorr   Tr   r   r
   listmaproundabsr   )r%   r&   f1f2r1   Zf3r6   r7   r   r3   r   test_nsolve!   sJ    ,$( 

(rB   c                  C   s6   t d} tt| | dk f| d df| ddks2J d S )Nr   r   r   Tr   )r   r   r   r"   r   r   r   test_issue_6408J   s    rC   c                  C   s4   t d\} }tt| | | ddf|ddks0J d S )Nx yr      r   )r	   r   r   r   r/   r   r   r   test_issue_6408_integralO   s    rG   c                  C   sR   dd l } d| j_td}|d t }t||d}tttd| dk sNJ d S )Nr      r   r         @睗[%)	r(   mpZdpsr   r   r   r?   r
   r9   )r(   r   e1qr   r   r   test_increased_dpsT   s    rN   c                  C   s   t d\} }t| d t | ddd}tttd| dk sBJ t|tsPJ t|d |  | d t f| |fddd}t|tsJ |j	dksJ tttd|d	  dk sJ ttttd|d
  dk sJ t
dd |D sJ d S )NrD   r   r   rH   precrJ   )r   r   )r   r   r   r   c                 s   s   | ]}t |tV  qd S )N)
isinstancer   ).0ir   r   r   	<genexpr>j   r$   z(test_nsolve_precision.<locals>.<genexpr>)r	   r   r   r?   r
   r9   rQ   r   r   shapeall)r   r/   ZsolZsolsr   r   r   test_nsolve_precision_   s    ("&rW   c                  C   s   t d\} }t| d d dtdt ks.J t| d d ttdt ksPJ t| d d |d d g| |gttgttdt tdt gksJ t| d d |d d g| |gttgttdt tdt gksJ d S )NrD   r   y              ?       @)r	   r   r
   r   r   rF   r   r   r   test_nsolve_complexl   s
    ""HrY   c                  C   s   t d\} }t| d d ddd| tdigks4J t| d d tdd| tdt igks`J t| d |d  d | d |d  d g| |gddgdd| td|tdigksJ d S )	NrD   r   r   T)dictrX   rE   rI   )r	   r   r
   r   rF   r   r   r   test_nsolve_dict_kwargu   s    :r[   c                  C   s8   t d} t| tdd dddtdddks4J d S )Nr   r   r   r   r   rO   )r	   r   r   r9   r"   r   r   r   test_nsolve_rational   s    r\   c                  C   s^   t td} t ddg}| | }t|| |t| ks:J t|j| j|jt| ksZJ d S )Nzt s      )r   r	   r   r   r;   )r   r1   Zeqnr   r   r   test_issue_14950   s
    r_   N)-Zsympy.core.functionr   Zsympy.core.numbersr   r   r   r   Zsympy.core.relationalr   Zsympy.core.symbolr   r	   Z(sympy.functions.elementary.miscellaneousr
   Z$sympy.functions.elementary.piecewiser   Z(sympy.functions.elementary.trigonometricr   Zsympy.integrals.integralsr   Zsympy.matrices.denser   r(   r   r   Zsympy.solversr   Zsympy.utilities.lambdifyr   Zsympy.testing.pytestr   r   Zsympy.utilities.decoratorr   r   r    rB   rC   rG   rN   rW   rY   r[   r\   r_   r   r   r   r   <module>   s4   
	)

	