Ë
    âQ(hä[  ã                   óš  — d Z ddlZddlZddlmZmZ ddlZddlm	Z
 ddlmZmZmZ ddlmZmZmZmZmZ 	 ddlZ G d„ d«      Z G d	„ d
«      Z G d„ d«      Zd„ Zd„ Zd„ Zd/d„Zd„ Zd/d„Zd„ Z ejB                  jD                   eed«       G d„ d«      «       «       Z#g d¢Z$ejB                  jK                  de$e$D � cg c]  } | d   ‘Œ	 c} ¬«      d„ «       Z&d„ Z'd„ Z(d„ Z)d„ Z*ejB                  jK                  dg d ¢g d!¢g d"¢g d#¢g d$¢g d%¢g d&¢g d'¢g d(¢g d)¢g d*¢g d+¢g«      d,„ «       Z+ G d-„ d.«      Z,y# e$ r  ed«      ZY �Œ
w xY wc c} w )0zÑ
Test cdflib functions versus mpmath, if available.

The following functions still need tests:

- ncfdtri
- ncfdtridfn
- ncfdtridfd
- ncfdtrinc
- nbdtrik
- nbdtrin
- pdtrik
- nctdtrit
- nctdtridf
- nctdtrinc

é    N)Úassert_equalÚassert_allclose)ÚMissingModuleÚcheck_versionÚFuncData)ÚArgÚIntArgÚget_argsÚ	mpf2floatÚassert_mpmath_equalÚmpmathc                   ó   — e Zd ZdZd„ Zd„ Zy)ÚProbArgz*Generate a set of probabilities on [0, 1].c                 ó    — d| _         d| _        y )Nr   é   )ÚaÚb©Úselfs    ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/special/tests/test_cdflib.pyÚ__init__zProbArg.__init__'   s   € àˆŒØˆ�ó    c                 ób  — t        d|dz  «      }t        j                  dt        j                  d«      |«      }t        j                  dd|dz   d¬«      dd }dt        j                  t        j                  d«      d	|«      z
  }t        j
                  |||f   }t        j                  |«      S )
z3Return an array containing approximately n numbers.r   é   iâÿÿÿç333333Ó?gffffffæ?F)ÚendpointNiñÿÿÿ)ÚmaxÚnpÚlogspaceÚlog10ÚlinspaceÚr_Úunique)r   ÚnÚmÚv1Úv2Úv3Úvs          r   ÚvalueszProbArg.values,   s‹   € ä��1�a‘4‹LˆÜ�[‰[˜œbŸh™h s›m¨QÓ/ˆÜ�[‰[˜˜c 1 q¡5°5Ô9¸!¸"Ð=ˆØ”—‘œRŸX™X c›]¨C°Ó3Ñ3ˆÜ�E‰E�"�b˜"�*ÑˆÜ�y‰y˜‹|Ðr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r*   © r   r   r   r   $   s   „ Ù4òó
r   r   c                   ó   — e Zd Zd„ Zd„ Zy)ÚEndpointFilterc                 ó<   — || _         || _        || _        || _        y ©N)r   r   ÚrtolÚatol)r   r   r   r4   r5   s        r   r   zEndpointFilter.__init__7   s   € ØˆŒØˆŒØˆŒ	Øˆ�	r   c                 ó¦  — t        j                  || j                  z
  «      | j                  t        j                  | j                  «      z  | j                  z   k  }t        j                  || j
                  z
  «      | j                  t        j                  | j
                  «      z  | j                  z   k  }t        j                  ||z  dd«      S )NFT)r   Úabsr   r4   r5   r   Úwhere)r   ÚxÚmask1Úmask2s       r   Ú__call__zEndpointFilter.__call__=   s‹   € Ü—‘�q˜4Ÿ6™6‘zÓ" T§Y¡Y¬r¯v©v°d·f±f«~Ñ%=ÀÇ	Á	Ñ%IÑIˆÜ—‘�q˜4Ÿ6™6‘zÓ" T§Y¡Y¬r¯v©v°d·f±f«~Ñ%=ÀÇ	Á	Ñ%IÑIˆÜ�x‰x˜ ™ u¨dÓ3Ð3r   N)r+   r,   r-   r   r<   r/   r   r   r1   r1   6   s   „ òó4r   r1   c                   ó,   — e Zd Z	 	 	 dd„Zd„ Zd„ Zd„ Zy)Ú_CDFDataNc                 ó¾  — || _         || _        || _        || _        || _        || _        || _        || _        |	| _        t        |t        «      sd | _        d | _        y |
