U
    ?h                     @   s   d dl Z d dlZd dlmZmZmZ d dlmZ	 d dl
mZ dd Zdd Zdd	 Zd
d Ze jdej d fejejfgdd Zdd Zdd Zdd Zdd ZdS )    N)assert_assert_equalassert_allclose)assert_func_equalc                  C   sp   t tjdt dtjt tjtjt tjdt dtjg} | D ].}t|}tt|j tt|j q<d S )Nr      )	complexnpnanscwrightomegar   isnanrealimagptspres r   V/var/www/html/venv/lib/python3.8/site-packages/scipy/special/tests/test_wrightomega.pytest_wrightomega_nan	   s    




r   c                  C   s   t tj tjd t tj tj d t tj dtj d t tj dtj d g} t ddt ddt ddt ddg}t| |D ].\}}t|}t|j|j t|j	|j	 qd S )N      g        g       )
r   r   infpizipr
   r   r   r   r   )r   Zexpected_resultsr   expectedr   r   r   r   test_wrightomega_inf_branch   s    
r   c                  C   sN   t tjdt tj dt dtjt dtj g} | D ]}tt|| q4d S )N
   )r   r   r   r   r
   r   )r   r   r   r   r   test_wrightomega_inf(   s    

r   c                  C   sP   t dtjt dtj g} | D ],}t|}t|d tt|jdk qd S )Ng      F)	r   r   r   r
   r   r   r   Zsignbitr   r   r   r   r   test_wrightomega_singular1   s    


r    z
x, desiredc                 C   s   t | |kstd S N)r
   r   AssertionError)xZdesiredr   r   r    test_wrightomega_real_infinities:   s    r$   c                   C   s   t tt jstd S r!   )r   r   r
   r   r	   r"   r   r   r   r   test_wrightomega_real_nanB   s    r%   c                  C   sj   dt tj } d}t |t j }t |t j}d}d}tt||d| d tt||d| d d S )N   g@xDg?xDgAxDr   ZatolZrtol	r   ZfinfofloatepsZ	nextafterr   r   r
   r   Zdesired_errorZ	crossoverZx_before_crossoverZx_after_crossoverZdesired_before_crossoverZdesired_after_crossoverr   r   r   &test_wrightomega_real_series_crossoverF   s$    r,   c                  C   sj   dt tj } d}t |t j}t |t j }d}d}tt||d| d tt||d| d d S )Nr&   igy~T}%m;g~T}%m;r   r'   r(   r+   r   r   r   ,test_wrightomega_exp_approximation_crossover\   s$    r-   c                  C   s6   t ddd} t| d j}ttj|| ddd d S )Nii  i  y                r   g+=r'   )r   Zlinspacer
   r   r   r   )r#   resultsr   r   r   $test_wrightomega_real_versus_complexr   s    r/   )Zpytestnumpyr   Znumpy.testingr   r   r   Zscipy.specialspecialr
   Zscipy.special._testutilsr   r   r   r   r    markZparametrizer   r$   r%   r,   r-   r/   r   r   r   r   <module>   s"   		


