Ë
    ÏÍ:jÓˆ  ã                   óL
  — d Z ddlZddlZddlmZ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dKd„Zd„ ZdKd„Z d„ Z!ejD                  jF                   eed«       G d„ d«      «       «       Z$g d¢Z%ejD                  jM                  de%e%D � cg c]  } | d   ‘Œ	 c} ¬«      d„ «       Z'd„ Z(d„ Z)d„ Z*d„ Z+ejD                  jM                  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,¢g«      d-„ «       Z,ejD                  jM                  d.g d/¢«      d0„ «       Z- G d1„ d2«      Z. G d3„ d4«      Z/ G d5„ d6«      Z0ejD                  jM                  d7d8d9g«      d:„ «       Z1 G d;„ d<«      Z2ejD                  jM                  d=dddejf                  fddd>ejf                  fdejh                  dejf                  fdejh                  d>ejf                  fejh                  ddejf                  fejh                  dd>ejf                  fejh                  ejh                  dejf                  fejh                  ejh                  d>ejf                  fg«      d?„ «       Z5ejD                  jM                  d@dddejf                  fddejh                  ejf                  fdd>dejf                  fdd>ejh                  dfejh                  ddejf                  fejh                  dejh                  ejf                  fejh                  d>dejf                  fejh                  d>ejh                  ejf                  fg«      dA„ «       Z6ejD                  jM                  dBg dC¢«      dD„ «       Z7ejD                  jM                  dEdd8dejf                  fd8ejh                  d>ejh                  fd8d>ejh                  ejh                  fd8d>ejh                   ejh                   fd8ejh                  ejh                  ejh                  fd8d8ejh                  ejh                  fd8d>ejh                   ejh                   fdFdGd>ejf                  fg«      dH„ «       Z8ejD                  jM                  dIdddejf                  fdd>dejf                  fdd>ejh                  ejf                  fd8d>d>ejf                  fd8d8ejh                  ejh                   fd8d8ejh                   ejh                  fg«      dJ„ «       Z9y# e$ r  ed«      ZY �Œáw xY wc c} w )LzŸ
Test cdflib functions versus mpmath, if available.

The following functions still need tests:

- ncfdtridfn
- ncfdtridfd
- ncfdtrinc
- nctdtridf
- nctdtrinc