€|�mt        |
t        «      r|
| _        n|
gt        | j                  «      z  | _        t        |t        «      r|| _        y |gt        | j                  «      z  | _        y d | _        d | _        y r3   )ÚspfuncÚmpfuncÚindexÚargspecÚspfunc_firstÚdpsr$   r4   r5   Ú
isinstanceÚlistÚ
endpt_rtolÚ
endpt_atolÚlen)r   r@   rA   rB   rC   rD   rE   r$   r4   r5   rH   rI   s               r   r   z_CDFData.__init__D   sÅ   € ð ˆŒØˆŒØˆŒ
ØˆŒØ(ˆÔØˆŒØˆŒØˆŒ	ØˆŒ	ä˜'¤4Ô(Ø"ˆDŒOØ"ˆD�OØÐ# zÐ'=Ü˜*¤dÔ+Ø",�•à#- ,¬s°4·<±<Ó/@Ñ"@�”Ü˜*¤dÔ+Ø",�•à#- ,¬s°4·<±<Ó/@Ñ"@�•à"ˆDŒOØ"ˆD�Or   c                 ó–  — | j                   r¥ | j                  |Ž }t        j                  |«      rt        j                  S t        |«      }||| j                  <   t        j                  | j                  «      5   | j                  t        |«      Ž }t        |j                  «      }d d d «       |S t        j                  | j                  «      5   | j                  |Ž }t        |j                  «      }d d d «       t        |«      }|| j                  <    | j                  t        |«      Ž }|S # 1 sw Y   |S xY w# 1 sw Y   ŒJxY wr3   )rD   r@   r   ÚisnanÚnanrG   rB   r   ÚworkdpsrE   rA   Útupler   Úreal)r   ÚargsÚress      r   Úidmapz_CDFData.idmapa   s  € Ø×ÒØ�$—+‘+˜tÐ$ˆCÜ�x‰x˜Œ}Ü—v‘v�Ü˜“:ˆDØ"ˆD�—‘ÑÜ—‘ §¡Ó)ñ *Ø!�d—k‘k¤5¨£;Ð/�ä §¡Ó)�÷*ð ˆ
ô —‘ §¡Ó)ñ *Ø!�d—k‘k 4Ð(�Ü §¡Ó)�÷*ô ˜“:ˆDØ"ˆD�—‘ÑØ�$—+‘+œu T›{Ð+ˆCØˆ
÷*ð ˆ
ú÷*ð *ús   Á:.D2Ã%D?Ä2D<Ä?Ec           	      óD  — | j                   €| j                  €y g }t        | j                   | j                  | j                  «      D ]V  \  }}}|€|€|j	                  d «       Œ|€d}n|€d}|j	                  t        |j                  |j                  ||«      «       ŒX |S )Nç        )rH   rI   ÚziprC   Úappendr1   r   r   )r   Úfiltersr4   r5   Úspecs        r   Úget_param_filterz_CDFData.get_param_filteru   sœ   € Ø�?‰?Ð" t§¡Ð'>ØàˆÜ # D§O¡O°T·_±_ÀdÇlÁlÓ Sò 		GÑˆD�$˜Øˆ|  Ø—‘˜tÔ$ØØ�Ø‘Ø�Ø�à�N‰Nœ>¨$¯&©&°$·&±&¸$ÀÓEÕFð		Gð ˆr   c           
      óÌ  — t        | j                  | j                  «      }| j                  «       }t	        t        |j                  d   «      «      }|j                  d   }t        j                  ||d d …| j                  f   j                  |j                  d   d«      f«      }t        | j                  |||| j                  | j                  d|¬«      j                  «        y )Nr   r   F)Úparam_columnsÚresult_columnsr4   r5   Ú
vectorizedÚparam_filter)r
   rC   r$   rZ   rO   ÚrangeÚshaper   ÚhstackrB   Úreshaper   rS   r4   r5   Úcheck)r   rQ   r_   r\   r]   s        r   rd   z_CDFData.check†   s­   € ä˜Ÿ™ d§f¡fÓ-ˆØ×,Ñ,Ó.ˆÜœe D§J¡J¨q¡MÓ2Ó3ˆØŸ™ A™ˆÜ�y‰y˜$ ¢Q¨¯
©
 ]Ñ 3× ;Ñ ;¸D¿J¹JÀq¹MÈ1Ó MÐNÓOˆÜ�—‘˜TØ,¸^Ø—i‘i d§i¡i¸EØ*ô	,÷ -2©E­Gr   )Té   iˆ  NNNN)r+   r,   r-   r   rS   rZ   rd   r/   r   r   r>   r>   C   s   „ ØDHØ15Ø-1ó#ò:ò(ó"
4r   r>   c                  ó:   — t        | i |¤Ž}|j                  «        y r3   )r>   rd   )r   ÚkwÚds      r   Ú_assert_invertsri   “   s   € Ü�!Ð�rÑ€AØ‡G�G…Ir   c                 óV  — t        j                  | «      t        j                  |«      t        j                  |«      }}} | dk  rt        j                  d«      S | |k\  rt        j                  d«      S t        j                  d|d¬«      }t        j                  || z
  | dz   |d¬«      S )Nr   r   T)Úexact©Úx2Úregularized)r   ÚmpfÚfsubÚbetainc)Úkr$   ÚpÚonemps       r   Ú_binomial_cdfru   ˜   s€   € Ü�j‰j˜‹mœVŸZ™Z¨›]¬F¯J©J°q«Mˆ!€q€AØˆA‚vÜ�z‰z˜!‹}ÐØ	
ˆaŠÜ�z‰z˜!‹}Ðä�K‰K˜˜1 DÔ)€EÜ�>‰>˜!˜a™%  Q¡¨5¸dÔCÐCr   c                 ó  — |dk  rt        j                  d«      S t        j                  | «      t        j                  |«      t        j                  |«      }}} | |z  | |z  |z   z  }t        j                  | dz  |dz  |d¬«      }|S )Nr   é   Trl   )r   ro   rq   )ÚdfnÚdfdr9   ÚubrR   s        r   Ú_f_cdfr{   £   ss   € Øˆ1‚uÜ�z‰z˜!‹}ÐÜ—*‘*˜S“/¤6§:¡:¨c£?´F·J±J¸q³Mˆaˆ€CØ	ˆQ‰��A‘˜‘Ñ	€BÜ
�.‰.˜˜Q™  A¡¨"¸$Ô
?€CØ€Jr   c                 óþ  — |€t         j                  j                  }t        j                  |«      5  t        j                  | «      t        j                  |«      }} t        j
                  dd| dz   z  d|dz   | z  «      }||t        j                  d| dz   z  «      z  z  }|t        j                  t         j                  | z  «      t        j                  d| z  «      z  z  }d|z   cd d d «       S # 1 sw Y   y xY w)Nç      à?r   ç      ø?rw   )	r   ÚmprE   rN   ro   Úhyp2f1ÚgammaÚsqrtÚpi)ÚdfÚtrE   Úfacs       r   Ú_student_t_cdfr‡   ¬   sÈ   € Ø
