Ë
    âQ(h  ã                   óÎ  — d dl mZ 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mZmZ ej                  j!                  dg d¢«      ej                  j!                  dg d¢«      d„ «       «       Zej                  j!                  dg d¢«      ej                  j!                  d	g d
¢«      d„ «       «       Zej                  j!                  dg d¢«      ej                  j!                  dg d¢«      ej                  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                  j!                  d#edd…dd$…f   j1                  «       «      d%„ «       «       Zej                  j!                  d&ej1                  «       «      d'„ «       Zej                  j!                  d( e eg d)¢d*d+gg d,¢«      «      «      d-„ «       Zej                  j!                  d&g d d d ej:                   d.f‘d d d*ej:                   d.f‘d/‘d0‘d1‘d2‘d3‘d4‘d5‘d6‘d7‘d8‘d9d:dd;ej*                  f‘d<‘d=‘d>d:dd?ej*                  f‘d@‘dA‘dB‘dC‘dD‘d!d:dEdFej*                  f‘dG‘dH‘dI‘dJ‘dK‘dL‘dM‘dN‘dO‘dP‘«      dQ„ «       Zy)Ré    )ÚproductN)Úassert_equalÚassert_allclose)Úlog_wright_besselÚloggammaÚrgammaÚwright_besselÚa)r   ç�íµ ÷Æ°>çš™™™™™¹?ç      à?é   é
   Úbc                 ó†   — t        t        | |d«      t        |«      «       t        t	        | |d«      t        |«       «       y)zTest at x = 0.ç        N)r   r	   r   r   r   r   )r
   r   s     úd/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/special/tests/test_wright_bessel.pyÚtest_wright_bessel_zeror      s5   € ô ”˜q ! RÓ(¬&°«)Ô4ÜÔ% a¨¨BÓ/´(¸1³+°Õ>ó    Úx)r   r   r   r   r   c                 óÀ   — |dk7  rY| dz
  }t        d|dz   |dz  dz  «      }t        t        j                  |dz  |«      |z  t	        j
                  ||«      dd¬«       yy)	zœTest 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#   %   se   € ð 	ˆA‚vØ�‰EˆÜ˜1˜a !™e Q¨¡T¨B¡YÓ/ˆô 	œŸ™  R¡¨Ó+¨bÑ0ÜŸ™˜a ›Ø"¨ö	0ð r   )r   gj¼t“ð?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¬«       y)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   ç:Œ0âŽyE>r   N©r   r	   ©r
   r   r   s      r   Útest_wright_functionalr*   7   sS   € ô ”M ! Q¨¡U¨AÓ.Ø˜‘EœM¨!¨Q°©U°AÓ6Ñ6Ø˜1‘u¤¨a°°AÓ 6Ñ6ñ7à Dö*r   )r   ç      Y@çð9úþB.†@gªS
[˜ê.Gg:Œ0âŽyU>)r   ç      $@r,   g¢UqZ+YýIgÁ�v¾À(x>)r   r-   ç     @�@g]a(aaHMr'   )r   r+   r.   gü	¾5U4Á'g+i¤)+p>)ç      ð?ç      4@ç     jø@g +^%³nçpé~À=r/   r+   r1   gá
ð+�e�D)çd     ð?r0   r1   gÕ'^%³nr2   r3   gÕcí+�e�D)ç      ø?r   ç     @@g€uc•&Br2   )r4   g      =r5   g¤sc•&Br2   )r4   g»½×Ùß|Û=r5   gÂB•&Br2   )r4   çñhãˆµøä>r5   g]¬ª¯Ï%Br2   )r4   r   r5   gKÓ¨wÓqBg•dyáýµ=)r4   r0   r1   g¼Ò@ åIgßA:ÜÅ)>r4   gŸmxÀ˜i%%za, b, x, phié   c                 ó6   — t        t        | ||«      |d¬«       y)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_failuresr;   b   s   € ô ”M ! Q¨Ó*¨C°eÖ<r   za, b, x, phi, accuracyc                 ó¦   — t        j                  |«      r#t        j                  t        | ||«      «      sJ ‚yt        t        | ||«      ||¬«       y)z}Test cases of test_data that do not reach relative accuracy of 1e-11

    Here we test for reduced accuracy or even nan.
    r9   N)r   Úisnanr	   r   ©r
   r   r   r:   Úaccuracys        r   Ú#test_wright_data_grid_less_accurater@   k   s@   € ô 
‡x�x�ÔÜ�x‰xœ a¨¨AÓ.Ô/Ð/Ñ/äœ a¨¨AÓ.°¸(ÖCr   za, b, x)r   r   r   r4   r$   r   r   r   )çü©ñÒMbP?r   r4   r$   r   c           
      ór   — t        t        | ||«      t        j                  t	        | ||«      «      d¬«       y)z8Test that log_wright_bessel equals log of wright_bessel.r'   r9   N)r   r   r   Úlogr	   r)   s      r   Ú,test_log_wright_bessel_same_as_wright_besselrD   y   s0   € ô Ü˜!˜Q Ó"Ü
