
    ^Mh                         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 Zd Zd Zd Ze j                            dej         d fej        ej        fg          d	             Zd
 Zd Zd Zd ZdS )    N)assert_assert_equalassert_allclose)assert_func_equalc                     t          t          j        d          t          dt          j                  t          t          j        t          j                  t          t          j        d          t          dt          j                  g} | D ]b}t          j        |          }t          t          j        |j                             t          t          j        |j                             cd S )Nr      )	complexnpnanscwrightomegar   isnanrealimagptspress      d/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/special/tests/test_wrightomega.pytest_wrightomega_nanr   	   s    2611bf2626""2611bf	C
  $ $nQ""###""####$ $    c                     t          t          j         t          j        dz            t          t          j         t          j         dz            t          t          j         dt          j        z  dz            t          t          j         dt          j        z  dz            g} t          dd          t          dd          t          dd          t          dd          g}t	          | |          D ]M\  }}t          j        |          }t          |j        |j                   t          |j	        |j	                   Nd S )N      g        g       )
r	   r
   infpizipr   r   r   r   r   )r   expected_resultsr   expectedr   s        r   test_wrightomega_inf_branchr!      s   BF7BE!G$$BF7RUF1H%%BF7AbeGAI&&BF7BruHQJ'')C  S))T**c**d++- 3 011 . .8nQ
 	SXx}---SXx}----. .r   c                  $   t          t          j        d          t          t          j         d          t          dt          j                  t          dt          j                   g} | D ]$}t          t	          j        |          |           %d S )N
   )r	   r
   r   r   r   r   )r   r   s     r   test_wrightomega_infr$   (   s    262BF7B2rv2w!C  + +R^A&&****+ +r   c                  :   t          dt          j                  t          dt          j                   g} | D ]b}t          j        |          }t          |d           t          t          j        |j                  t          j	        d          k               cd S )Ng      F)
r	   r
   r   r   r   r   r   signbitr   bool_r   s      r   test_wrightomega_singularr(   1   s    44"%  "C 9 9nQS$
38$$788889 9r   z
x, desiredc                 :    t          j        |           |k    sJ d S N)r   r   )xdesireds     r    test_wrightomega_real_infinitiesr-   :   s%    
 >!''''''r   c                  j    t          j        t          j        t           j                            sJ d S r*   )r
   r   r   r   r    r   r   test_wrightomega_real_nanr0   B   s*    8BN26**+++++++r   c                  f   dt          j        t                    j        z  } d}t          j        |t           j                   }t          j        |t           j                  }d}d}t          t          j        |          |d|            t          t          j        |          |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_crossovers         r   &test_wrightomega_real_series_crossoverrB   F   s    ++MIi"&99Y7777
)** 	    
())	     r   c                  f   dt          j        t                    j        z  } d}t          j        |t           j                  }t          j        |t           j                   }d}d}t          t          j        |          |d|            t          t          j        |          |d|            d S )Nr2   igy~T}%m;g~T}%m;r   r3   r6   r;   s         r   ,test_wrightomega_exp_approximation_crossoverrD   \   s    ++MIi88Y8887
)** 	    
())	     r   c                      t          j        ddd          } t          j        | dz             j        }t          t          j        || dd           d S )Nii  i  y                r   g+=r3   )r
   linspacer   r   r   r   )r+   resultss     r   $test_wrightomega_real_versus_complexrH   r   sL    
D#t$$AnQV$$)GbngqquEEEEEEr   )pytestnumpyr
   numpy.testingr   r   r   scipy.specialspecialr   scipy.special._testutilsr   r   r!   r$   r(   markparametrizer   r-   r0   rB   rD   rH   r/   r   r   <module>rQ      s1        @ @ @ @ @ @ @ @ @ @       6 6 6 6 6 6	$ 	$ 	$. . .&+ + +9 9 9 fWaLVRV(  ( (	 (, , ,  ,  ,F F F F Fr   