€{Ü�i‰i�m‰mˆÜ	�‰˜Ó	ñ Ü—
‘
˜2“¤§
¡
¨1£ˆAˆÜ�m‰m˜C  b¨1¡f¡¨s°Q¸±T°E¸"±HÓ=ˆØˆq”—‘˜c 2¨¡6™lÓ+Ñ+Ñ+ˆØŒv�{‰{œ6Ÿ9™9 R™<Ó(¬¯©°c¸"±fÓ)=Ñ=Ñ=ˆØ�S‰y÷÷ ò ús   ²B7C3Ã3C<c                 óÌ   — t        j                  |dz  dz
  t        j                  || z  «      «      }|t        j                  | |z    dz  «      | |z  |dz  dz
  z  z  dz  z  }|S )Nrw   r   é   r}   )r   Úbesselir‚   Úexp)r…   r„   ÚncrR   s       r   Ú_noncentral_chi_pdfr�   ·   sd   € Ü
�.‰.˜˜A™ ™¤6§;¡;¨r°!©tÓ#4Ó
5€CØŒ6�:‰:˜˜B™�i ‘kÓ" A b¡D¨B¨q©D°3©JÑ#7Ñ7¸Ñ9Ñ9€CØ€Jr   c                 óP  ‡‡— |€t         j                  j                  }t        j                  | «      t        j                  ‰«      t        j                  ‰«      c} ŠŠt        j                  |«      5  t        j
                  ˆˆfd„d| g«      }|cd d d «       S # 1 sw Y   y xY w)Nc                 ó   •— t        | ‰‰«      S r3   )r�   )r…   r„   rŒ   s    €€r   ú<lambda>z%_noncentral_chi_cdf.<locals>.<lambda>Â   s   ø€ Ô$7¸¸2¸rÓ$B€ r   r   )r   r   rE   ro   rN   Úquad)r9   r„   rŒ   rE   rR   s    ``  r   Ú_noncentral_chi_cdfr’   ½   su   ù€ Ø
€{Ü�i‰i�m‰mˆÜ—
‘
˜1“œvŸz™z¨"›~¬v¯z©z¸"«~€I€A€rˆ2Ü	�‰˜Ó	ñ Ü�k‰kÔBÀQÈÀFÓKˆØ÷÷ ò ús   Á4BÂB%c                 ó$   — | |z  d| z
  |z  z
  |z  S )Nr   r/   )rs   Úlmbdas     r   Ú_tukey_lmbda_quantiler•   Æ   s   € àˆu‰H˜˜A™ ‘~Ñ% uÑ,Ð,r   z0.19c                   ó@  — e Zd Zej                  j                  d¬«      d„ «       Zd„ Zd„ Zd„ Z	ej                  j                  d¬«      d„ «       Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zej                  j                  d¬«      d„ «       Zd„ Zd„ Zej                  j                  d¬«      d„ «       Zej                  j                  d¬«      d„ «       Zd„ Zd„ Zd„ Zej                  j                  d¬«      d„ «       Zej                  j5                  dg d¢«      d„ «       Zy)Ú
TestCDFlibF)Úrunc           
      ó‚   — t        t        j                  t        dt	        «       t        dd«      t	        «       gd¬«       y )Nr   r   éè  ç-Cëâ6?©r4   )ri   ÚspÚbdtrikru   r   r	   r   s    r   Útest_bdtrikzTestCDFlib.test_bdtrikÏ   s-   € äÜ�I‰IÜØ”“	œ6 ! T›?¬G«IÐ6Øö		r   c           	      óˆ   — t        t        j                  t        dt	        dd«      t        «       t        «       gdg d¢¬«       y )Nr   rš   r›   )NNç�íµ ÷Æ°>©r4   rI   )ri   r�   Úbdtrinru   r	   r   r   s    r   Útest_bdtrinzTestCDFlib.test_bdtrin×   s0   € ÜÜ�I‰IÜØ”�q˜$“¤£¬G«IÐ6ØÒ"4ö		6r   c                 óŠ   — t        t        j                  d„ dt        «       t	        ddd¬«      t	        dddd¬«      gd¬	«       y )