é    N)Úassert_equalÚassert_allcloseÚassert_array_equal)Ú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    út/home/mcse/projects/srt_converter/srt-converter-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   r5   r6   s        r   r   zEndpointFilter.__init__2   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   r5   r6   r   Úwhere)r   ÚxÚmask1Úmask2s       r   Ú__call__zEndpointFilter.__call__8   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=   r0   r   r   r2   r2   1   s   „ òó4r   r2   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 r4   )ÚspfuncÚmpfuncÚindexÚargspecÚspfunc_firstÚdpsr%   r5   r6   Ú
isinstanceÚlistÚ
endpt_rtolÚ
endpt_atolÚlen)r   rA   rB   rC   rD   rE   rF   r%   r5   r6   rI   rJ   s               r   r   z_CDFData.__init__?   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r4   )rE   rA   r   ÚisnanÚnanrH   rC   r   ÚworkdpsrF   rB   Útupler   Úreal)r   ÚargsÚress      r   Úidmapz_CDFData.idmap\   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ç        )rI   rJ   ÚziprD   Úappendr2   r   r   )r   Úfiltersr5   r6   Úspecs        r   Úget_param_filterz_CDFData.get_param_filterp   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_columnsr5   r6   Ú
vectorizedÚparam_filter)r   rD   r%   r[   rP   ÚrangeÚshaper   ÚhstackrC   Úreshaper   rT   r5   r6   Úcheck)r   rR   r`   r]   r^   s        r   re   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   rT   r[   re   r0   r   r   r?   r?   >   s   „ ØDHØ15Ø-1ó#ò:ò(ó"
4r   r?   c                  ó:   — t        | i |¤Ž}|j                  «        y r4   )r?   re   )r   ÚkwÚds      r   Ú_assert_invertsrj   Ž   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_cdfrv   “   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   é   Trm   )r   rp   rr   )ÚdfnÚdfdr:   ÚubrS   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   ç      ø?rx   )	r   ÚmprF   rO   rp   Úhyp2f1ÚgammaÚsqrtÚpi)ÚdfÚtrF   Ú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 )Nrx   r   é   r~   )r   Úbesselirƒ   Úexp)r†   r…   ÚncrS   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 r4   )rŽ   )r†   r…   r�   s    €€r   ú<lambda>z%_noncentral_chi_cdf.<locals>.<lambda>½   s   ø€ Ô$7¸¸2¸rÓ$B€ r   r   )r   r€   rF   rp   rO   Úquad)r:   r…   r�   rF   rS   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   r0   )rt   Úlmbdas     r   Ú_tukey_lmbda_quantiler—   Á   s   € àˆu‰H˜˜A™ ‘~Ñ% uÑ,Ð,r   z0.19c                   óü  — e Z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                  j3                  dg d¢«      d„ «       Zy)Ú
TestCDFlibc           	      óˆ   — t        t        j                  t        dt	        dd«      t        «       t        «       gdg d¢¬«       y )Nr   é¸  çê-�™—q=)NNç�íµ ÷Æ°>©r5   rJ   )rj   ÚspÚbdtrinrv   r
   r   r   s    r   Útest_bdtrinzTestCDFlib.test_bdtrinÊ   s0   € ÜÜ�I‰IÜØ”�q˜$“¤£¬G«IÐ6ØÒ#5ö		7r   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 ©NTrm   ©r   rr   ©r   r   r:   s      r   r‘   z)TestCDFlib.test_btdtria.<locals>.<lambda>Ô   ó   € œFŸN™N¨1¨a°AÀ4ÔH€ r   r   ç     Àr@F©Úinclusive_ar   ©rª   Úinclusive_brœ   ©r5   )rj   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   ç      Y@Fr©   r«   çH¯¼šò×z>)Ng¬CÒÑ]r2<çVçž¯Ò<rž   )rj   rŸ   Úbtdtribr	   r   r   s    r   Útest_btdtribzTestCDFlib.test_btdtribÙ   s@   € äÜ�J‰JÙHØÜ��C UÔ+¬W«YÜ��A 5°eÔ<ð>àÚ+ö	-r   F)Úrunc                 óŠ   — t        t        j                  t        dt	        dd«      t        «       t        ddd¬«      gd¬«       y )Nr   éd   r   Fr©   r³   r­   )rj   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   ro   ©r   Úgammaincr¦   s      r   r‘   z(TestCDFlib.test_gdtria.<locals>.<lambda>ð   ó   € œFŸO™O¨A°°1±À$ÔG€ r   r   ç     @�@Fr©   g     ˆÃ@rœ   ©Nr³   ç»½×Ùß|Û=rž   )rj   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­   )rj   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   rx   r   rÃ   Fr©   r³   rÄ   rž   )rj   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 r4   ©r   Úncdf©r:   ÚyÚzs      r   r‘   z*TestCDFlib.test_nrdtrimn.<locals>.<lambda>  ó   € œFŸK™K¨¨1¨aÓ0€ r   r   çš™™™™™¹?Fr«   g    _ Âg    _ BrÊ   r­   )rj   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 r4   rÓ   rÕ   s      r   r‘   z*TestCDFlib.test_nrdtrisd.<locals>.<lambda>  rØ   r   r   é
   Fr«   ç}Ã”%­I²TrÊ   r­   )rj   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_stdtr%  s/   € äÜ�H‰HÜÜ�A�s‹^œS ¬¯©Ó/Ð0°tö	=r   c                 ól   — t        t        j                  t        dt	        «       t        «       gd¬«       y )Nr   r³   r­   )rj   rŸ   Ústdtridfrˆ   r   r	   r   s    r   Útest_stdtridfzTestCDFlib.test_stdtridf,  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ž   )rj   rŸ   Ústdtritrˆ   r
   r   r   s    r   Útest_stdtritzTestCDFlib.test_stdtrit3  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 )Nrx   Tr¿   rÀ   )r*   r:   s     r   r‘   z)TestCDFlib.test_chdtriv.<locals>.<lambda>=  s   € œŸ™¨¨1©°°!±ÀÔF€ r   r   r   r¹   ç-Cëâ6?r­   )rj   rŸ   Úchdtrivr   r
   r   s    r   Útest_chdtrivzTestCDFlib.test_chdtriv:  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%   r5   r6   )rj   rŸ   Ú	chndtridfr“   r	   r   r   s    r   Útest_chndtridfzTestCDFlib.test_chndtridfA  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 )Nrx   r   r¹   Fr©   r   rò   rî   r´   ró   )rj   rŸ   Ú	chndtrincr“   r	   r
   r   r   s    r   Útest_chndtrinczTestCDFlib.test_chndtrincK  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%   r5   r6   rJ   )rj   rŸ   Úchndtrixr“   r   r
   r	   r   s    r   Útest_chndtrixzTestCDFlib.test_chndtrixT  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©r:   s    r   r‘   z4TestCDFlib.test_tklmbda_zero_shape.<locals>.<lambda>a  s   € ”b—j‘j  AÓ&€ r   c                 ó<   •— ‰t        j                  |  «      ‰z   z  S r4   )r   rŒ   )r:   Úones    €r   r‘   z4TestCDFlib.test_tklmbda_zero_shape.<locals>.<lambda>b  s   ø€ �cœ6Ÿ:™: q b›>¨CÑ/Ñ0€ r   r³   r­   )r   rp   r   r	   )r   r  s    @r   Útest_tklmbda_zero_shapez"TestCDFlib.test_tklmbda_zero_shape]  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Ê   ç•Ö&è.>)rE   r5   rJ   ©rj   rŸ   rþ   r—   r   r	   r   s    r   Útest_tklmbda_neg_shapez!TestCDFlib.test_tklmbda_neg_shapee  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Ê   )rE   r5   r  r   s    r   Útest_tklmbda_pos_shapez!TestCDFlib.test_tklmbda_pos_shapem  s.   € äÜ�J‰JÜ!Ø”“	œ3˜q #°5Ô9Ð:Ø Tö		+r   r–   )r~   ç      ð?ç       @c                 óX   — d|z  }t        t        j                  | |g|«      ddg«       y )Nr   rV   r	  )r   rŸ   rþ   )r   r–   Úbounds      r   Útest_tklmbda_lmbda1zTestCDFlib.test_tklmbda_lmbda1v  s*   € à�%‘ˆÜ”R—Z‘Z % ¨ °Ó7¸#¸s¸ÕDr   N)r,   r-   r.   r¡   r¯   r¶   ÚpytestÚmarkÚxfailr»   rÇ   rÌ   rÐ   rÜ   râ   rå   rè   rë   rð   rõ   rø   rû   r  r  r  Úparametrizer  r0   r   r   r™   r™   Æ   s-  „ ò7òò	-ð ‡[�[×Ñ˜5ÐÓ!ñó "ðò,òò,ò òò=ð ‡[�[×Ñ˜5ÐÓ!ñ.ó "ð.ò&ò7ð ‡[�[×Ñ˜5ÐÓ!ñ+ó "ð+ð ‡[�[×Ñ˜5ÐÓ!ñ+ó "ð+ò+ò ò%ð ‡[�[×Ñ˜5ÐÓ!ñ+ó "ð+ð ‡[�[×Ñ˜W¢oÓ6ñEó 7ñEr   r™   ))r®   r   )rµ   r   )Úbdtrikr   )r    r   )rï   rx   )Ú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   )Úpdtrikrx   )rä   rx   )rê   rx   )rç   rx   )Únctdtrr   )Únctdtritr   )Ú	nctdtridfr   )Ú	nctdtrincr   )rþ   rx   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r4   ©r   rM   )Ú.0r:   s     r   ú	<genexpr>z!test_nonfinite.<locals>.<genexpr>©  s   è ø€ Ò)˜qŒr�x‰x˜�{Ñ)ùs   ‚!)r   ÚrandomÚdefault_rngÚgetattrrŸ   ÚfloatrN   rÛ   Ú	itertoolsÚproductÚanyr   )ÚfuncÚnumargsÚrngr:   Úargs_choicesrR   rS   s          r   Útest_nonfiniter1  Ÿ  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é!çýÿï?rx   ç      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   )rS   Úres_exps     r   Útest_chndtrix_gh2158r6  ²  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'  r;  r:  r9  r8  )
r8  rÙ   r   çš™™™™™é?ç+‡ÙÎ÷ï?r8  rÙ   r   r=  r>  )
çú~j¼t“X?ç333333Ã?r   é   é,  r?  r@  r   rA  rB  )
ç�K ·Ë¸@gtúIŽö?çx9ô" @g.$Bt+@gÜO, oq@rC  gZcÖ^æö?rD  g„… ¬²³@gÂ¥j²Àç•dyáý•=rV   ©r5   r6   )rŸ   r  r   )ÚdfarrÚparrÚtarrÚdesiredÚactuals        r   Útest_nctdtrinc_gh19896rL  Ä  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ç      ð¿rV   r	  )rV   ç      Ð?r~   g      è?r	  )r   ÚallrM   rŸ   rä   rÛ   rê   r0   r   r   Útest_stdtr_stdtrit_neg_infrQ  Ò  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      $ÀrN  rV   rÊ   r~   g§èH.ÿï?r	  ç      $@)
r   ÚarrayrN   rÛ   Ú
atleast_2drP  rM   rŸ   r  r  )rÖ   rt   s     r   Útest_bdtrik_nbdtrik_infrV  Ø  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_cdf)r²   rÙ   rÙ   r²   gÉ,‰õ]Ó?)r²   r²   ç{®Gáz„?rÙ   gŸÔsC´r«:)r²   rW  rÙ   rW  gn¼ähûUg?)rS  rW  r	  rÙ   g³%g{E‰?)r²   r²   rW  rW  gû 	�À
1)r	  r²   r²   rÙ   gÚž^)Ãk;)r	  rW  r²   rS  gl€öñB‰?)r	  rW  rS  rW  g)Dt^\Ã,?)rS  r	  rÙ   r²   gµ�žå|€í?)rÙ   rÙ   r	  r	  g�º²•’Ô?)r²   r²   rÙ   rS  r	  )r	  rÙ   r²   rS  g„*}€ö�?)g0Žä.ÿ++r   r   rà   g0ìJ§ý“ã?c                 ó´   — t        t        j                  | |||«      |dd¬«       d|cxk  rdk  r(n y t        t        j                  | |||«      |d¬«       y y )Nç‚vIhÂ%<=r   rF  r   g»½×Ùß|Ë=r­   )r   rŸ   r  r  )ry   rz   r�   ÚfÚexpected_cdfs        r   Útest_ncfdtr_ncfdtrir\  â  sQ   € ôx ”B—I‘I˜c 3¨¨AÓ.°À5ÈqÕQð 	ˆ<Ô˜!ÕÜœŸ
™
 3¨¨R°Ó>ÀÈÖNð r   rR   ))rN  rÙ   rÙ   r~   )r   rN  rÙ   r~   )r   r   rN  r~   )r   r   r   r¹   )r   r   r   éÿÿÿÿc                 óò   — t        j                  d¬«      5  t        j                  t         j                  d¬«      5  t        j
                  | Ž  d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w©NÚraise)Údomainra  )Úmatch)rŸ   Úerrstater  ÚraisesÚSpecialFunctionErrorr  )rR   s    r   Útest_ncfdtri_domain_errorrf  $  s_   € ô 
�‰˜GÔ	$ñ Ü�]‰]œ2×2Ñ2¸(ÔCñ 	Ü�J‰J˜Ñ÷	÷ð ÷	ð 	ú÷ð úó"   —&A-½A!ÁA-Á!A*	Á&A-Á-A6c                   óF  — e Zd Zej                  j                  dg d¢«      d„ «       Zd„ Zd„ Zej                  j                  dg d¢g d¢g d	¢g d
¢dde	j                  ddgdde	j                   ddgg«      d„ «       Zej                  j                  dg d¢«      d„ «       Zy)ÚTestNoncentralTFunctionszdf, nc, x, expected_cdf)?)r9  çffffffÀr?  gDÁŸ iÿï?)r9  rj  r@  gì‘�ÿï?)r9  rj  r   g7ùàìÿï?©r9  rj  rA  g’Uõýÿï?)r9  çR¸…ëQØ?r?  g�¢Žù�Ö?)r9  rl  r@  g�‚x$—pÙ?)r9  rl  r   g7´ü˜Šðæ?)r9  rl  rA  gÙ]Å§eæî?)r9  çffffff@r?  gæ¨¼¶¢?)r9  rm  r@  g:ëô›GF ?)r9  rm  r   g›‡¦pa¢?)r9  rm  rA  gÅfO!˜té?)r9  é&   r?  gö¥    )r9  rn  r@  gQýb] ©r9  rn  r   g¡•˜˜y·á+)r9  rn  rA  guàQ‡Rmˆ?)r:  rj  r?  g/C÷*iÿï?)r:  rj  r@  g.b†ý«ÿï?)r:  rj  r   gI'vÿÿï?)r:  rj  rA  gòÿÿÿÿÿï?)r:  rl  r?  gÅÑ•��Ö?)r:  rl  r@  gDñ¶-¡Ú?)r:  rl  r   gÂy�0 ë?)r:  rl  rA  g¹£CÚÿÿï?)r:  rm  r?  g¾ýî¦í?)r:  rm  r@  g:ÇÓýe!?)r:  rm  r   g®ÿáhš‹?)r:  rm  rA  gö�¾Åþï?)r:  rn  r?  g‘+®    )r:  rn  r@  g¬PDp   )r:  rn  r   gÜÓý‰§úM©r:  rn  rA  gµgS>^X#>)r;  rj  r?  gËNG0iÿï?)r;  rj  r@  g%WØ­ÿï?)r;  rj  r   g�©¬Úÿÿï?)r;  rj  rA  r	  )r;  rl  r?  g� aYÒ�Ö?)r;  rl  r@  g—pk„u+Ú?)r;  rl  r   gZVq˜ºë?)r;  rl  rA  r	  )r;  rm  r?  g·_a¨—?)r;  rm  r@  gþÐ+³,!?)r;  rm  r   gqgÕb‚†?)r;  rm  rA  göÿÿÿÿÿï?)r;  rn  r?  gQ¯    )r;  rn  r@  g%µåQ   )r;  rn  r   g®Th- 1)r;  rn  rA  g¹ÅÂ¤5)r<  rj  r?  geKÑ0iÿï?)r<  rj  r@  gº®ÿï?)r<  rj  r   gjÍSàÿÿï?)r<  rj  rA  r	  )r<  rl  r?  g|Så³×�Ö?)r<  rl  r@  gfG¾—’-Ú?)r<  rl  r   gî^œ"Êë?)r<  rl  rA  r	  )r<  rm  r?  gm‡ôç¨?)r<  rm  r@  g¨|q¢]/!?)r<  rm  r   g+%Î±s†?)r<  rm  rA  r	  )r<  rn  r?  gèn¯    )r<  rn  r@  gmÓ   )r<  rn  rA  g>ø�ØéÍH*c                 óP   — t        j                  |||«      }t        ||dd¬«       y )NrY  gÃ‚ÊñrF  )rŸ   r  r   )r   r…   r�   r:   r[  Únctdtr_results         r   Útest_gh19896z%TestNoncentralTFunctions.test_gh19896Y  s%   € ôL Ÿ	™	 " b¨!Ó,ˆÜ˜ |¸%ÀfÖMr   c                 óJ   — t        t        j                  ddd«      dd¬«       y )Nr<  rn  r   gÒDd‡™‡ç:Œ0âŽyE>r­   ©r   rŸ   r  r   s    r   Útest_gh19896_loose_tolerancez5TestNoncentralTFunctions.test_gh19896_loose_tolerance¢  s   € äœŸ	™	 # r¨3Ó/Ð1HÈtÖTr   c                 óZ   — d\  }}}d}t        t        j                  |||«      |d¬«       y )N)r›   r   rÙ   ç-ö£‘^?ç›+¡†›„=r­   rv  )r   r…   r�   r:   Úexpecteds        r   Útest_nctdtr_gh8344z+TestNoncentralTFunctions.test_nctdtr_gh8344¦  s+   € à ‰	ˆˆB�Ø(ˆÜœŸ	™	 " b¨!Ó,¨h¸UÖCr   zdf, nc, x, expected, rtol)ç      @g      @g       ÀgÂéGƒèà>g:Œ0âŽyU>)rÃ   rS  r	  g³ÿ™'$ö <rY  )rÊ   g      Àç       @g¡jxÿÿÿï?rY  )rS  r3  r@  ge¸*ömtÔ-rY  r	  rV   c                 óJ   — t        t        j                  |||«      ||¬«       y )Nr­   rv  )r   r…   r�   r:   r{  r5   s         r   Útest_nctdtr_accuracyz-TestNoncentralTFunctions.test_nctdtr_accuracy¬  s   € ô 	œŸ	™	 " b¨!Ó,¨h¸TÖBr   )ro  )r›   r   rÙ   ry  rk  rp  c                 óJ   — t        t        j                  |||«      |d¬«       y )NrÅ   r­   )r   rŸ   r  )r   r…   r�   r:   r[  s        r   Útest_nctdtritz&TestNoncentralTFunctions.test_nctdtrit¹  s   € ô 	œŸ™ B¨¨LÓ9¸1À5ÖIr   N)r,   r-   r.   r  r  r  rs  rw  r|  r   rÛ   r€  r‚  r0   r   r   ri  ri  1  sÎ   „ ðP ‡[�[×ÑÐ6ò @9ó @ñBNóC@ðBNòUòDð ‡[�[×ÑØ#Ú	4Ú	8Ú	3Ú	7Ø
ˆb�"—&‘&˜#˜sÐ	#Ø
ˆb�2—6‘6�'˜3 Ð	$ð	
ó	ñCó	ðCð ‡[�[×ÑÐ6ò 9ó ñJóñJr   ri  c                   óº  — e Zd Zej                  j                  dej                  ej                  g«      ej                  j                  de	j                  ddfde	j                  dfdde	j                  fe	j                  e	j                  dfe	j                  de	j                  fde	j                  e	j                  fe	j                  e	j                  e	j                  fg«      d„ «       «       Zej                  j                  dg d¢«      d„ «       Zej                  j                  dg d¢«      d„ «       Zej                  j                  d	g d
¢«      d„ «       Zy)ÚTestNegativeBinomialFunctionsÚfunctionrR   r   c                 ó8   — t        j                   ||Ž «      sJ ‚y r4   r#  )r   r…  rR   s      r   Útest_nan_propagationz2TestNegativeBinomialFunctions.test_nan_propagationÆ  s   € ô �x‰x™ $˜Ô(Ð(Ñ(r   )	©r]  r   r   ©r   r]  r   ©r   r   r]  ©r]  r]  r   ©r]  r   r]  ©r   r]  r]  ©r]  r]  r]  )r   çš™™™™™ñ?çÍÌÌÌÌÌì?©r   r�  r�  c                 óò   — t        j                  d¬«      5  t        j                  t         j                  d¬«      5  t        j
                  |Ž  d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY wr_  )rŸ   rc  r  rd  re  r  ©r   rR   s     r   Útest_domain_error_nbdtrinz7TestNegativeBinomialFunctions.test_domain_error_nbdtrinÏ  ó_   € ô �[‰[ Ô(ñ 	"Ü—‘œr×6Ñ6¸hÔGñ "Ü—
‘
˜DÑ!÷"÷	"ð 	"÷"ð "ú÷	"ð 	"úrg  )rˆ  r‰  rŠ  r‹  rŒ  r�  rŽ  r‘  c                 óò   — t        j                  d¬«      5  t        j                  t         j                  d¬«      5  t        j
                  |Ž  d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY wr_  )rŸ   rc  r  rd  re  r  r“  s     r   Útest_domain_error_nbdtrikz7TestNegativeBinomialFunctions.test_domain_error_nbdtrikÙ  r•  rg  zk, y, p, n, rtol))é   g    À’Ô?rO  r   çVçž¯Â<)rß   gq¸™5…1r@  r¹   r´   )r¹   gCÔ8{è7ï?r@  rß   rz  )rx   gÎ‹g×œÎã0r8  é   g›+¡†›„ö<)rx   gj½½–þÿï?r>  rA  rÅ   )éô  g_Íìÿÿÿï?rÙ   rA  ru  )r   g¿½×Ùß|Û=rÙ   rß   r™  c                 óŒ   — t        t        j                  |||«      ||«       t        t        j                  |||«      ||«       y r4   )r   rŸ   r  r  )r   rs   rÖ   rt   r%   r5   s         r   Útest_inversesz+TestNegativeBinomialFunctions.test_inversesã  s6   € ô" 	œŸ
™
 1 a¨Ó+¨Q°Ô5ÜœŸ
™
 1 a¨Ó+¨Q°Õ5r   N)r,   r-   r.   r  r  r  rŸ   r  r  r   rN   r‡  r”  r—  r�  r0   r   r   r„  r„  Ä  s?  „ à‡[�[×Ñ˜Z¨"¯*©*°b·j±jÐ)AÓBØ‡[�[×Ñ˜VØ
�&‰&�!�Qˆ˜!˜RŸV™V Q˜¨!¨Q°·±¨Ø
�&‰&�"—&‘&˜!Ð	˜rŸv™v q¨"¯&©&Ð1°A°r·v±v¸r¿v¹vÐ3FØ
�&‰&�"—&‘&˜"Ÿ&™&Ð	!ð	#óñ
)óó Cð)ð ‡[�[×Ñ˜Vò	'óñ
"óð
"ð
 ‡[�[×Ñ˜Vò	óñ
"óð
"ð
 ‡[�[×ÑÐ/ò	6ó7ñ
6ó7ñ
6r   r„  c                   ó¼  — e Zd Zd„ Zej
                  j                  dg d¢«      d„ «       Zej
                  j                  ddddej                  fej                  dfg«      d	„ «       Z
ej
                  j                  d
ej                  ej                  ej                  ej                  g«      ej
                  j                  dg d¢«      d„ «       «       Zej
                  j                  d
ej                  ej                  ej                  ej                  g«      ej
                  j                  dej"                  ddfdej"                  dfddej"                  fej"                  ej"                  dfej"                  dej"                  fdej"                  ej"                  fej"                  ej"                  ej"                  fg«      d„ «       «       Zej
                  j                  ddddej"                  fddej                  ej"                  fdej                  dej"                  fdej                  ej                  dfddej                  dfej                  ddej"                  fej                  dej                  ej"                  fej                  dddfej                  ej                  ej                  ej"                  fg	«      d„ «       Zy)Ú!TestNoncentralChiSquaredFunctionsc                 ó–  — t        j                  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¢g«      }t        j                  |d d …df   |d d …df   |d d …df   «      }t	        ||d d …df   d¬«       t        j
                  |d d …df   |d d …df   |d d …df   «      }t	        |d d |d d…df   d¬«       t        j                  |d d …df   |d d …df   |d d …df   «      }t	        |d d |d d…df   d¬«       t        j                  |d d …df   |d d …df   |d d …df   «      }t	        |d d |d d…df   d¬«       y )N)ç      9@r3  é�  g¢ÚLÞ94)r¡  r
  éú   g7ÅF�hþ9)r8  r
  ç      D@g‰gÃ¥cÿ;)rW  r
  r¤  g	®¼åð;)r3  r~  ék   g8»x@xò>)g     €6@r~  r¥  g—÷g1\’>>)r¡  r~  r¥  g‘ÎÜë²`>)r}  r~  r	  gpˆ!PÜã?)g     àu@r¨   rS  g jû¨
