
    ge;                        d dl Z d dlZd dlmZmZ d dlmZ d dlm	Z	m
Z
 e j                            dg d          e j                            dg d          d                         Ze j                            dg d          e j                            dg d	          d
                         Ze j                            dg d          e j                            dg d          e j                            dg d          d                                     Z ej        g dg dg dg dg dddddej        gg dddddej        gg dg dg dg dg dg dd ddd!ej        gg          Ze j        j        e j                            d"edddd#f                                                   d$                         Ze j                            d%e                                          d&             ZdS )'    N)assert_equalassert_allclose)rgammawright_bessela)r   ư>皙?      ?   
   bc                 ^    t          t          | |d          t          |                     dS )zTest at x = 0.        N)r   r   r   )r   r   s     Flib/python3.11/site-packages/scipy/special/tests/test_wright_bessel.pytest_wright_bessel_zeror      s,     q!R((&))44444    x)r   r   r	   r
   r   c                     |dk    r`| dz
  }t          d|dz   |dz  dz            }t          t          j        |dz  |          |z  t	          j        ||          dd           dS dS )	zTest relation of wright_bessel and modified bessel function iv.

    iv(z) = (1/2*z)**v * Phi(1, v+1; 1/4*z**2).
    See https://dlmf.nist.gov/10.46.E2
    r   r      g      @g       @dy=rtolatolN)r   r   nppowersciv)r   r   vwbs       r   test_wright_bessel_ivr    "   s     	AvvE1a!eQTBY// 	R++b0a"	0 	0 	0 	0 	0 	0 vr   )r   gjt?r      r   )r   r   r	   r
   r   r!   r   d   c           
          t          t          | |dz
  |          | |z  t          | || z   |          z  |dz
  t          | ||          z  z   dd           dS )a=  Test functional relation of wright_bessel.

    Phi(a, b-1, z) = a*z*Phi(a, b+a, z) + (b-1)*Phi(a, b, z)

    Note that d/dx Phi(a, b, x) = Phi(a, b-1, x)
    See Eq. (22) of
    B. Stankovic, On the Function of E. M. Wright,
    Publ. de l' Institut Mathematique, Beograd,
    Nouvelle S`er. 10 (1970), 113-124.
    r   :0yE>r   Nr   r   )r   r   r   s      r   test_wright_functionalr&   4   su     M!QUA..EM!QUA6661uaA 6 667D* * * * * *r   )r	         Y@9B.@gS
[.Gg:0yU>)r
         $@r(   gUqZ+YIgv(x>)r
   r)        @@g]a(aaHMr$   )r
   r'   r*   g	5U4'g+i)+p>)      ?      4@     j@g+^%np~=r+   r'   r-   g
+eD)d     ?r,   r-   g'^%nr.   r/   gc+eD)      ?r        @@guc&Br.   )r0   g      =r1   gsc&Br.   )r0   g|=r1   gB&Br.   )r0   gh㈵>r1   g]%Br.   )r0   r	   r1   gKӨwqBgdy=)r0   r,   r-   g@IgA:)>r0   gmxi%%za, b, x, phi   c                 H    t          t          | ||          |d           dS )zDTest cases of test_data that do not reach relative accuracy of 1e-11r   r   Nr%   )r   r   r   phis       r   test_wright_data_grid_failuresr6   _   s+     M!Q**Ce<<<<<<r   za, b, x, phi, accuracyc                     t          j        |          r't          j        t          | ||                    sJ dS t          t          | ||          ||           dS )z}Test cases of test_data that do not reach relative accuracy of 1e-11

    Here we test for reduced accuracy or even nan.
    r4   N)r   isnanr   r   )r   r   r   r5   accuracys        r   #test_wright_data_grid_less_accurater:   h   sf     
x DxaA..///////aA..(CCCCCCr   )pytestnumpyr   numpy.testingr   r   scipy.specialspecialr   r   r   markparametrizer   r    r&   arraynangrid_a_b_x_value_accxfailtolistr6   r:    r   r   <module>rH      s  &      7 7 7 7 7 7 7 7       / / / / / / / / 88899888995 5 :9 :95
 88899444550 0 65 :90  8889955566@@@AA* * BA 76 :9**  rx@@@???444777999%126:HHH*@"&I000BBB222222///555%126:!   & BQB&&((* *= =* * =
 !!# #D D# #D D Dr   