Nc                 ó4   — t        j                  | ||d¬«      S ©NTrl   ©r   rq   ©r   r   r9   s      r   r�   z)TestCDFlib.test_btdtria.<locals>.<lambda>á   ó   € œFŸN™N¨1¨a°AÀ4ÔH€ r   r   ç      Y@F©Úinclusive_ar   ©r­   Úinclusive_br¡   rœ   )ri   r�   Úbtdtriar   r   r   s    r   Útest_btdtriazTestCDFlib.test_btdtriaÞ   s=   € ÜÜ�J‰JÙHØ”“	œ3˜q #°5Ô9Ü�A�q e¸Ô?ðAàö	r   c                 ó�   — t        t        j                  d„ dt        ddd¬«      t	        «       t        dddd¬«      gdg d	¢¬
«       y )Nc                 ó4   — t        j                  | ||d¬«      S r§   r¨   r©   s      r   r�   z)TestCDFlib.test_btdtrib.<locals>.<lambda>ê   rª   r   r   r   r«   Fr¬   r®   çH¯¼šò×z>)Ng¬CÒÑ]r2<çVçž¯Ò<r¢   )ri   r�   Úbtdtribr   r   r   s    r   Útest_btdtribzTestCDFlib.test_btdtribæ   s@   € äÜ�J‰JÙHØÜ��C UÔ+¬W«YÜ��A 5°eÔ<ð>àÚ+ö	-r   c                 óŠ   — t        t        j                  t        dt	        dd«      t        «       t        ddd¬«      gd¬«       y )Nr   éd   r   Fr¬   r´   rœ   )ri   r�   Úfdtridfdr{   r	   r   r   r   s    r   Útest_fdtridfdzTestCDFlib.test_fdtridfdñ   s5   € äÜ�K‰KÜØÜ�A�s‹^œW›Y¬¨A¨sÀÔ(FÐGØö	r   c                 óŽ   — t        t        j                  d„ dt        «       t	        ddd¬«      t	        ddd¬«      gdg d¢¬	«       y )
Nc                 ó8   — t        j                  || |z  d¬«      S ©NT©r   rn   ©r   Úgammaincr©   s      r   r�   z(TestCDFlib.test_gdtria.<locals>.<lambda>ý   ó   € œFŸO™O¨A°°1±À$ÔG€ r   r   ç     @�@Fr¬   g     ˆÃ@r´   ©Nr´   ç»½×Ùß|Û=r¢   )ri   r�   Úgdtriar   r   r   s    r   Útest_gdtriazTestCDFlib.test_gdtriaú   s>   € ÜÜ�I‰IÙGØÜ‹Yœ˜A˜s°Ô6Ü��C UÔ+ð-àÚ*ö	,r   c                 óˆ   — t        t        j                  d„ dt        ddd¬«      t	        «       t        ddd¬«      gd¬	«       y )
Nc                 ó8   — t        j                  || |z  d¬«      S r¾   rÀ   r©   s      r   r�   z(TestCDFlib.test_gdtrib.<locals>.<lambda>  rÂ   r   r   r   r«   Fr¬   rÃ   çñhãˆµøä>rœ   )ri   r�   Úgdtribr   r   r   s    r   Útest_gdtribzTestCDFlib.test_gdtrib  s;   € äÜ�I‰IÙGØÜ��C UÔ+¬W«YÜ��C UÔ+ð-àö	r   c                 óŽ   — t        t        j                  d„ dt        ddd¬«      t        ddd¬«      t	        «       gdg d¢¬	«       y )
Nc                 ó8   — t        j                  || |z  d¬«      S r¾   rÀ   r©   s      r   r�   z(TestCDFlib.test_gdtrix.<locals>.<lambda>  rÂ   r   rw   r   rÃ   Fr¬   r´   rÄ   r¢   )ri   r�   Úgdtrixr   r   r   s    r   Útest_gdtrixzTestCDFlib.test_gdtrix  s>   € ÜÜ�I‰IÙGØÜ��C UÔ+¬S°°CÀUÔ-KÜ‹YðàÚ*ö	,r   c                 ó¢   — t        t        j                  d„ dt        «       t	        dt
        j                  dd¬«      t	        dd«      gd¬	«       y )
Nc                 ó0   — t        j                  || |«      S r3   ©r   Úncdf©r9   ÚyÚzs      r   r�   z*TestCDFlib.test_nrdtrimn.<locals>.<lambda>!  ó   € œFŸK™K¨¨1¨aÓ0€ r   r   çš™™™™™¹?Fr®   g    _ Âg    _ BrÊ   rœ   )ri   r�   Únrdtrimnr   r   r   Úinfr   s    r   Útest_nrdtrimnzTestCDFlib.test_nrdtrimn  sB   € ÜÜ�K‰KÙ0ØÜ‹YÜ�”b—f‘f¨%¸UÔCÜ�˜Óðð ö	r   c                 ó¤   — t        t        j                  d„ dt        t        j
                   ddd¬«      t        «       t        dd«      gd¬«       y )	Nc                 ó0   — t        j                  || |«      S r3   rÓ   rÕ   s      r   r�   z*TestCDFlib.test_nrdtrisd.<locals>.<lambda>+  rØ   r   r   é
   Fr®   g}Ã”%­I²TrÊ   rœ   )ri   r�   Únrdtrisdr   r   rÛ   r   r   s    r   Útest_nrdtrisdzTestCDFlib.test_nrdtrisd(  sC   € ÜÜ�K‰KÙ0ØÜ”"—&‘&�˜"¨%¸UÔCÜ‹YÜ��U‹^ðð ö	r   c           	      óŽ   — t        t        j                  t        t	        dd«      t        dt        j                  «      gd¬«       y )Nr   r¹   rÅ   r´   rœ   )r   r�   Ústdtrr‡   r	   r   r   rÛ   r   s    r   Ú
