o
    GZh~                     @   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r"|dk s$J d S )Nx      d   r   gq=
ףp?gGz?r	   r   r   Zans r   O/var/www/auris/lib/python3.10/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sJ d S )Nr   r      g g      r   r   r   r   r   test_nsolve_denominator   s   "r    c                     sT  t dttdt  dk sJ ttd ddtd d dks)J 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 qvt 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 s(J d S )!Nr   r   gV瞯<ic                      s   t td  dS )Nr   r   r   r   r   r   r   <lambda>'   s    ztest_nsolve.<locals>.<lambda>c                      s   t td  d ddS )Nr   r   r!   r   r"   r   r   r#   (   s    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.   r/   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f2r0   Zf3r5   r6   r   r2   r   test_nsolve!   sJ   ,$(

(rA   c                  C   s6   t d} tt| | dk f| d df| ddksJ d S )Nr   r   r   Tr   )r   r   r   r"   r   r   r   test_issue_6408J   s   .rB   c                  C   s4   t d\} }tt| | | ddf|ddksJ d S )Nx yr      r   )r	   r   r   r   r.   r   r   r   test_issue_6408_integralO   s   (rF   c                  C   sR   dd l } d| j_td}|d t }t||d}tttd| dk s'J d S )Nr      r   r         @睗[%)	r'   mpZdpsr   r   r   r>   r
   r8   )r'   r   e1qr   r   r   test_increased_dpsT   s   "rM   c                  C   s   t d\} }t| d t | ddd}tttd| dk s!J t|ts(J t|d |  | d t f| |fddd}t|tsCJ |j	dksJJ tttd|d	  dk s[J ttttd|d
  dk snJ t
dd |D syJ d S )NrC   r   r   rG   precrI   )r   r   )r   r   r   r   c                 s   s    | ]}t |tV  qd S )N)
isinstancer   ).0ir   r   r   	<genexpr>j   s    z(test_nsolve_precision.<locals>.<genexpr>)r	   r   r   r>   r
   r8   rP   r   r   shapeall)r   r.   ZsolZsolsr   r   r   test_nsolve_precision_   s   ("&rV   c                  C   s   t d\} }t| d d dtdt ksJ t| d d ttdt ks(J t| d d |d d g| |gttgttdt tdt gksLJ t| d d |d d g| |gttgttdt tdt gkspJ d S )NrC   r   y              ?       @)r	   r   r
   r   r   rE   r   r   r   test_nsolve_complexl   s
   ""HLrX   c                  C   s   t d\} }t| d d ddd| tdigksJ t| d d tdd| tdt igks0J t| d |d  d | d |d  d g| |gddgdd| td|tdigks[J d S )	NrC   r   r   T)dictrW   rD   rH   )r	   r   r
   r   rE   r   r   r   test_nsolve_dict_kwargu   s   :rZ   c                  C   s8   t d} t| tdd dddtdddksJ d S )Nr   r   r   r   r   rN   )r	   r   r   r8   r"   r   r   r   test_nsolve_rational   s   0r[   c                  C   s^   t td} t ddg}| | }t|| |t| ksJ t|j| j|jt| ks-J d S )Nzt s      )r   r	   r   r   r:   )r   r0   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    rA   rB   rF   rM   rV   rX   rZ   r[   r^   r   r   r   r   <module>   s6    
	)

	