�‰Œ}˜Q  1Ó%Ó&Øör   r   )r   r   ç®Gáz®ó?rE   r   )r   r   çšd~ÅQJrF   r   )r6   r   i¼  g€ujXV¸…@r   )r6   r   r.   gÖÐÌF4�@r   )r6   r%   r.   g(þíïŽ„@r   )rA   r   g     ˆÃ@g?»‰œ�Ã@r   )rA   r   r1   g.x"»žSø@r   )rA   r   g    €„.Ag®¬w�V.Ar   )rA   r   r1   gZ<¢·Pø@r   )rA   é2   r1   gžìÑÚ“Dø@rA   rA   r%   grÎlqw4ø@)r   r   r1   gÅ› õ8Ô¯@r   )r   r   ç    ÐcAghÒ{ÕÈjõ@r   r   gÚÝ&É,ª@)r   r%   rH   gDvuÂ�*õ@r   )r   r   r1   geî6�ŠÐƒ@r   )r   r   ç    „×—Agh†¦¼ÕˆÓ@r   )r4   r   r1   g¡}ž‘ h@r   )r4   r   rI   gP2aŽùI¨@r   rI   géSÈe¢@)r$   r   r1   gtÑ—òÌË#@r   )r$   r   rI   gPˆw8Ò@@r   )r$   r   ç   ¢”mBg/f�t/±c@r   )r$   r%   r1   gD«%rvÀr   )r$   r%   rJ   g8póK<uÀg-Cëâ6?)r$   r%   ç@Œµx¯DgáÚç†~8¤@g�íµ ÷ÆÀ>)r%   r   r1   g2Ãð¹uÀr   )r%   r   rK   g?3ïQ‘sÀr   )r%   r%   r1   çb”‡´%rvÀr   )r%   r%   rK   rL   r   c                 ó¦   — t        j                  |«      r#t        j                  t        | ||«      «      sJ ‚yt        t        | ||«      ||¬«       y)z6Test for log_wright_bessel, in particular for large x.r9   N)r   r=   r   r   r>   s        r   Útest_log_wright_besselrN   £   sC   € ôN 
‡x�x�ÔÜ�x‰xÔ)¨!¨Q°Ó2Ô3Ð3Ñ3äÔ)¨!¨Q°Ó2°C¸hÖGr   )Ú	itertoolsr   ÚpytestÚnumpyr   Únumpy.testingr   r   Úscipy.specialÚspecialr   r   r   r   r	   ÚmarkÚparametrizer   r#   r*   ÚarrayÚnanÚgrid_a_b_x_value_accÚxfailÚtolistr;   r@   ÚlistrD   ÚinfrN   © r   r   ú<module>r_      sò  ðõ& ã Û ß 7å ß LÓ Lð ‡�×Ñ˜Ò8Ó9Ø‡�×Ñ˜Ò8Ó9ñ?ó :ó :ð?ð ‡�×Ñ˜Ò8Ó9Ø‡�×Ñ˜Ò4Ó5ñ0ó 6ó :ð0ð  ‡�×Ñ˜Ò8Ó9Ø‡�×Ñ˜Ò5Ó6Ø‡�×Ñ˜Ò@ÓAñ*ó Bó 7ó :ð*ð*  �r—x‘xÚ@Ú?Ú4Ú7Ú9Øˆ%�Ð1°2·6±6Ð:ÚHØ˜ Ð*@À"Ç&Á&ÐIÚ0ÚBÚ2Ú2Ú/Ú5Øˆ%�Ð1°2·6±6Ð:ð!ó Ð ð& ‡�×ÑØ‡�×ÑØØš˜B˜Q˜B˜Ñ×&Ñ&Ó(ó*ñ=ó*ó ð=ð
 ‡�×ÑØØ×ÑÓ!ó#ñDó#ðDð ‡�×ÑØÙÙÒ)¨A¨q¨6Ò3HÓIóóñóððH ‡�×ÑØð!Ø	
ˆAˆq�2—6‘6�'˜5Ð!ð!à	
ˆAˆq�2—6‘6�'˜5Ð!ð!ð 	"ð!ð 	"ð	!ð
 	1ð!ð 	2ð!ð 	3ð!ð 	2ð!ð 	2ð!ð 	2ð!ð 	2ð!ð 	2ð!ð 
ˆs�CÐ+¨R¯V©VÐ4ð!ð 	1ð!ð 	1ð!ð  
ˆc�3Ð*¨B¯F©FÐ3ð!!ð" 	3ð#!ð$ 	/ð%!ð& 	/ð'!ð( 	1ð)!ð* 	0ð+!ð, 
ˆc�3Ð*¨B¯F©FÐ3ð-!ð. 	/ð/!ð0 	/ð1!ð2 	0ð3!ð4 	2ð5!ð6 	2ð7!ð8 	1ð9!ð: 	2ð;!ð< 	3ð=!ð> 	3ð?!ð@ 	4ðA!ó$ñJHóK$ñJHr   