test_stdtrzTestCDFlib.test_stdtr2  s/   € äÜ�H‰HÜÜ�A�s‹^œS ¬¯©Ó/Ð0°tö	=r   c                 ól   — t        t        j                  t        dt	        «       t        «       gd¬«       y )Nr   r´   rœ   )ri   r�   Ústdtridfr‡   r   r   r   s    r   Útest_stdtridfzTestCDFlib.test_stdtridf9  s$   € äÜ�K‰KÜØ”“	œ3›5Ð!¨ö	.r   c           	      óv   — t        t        j                  t        dt	        dd«      t        «       gdd dg¬«       y )Nr   r¹   r´   rÅ   r¢   )ri   r�   Ústdtritr‡   r	   r   r   s    r   Útest_stdtritzTestCDFlib.test_stdtrit@  s/   € ÜÜ�J‰JÜØ”�q˜#“¤£	Ð*°Ø˜e�}ö		&r   c           
      ój   — t        t        j                  d„ dt        «       t	        dd«      gd¬«       y )Nc                 ó>   — t        j                  | dz  |dz  d¬«      S )Nrw   Tr¿   rÀ   )r)   r9   s     r   r�   z)TestCDFlib.test_chdtriv.<locals>.<lambda>J  s   € œŸ™¨¨1©°°!±ÀÔF€ r   r   r   r¹   r›   rœ   )ri   r�   Úchdtrivr   r	   r   s    r   Útest_chdtrivzTestCDFlib.test_chdtrivG  s(   € ÜÜ�J‰JÙFØ”“	œ6 ! S›>Ð*°ö	7r   c                 ó’   — t        t        j                  t        dt	        ddd¬«      t        «       t	        ddd¬«      gddd¬	«       y )
Nr   r   r¹   Fr¬   rš   r›   rµ   ©r$   r4   r5   )ri   r�   Ú	chndtridfr’   r   r   r   s    r   Útest_chndtridfzTestCDFlib.test_chndtridfM  s@   € ô 	Ü�L‰LÜØ”�A�s¨Ô.´³	Ü�A�s¨Ô.ð0à˜ Eö	+r   c           
      óŽ   — t        t        j                  t        dt	        ddd¬«      t        dd«      t        «       gddd	¬
