o
    8Va,                     @   s   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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 )    )EqMatrixpisinsqrtSymbolIntegral	PiecewisesymbolsFloatIRational)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   B/usr/lib/python3/dist-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   getroot7   s   ztest_nsolve.<locals>.getroot)r   r   r   )       @g      ?        r   agMbP?   g?g333333?z0.31883011387318591)r   r   r   r   evalfr   r   	TypeErrorr   Tr   r   r   listmaproundabsr   )r#   r$   f1f2r/   Zf3r4   r7   r   r1   r   test_nsolve   sJ   ,$(

(rB   c                  C   s6   t d} tt| | dk f| d df| ddksJ d S )Nr   r   r   Tr6   )r   r   r	   r!   r   r   r   test_issue_6408D   s   .rC   c                  C   s4   t d\} }tt| | | ddf|ddksJ d S )Nx yr      r   r6   )r
   r   r   r   r-   r   r   r   test_issue_6408_integralI   s   (rG   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&   ZmpZdpsr   r   r   r?   r   r9   )r&   r   Ze1qr   r   r   test_increased_dpsN   s   "rL   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 )NrD   r   r   rH   ZprecrJ   )r   r   )r   r   r   r   c                 s   s    | ]}t |tV  qd S )N)
isinstancer   ).0ir   r   r   	<genexpr>d   s    z(test_nsolve_precision.<locals>.<genexpr>)r
   r   r   r?   r   r9   rN   r   r   shapeall)r   r-   ZsolZsolsr   r   r   test_nsolve_precisionY   s   ("&rT   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 )NrD   r   y              ?r5   )r
   r   r   r   r   rF   r   r   r   test_nsolve_complexf   s
   ""HLrU   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 )	NrD   r   r   T)dictr5   rE   rI   )r
   r   r   r   rF   r   r   r   test_nsolve_dict_kwargo   s   :rW   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   rM   )r
   r   r   r9   r!   r   r   r   test_nsolve_rational{   s   0rX   c                  C   sV   t td} t ddg}| | }t|| || ksJ t|j| j|j| ks)J d S )Nzt s      )r   r
   r   r;   )r   r/   Zeqnr   r   r   test_issue_14950   s
    r[   N)$Zsympyr   r   r   r   r   r   r   r	   r
   r   r   r   r&   r   r   Zsympy.solversr   Zsympy.utilities.lambdifyr   Zsympy.testing.pytestr   r   Zsympy.utilities.decoratorr   r   r   rB   rC   rG   rL   rT   rU   rW   rX   r[   r   r   r   r   <module>   s&   8 
	*

	