§
    µ³ÙgÅ  ã                   óÆ  — d dl Z d dlZd dlmZ d dlmc mZ d dl	m
Z
 ej        d ej        ej        ¦  «        j        z  fej        d ej        ej        ¦  «        j        z  fdœZej        ddfej        dd	fej        d
d	fej        ddfej        ddfej        ddfej        ddfej        ddfej        ddfg	Ze j                             de¦  «        d„ ¦   «         Zd„ ZdS )é    N)Úassert_allclose)Útanhsinhé    )ÚfÚd)ç      à?é   é   g      ø?)r   é   é   ç      @)r   r   r   )r   r   r   r   )r   r
   r   )r   é   r   ç      Ð?)r	   r
   r   é   )r   r   r   g      �?)é
   é   g      @zfunc, args, expectedc                 ó   ‡— | j         }d„ |D ¦   «         }|D ]v}t          |         \  Š}ˆfd„|D ¦   «         }t          j        d¬¦  «        5   | |Ž }d d d ¦  «         n# 1 swxY w Y   t	          |‰¦  «        sJ ‚t          |||¬¦  «         Œwd S )Nc                 óD   — g | ]}|                      d ¦  «        d         ‘ŒS )z->éÿÿÿÿ)Úsplit)Ú.0Úsigs     ú[/granary/edev/quantum/lib/python3.11/site-packages/scipy/special/tests/test_boost_ufuncs.pyú
<listcomp>z*test_stats_boost_ufunc.<locals>.<listcomp>#   s'   € Ð;Ð;Ð;¨#�#—)’)˜D‘/”/ "Ô%Ð;Ð;Ð;ó    c                 ó&   •— g | ]} ‰|¦  «        ‘ŒS © r   )r   ÚargÚtyps     €r   r   z*test_stats_boost_ufunc.<locals>.<listcomp>&   s!   ø€ Ð)Ð)Ð)˜S���C‘”Ð)Ð)Ð)r   Úignore)Úover©Úrtol)ÚtypesÚtype_char_to_type_tolÚnpÚerrstateÚ
isinstancer   )	ÚfuncÚargsÚexpectedÚ	type_sigsÚ
type_charsÚ	type_charr#   Úvaluer   s	           @r   Útest_stats_boost_ufuncr0       s   ø€ à”
€IØ;Ð;°Ð;Ñ;Ô;€JØð 	4ð 	4ˆ	Ý)¨)Ô4‰	ˆˆTØ)Ð)Ð)Ð) DÐ)Ñ)Ô)ˆõ Œ[˜hÐ'Ñ'Ô'ð 	 ð 	 Ø�D˜$�KˆEð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 å˜% Ñ%Ô%Ð%Ð%Ð%Ý˜˜x¨dÐ3Ñ3Ô3Ð3Ð3ð	4ð 	4s   ÁAÁA"	Á%A"	c                  óš  ‡— t          j        ddd¦  «        } dŠt          ˆfd„t           j         | ¦  «        }t	          j        | g‰¢R Ž }t          |j        |¦  «         t	          j        | g‰¢R Ž }t          |d|z
  ¦  «         t	          j	        |g‰¢R Ž }t          || ¦  «         t	          j
        |g‰¢R Ž }t          || d¬¦  «         d S )Néýÿÿÿr   )r   r   c                 ó(   •— t          j        | g‰¢R Ž S )N)ÚscuÚ_landau_pdf)Úxr*   s    €r   ú<lambda>ztest_landau.<locals>.<lambda>5   s   ø€ �Sœ_¨QÐ6°Ð6Ð6Ð6€ r   r   g�íµ ÷Æ°>r"   )r&   Úlinspacer   Úinfr4   Ú_landau_cdfr   ÚintegralÚ
_landau_sfÚ_landau_ppfÚ_landau_isf)r6   ÚresÚcdfÚsfÚppfÚisfr*   s         @r   Útest_landaurD   0   sé   ø€ õ 	Œ�B˜˜BÑÔ€AØ€DÝ
Ð6Ð6Ð6Ð6½¼¸ÀÑ
CÔ
C€CÝ
Œ/˜!Ð
#˜dÐ
#Ð
#Ð
#€CÝ�C”L #Ñ&Ô&Ð&Ý	Œ˜Ð	!˜DÐ	!Ð	!Ð	!€BÝ�B˜˜#™ÑÔÐÝ
Œ/˜#Ð
% Ð
%Ð
%Ð
%€CÝ�C˜ÑÔÐÝ
Œ/˜"Ð
$˜tÐ
$Ð
$Ð
$€CÝ�C˜ Ð&Ñ&Ô&Ð&Ð&Ð&r   )ÚpytestÚnumpyr&   Únumpy.testingr   Úscipy.special._ufuncsÚspecialÚ_ufuncsr4   Úscipy.integrater   Úfloat32ÚfinfoÚepsÚfloat64r%   Ú	_beta_pdfÚ	_beta_ppfÚ
_binom_cdfÚ
_binom_pmfÚ_hypergeom_cdfÚ_nbinom_cdfÚ	_ncf_meanÚ	test_dataÚmarkÚparametrizer0   rD   r   r   r   ú<module>rZ      sh  ðØ €€€Ø Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø $Ð $Ð $Ð $Ð $Ð $ð  "œz¨2¨h¨b¬h°r´zÑ.BÔ.BÔ.FÑ+FÐGØ!œz¨2¨h¨b¬h°r´zÑ.BÔ.BÔ.FÑ+FÐGðIð IÐ ð 	„]�K Ð%Ø„]�I˜sÐ#Ø„]�I˜sÐ#Ø„]�M 3Ð'Ø„^�[ #Ð&Ø„^�[ $Ð'ØÔ˜ sÐ+Ø„_�l HÐ-Ø„]�M 3Ð'ð
€	ð „×ÒÐ/°Ñ;Ô;ð4ð 4ñ <Ô;ð4ð'ð 'ð 'ð 'ð 'r   