«       y )Nrw   r   r¹   Fr¬   r   rš   r›   rµ   rð   )ri   r�   Ú	chndtrincr’   r   r	   r   r   s    r   Útest_chndtrinczTestCDFlib.test_chndtrincW  s:   € ô 	Ü�L‰LÜØ”�A�s¨Ô.´°q¸#³ÄÃ	ÐJØ˜ Eö		+r   c                 ó”   — t        t        j                  t        dt	        «       t        dd«      t        ddd¬«      gdddg d	¢¬
«       y )Nr   r   r¹   Fr¬   rš   r›   rµ   )r¡   NN)r$   r4   r5   rI   )ri   r�   Úchndtrixr’   r   r	   r   r   s    r   Útest_chndtrixzTestCDFlib.test_chndtrix`  s;   € äÜ�K‰KÜØ”“	œ6 ! S›>¬3¨q°#À5Ô+IÐJØ˜ EÚ)ö	+r   c                 óh   ‡— t        j                  d«      Št        d„ ˆfd„t        «       gd¬«       y )Nr   c                 ó.   — t        j                  | d«      S )Nr   )r�   Útklmbda©r9   s    r   r�   z4TestCDFlib.test_tklmbda_zero_shape.<locals>.<lambda>m  s   € ”b—j‘j  AÓ&€ r   c                 ó<   •— ‰t        j                  |  «      ‰z   z  S r3   )r   r‹   )r9   Úones    €r   r�   z4TestCDFlib.test_tklmbda_zero_shape.<locals>.<lambda>n  s   ø€ �cœ6Ÿ:™: q b›>¨CÑ/Ñ0€ r   r´   rœ   )r   ro   r   r   )r   rþ   s    @r   Útest_tklmbda_zero_shapez"TestCDFlib.test_tklmbda_zero_shapei  s'   ø€ ä�j‰j˜‹mˆÜÙ&Û0Ü‹UˆG˜$ö	 r   c                 ó|   — t        t        j                  t        dt	        «       t        ddd¬«      gddddg¬«       y )Nr   içÿÿÿF)r¯   rÊ   g•Ö&è.>)rD   r4   rI   ©ri   r�   rû   r•   r   r   r   s    r   Útest_tklmbda_neg_shapez!TestCDFlib.test_tklmbda_neg_shapeq  s5   € ÜÜ�J‰JÜ!Ø”“	œ3˜s A°5Ô9Ð:Ø TØ˜d�|ö	%r   c                 óv   — t        t        j                  t        dt	        «       t        ddd¬«      gdd¬«       y )Nr   r¹   Fr¬   rÊ   )rD   r4   r  r   s    r   Útest_tklmbda_pos_shapez!TestCDFlib.test_tklmbda_pos_shapey  s.   € äÜ�J‰JÜ!Ø”“	œ3˜q #°5Ô9Ð:Ø Tö		+r   r”   )r}   ç      ð?g       @c                 óX   — d|z  }t        t        j                  | |g|«      ddg«       y )Nr   rU   r  )r   r�   rû   )r   r”   Úbounds      r   Útest_tklmbda_lmbda1zTestCDFlib.test_tklmbda_lmbda1‚  s*   € à�%‘ˆÜ”R—Z‘Z % ¨ °Ó7¸#¸s¸ÕDr   N)r+   r,   r-   ÚpytestÚmarkÚxfailrŸ   r¤   r±   r·   r»   rÇ   rÌ   rÐ   rÜ   rá   rä   rç   rê   rî   rò   rõ   rø   rÿ   r  r  Úparametrizer  r/   r   r   r—   r—   Ë   sS  „ ð ‡[�[×Ñ˜5ÐÓ!ñó "ðò6òò	-ð ‡[�[×Ñ˜5ÐÓ!ñó "ðò,òò,ò òò=ð ‡[�[×Ñ˜5ÐÓ!ñ.ó "ð.ò&ò7ð ‡[�[×Ñ˜5ÐÓ!ñ+ó "ð+ð ‡[�[×Ñ˜5ÐÓ!ñ+ó "ð+ò+ò ò%ð ‡[�[×Ñ˜5ÐÓ!ñ+ó "ð+ð ‡[�[×Ñ˜W¢oÓ6ñEó 7ñEr   r—   ))r°   r   )r¶   r   )rž   r   )r£   r   )rí   rw   )Úchndtrr   )r÷   r   )rñ   r   )rô   r   )rº   r   )Úncfdtrr‰   )Úncfdtrir‰   )Ú
ncfdtridfnr‰   )Ú
ncfdtridfdr‰   )Ú	ncfdtrincr‰   )rÏ   r   )rË   r   )rÆ   r   )Únbdtrikr   )Únbdtrinr   )rÚ   r   )rà   r   )Úpdtrikrw   )rã   rw   )ré   rw   )ræ   rw   )Únctdtrr   )Únctdtritr   )Ú	nctdtridfr   )Ú	nctdtrincr   )rû   rw   zfunc,numargs)Úidsc                 óª  — t         j                  j                  d«      }t        t        | «      } |j                  |«      D �cg c]<  }t        |«      t         j                  t         j                  t         j                   f‘Œ> }}t        j                  |Ž D ]4  } | |Ž }t        d„ |D «       «      rt        |t         j                  «       Œ5Œ6 y c c}w )Nl   7'}?J-0 c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wr3   )r   rL   )Ú.0r9   s     r   ú	<genexpr>z!test_nonfinite.<locals>.<genexpr>µ  s   è ø€ Ò)˜qŒr�x‰x˜�{Ñ)ùs   ‚!)r   ÚrandomÚdefault_rngÚgetattrr�   ÚfloatrM   rÛ   Ú	itertoolsÚproductÚanyr   )ÚfuncÚnumargsÚrngr9   Úargs_choicesrQ   rR   s          r   Útest_nonfiniter*  «  s¦   € ô �)‰)×
Ñ
Ð 0Ó
1€CÜ”2�tÓ€DØADÇÁÈGÓATÖU¸A”U˜1“XœrŸv™v¤r§v¡v´·±¨wÒ7ÐU€LÐUä×!Ñ! <Ð0ò 	ˆÙ�DˆkˆäÑ) DÔ)Ô)ä˜œbŸf™fÕ%ð ñ	ùò Vs   ÁACc                  ó~   — t        j                  ddt        j                  d«      dz   «      } g d¢}t	        | |«       y )Ngé!çýÿï?rw   ç      4@r¡   )gyY�‹¡;@gŽ¾î A@g‹Ê¾ªüC@g‡�-â®ðE@g�×-o­G@gN—„•CEI@gŸ0¹_{ÃJ@gY¨×ÉÜ-L@gjŸ­ðrˆM@gZÇ§9ÖN@g-¤]˜fP@gmj€#©P@gÓgè±ÃAQ@glÖ@€ÝÖQ@gÕn¦dÎhR@g$®Ü‚ê÷R@g@ÏFTx„S@gìÄ“³T@g†]±gÏ–T@gc$øU@)r�   r÷   r   Úaranger   )rR   Úres_exps     r   Útest_chndtrix_gh2158r/  ¾  s4   € ä
�+‰+�h ¤2§9¡9¨S£>°$Ñ#6Ó
7€Cò5€Gô �C˜Õ!r   c                  óp   — g d¢} g d¢}g d¢}g d¢}t        j                  | ||«      }t        ||dd¬«       y )N)
çü©ñÒMbP?ç\�Âõ(\ï?çš™™™™™#@éb   éÔ  i'  r4  r3  r2  r1  )
r1  rÙ   r   çš™™™™™é?ç+‡ÙÎ÷ï?r1  rÙ   r   r6  r7  )
çú~j¼t“X?ç333333Ã?r~   é   é,  r8  r9  r~   r:  r;  )
ç�K ·Ë¸@gtúIŽö?çx9ô" @g.$Bt+@gÜO, oq@r<  gZcÖ^æö?r=  g„… ¬²³@gÂ¥j²Àg•dyáý•=rU   ©r4   r5   )r�   r  r   )ÚdfarrÚparrÚtarrÚdesiredÚactuals        r   Útest_nctdtrinc_gh19896rD  Ð  s=   € ò E€EÚE€DÚC€Dò#€Gô �\‰\˜%  tÓ,€FÜ�F˜G¨%°cÖ:r   c                  ó€  — t        j                  t        j                  t        j                  t         j
                   t         j
                   dddt         j
                  g«      «      «      sJ ‚t        j                  t        j                  t        j                  t         j
                   g d¢«      «      «      sJ ‚y )Nç      ð¿rU   r  )rU   g      Ð?r}   g      è?r  )r   ÚallrL   r�   rã   rÛ   ré   r/   r   r   Útest_stdtr_stdtrit_neg_infrH  Þ  sp   € ä�6‰6”"—(‘(œ2Ÿ8™8¤R§V¡V G¬r¯v©v¨g°t¸SÀ#ÄrÇvÁvÐ-NÓOÓPÔQÐQÐQÜ�6‰6”"—(‘(œ2Ÿ:™:¤r§v¡v gÒ/JÓKÓLÔMÐMÑMr   c                  ór  — t        j                  t         j                  t         j                   ddddddddt         j                  g«      } | d d …d f   } t        j                  t         j                  t         j                   ddddddt         j                  g	«      }t        j
                  t        j                  t        j                  | t         j                  |«      «      «      sJ ‚t        j
                  t        j                  t        j                  | t         j                  |«      «      «      sJ ‚y )	Ng      $ÀrF  rU   rÊ   r}   g§èH.ÿï?r  ç      $@)
r   ÚarrayrM   rÛ   Ú
atleast_2drG  rL   r�   rž   r  )rÖ   rs   s     r   Útest_bdtrik_nbdtrik_infrM  ä  sÑ   € Ü
�‰Ü	�‰”—‘�˜˜t S¨&°"°f¸cÀ4ÌÏÉÐPó	R€Aà	Š!ˆDˆ&‰	€AÜ
�‰Ü	�‰”"—&‘&�˜%  s¨F°B¸¼R¿V¹VÐDó	F€Aä�6‰6”"—(‘(œ2Ÿ9™9 Q¬¯©°Ó2Ó3Ô4Ð4Ð4Ü�6‰6”"—(‘(œ2Ÿ:™: a¬¯©°Ó3Ó4Ô5Ð5Ñ5r   zdfn,dfd,nc,f,expected)r«   rÙ   rÙ   r«   gÉ,‰õ]Ó?)r«   r«   ç{®Gáz„?rÙ   gŸÔsC´r«:)r«   rN  rÙ   rN  gn¼ähûUg?)rJ  rN  r  rÙ   g³%g{E‰?)r«   r«   rN  rN  gû 	�À
1)r  r«   r«   rÙ   gÚž^)Ãk;)r  rN  r«   rJ  gl€öñB‰?)r  rN  rJ  rN  g)Dt^\Ã,?)rJ  r  rÙ   r«   gµ�žå|€í?)rÙ   rÙ   r  r  g�º²•’Ô?)r«   r«   rÙ   rJ  r  )r  rÙ   r«   rJ  g„*}€ö�?c                 óN   — t        t        j                  | |||«      |dd¬«       y )Nç‚vIhÂ%<=r   r>  )r   r�   r  )rx   ry   rŒ   ÚfÚexpecteds        r   Útest_ncfdtrrS  î  s"   € ôt ”B—I‘I˜c 3¨¨AÓ.°¸uÈ1ÖMr   c                   óR  — e Zd Zej                  j                  dg d‘d‘d‘d‘d‘d‘d‘d	‘d
‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d ‘d!‘d"‘d#‘d$‘d%‘d&‘d'‘d(‘d)‘d*‘d+‘d,‘d-‘d.‘d/‘d0‘d1‘d2‘d3‘d4‘d5‘d6‘d7‘d8‘d9‘d:‘d;‘d<‘d=‘d>‘d?‘ ej                  d@dAdBdCej                  j                  dD¬E«      ¬F«      ‘dG‘«      dH„ «       ZdI„ Z	ej                  j                  dJg dK¢g dL¢g dM¢g dN¢dOdOe
j                  dOdPgdOdOe
j                   dPdPgg«      dQ„ «       ZyR)SÚ
TestNctdtrzdf, nc, x, expected)r2  çffffffÀr8  gDÁŸ iÿï?)r2  rV  r9  gì‘�ÿï?)r2  rV  r~   g7ùàìÿï?)r2  rV  r:  g’Uõýÿï?)r2  çR¸…ëQØ?r8  g�¢Žù�Ö?)r2  rW  r9  g�‚x$—pÙ?)r2  rW  r~   g7´ü˜Šðæ?)r2  rW  r:  gÙ]Å§eæî?)r2  çffffff@r8  gæ¨¼¶¢?)r2  rX  r9  g:ëô›GF ?)r2  rX  r~   g›‡¦pa¢?)r2  rX  r:  gÅfO!˜té?)r2  é&   r8  gö¥    )r2  rY  r9  gQýb] )r2  rY  r~   g¡•˜˜y·á+)r2  rY  r:  guàQ‡Rmˆ?)r3  rV  r8  g/C÷*iÿï?)r3  rV  r9  g.b†ý«ÿï?)r3  rV  r~   gI'vÿÿï?)r3  rV  r:  gòÿÿÿÿÿï?)r3  rW  r8  gÅÑ•��Ö?)r3  rW  r9  gDñ¶-¡Ú?)r3  rW  r~   gÂy�0 ë?)r3  rW  r:  g¹£CÚÿÿï?)r3  rX  r8  g¾ýî¦í?)r3  rX  r9  g:ÇÓýe!?)r3  rX  r~   g®ÿáhš‹?)r3  rX  r:  gö�¾Åþï?)r3  rY  r8  g‘+®    )r3  rY  r9  g¬PDp   )r3  rY  r~   gÜÓý‰§úM)r3  rY  r:  gµgS>^X#>)r4  rV  r8  gËNG0iÿï?)r4  rV  r9  g%WØ­ÿï?)r4  rV  r~   g�©¬Úÿÿï?)r4  rV  r:  r  )r4  rW  r8  g� aYÒ�Ö?)r4  rW  r9  g—pk„u+Ú?)r4  rW  r~   gZVq˜ºë?)r4  rW  r:  r  )r4  rX  r8  g·_a¨—?)r4  rX  r9  gþÐ+³,!?)r4  rX  r~   gqgÕb‚†?)r4  rX  r:  göÿÿÿÿÿï?)r4  rY  r8  gQ¯    )r4  rY  r9  g%µåQ   )r4  rY  r~   g®Th- 1)r4  rY  r:  g¹ÅÂ¤5)r5  rV  r8  geKÑ0iÿï?)r5  rV  r9  gº®ÿï?)r5  rV  r~   gjÍSàÿÿï?)r5  rV  r:  r  )r5  rW  r8  g|Så³×�Ö?)r5  rW  r9  gfG¾—’-Ú?)r5  rW  r~   gî^œ"Êë?)r5  rW  r:  r  )r5  rX  r8  gm‡ôç¨?)r5  rX  r9  g¨|q¢]/!?)r5  rX  r~   g+%Î±s†?)r5  rX  r:  r  )r5  rY  r8  gèn¯    )r5  rY  r9  gmÓ   r5  rY  r~   gÒDd‡™‡z+Bug in underlying Boost math implementation)Úreason)Úmarks)r5  rY  r:  g>ø�ØéÍH*c                 óP   — t        j                  |||«      }t        ||dd¬«       y )NrP  gÃ‚Êñr>  )r�   r  r   )r   r„   rŒ   r9   rR  Úresults         r   Útest_gh19896zTestNctdtr.test_gh19896S  s%   € ôR —‘˜2˜r 1Ó%ˆÜ˜ ¨u¸6ÖBr   c                 óZ   — d\  }}}d}t        t        j                  |||«      |d¬«       y )N)i¸  r   rÙ   g-ö£‘^?g›+¡†›„=rœ   ©r   r�   r  )r   r„   rŒ   r9   rR  s        r   Útest_nctdtr_gh8344zTestNctdtr.test_nctdtr_gh8344Ÿ  s+   € à ‰	ˆˆB�Ø(ˆÜœŸ	™	 " b¨!Ó,¨h¸UÖCr   zdf, nc, x, expected, rtol)g      @g      @g       ÀgÂéGƒèà>g:Œ0âŽy5>)rÃ   rJ  r  g³ÿ™'$ö <rP  )rÊ   g      Àg       @g¡jxÿÿÿï?rP  )rJ  r,  r9  ge¸*ömtÔ-rP  r  rU   c                 óJ   — t        t        j                  |||«      ||¬«       y )Nrœ   r`  )r   r„   rŒ   r9   rR  r4   s         r   Útest_accuracyzTestNctdtr.test_accuracy¥  s   € ô 	œŸ	™	 " b¨!Ó,¨h¸TÖBr   N)r+   r,   r-   r	  r
  r  Úparamr  r^  ra  r   rÛ   rc  r/   r   r   rU  rU  +  sÉ  „ ðP ‡[�[×ÑÐ2ð C5Ø0ðC5à.ðC5ð 	.ðC5ð 	-ð	C5ð
 	/ðC5ð 	0ðC5ð 	-ðC5ð 	-ðC5ð 	2ðC5ð 	2ðC5ð 	/ðC5ð 	,ðC5ð 	,ðC5ð 	1ðC5ð 	/ðC5ð  	-ð!C5ð" 	0ð#C5ð$ 	.ð%C5ð& 	-ð'C5ð( 	,ð)C5ð* 	0ð+C5ð, 	/ð-C5ð. 	-ð/C5ð0 	,ð1C5ð2 	2ð3C5ð4 	1ð5C5ð6 	.ð7C5ð8 	*ð9C5ð: 	+ð;C5ð< 	,ð=C5ð> 	0ð?C5ð@ 	-ðAC5ðB 	/ðCC5ðD 	-ðEC5ðF 	,ðGC5ðH 	ðIC5ðJ 	0ðKC5ðL 	.ðMC5ðN 	,ðOC5ðP 	ðQC5ðR 	1ðSC5ðT 	/ðUC5ðV 	-ðWC5ðX 	*ðYC5ðZ 	*ð[C5ð\ 	*ð]C5ð^ 	/ð_C5ð` 	-ðaC5ðb 	0ðcC5ðd 	.ðeC5ðf 	-ðgC5ðh 	ðiC5ðj 	0ðkC5ðl 	.ðmC5ðn 	-ðoC5ðp 	ðqC5ðr 	2ðsC5ðt 	1ðuC5ðv 	.ðwC5ðx 	ðyC5ðz 	*ð{C5ð| 	+ð}C5ð~ 	ˆ�‰�S˜"˜cÐ#:Ø!Ÿ;™;×,Ñ,ØLð -ó Nô	OðC5ðD 	.ðEC5ó CñHCóICðHCòDð ‡[�[×ÑØ#Ú	4Ú	8Ú	3Ú	7Ø
ˆb�"—&‘&˜#˜sÐ	#Ø
ˆb�2—6‘6�'˜3 Ð	$ð	
ó	ñCó	ñCr   rU  r3   )-r.   r#  Únumpyr   Únumpy.testingr   r   r	  Úscipy.specialÚspecialr�   Úscipy.special._testutilsr   r   r   Úscipy.special._mptestutilsr   r	   r
   r   r   r   ÚImportErrorr   r1   r>   ri   ru   r{   r‡   r�   r’   r•   r
  Úslowr—   Úfuncsr  r*  r/  rD  rH  rM  rS  rU  rü   s   0r   ú<module>rn     sŽ  ðñó" ã ß 7Û å ÷,ñ ,÷;õ ;ð%Û÷
ñ ÷$
4ñ 
4÷M4ñ M4ò`ò
Dòóòóò-ð
 ‡�×ÑÙˆv�vÓ÷xEð xEó ó ðxEòv 	€ðF ‡�×Ñ˜¨À5Ö4I¸a°Q°q³TÒ4IÐÓJñó Kðò$"ò$;òNò6ð ‡�×ÑØÚ2Ú6Ú3Ú1Ú7Ú5Ú3Ú1Ú0Ú-Ú#Ú1ð3óñ+Nóð+N÷\ECò ECøðW ò %Ù˜8Ó$ƒFð%üòV 5Js   ¶D4 Â=EÄ4EÅE