o
    g                     @   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   b/home/ubuntu/cloudmapper/venv/lib/python3.10/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	 qBd S )N      g        g       )
r   r   infpizipr
   r   r   r   r   )r   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|| qd 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   signbitr   r   r   r   r   test_wrightomega_singular1   s   


r"   z
x, desiredc                 C   s   t | |ks	J d S N)r
   r   )xdesiredr   r   r    test_wrightomega_real_infinities:   s   r&   c                   C   s   t tt jsJ d S 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   atolrtol	r   finfofloateps	nextafterr   r   r
   r   desired_error	crossoverx_before_crossoverx_after_crossoverdesired_before_crossoverdesired_after_crossoverr   r   r   &test_wrightomega_real_series_crossoverF   s$   
r8   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,   r1   r   r   r   ,test_wrightomega_exp_approximation_crossover\   s$   
r9   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   linspacer
   r   r   r   )r$   resultsr   r   r   $test_wrightomega_real_versus_complexr   s   r<   )pytestnumpyr   numpy.testingr   r   r   scipy.specialspecialr
   scipy.special._testutilsr   r   r   r    r"   markparametrizer   r&   r'   r8   r9   r<   r   r   r   r   <module>   s$    		