î?)r²   ç      +@rS  g]þÿÿï?)g     à…@r3  r¢  g4Û™ÿÿÿï?)g     Àb@r¦  rS  gþÿÿÿÿÿï?)g      d@r¦  rS  r	  r   r   rx   r   rY  r­   éþÿÿÿru  )r   rT  rŸ   r  r   rú   rô   r÷   )r   r+   Úcdfr:   r…   r�   s         r   Ú.test_chndtr_and_inverses_against_wolfram_alphazPTestNoncentralChiSquaredFunctions.test_chndtr_and_inverses_against_wolfram_alphaú  sX  € ô —‘Ú9Ú9Ú9Ú:Ú9Ú9Ú9Ú6Ú6Ú6Ú6Ú6Ú6ð
ó ˆô �i‰i˜šq !˜t™ fªQ°¨T¡l°Fº1¸a¸4±LÓAˆÜ˜˜V¢A q D™\°Õ6ô �K‰K˜šq !˜t™ fªQ°¨T¡l°Fº1¸a¸4±LÓAˆÜ˜˜#˜2˜  s¨ s¨A v¡°TÕ:Ü�\‰\˜&¢ A ™,¨ªq°!¨t©°fºQÀ¸T±lÓCˆÜ˜˜3˜B˜ ¨¨¨¨Q¨¡°dÕ;Ü�\‰\˜&¢ A ™,¨ªq°!¨t©°fºQÀ¸T±lÓCˆÜ˜˜3˜B˜ ¨¨¨¨Q¨¡°dÖ;r   z+x, df, nc, expected_cdf, rtol_cdf, rtol_inv))rÙ   éÈ   é2   g
8DÙLÞrY  rY  )rœ   rf   r«  gúÔ¯ÉÆ"rY  rY  )r   rª  r«  ggâIË˜rY  rY  )g     ùõ@g     jø@rÃ   grd\\š´"rE  rE  )é   r   r   g³k´ú˜ÿï?çê-�™—a=r­  )r›  rB  r   gÉ;ÿÿÿÿï?rY  rÊ   )ix  r¬  rÃ   g¼À.ëÿÿï?rY  r  )r¢  r«  rª  g#÷%õÿï?rY  ç•dyáý¥=c                 óò  — t        j                  |||«      }t        |||¬«       t        t        j                  |||«      ||¬«       t        t        j                  |||«      ||¬«       t        t        j
                  |||«      ||¬«       t        t        j                  |||«      ||¬«       t        t        j                  |||«      |d¬«       t        t        j
                  |||«      |d¬«       y )Nr­   r³   rÊ   )rŸ   r  r   rú   rô   r÷   )r   r:   r…   r�   r[  Úrtol_cdfÚrtol_invÚchndtr_results           r   Ú
test_tailsz,TestNoncentralChiSquaredFunctions.test_tails.  sº   € ô Ÿ	™	 ! R¨Ó,ˆÜ˜ |¸(ÕCÜœŸ™ L°"°bÓ9¸1À8ÕLÜœŸ™ Q¨°bÓ9¸2ÀHÕMÜœŸ™ Q¨¨LÓ9¸2ÀHÕMô 	œŸ™ M°2°rÓ:¸AÀHÕMÜœŸ™ Q¨°rÓ:¸BÀTÕJÜœŸ™ Q¨¨MÓ:¸BÀTÖJr   zx, df)r   r   )r   r   r   c                 ór   — t        t        j                  ||d«      t        j                  ||«      d¬«       y )Nr   r´   r­   )r   rŸ   r  Úchdtr)r   r:   r…   s      r   Ú%test_chndtr_with_nc_zero_equals_chdtrzGTestNoncentralChiSquaredFunctions.test_chndtr_with_nc_zero_equals_chdtrE  s'   € ô 	œŸ	™	 ! R¨Ó+¬R¯X©X°b¸!«_À5ÖIr   ÚfunrR   )rˆ  r‰  rŠ  r‹  rŒ  r�  rŽ  c                 óØ   — t        j                  d¬«      5  t        j                  t         j                  d¬«      5   ||Ž  d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY wr_  )rŸ   rc  r  rd  re  )r   rR   r·  s      r   Útest_domain_errorz3TestNoncentralChiSquaredFunctions.test_domain_errorK  sZ   € ô �[‰[ Ô(ñ 	Ü—‘œr×6Ñ6¸hÔGñ Ù�T‘
÷÷	ð 	÷ð ú÷	ð 	ús"   —&A ½AÁA ÁA	ÁA Á A)c                 ó8   — t        j                   ||Ž «      sJ ‚y r4   r#  )r   r·  rR   s      r   r‡  z6TestNoncentralChiSquaredFunctions.test_nan_propagationW  s   € ô �x‰x™˜T˜
Ô#Ð#Ñ#r   zx, df, nc, expectedr   c                 óJ   — t        t        j                  |||«      |d¬«       y ©Nr´   r­   )r   rŸ   r  )r   r:   r…   r�   r{  s        r   Útest_chndtr_edge_casesz8TestNoncentralChiSquaredFunctions.test_chndtr_edge_casesb  s   € ô 	œŸ	™	 ! R¨Ó,¨h¸UÖCr   N)r,   r-   r.   r©  r  r  r  r³  r   rÛ   r¶  rŸ   r  rú   rô   r÷   r¹  rN   r‡  r½  r0   r   r   rŸ  rŸ  ø  sŠ  „ ò<ðh ‡[�[×ÑØ5ò	;ó
ñ
Kó
ð
Kð ‡[�[×Ñ˜WØ	�˜!˜RŸV™V˜ r§v¡v¨q kÐ2óñJóðJð ‡[�[×Ñ˜UØ	�‰�B—K‘K §¡¨r¯|©|Ð<óð ‡[�[×Ñ˜Vò	1óñó	óðð
 ‡[�[×Ñ˜UØ	�‰�B—K‘K §¡¨r¯|©|Ð<óð ‡[�[×Ñ˜VØ
�&‰&�!�Qˆ˜!˜RŸV™V Q˜¨!¨Q°·±¨Ø
�&‰&�"—&‘&˜!Ð	˜rŸv™v q¨"¯&©&Ð1°A°r·v±v¸r¿v¹vÐ3FØ
�&‰&�"—&‘&˜"Ÿ&™&Ð	!ð	#óñ
$óóð$ð ‡[�[×ÑØØ
ˆQ��2—6‘6Ð	Ø
ˆQ�—‘˜Ÿ™Ð	Ø
ˆR�V‰V�Q˜Ÿ™Ð	Ø
ˆR�V‰V�R—V‘V˜QÐ	Ø
ˆQ�—‘˜Ð	Ø
�&‰&�!�Q˜Ÿ™Ð	Ø
�&‰&�!�R—V‘V˜RŸV™VÐ	$Ø
�&‰&�!�Q˜Ð	Ø
�&‰&�"—&‘&˜"Ÿ&™& "§&¡&Ð	)ð	+óñDóñDr   rŸ  r:   rÙ   r¹   c                 ó:   — t        j                  d| «      dk(  sJ ‚y )Nr   r   )rŸ   rï   rÿ   s    r   Ú!test_chdtriv_p_equals_1_returns_0r¿  r  s   € ä�:‰:�a˜Ó˜qÒ Ð Ñ r   c                   óì   — e Zd Zej                  j                  dddg«      d„ «       Zej                  j                  dd«      d„ «       Zd„ Zd	„ Z	ej                  j                  d
g d¢«      d„ «       Z
y)Ú
TestPdtrikzp, m, expected)r   r~   r   )r~   r   r   c                 ó:   — t        j                  ||«      |k(  sJ ‚y r4   )rŸ   r  )r   rt   r&   r{  s       r   Útest_edge_caseszTestPdtrik.test_edge_casesx  s   € ô �y‰y˜˜A‹ (Ò*Ð*Ñ*r   r&   )rÙ   r   rß   c                 óZ   — t        j                  t        j                  d|«      «      sJ ‚y r•   )r   rM   rŸ   r  )r   r&   s     r   Útest_p_equals_1_returns_nanz&TestPdtrik.test_p_equals_1_returns_nan~  s   € ä�x‰xœŸ	™	 ! Q›Ô(Ð(Ñ(r   c                 ó~   — t        j                  dgdgdggg d¢«      }t        |t        j                  d«      «       y )Nr   rO  gffffffî?)r   g#B’¡œÇ;r�   )r   r   )rŸ   r  r   r   Úzeros)r   rs   s     r   Útest_small_probabilitiesz#TestPdtrik.test_small_probabilities‚  s3   € ä�I‰I˜�s˜T˜F T FÐ+Ò-=Ó>ˆÜ˜1œbŸh™h vÓ.Õ/r   c                 ó€   — g d¢}d}t        j                  ||«      }t        t        j                  ||«      |d¬«       y )N)rß   r«  r›  r˜  r´   r­   )rŸ   Úpdtrr   r  )r   r&   rs   rt   s       r   Útest_roundtrip_against_pdtrz&TestPdtrik.test_roundtrip_against_pdtr‡  s1   € ÚˆØˆÜ�G‰G�A�q‹MˆÜœŸ	™	 ! Q›¨°Ö7r   zp, m, k))gG™:Ð‡°7r¹   rx   )g;(Ì&ß?r¹   éc   )gœþ¥kÍ§Ì1rò   r›  )g…-Ýöái † i�_ c                 óH   — t        t        j                  ||«      |d¬«       y r¼  )r   rŸ   r  )r   rt   r&   rs   s       r   Útest_accuracyzTestPdtrik.test_accuracy�  s   € ô 	œŸ	™	 ! Q›¨°Ö7r   N)r,   r-   r.   r  r  r  rÃ  rÅ  rÈ  rË  rÎ  r0   r   r   rÁ  rÁ  w  s�   „ Ø‡[�[×ÑÐ-Ø)Ø)ð+ó,ñ+ó,ð+ð ‡[�[×Ñ˜S ,Ó/ñ)ó 0ð)ò0ò
8ð ‡[�[×Ñ˜YòIóJñ
8óJñ
8r   rÁ  za, b, p, refr   c                 óF   — t        t        j                  | ||«      |«       y r4   )r   rŸ   rÏ   )r   r   rt   Úrefs       r   Útest_gdtrix_edge_casesrÑ  —  ó   € ô ”—‘˜1˜a Ó# SÕ)r   zp, b, x, refc                 óF   — t        t        j                  | ||«      |«       y r4   )r   rŸ   rÆ   )rt   r   r:   rÐ  s       r   Útest_gdtria_edge_casesrÔ  ¤  rÒ  r   z
y, n, p, k))g–aàú£æ/r¹   r�  rß   )g…UÀ�rò   r�  r›  )gcRÁ¥ÿÿï?rò   r~   iD  )gW"õKÈÿï?r¹   r�  rÌ  c                 óJ   — t        t        j                  | ||«      |d¬«       y )Nr®  r­   )r   rŸ   r  )rÖ   r%   rt   rs   s       r   Útest_bdtrikrÖ  ±  s   € ô ”B—I‘I˜a  AÓ&¨°Ö6r   zp, std, x, refr   r]  c                 óF   — t        t        j                  | ||«      |«       y r4   )r   rŸ   rÚ   )rt   Ústdr:   rÐ  s       r   Útest_nrdtrimn_edge_casesrÙ  ½  s   € ô ”—‘˜Q  QÓ'¨Õ-r   zmn, p, x, refc                 óF   — t        t        j                  | ||«      |«       y r4   )r   rŸ   rá   )Úmnrt   r:   rÐ  s       r   Útest_nrdtrisd_edge_casesrÜ  Ë  s   € ô ”—‘˜R  AÓ&¨Õ,r   r4   ):r/   r*  Únumpyr   Únumpy.testingr   r   r   r  Úscipy.specialÚspecialrŸ   Úscipy.special._testutilsr   r   r   Úscipy.special._mptestutilsr	   r
   r   r   r   r   ÚImportErrorr   r2   r?   rj   rv   r|   rˆ   rŽ   r“   r—   r  Úslowr™   Úfuncsr  r1  r6  rL  rQ  rV  r\  rf  ri  r„  rŸ  r¿  rÁ  rN   rÛ   rÑ  rÔ  rÖ  rÙ  rÜ  rÿ   s   0r   ú<module>ræ     s1  ðñó ã ß KÑ KÛ å ÷,ñ ,÷;õ ;ð%Û÷
ñ ÷$
4ñ 
4÷M4ñ M4ò`ò
Dòóòóò-ð
 ‡�×ÑÙˆv�vÓ÷qEð qEó ó ðqEòh 	€ðF ‡�×Ñ˜¨À5Ö4I¸a°Q°q³TÒ4IÐÓJñó Kðò$"ò$;òNò6ð ‡�×ÑØÚ2Ú6Ú3Ú1Ú7Ú5Ú3Ú1Ú0Ú-Ú#Ú1Ú/ðóñ"/Oó#ð"/Oðb ‡�×ÑØ
òóñóð÷
PJñ PJ÷f16ñ 16÷hwDñ wDðt ‡�×Ñ˜˜s C˜jÓ)ñ!ó *ð!÷8ñ 8ð@ ‡�×Ñ˜Øˆˆ1ˆb�f‰fÐØˆˆ1ˆb�f‰fÐØˆ�‰��2—6‘6ÐØˆ�‰��2—6‘6ÐØ‡V�VˆQ��2—6‘6ÐØ‡V�VˆQ��2—6‘6ÐØ‡V�VˆR�V‰V�Q˜Ÿ™ÐØ‡V�VˆR�V‰V�Q˜Ÿ™Ðð	*ó 	ñ*ó	ð*ð ‡�×Ñ˜Øˆˆ1ˆb�f‰fÐØˆˆ2�6‰6�2—6‘6ÐØˆˆ1ˆb�f‰fÐØˆˆ2�6‰6�1ÐØ‡V�VˆQ��2—6‘6ÐØ‡V�VˆQ�—‘˜Ÿ™ÐØ‡V�VˆQ��2—6‘6ÐØ‡V�VˆQ�—‘˜Ÿ™Ðð	*ó 	ñ*ó	ð*ð ‡�×Ñ˜ò (ó ñ7óð7ð ‡�×ÑÐ)ØˆˆQ�—‘ÐØˆ"�&‰&�!�R—V‘VÐØˆ!ˆR�V‰V�R—V‘VÐØˆ!ˆb�f‰fˆW�r—v‘v�gÐØˆ"�&‰&�"—&‘&˜"Ÿ&™&Ð!Øˆ#ˆr�v‰v�r—v‘vÐØˆ!ˆb�f‰fˆW�r—v‘v�gÐØˆ"ˆa�—‘Ðð	,ó 	ñ.ó	ð.ð ‡�×Ñ˜Øˆˆ1ˆb�f‰fÐØˆˆ1ˆb�f‰fÐØˆˆ2�6‰6�2—6‘6ÐØˆ!ˆQ�—‘ÐØˆ#ˆr�v‰v˜Ÿ™�wÐØˆ#�—‘ˆw˜Ÿ™Ðð+ó ñ-óñ-øðq ò %Ù˜8Ó$ƒFð%üòH 5Js   ¸T Â?T!ÔTÔT