§
    fŠtji~  ã                   óê  — 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n# e$ r  ed¦  «        ZY nw xY w G d„ d¦  «        Z G d	„ d
¦  «        Z G d„ d¦  «        Zd„ Zd„ Zd„ ZdAd„Zd„ ZdAd„Z d„ Z!ej"        j#         eed¦  «         G d„ d¦  «        ¦   «         ¦   «         Z$g d¢Z%ej"         &                    de%d„ e%D ¦   «         ¬¦  «        d„ ¦   «         Z'd„ Z(d„ Z)d„ Z*d„ Z+ej"         &                    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j"         &                    d/g d0¢¦  «        d1„ ¦   «         Z- G d2„ d3¦  «        Z. G d4„ d5¦  «        Z/ej"         &                    d6d7d8g¦  «        d9„ ¦   «         Z0 G d:„ d;¦  «        Z1ej"         &                    d<dddej2        fddd=ej2        fdej3        dej2        fdej3        d=ej2        fej3        ddej2        fej3        dd=ej2        fej3        ej3        dej2        fej3        ej3        d=ej2        fg¦  «        d>„ ¦   «         Z4ej"         &                    d?dddej2        fddej3        ej2        fdd=dej2        fdd=ej3        dfej3        ddej2        fej3        dej3        ej2        fej3        d=dej2        fej3        d=ej3        ej2        fg¦  «        d@„ ¦   «         Z5dS )Bz³
Test cdflib functions versus mpmath, if available.

The following functions still need tests:

- ncfdtridfn
- ncfdtridfd
- ncfdtrinc
- nbdtrik
- nbdtrin
- 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dS )ÚProbArgz*Generate a set of probabilities on [0, 1].c                 ó"   — d| _         d| _        d S )Nr   é   )ÚaÚb©Úselfs    ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/special/tests/test_cdflib.pyÚ__init__zProbArg.__init__$   s   € àˆŒØˆŒˆˆó    c                 óf  — 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ŒLˆÝŒ[˜�bœh s™mœm¨QÑ/Ô/ˆÝŒ[˜˜c 1 q¡5°5Ð9Ñ9Ô9¸!¸"¸"Ô=ˆØ•”�RœX c™]œ]¨C°Ñ3Ô3Ñ3ˆÝŒE�"�b˜"�*ÔˆÝŒy˜‰|Œ|Ðr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r+   © r   r   r   r   !   s8   € € € € € Ø4Ð4ðð ð ð
ð ð ð ð r   r   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚEndpointFilterc                 ó>   — || _         || _        || _        || _        d S ©N)r   r   ÚrtolÚatol)r   r   r   r5   r6   s        r   r   zEndpointFilter.__init__4   s"   € ØˆŒØˆŒØˆŒ	ØˆŒ	ˆ	ˆ	r   c                 óP  — 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__:   s~   € Ý”�q˜4œ6‘zÑ"Ô" T¤Y­r¬v°d´f©~¬~Ñ%=ÀÄ	Ñ%IÒIˆÝ”�q˜4œ6‘zÑ"Ô" T¤Y­r¬v°d´f©~¬~Ñ%=ÀÄ	Ñ%IÒIˆÝŒx˜ ™ u¨dÑ3Ô3Ð3r   N)r,   r-   r.   r   r=   r0   r   r   r2   r2   3   s2   € € € € € ðð ð ð4ð 4ð 4ð 4ð 4r   r2   c                   ó.   — e Zd Z	 	 	 d	d„Zd„ Zd„ Zd„ ZdS )
Ú_CDFDataTé   éˆ  Nc                 óà  — || _         || _        || _        || _        || _        || _        || _        || _        |	| _        t          |t          ¦  «        sd | _        d | _        d S |
€|�wt          |
t          ¦  «        r|
| _        n|
gt          | j        ¦  «        z  | _        t          |t          ¦  «        r	|| _        d S |gt          | j        ¦  «        z  | _        d S d | _        d | _        d S r4   )ÚspfuncÚmpfuncÚindexÚargspecÚspfunc_firstÚdpsr%   r5   r6   Ú
isinstanceÚlistÚ
endpt_rtolÚ
endpt_atolÚlen)r   rC   rD   rE   rF   rG   rH   r%   r5   r6   rK   rL   s               r   r   z_CDFData.__init__A   só   € ð ˆŒØˆŒØˆŒ
ØˆŒØ(ˆÔØˆŒØˆŒØˆŒ	ØˆŒ	å˜'¥4Ñ(Ô(ð 	#Ø"ˆDŒOØ"ˆDŒOˆOˆOØÐ# zÐ'=Ý˜*¥dÑ+Ô+ð AØ",�”�à#- ,­s°4´<Ñ/@Ô/@Ñ"@�”Ý˜*¥dÑ+Ô+ð AØ",�”��à#- ,­s°4´<Ñ/@Ô/@Ñ"@�”��à"ˆDŒOØ"ˆDŒOˆOˆOr   c                 óR  — | j         r  | j        |Ž }t          j        |¦  «        rt          j        S t          |¦  «        }||| j        <   t          j        | j	        ¦  «        5   | j
        t          |¦  «        Ž }t          |j        ¦  «        }d d d ¦  «         n# 1 swxY w Y   nt          j        | j	        ¦  «        5   | j
        |Ž }t          |j        ¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |¦  «        }||| j        <    | j        t          |¦  «        Ž }|S r4   )rG   rC   r   ÚisnanÚnanrJ   rE   r   ÚworkdpsrH   rD   Útupler   Úreal)r   ÚargsÚress      r   Úidmapz_CDFData.idmap^   sŒ  € ØÔð 	,Ø�$”+˜tÐ$ˆCÝŒx˜‰}Œ}ð Ý”v�Ý˜‘:”:ˆDØ"ˆD�”ÑÝ” ¤Ñ)Ô)ð *ð *Ø!�d”k¥5¨¡;¤;Ð/�å ¤Ñ)Ô)�ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *øõ
 ” ¤Ñ)Ô)ð *ð *Ø!�d”k 4Ð(�Ý ¤Ñ)Ô)�ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *õ ˜‘:”:ˆDØ"ˆD�”ÑØ�$”+�u T™{œ{Ð+ˆCØˆ
s$   Á$,BÂB Â#B ÃC,Ã,C0Ã3C0c           	      ó  — | j         €	| j        €d S g }t          | j         | j        | j        ¦  «        D ]X\  }}}|€|€|                     d ¦  «         Œ |€d}n|€d}|                     t          |j        |j        ||¦  «        ¦  «         ŒY|S )Nç        )rK   rL   ÚziprF   Úappendr2   r   r   )r   Úfiltersr5   r6   Úspecs        r   Úget_param_filterz_CDFData.get_param_filterr   s¥   € ØŒ?Ð" t¤Ð'>Ø�4àˆÝ # D¤O°T´_ÀdÄlÑ SÔ Sð 		Gð 		GÑˆD�$˜Øˆ|  Ø—’˜tÑ$Ô$Ð$ØØ�Ø��Ø�Ø�à�NŠN�>¨$¬&°$´&¸$ÀÑEÔEÑFÔFÐFÐFØˆr   c           
      óÂ  — t          | j        | j        ¦  «        }|                      ¦   «         }t	          t          |j        d         ¦  «        ¦  «        }|j        d         }t          j        ||d d …| j	        f          
                    |j        d         d¦  «        f¦  «        }t          | j        |||| j        | j        d|¬¦  «                             ¦   «          d S )Nr   r   F)Úparam_columnsÚresult_columnsr5   r6   Ú
vectorizedÚparam_filter)r   rF   r%   r]   rR   ÚrangeÚshaper   ÚhstackrE   Úreshaper   rV   r5   r6   Úcheck)r   rT   rb   r_   r`   s        r   rg   z_CDFData.checkƒ   sÁ   € å˜œ d¤fÑ-Ô-ˆØ×,Ò,Ñ.Ô.ˆÝ�e D¤J¨q¤MÑ2Ô2Ñ3Ô3ˆØœ AœˆÝŒy˜$  Q Q Q¨¬
 ]Ô 3× ;Ò ;¸D¼JÀq¼MÈ1Ñ MÔ MÐNÑOÔOˆÝ�”˜TØ,¸^Ø”i d¤i¸EØ*ð	,ñ 	,ô 	,÷ -2ªE©G¬G¨G¨G¨Gr   )Tr@   rA   NNNN)r,   r-   r.   r   rV   r]   rg   r0   r   r   r?   r?   @   s^   € € € € € ØDHØ15Ø-1ð#ð #ð #ð #ð:ð ð ð(ð ð ð"
4ð 
4ð 
4ð 
4ð 
4r   r?   c                  óF   — t          | i |¤Ž}|                     ¦   «          d S r4   )r?   rg   )r   ÚkwÚds      r   Ú_assert_invertsrk   �   s%   € Ý�!Ð�rÐÐ€AØ‡G‚G�I„I€I€I€Ir   c                 óL  — 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_cdfrw   •   sŒ   € ÝŒj˜‰mŒm�VœZ¨™]œ]­F¬J°q©M¬Mˆ!€q€AØˆA‚v€vÝŒz˜!‰}Œ}ÐØ	
ˆaŠˆÝŒz˜!‰}Œ}ÐåŒK˜˜1 DÐ)Ñ)Ô)€EÝŒ>˜!˜a™%  Q¡¨5¸dÐCÑCÔ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   é   Trn   )r   rq   rs   )ÚdfnÚdfdr:   ÚubrU   s        r   Ú_f_cdfr}       sy   € Øˆ1‚u€uÝŒz˜!‰}Œ}ÐÝ”*˜S‘/”/¥6¤:¨c¡?¤?µF´J¸q±M´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xY w Y   d S )Nç      à?r   ç      ø?ry   )	r   ÚmprH   rQ   rq   Úhyp2f1ÚgammaÚsqrtÚpi)ÚdfÚtrH   Úfacs       r   Ú_student_t_cdfr‰   ©   s  € Ø
€{ÝŒiŒmˆÝ	Œ˜Ñ	Ô	ð ð Ý”
˜2‘”¥¤
¨1¡¤ˆAˆÝŒm˜C  b¨1¡f¡¨s°Q¸±T°E¸"±HÑ=Ô=ˆØˆq•”˜c 2¨¡6™lÑ+Ô+Ñ+Ñ+ˆØ�vŒ{�6œ9 R™<Ñ(Ô(­¬°c¸"±fÑ)=Ô)=Ñ=Ñ=ˆØ�S‰yðð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð s   ¨B-C"Ã"C&Ã)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 )Nry   r   é   r   )r   Úbesselir„   Úexp)r‡   r†   ÚncrU   s       r   Ú_noncentral_chi_pdfr�   ´   sg   € Ý
Œ.˜˜A™ ™¥6¤;¨r°!©tÑ#4Ô#4Ñ
5Ô
5€CØ�6Œ:˜˜B™�i ‘kÑ"Ô" A b¡D¨B¨q©D°3©JÑ#7Ñ7¸Ñ9Ñ9€CØ€Jr   c                 ó<  ‡‡— |€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xY w Y   d S )Nc                 ó&   •— t          | ‰‰¦  «        S r4   )r�   )r‡   r†   rŽ   s    €€r   ú<lambda>z%_noncentral_chi_cdf.<locals>.<lambda>¿   s   ø€ Õ$7¸¸2¸rÑ$BÔ$B€ r   r   )r   r�   rH   rq   rQ   Úquad)r:   r†   rŽ   rH   rU   s    ``  r   Ú_noncentral_chi_cdfr”   º   sÒ   øø€ Ø
€{ÝŒiŒmˆÝ”
˜1‘”�vœz¨"™~œ~­v¬z¸"©~¬~€I€A€rˆ2Ý	Œ˜Ñ	Ô	ð ð ÝŒkÐBÐBÐBÐBÐBÀQÈÀFÑKÔKˆØðð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á'BÂBÂBc                 ó$   — | |z  d| z
  |z  z
  |z  S ©Nr   r0   )ru   Úlmbdas     r   Ú_tukey_lmbda_quantiler˜   Ã   s   € àˆu‰H˜˜A™ ‘~Ñ% uÑ,Ð,r   z0.19c                   ó^  — e Zd Zej                             d¬¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Z	ej                             d¬¦  «        d„ ¦   «         Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zej                             d¬¦  «        d„ ¦   «         Zd„ Zd„ Zej                             d¬¦  «        d„ ¦   «         Zej                             d¬¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zej                             d¬¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         ZdS )Ú
TestCDFlibF)Úrunc           
      óž   — t          t          j        t          dt	          ¦   «         t          dd¦  «        t	          ¦   «         gd¬¦  «         d S )Nr   r   éè  ç-Cëâ6?©r5   )rk   ÚspÚbdtrikrw   r   r
   r   s    r   Útest_bdtrikzTestCDFlib.test_bdtrikÌ   sJ   € åÝŒIÝØ•‘	”	�6 ! T™?œ?­G©I¬IÐ6Øð		ñ 	ô 	ð 	ð 	ð 	r   c           	      ó¤   — t          t          j        t          dt	          dd¦  «        t          ¦   «         t          ¦   «         gdg d¢¬¦  «         d S )Nr   r�   rž   )NNç�íµ ÷Æ°>©r5   rL   )rk   r    Úbdtrinrw   r
   r   r   s    r   Útest_bdtrinzTestCDFlib.test_bdtrinÔ   sS   € ÝÝŒIÝØ•�q˜$‘”¥¡¤­G©I¬IÐ6ØÐ"4Ð"4Ð"4ð		6ñ 	6ô 	6ð 	6ð 	6ð 	6r   c                 ó¤   — t          t          j        d„ dt          ¦   «         t	          ddd¬¦  «        t	          dddd¬¦  «        gd¬	¦  «         d S )
Nc                 ó2   — t          j        | ||d¬¦  «        S ©NTrn   ©r   rs   ©r   r   r:   s      r   r’   z)TestCDFlib.test_btdtria.<locals>.<lambda>Þ   ó   € �FœN¨1¨a°AÀ4ÐHÑHÔH€ r   r   ç     Àr@F©Úinclusive_ar   ©r°   Úinclusive_bçê-�™—q=rŸ   )rk   r    Úbtdtriar   r	   r   s    r   Útest_btdtriazTestCDFlib.test_btdtriaÛ   se   € ÝÝŒJØHÐHØ•‘	”	�3˜q #°5Ð9Ñ9Ô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	¢¬
¦  «         d S )Nc                 ó2   — 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¥   )rk   r    Úbtdtribr	   r   r   s    r   Útest_btdtribzTestCDFlib.test_btdtribã   sn   € åÝŒJØHÐHØÝ��C UÐ+Ñ+Ô+­W©Y¬YÝ��A 5°eÐ<Ñ<Ô<ð>àØ+Ð+Ð+ð	-ñ 	-ô 	-ð 	-ð 	-ð 	-r   c                 ó¦   — t          t          j        t          dt	          dd¦  «        t          ¦   «         t          ddd¬¦  «        gd¬¦  «         d S )Nr   éd   r   Fr¯   r¹   rŸ   )rk   r    Úfdtridfdr}   r
   r   r	   r   s    r   Útest_fdtridfdzTestCDFlib.test_fdtridfdî   sV   € åÝŒKÝØÝ�A�s‰^Œ^�W™YœY­¨A¨sÀÐ(FÑ(FÔ(FÐGØð	ñ 	ô 	ð 	ð 	ð 	r   c                 ó¨   — t          t          j        d„ dt          ¦   «         t	          ddd¬¦  «        t	          ddd¬¦  «        gdg d¢¬	¦  «         d S )
Nc                 ó6   — t          j        || |z  d¬¦  «        S ©NT©r   rp   ©r   Úgammaincr¬   s      r   r’   z(TestCDFlib.test_gdtria.<locals>.<lambda>ú   ó   € �FœO¨A°°1±À$ÐGÑGÔG€ r   r   ç     @�@Fr¯   g     ˆÃ@r³   ©Nr¹   ç»½×Ùß|Û=r¥   )rk   r    Úgdtriar   r	   r   s    r   Útest_gdtriazTestCDFlib.test_gdtria÷   sl   € ÝÝŒIØGÐGØÝ‰YŒY�˜A˜s°Ð6Ñ6Ô6Ý��C UÐ+Ñ+Ô+ð-àØ*Ð*Ð*ð	,ñ 	,ô 	,ð 	,ð 	,ð 	,r   c                 ó¢   — t          t          j        d„ dt          ddd¬¦  «        t	          ¦   «         t          ddd¬¦  «        gd¬	¦  «         d S )
Nc                 ó6   — 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Ÿ   )rk   r    Úgdtribr	   r   r   s    r   Útest_gdtribzTestCDFlib.test_gdtrib  sc   € åÝŒIØGÐGØÝ��C UÐ+Ñ+Ô+­W©Y¬YÝ��C UÐ+Ñ+Ô+ð-àð	ñ 	ô 	ð 	ð 	ð 	r   c                 ó¨   — t          t          j        d„ dt          ddd¬¦  «        t          ddd¬¦  «        t	          ¦   «         gdg d¢¬	¦  «         d S )
Nc                 ó6   — t          j        || |z  d¬¦  «        S rÃ   rÅ   r¬   s      r   r’   z(TestCDFlib.test_gdtrix.<locals>.<lambda>  rÇ   r   ry   r   rÈ   Fr¯   r¹   rÉ   r¥   )rk   r    Úgdtrixr	   r   r   s    r   Útest_gdtrixzTestCDFlib.test_gdtrix  sl   € ÝÝŒIØGÐGØÝ��C UÐ+Ñ+Ô+­S°°CÀUÐ-KÑ-KÔ-KÝ‰YŒYðàØ*Ð*Ð*ð	,ñ 	,ô 	,ð 	,ð 	,ð 	,r   c                 ó´   — t          t          j        d„ dt          ¦   «         t	          dt
          j        dd¬¦  «        t	          dd¦  «        gd¬	¦  «         d S )
Nc                 ó.   — t          j        || |¦  «        S r4   ©r   Úncdf©r:   ÚyÚzs      r   r’   z*TestCDFlib.test_nrdtrimn.<locals>.<lambda>  ó   € �FœK¨¨1¨aÑ0Ô0€ r   r   çš™™™™™¹?Fr±   g    _ Âg    _ BrÏ   rŸ   )rk   r    Únrdtrimnr   r	   r   Úinfr   s    r   Útest_nrdtrimnzTestCDFlib.test_nrdtrimn  se   € ÝÝŒKØ0Ð0ØÝ‰YŒYÝ�•b”f¨%¸UÐCÑCÔCÝ�˜ÑÔðð ð	ñ 	ô 	ð 	ð 	ð 	r   c                 ó¶   — t          t          j        d„ dt          t          j         ddd¬¦  «        t          ¦   «         t          dd¦  «        gd¬¦  «         d S )	Nc                 ó.   — t          j        || |¦  «        S r4   rØ   rÚ   s      r   r’   z*TestCDFlib.test_nrdtrisd.<locals>.<lambda>(  rÝ   r   r   é
   Fr±   ç}Ã”%­I²TrÏ   rŸ   )rk   r    Únrdtrisdr	   r   rà   r   r   s    r   Útest_nrdtrisdzTestCDFlib.test_nrdtrisd%  se   € ÝÝŒKØ0Ð0ØÝ•"”&�˜"¨%¸UÐCÑCÔCÝ‰YŒYÝ��U‰^Œ^ðð ð	ñ 	ô 	ð 	ð 	ð 	r   c           	      óš   — t          t          j        t          t	          dd¦  «        t          dt          j        ¦  «        gd¬¦  «         d S )Nr   r¾   rÊ   r¹   rŸ   )r   r    Ústdtrr‰   r
   r	   r   rà   r   s    r   Ú
test_stdtrzTestCDFlib.test_stdtr/  sI   € åÝŒHÝÝ�A�s‰^Œ^�S ­¬Ñ/Ô/Ð0°tð	=ñ 	=ô 	=ð 	=ð 	=ð 	=r   c                 ó€   — t          t          j        t          dt	          ¦   «         t          ¦   «         gd¬¦  «         d S )Nr   r¹   rŸ   )rk   r    Ústdtridfr‰   r   r	   r   s    r   Útest_stdtridfzTestCDFlib.test_stdtridf6  s?   € åÝŒKÝØ•‘	”	�3™5œ5Ð!¨ð	.ñ 	.ô 	.ð 	.ð 	.ð 	.r   c           	      óŠ   — t          t          j        t          dt	          dd¦  «        t          ¦   «         gdd dg¬¦  «         d S )Nr   r¾   r¹   rÊ   r¥   )rk   r    Ústdtritr‰   r
   r   r   s    r   Útest_stdtritzTestCDFlib.test_stdtrit=  sJ   € ÝÝŒJÝØ•�q˜#‘”¥¡	¤	Ð*°Ø˜e�}ð		&ñ 	&ô 	&ð 	&ð 	&ð 	&r   c           
      ó|   — t          t          j        d„ dt          ¦   «         t	          dd¦  «        gd¬¦  «         d S )Nc                 ó<   — t          j        | dz  |dz  d¬¦  «        S )Nry   TrÄ   rÅ   )r*   r:   s     r   r’   z)TestCDFlib.test_chdtriv.<locals>.<lambda>G  s   € �œ¨¨1©°°!±ÀÐFÑFÔF€ r   r   r   r¾   rž   rŸ   )rk   r    Úchdtrivr   r
   r   s    r   Útest_chdtrivzTestCDFlib.test_chdtrivD  sF   € ÝÝŒJØFÐFØ•‘	”	�6 ! S™>œ>Ð*°ð	7ñ 	7ô 	7ð 	7ð 	7ð 	7r   c                 ó®   — t          t          j        t          dt	          ddd¬¦  «        t          ¦   «         t	          ddd¬¦  «        gddd¬	¦  «         d S )
Nr   r   r¾   Fr¯   r�   rž   rº   ©r%   r5   r6   )rk   r    Ú	chndtridfr”   r	   r   r   s    r   Útest_chndtridfzTestCDFlib.test_chndtridfK  se   € õ 	ÝŒ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	¬
¦  «         d S )Nry   r   r¾   Fr¯   r   r�   rž   rº   rö   )rk   r    Ú	chndtrincr”   r	   r
   r   r   s    r   Útest_chndtrinczTestCDFlib.test_chndtrincU  s[   € õ 	ÝŒ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	¢¬
¦  «         d S )Nr   r   r¾   Fr¯   r�   rž   rº   )r¤   NN)r%   r5   r6   rL   )rk   r    Úchndtrixr”   r   r
   r	   r   s    r   Útest_chndtrixzTestCDFlib.test_chndtrix^  sb   € åÝŒKÝØ•‘	”	�6 ! S™>œ>­3¨q°#À5Ð+IÑ+IÔ+IÐJØ˜ EØ)Ð)Ð)ð	+ñ 	+ô 	+ð 	+ð 	+ð 	+r   c                 óx   ‡— t          j        d¦  «        Št          d„ ˆfd„t          ¦   «         gd¬¦  «         d S )Nr   c                 ó,   — t          j        | d¦  «        S )Nr   )r    Útklmbda©r:   s    r   r’   z4TestCDFlib.test_tklmbda_zero_shape.<locals>.<lambda>k  s   € •b”j  AÑ&Ô&€ r   c                 ó:   •— ‰t          j        |  ¦  «        ‰z   z  S r4   )r   r�   )r:   Úones    €r   r’   z4TestCDFlib.test_tklmbda_zero_shape.<locals>.<lambda>l  s   ø€ �c�6œ: q b™>œ>¨CÑ/Ñ0€ r   r¹   rŸ   )r   rq   r   r	   )r   r  s    @r   Útest_tklmbda_zero_shapez"TestCDFlib.test_tklmbda_zero_shapeg  sN   ø€ åŒj˜‰mŒmˆÝØ&Ð&Ø0Ð0Ð0Ð0Ý‰UŒUˆG˜$ð	 ñ 	 ô 	 ð 	 ð 	 ð 	 r   c                 ó�   — t          t          j        t          dt	          ¦   «         t          ddd¬¦  «        gddddg¬¦  «         d S )Nr   içÿÿÿF)r²   rÏ   ç•Ö&è.>)rG   r5   rL   ©rk   r    r  r˜   r   r	   r   s    r   Útest_tklmbda_neg_shapez!TestCDFlib.test_tklmbda_neg_shapeo  sT   € ÝÝŒJÝ!Ø•‘	”	�3˜s A°5Ð9Ñ9Ô9Ð:Ø TØ˜d�|ð	%ñ 	%ô 	%ð 	%ð 	%ð 	%r   c                 óŠ   — t          t          j        t          dt	          ¦   «         t          ddd¬¦  «        gdd¬¦  «         d S )Nr   r¾   Fr¯   rÏ   )rG   r5   r  r   s    r   Útest_tklmbda_pos_shapez!TestCDFlib.test_tklmbda_pos_shapew  sM   € åÝŒJÝ!Ø•‘	”	�3˜q #°5Ð9Ñ9Ô9Ð:Ø Tð		+ñ 	+ô 	+ð 	+ð 	+ð 	+r   r—   )r   ç      ð?ç       @c                 ó`   — d|z  }t          t          j        | |g|¦  «        ddg¦  «         d S )Nr   rX   r  )r   r    r  )r   r—   Úbounds      r   Útest_tklmbda_lmbda1zTestCDFlib.test_tklmbda_lmbda1€  s7   € à�%‘ˆÝ•R”Z % ¨ °Ñ7Ô7¸#¸s¸ÑDÔDÐDÐDÐ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  r0   r   r   rš   rš   È   s7  € € € € € ð „[×Ò˜5ÐÑ!Ô!ðð ñ "Ô!ðð6ð 6ð 6ðð ð ð	-ð 	-ð 	-ð „[×Ò˜5ÐÑ!Ô!ðð ñ "Ô!ðð,ð ,ð ,ðð ð ð,ð ,ð ,ð ð ð ðð ð ð=ð =ð =ð „[×Ò˜5ÐÑ!Ô!ð.ð .ñ "Ô!ð.ð&ð &ð &ð7ð 7ð 7ð „[×Ò˜5ÐÑ!Ô!ð+ð +ñ "Ô!ð+ð „[×Ò˜5ÐÑ!Ô!ð+ð +ñ "Ô!ð+ð+ð +ð +ð ð  ð  ð%ð %ð %ð „[×Ò˜5ÐÑ!Ô!ð+ð +ñ "Ô!ð+ð „[×Ò˜W o o oÑ6Ô6ðEð Eñ 7Ô6ðEð Eð Er   rš   ))r´   r   )r»   r   )r¡   r   )r¦   r   )ró   ry   )Ú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   )Úpdtrikry   )ré   ry   )rï   ry   )rì   ry   )Únctdtrr   )Únctdtritr   )Ú	nctdtridfr   )Ú	nctdtrincr   )r  ry   zfunc,numargsc                 ó   — g | ]
}|d          ‘ŒS )r   r0   ©Ú.0r:   s     r   ú
<listcomp>r%  ©  s   € Ð4IÐ4IÐ4I¸a°Q°q´TÐ4IÐ4IÐ4Ir   )Úidsc                 ó@  — t           j                             d¦  «        }t          t          | ¦  «        } d„ |                     |¦  «        D ¦   «         }t          j        |Ž D ];} | |Ž }t          d„ |D ¦   «         ¦  «        rt          |t           j	        ¦  «         Œ;Œ<d S )Nl   7'}?J-0 c                 ór   — g | ]4}t          |¦  «        t          j        t          j        t          j         f‘Œ5S r0   )Úfloatr   rP   rà   r#  s     r   r%  z"test_nonfinite.<locals>.<listcomp>®  s/   € ÐUÐUÐU¸A•U˜1‘X”X�rœv¥r¤vµ´¨wÐ7ÐUÐUÐUr   c              3   ó>   K  — | ]}t          j        |¦  «        V — Œd S r4   ©r   rO   r#  s     r   ú	<genexpr>z!test_nonfinite.<locals>.<genexpr>³  s*   è è € Ð)Ð)˜q�rŒx˜‰{Œ{Ð)Ð)Ð)Ð)Ð)Ð)r   )
r   ÚrandomÚdefault_rngÚgetattrr    Ú	itertoolsÚproductÚanyr   rP   )ÚfuncÚnumargsÚrngÚargs_choicesrT   rU   s         r   Útest_nonfiniter7  ©  s­   € õ Œ)×
Ò
Ð 0Ñ
1Ô
1€CÝ•2�tÑÔ€DØUÐUÀÇÂÈGÑATÔATÐUÑUÔU€LåÔ! <Ð0ð 	ð 	ˆØˆd�DˆkˆåÐ)Ð) DÐ)Ñ)Ô)Ñ)Ô)ð 	å˜�bœfÑ%Ô%Ð%Ð%ð ð	ð 	r   c                  ó„   — t          j        ddt          j        d¦  «        dz   ¦  «        } g d¢}t	          | |¦  «         d S )Ngé!çýÿï?ry   ç      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   )rU   Úres_exps     r   Útest_chndtrix_gh2158r<  ¼  sK   € å
Œ+�h ¥2¤9¨S¡>¤>°$Ñ#6Ñ
7Ô
7€Cð5ð 5ð 5€Gõ �C˜Ñ!Ô!Ð!Ð!Ð!r   c                  óx   — g d¢} g d¢}g d¢}g d¢}t          j        | ||¦  «        }t          ||dd¬¦  «         d S )N)
çü©ñÒMbP?ç\�Âõ(\ï?çš™™™™™#@éb   éÔ  i'  rA  r@  r?  r>  )
r>  rÞ   r   çš™™™™™é?ç+‡ÙÎ÷ï?r>  rÞ   r   rC  rD  )
çú~j¼t“X?ç333333Ã?r€   é   é,  rE  rF  r€   rG  rH  )
ç�K ·Ë¸@gtúIŽö?çx9ô" @g.$Bt+@gÜO, oq@rI  gZcÖ^æö?rJ  g„… ¬²³@gÂ¥j²Àç•dyáý•=rX   ©r5   r6   )r    r!  r   )ÚdfarrÚparrÚtarrÚdesiredÚactuals        r   Útest_nctdtrinc_gh19896rR  Î  si   € ð EÐDÐD€EØEÐEÐE€DØCÐCÐC€Dð#ð #ð #€Gõ Œ\˜%  tÑ,Ô,€FÝ�F˜G¨%°cÐ:Ñ:Ô:Ð:Ð:Ð:r   c                  óV  — 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 ‚d S )Nç      ð¿rX   r  )rX   ç      Ð?r   g      è?r  )r   ÚallrO   r    ré   rà   rï   r0   r   r   Útest_stdtr_stdtrit_neg_infrW  Ü  s€   € åŒ6•"”(�2œ8¥R¤V G­r¬v¨g°t¸SÀ#ÅrÄvÐ-NÑOÔOÑPÔPÑQÔQÐQÐQÐQÝŒ6•"”(�2œ:¥r¤v gÐ/JÐ/JÐ/JÑKÔKÑLÔLÑMÔMÐMÐMÐMÐMÐMr   c                  ó*  — 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 ‚d S )	Ng      $ÀrT  rX   rÏ   r   g§èH.ÿï?r  ç      $@)
r   ÚarrayrP   rà   Ú
atleast_2drV  rO   r    r¡   r  )rÛ   ru   s     r   Útest_bdtrik_nbdtrik_infr\  â  sß   € Ý
ŒÝ	Œ•”�˜˜t S¨&°"°f¸cÀ4ÍÌÐPñ	Rô 	R€Aà	ˆ!ˆ!ˆ!ˆDˆ&Œ	€AÝ
ŒÝ	Œ•"”&�˜%  s¨F°B¸½R¼VÐDñ	Fô 	F€AåŒ6•"”(�2œ9 Q­¬°Ñ2Ô2Ñ3Ô3Ñ4Ô4Ð4Ð4Ð4ÝŒ6•"”(�2œ: a­¬°Ñ3Ô3Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5Ð5Ð5r   zdfn,dfd,nc,f,expected_cdf)r¸   rÞ   rÞ   r¸   gÉ,‰õ]Ó?)r¸   r¸   ç{®Gáz„?rÞ   gŸÔsC´r«:)r¸   r]  rÞ   r]  gn¼ähûUg?)rY  r]  r  rÞ   g³%g{E‰?)r¸   r¸   r]  r]  gû 	�À
1)r  r¸   r¸   rÞ   gÚž^)Ãk;)r  r]  r¸   rY  gl€öñB‰?)r  r]  rY  r]  g)Dt^\Ã,?)rY  r  rÞ   r¸   gµ�žå|€í?)rÞ   rÞ   r  r  g�º²•’Ô?)r¸   r¸   rÞ   rY  r  )r  rÞ   r¸   rY  g„*}€ö�?)g0Žä.ÿ++r   r€   rå   g0ìJ§ý“ã?c                 óÊ   — t          t          j        | |||¦  «        |dd¬¦  «         d|cxk     rdk     r-n d S t          t          j        | |||¦  «        |d¬¦  «         d S d S )Nç‚vIhÂ%<=r   rL  r   g»½×Ùß|Ë=rŸ   )r   r    r  r  )rz   r{   rŽ   ÚfÚexpected_cdfs        r   Útest_ncfdtr_ncfdtrirb  ì  s†   € õx •B”I˜c 3¨¨AÑ.Ô.°À5ÈqÐQÑQÔQÐQð 	ˆ<ÐÐÒÐ˜!ÒÐÐÐÐÐÝ�œ
 3¨¨R°Ñ>Ô>ÀÈÐNÑNÔNÐNÐNÐNð Ðr   rT   ))rT  rÞ   rÞ   r   )r   rT  rÞ   r   )r   r   rT  r   )r   r   r   r¾   )r   r   r   éÿÿÿÿc                 óî   — t          j        d¬¦  «        5  t          j        t           j        d¬¦  «        5  t          j        | Ž  d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S ©NÚraise)Údomainrg  )Úmatch)r    Úerrstater  ÚraisesÚSpecialFunctionErrorr  )rT   s    r   Útest_ncfdtri_domain_errorrl  .  sõ   € õ 
Œ˜GÐ	$Ñ	$Ô	$ð ð ÝŒ]�2Ô2¸(ÐCÑCÔCð 	ð 	ÝŒJ˜ÐÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s4   –!A*·AÁA*ÁA	ÁA*ÁA	ÁA*Á*A.Á1A.c                   óŽ  — e Zd Ze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                             dD¬E¦  «        ¬F¦  «        ‘dG‘¦  «        dH„ ¦   «         ZdI„ Z	ej                             dJg dK¢g dL¢g dM¢g dN¢dOdOe
j        dOdPgdOdOe
j         dPdPgg¦  «        dQ„ ¦   «         Zej                             dg dR¢¦  «        dS„ ¦   «         ZdTS )UÚTestNoncentralTFunctionszdf, nc, x, expected_cdf)r?  çffffffÀrE  gDÁŸ iÿï?)r?  ro  rF  gì‘�ÿï?)r?  ro  r€   g7ùàìÿï?©r?  ro  rG  g’Uõýÿï?)r?  çR¸…ëQØ?rE  g�¢Žù�Ö?)r?  rq  rF  g�‚x$—pÙ?)r?  rq  r€   g7´ü˜Šðæ?)r?  rq  rG  gÙ]Å§eæî?)r?  çffffff@rE  gæ¨¼¶¢?)r?  rr  rF  g:ëô›GF ?)r?  rr  r€   g›‡¦pa¢?)r?  rr  rG  gÅfO!˜té?)r?  é&   rE  gö¥    )r?  rs  rF  gQýb] ©r?  rs  r€   g¡•˜˜y·á+)r?  rs  rG  guàQ‡Rmˆ?)r@  ro  rE  g/C÷*iÿï?)r@  ro  rF  g.b†ý«ÿï?)r@  ro  r€   gI'vÿÿï?)r@  ro  rG  gòÿÿÿÿÿï?)r@  rq  rE  gÅÑ•��Ö?)r@  rq  rF  gDñ¶-¡Ú?)r@  rq  r€   gÂy�0 ë?)r@  rq  rG  g¹£CÚÿÿï?)r@  rr  rE  g¾ýî¦í?)r@  rr  rF  g:ÇÓýe!?)r@  rr  r€   g®ÿáhš‹?)r@  rr  rG  gö�¾Åþï?)r@  rs  rE  g‘+®    )r@  rs  rF  g¬PDp   )r@  rs  r€   gÜÓý‰§úM©r@  rs  rG  gµgS>^X#>)rA  ro  rE  gËNG0iÿï?)rA  ro  rF  g%WØ­ÿï?)rA  ro  r€   g�©¬Úÿÿï?)rA  ro  rG  r  )rA  rq  rE  g� aYÒ�Ö?)rA  rq  rF  g—pk„u+Ú?)rA  rq  r€   gZVq˜ºë?)rA  rq  rG  r  )rA  rr  rE  g·_a¨—?)rA  rr  rF  gþÐ+³,!?)rA  rr  r€   gqgÕb‚†?)rA  rr  rG  göÿÿÿÿÿï?)rA  rs  rE  gQ¯    )rA  rs  rF  g%µåQ   )rA  rs  r€   g®Th- 1)rA  rs  rG  g¹ÅÂ¤5)rB  ro  rE  geKÑ0iÿï?)rB  ro  rF  gº®ÿï?)rB  ro  r€   gjÍSàÿÿï?)rB  ro  rG  r  )rB  rq  rE  g|Så³×�Ö?)rB  rq  rF  gfG¾—’-Ú?)rB  rq  r€   gî^œ"Êë?)rB  rq  rG  r  )rB  rr  rE  gm‡ôç¨?)rB  rr  rF  g¨|q¢]/!?)rB  rr  r€   g+%Î±s†?)rB  rr  rG  r  )rB  rs  rE  gèn¯    )rB  rs  rF  gmÓ   rB  rs  r€   gÒDd‡™‡z+Bug in underlying Boost math implementation)Úreason)Úmarks)rB  rs  rG  g>ø�ØéÍH*c                 óX   — t          j        |||¦  «        }t          ||dd¬¦  «         d S )Nr_  gÃ‚ÊñrL  )r    r  r   )r   r†   rŽ   r:   ra  Únctdtr_results         r   Útest_gh19896z%TestNoncentralTFunctions.test_gh19896c  s5   € õV œ	 " b¨!Ñ,Ô,ˆÝ˜ |¸%ÀfÐMÑMÔMÐMÐMÐMr   c                 ób   — d\  }}}d}t          t          j        |||¦  «        |d¬¦  «         d S )N)é¸  r   rÞ   ç-ö£‘^?g›+¡†›„=rŸ   ©r   r    r  )r   r†   rŽ   r:   Úexpecteds        r   Útest_nctdtr_gh8344z+TestNoncentralTFunctions.test_nctdtr_gh8344±  s;   € à ‰	ˆˆB�Ø(ˆÝ�œ	 " b¨!Ñ,Ô,¨h¸UÐCÑCÔCÐCÐCÐCr   zdf, nc, x, expected, rtol)ç      @g      @g       ÀgÂéGƒèà>g:Œ0âŽyU>)rÈ   rY  r  g³ÿ™'$ö <r_  )rÏ   g      Àç       @g¡jxÿÿÿï?r_  )rY  r9  rF  ge¸*ömtÔ-r_  r  rX   c                 óR   — t          t          j        |||¦  «        ||¬¦  «         d S )NrŸ   r~  )r   r†   rŽ   r:   r  r5   s         r   Útest_nctdtr_accuracyz-TestNoncentralTFunctions.test_nctdtr_accuracy·  s-   € õ 	�œ	 " b¨!Ñ,Ô,¨h¸TÐBÑBÔBÐBÐBÐBr   )rt  )r|  r   rÞ   r}  rp  ru  c                 óR   — t          t          j        |||¦  «        |d¬¦  «         d S )NrÊ   rŸ   )r   r    r  )r   r†   rŽ   r:   ra  s        r   Útest_nctdtritz&TestNoncentralTFunctions.test_nctdtritÆ  s-   € õ 	�œ B¨¨LÑ9Ô9¸1À5ÐIÑIÔIÐIÐIÐIr   N)r,   r-   r.   r  r  r  Úparamr  rz  r€  r   rà   r„  r†  r0   r   r   rn  rn  ;  sp  € € € € € ðP „[×ÒÐ6ð E9Ø0ðE9à.ðE9ð 	.ðE9ð 	-ð	E9ð
 	/ðE9ð 	0ðE9ð 	-ðE9ð 	-ðE9ð 	2ðE9ð 	2ðE9ð 	/ðE9ð 	,ðE9ð 	,ðE9ð 	1ðE9ð 	/ðE9ð  	-ð!E9ð" 	0ð#E9ð$ 	.ð%E9ð& 	-ð'E9ð( 	,ð)E9ð* 	0ð+E9ð, 	/ð-E9ð. 	-ð/E9ð0 	,ð1E9ð2 	2ð3E9ð4 	1ð5E9ð6 	.ð7E9ð8 	*ð9E9ð: 	+ð;E9ð< 	,ð=E9ð> 	0ð?E9ð@ 	-ðAE9ðB 	/ðCE9ðD 	-ðEE9ðF 	,ðGE9ðH 	ðIE9ðJ 	0ðKE9ðL 	.ðME9ðN 	,ðOE9ðP 	ðQE9ðR 	1ðSE9ðT 	/ðUE9ðV 	-ðWE9ðX 	*ðYE9ðZ 	*ð[E9ð\ 	*ð]E9ð^ 	/ð_E9ð` 	-ðaE9ðb 	0ðcE9ðd 	.ðeE9ðf 	-ðgE9ðh 	ðiE9ðj 	0ðkE9ðl 	.ðmE9ðn 	-ðoE9ðp 	ðqE9ðr 	2ðsE9ðt 	1ðuE9ðv 	.ðwE9ðx 	ðyE9ðz 	*ð{E9ð| 	+ð}E9ðB 	ˆŒ�S˜"˜cÐ#:Ø!œ;×,Ò,ØLð -ñ Nô Nð	Oñ 	Oô 	OðCE9ðH 	.ðIE9ñ Eô EðLNð NñMEô EðLNðDð Dð Dð „[×ÒØ#ð 
5Ð	4Ð	4Ø	8Ð	8Ð	8Ø	3Ð	3Ð	3Ø	7Ð	7Ð	7Ø
ˆb�"”&˜#˜sÐ	#Ø
ˆb�2”6�'˜3 Ð	$ð	
ñ	ô ðCð Cñô ðCð „[×ÒÐ6ð 9ð 9ð 9ñ ô ðJð Jñô ðJð Jð Jr   rn  c                   óJ  — e Zd Zd„ Zej                             dg d¢¦  «        d„ ¦   «         Zej                             ddddej	        fej	        dfg¦  «        d	„ ¦   «         Z
ej                             d
ej        ej        ej        ej        g¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         Zej                             d
ej        ej        ej        ej        g¦  «        e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                             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dS )Ú!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¬¦  «         d S )N)ç      9@r9  é�  g¢ÚLÞ94)r‹  r  éú   g7ÅF�hþ9)r>  r  ç      D@g‰gÃ¥cÿ;)r]  r  rŽ  g	®¼åð;)r9  r‚  ék   g8»x@xò>)g     €6@r‚  r�  g—÷g1\’>>)r‹  r‚  r�  g‘ÎÜë²`>)r�  r‚  r  gpˆ!PÜã?)g     àu@r®   rY  g jû¨
î?)r¸   ç      +@rY  g]þÿÿï?)g     à…@r9  rŒ  g4Û™ÿÿÿï?)g     Àb@r�  rY  gþÿÿÿÿÿï?)g      d@r�  rY  r  r   r   ry   r   r_  rŸ   éþÿÿÿg:Œ0âŽyE>)r   rZ  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Ó  s  € õ ”Ø9Ð9Ð9Ø9Ð9Ð9Ø9Ð9Ð9Ø:Ð:Ð:Ø9Ð9Ð9Ø9Ð9Ð9Ø9Ð9Ð9Ø6Ð6Ð6Ø6Ð6Ð6Ø6Ð6Ð6Ø6Ð6Ð6Ø6Ð6Ð6Ø6Ð6Ð6ð
ñ ô ˆõ Œi˜˜q˜q˜q !˜tœ f¨Q¨Q¨Q°¨T¤l°F¸1¸1¸1¸a¸4´LÑAÔAˆÝ˜˜V A A A q Dœ\°Ð6Ñ6Ô6Ð6õ ŒK˜˜q˜q˜q !˜tœ f¨Q¨Q¨Q°¨T¤l°F¸1¸1¸1¸a¸4´LÑAÔAˆÝ˜˜#˜2˜#œ  s¨ s¨A v¤°TÐ:Ñ:Ô:Ð:ÝŒ\˜&    A œ,¨¨q¨q¨q°!¨t¬°f¸Q¸Q¸QÀ¸T´lÑCÔCˆÝ˜˜3˜B˜3œ ¨¨¨¨Q¨¤°dÐ;Ñ;Ô;Ð;ÝŒ\˜&    A œ,¨¨q¨q¨q°!¨t¬°f¸Q¸Q¸QÀ¸T´lÑCÔCˆÝ˜˜3˜B˜3œ ¨¨¨¨Q¨¤°dÐ;Ñ;Ô;Ð;Ð;Ð;r   z+x, df, nc, expected_cdf, rtol_cdf, rtol_inv))rÞ   éÈ   é2   g
8DÙLÞr_  r_  )r³   r@   r•  gúÔ¯ÉÆ"r_  r_  )r   r”  r•  ggâIË˜r_  r_  )g     ùõ@g     jø@rÈ   grd\\š´"rK  rK  )é   r   r€   g³k´ú˜ÿï?çê-�™—a=r—  )éô  rH  r€   gÉ;ÿÿÿÿï?r_  rÏ   )ix  r–  rÈ   g¼À.ëÿÿï?r_  r  )rŒ  r•  r”  g#÷%õÿï?r_  g•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¬¦  «         d S )NrŸ   r¹   rÏ   )r    r  r   rý   r÷   rú   )r   r:   r†   rŽ   ra  Úrtol_cdfÚrtol_invÚchndtr_results           r   Ú
test_tailsz,TestNoncentralChiSquaredFunctions.test_tails  s  € õ œ	 ! R¨Ñ,Ô,ˆÝ˜ |¸(ÐCÑCÔCÐCÝ�œ L°"°bÑ9Ô9¸1À8ÐLÑLÔLÐLÝ�œ Q¨°bÑ9Ô9¸2ÀHÐMÑMÔMÐMÝ�œ Q¨¨LÑ9Ô9¸2ÀHÐMÑMÔMÐMõ 	�œ M°2°rÑ:Ô:¸AÀHÐMÑMÔMÐMÝ�œ Q¨°rÑ:Ô:¸BÀTÐJÑJÔJÐJÝ�œ Q¨¨MÑ:Ô:¸BÀTÐJÑJÔJÐJÐJÐJr   zx, df)r   r   )r   r   r   c                 óx   — t          t          j        ||d¦  «        t          j        ||¦  «        d¬¦  «         d S )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_chdtr  s7   € õ 	�œ	 ! R¨Ñ+Ô+­R¬X°b¸!©_¬_À5ÐIÑIÔIÐIÐIÐIr   ÚfunrT   ))rc  r   r   )r   rc  r   )r   r   rc  )rc  rc  r   )rc  r   rc  )r   rc  rc  )rc  rc  rc  c                 óÜ   — t          j        d¬¦  «        5  t          j        t           j        d¬¦  «        5   ||Ž  d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S re  )r    ri  r  rj  rk  )r   rT   r¡  s      r   Útest_domain_errorz3TestNoncentralChiSquaredFunctions.test_domain_error$  só   € õ Œ[ Ð(Ñ(Ô(ð 	ð 	Ý”�rÔ6¸hÐGÑGÔGð ð Ø��T�
�
ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s3   –!A!·A	½A!Á	A	ÁA!ÁA	ÁA!Á!A%Á(A%c                 ó8   — t          j         ||Ž ¦  «        sJ ‚d S r4   r+  )r   r¡  rT   s      r   Útest_nan_propagationz6TestNoncentralChiSquaredFunctions.test_nan_propagation0  s&   € õ Œx˜˜˜T˜
Ñ#Ô#Ð#Ð#Ð#Ð#Ð#r   zx, df, nc, expectedr   c                 óR   — t          t          j        |||¦  «        |d¬¦  «         d S ©Nrº   rŸ   )r   r    r  )r   r:   r†   rŽ   r  s        r   Útest_chndtr_edge_casesz8TestNoncentralChiSquaredFunctions.test_chndtr_edge_cases;  s-   € õ 	�œ	 ! R¨Ñ,Ô,¨h¸UÐCÑCÔCÐCÐCÐCr   N)r,   r-   r.   r“  r  r  r  r�  r   rà   r   r    r  rý   r÷   rú   r£  rP   r¥  r¨  r0   r   r   r‰  r‰  Ñ  sÀ  € € € € € ð<ð <ð <ðh „[×ÒØ5ð	;ð 	;ð 	;ñ
ô 
ð
Kð 
Kñ
ô 
ð
Kð „[×Ò˜WØ	�˜!˜RœV˜ r¤v¨q kÐ2ñô ðJð Jñô ðJð „[×Ò˜UØ	Œ�B”K ¤¨r¬|Ð<ñô ð „[×Ò˜Vð	1ð 	1ð 	1ñô ðð ñ	ô ñô ðð
 „[×Ò˜UØ	Œ�B”K ¤¨r¬|Ð<ñô ð „[×Ò˜VØ
Œ&�!�Qˆ˜!˜RœV Q˜¨!¨Q°´¨Ø
Œ&�"”&˜!Ð	˜rœv q¨"¬&Ð1°A°r´v¸r¼vÐ3FØ
Œ&�"”&˜"œ&Ð	!ð	#ñô ð
$ð $ñô ñô ð$ð „[×ÒØØ
ˆQ��2”6Ð	Ø
ˆQ�”˜œÐ	Ø
ˆRŒV�Q˜œÐ	Ø
ˆRŒV�R”V˜QÐ	Ø
ˆQ�”˜Ð	Ø
Œ&�!�Q˜œÐ	Ø
Œ&�!�R”V˜RœVÐ	$Ø
Œ&�!�Q˜Ð	Ø
Œ&�"”&˜"œ& "¤&Ð	)ð	+ñô ðDð Dñô ðDð Dð Dr   r‰  r:   rÞ   r¾   c                 ó<   — t          j        d| ¦  «        dk    sJ ‚d S )Nr   r   )r    ró   r  s    r   Ú!test_chdtriv_p_equals_1_returns_0rª  K  s%   € åŒ:�a˜ÑÔ˜qÒ Ð Ð Ð Ð Ð r   c                   óú   — e Zd Zej                             dddg¦  «        d„ ¦   «         Zej                             dd¦  «        d„ ¦   «         Zd„ Zd	„ Z	ej                             d
g d¢¦  «        d„ ¦   «         Z
dS )Ú
TestPdtrikzp, m, expected)r   r   r   )r   r   r   c                 ó<   — t          j        ||¦  «        |k    sJ ‚d S r4   )r    r  )r   ru   r&   r  s       r   Útest_edge_caseszTestPdtrik.test_edge_casesQ  s%   € õ Œy˜˜A‰Œ (Ò*Ð*Ð*Ð*Ð*Ð*r   r&   )rÞ   r   rä   c                 óX   — t          j        t          j        d|¦  «        ¦  «        sJ ‚d S r–   )r   rO   r    r  )r   r&   s     r   Útest_p_equals_1_returns_nanz&TestPdtrik.test_p_equals_1_returns_nanW  s(   € åŒx�œ	 ! Q™œÑ(Ô(Ð(Ð(Ð(Ð(Ð(r   c                 ó„   — t          j        dgdgdggg d¢¦  «        }t          |t          j        d¦  «        ¦  «         d S )Nr   rU  gffffffî?)r   g#B’¡œÇ;r¤   )r   r   )r    r  r   r   Úzeros)r   rt   s     r   Útest_small_probabilitiesz#TestPdtrik.test_small_probabilities[  sG   € åŒI˜�s˜T˜F T FÐ+Ð-=Ð-=Ð-=Ñ>Ô>ˆÝ˜1�bœh vÑ.Ô.Ñ/Ô/Ð/Ð/Ð/r   c                 ó†   — g d¢}d}t          j        ||¦  «        }t          t          j        ||¦  «        |d¬¦  «         d S )N)rä   r•  r˜  é   rº   rŸ   )r    Úpdtrr   r  )r   r&   rt   ru   s       r   Útest_roundtrip_against_pdtrz&TestPdtrik.test_roundtrip_against_pdtr`  sD   € ØˆMˆMˆØˆÝŒG�A�q‰MŒMˆÝ�œ	 ! Q™œ¨°Ð7Ñ7Ô7Ð7Ð7Ð7r   zp, m, k))gG™:Ð‡°7r¾   ry   )g;(Ì&ß?r¾   éc   )gœþ¥kÍ§Ì1r�   r˜  )g…-Ýöái † i�_ c                 óP   — t          t          j        ||¦  «        |d¬¦  «         d S r§  )r   r    r  )r   ru   r&   rt   s       r   Útest_accuracyzTestPdtrik.test_accuracyf  s)   € õ 	�œ	 ! Q™œ¨°Ð7Ñ7Ô7Ð7Ð7Ð7r   N)r,   r-   r.   r  r  r  r®  r°  r³  r·  rº  r0   r   r   r¬  r¬  P  sä   € € € € € Ø„[×ÒÐ-Ø)Ø)ð+ñ,ô ,ð+ð +ñ,ô ,ð+ð „[×Ò˜S ,Ñ/Ô/ð)ð )ñ 0Ô/ð)ð0ð 0ð 0ð
8ð 8ð 8ð „[×Ò˜YðIð Ið IñJô Jð
8ð 8ñJô Jð
8ð 8ð 8r   r¬  za, b, p, refr   c                 óN   — t          t          j        | ||¦  «        |¦  «         d S r4   )r   r    rÔ   )r   r   ru   Úrefs       r   Útest_gdtrix_edge_casesr½  p  ó(   € õ •”˜1˜a Ñ#Ô# SÑ)Ô)Ð)Ð)Ð)r   zp, b, x, refc                 óN   — t          t          j        | ||¦  «        |¦  «         d S r4   )r   r    rË   )ru   r   r:   r¼  s       r   Útest_gdtria_edge_casesrÀ  }  r¾  r   r4   )6r/   r0  Ú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?   rk   rw   r}   r‰   r�   r”   r˜   r  Úslowrš   Úfuncsr  r7  r<  rR  rW  r\  rb  rl  rn  r‰  rª  r¬  rP   rà   r½  rÀ  r0   r   r   ú<module>rÊ     s;  ððð ð Ð Ð Ð à Ð Ð Ð Ø KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KØ €€€à Ð Ð Ð Ð Ð ð,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð%Ø€M€M€M€MøØð %ð %ð %Øˆ]˜8Ñ$Ô$€F€F€Fð%øøøðð ð ð ð ñ ô ð ð$
4ð 
4ð 
4ð 
4ð 
4ñ 
4ô 
4ð 
4ðM4ð M4ð M4ð M4ð M4ñ M4ô M4ð M4ð`ð ð ð
Dð Dð Dðð ð ðð ð ð ðð ð ðð ð ð ð-ð -ð -ð
 „ÔØ€ˆv�vÑÔðyEð yEð yEð yEð yEñ yEô yEñ Ôñ ÔðyEðx 	ð  	ð  	€ðF „×Ò˜¨Ð4IÐ4IÀ5Ð4IÑ4IÔ4IÐÑJÔJðð ñ KÔJðð$"ð "ð "ð$;ð ;ð ;ðNð Nð Nð6ð 6ð 6ð „×ÒØØ2Ð2Ð2Ø6Ð6Ð6Ø3Ð3Ð3Ø1Ð1Ð1Ø7Ð7Ð7Ø5Ð5Ð5Ø3Ð3Ð3Ø1Ð1Ð1Ø0Ð0Ð0Ø-Ð-Ð-Ø#Ð#Ð#Ø1Ð1Ð1Ø/Ð/Ð/ðñô ð"/Oð /Oñ#ô ð"/Oðb „×ÒØ
ðð ð ñô ðð ñô ðð
SJð SJð SJð SJð SJñ SJô SJð SJðlwDð wDð wDð wDð wDñ wDô wDð wDðt „×Ò˜˜s C˜jÑ)Ô)ð!ð !ñ *Ô)ð!ð8ð 8ð 8ð 8ð 8ñ 8ô 8ð 8ð@ „×Ò˜Øˆˆ1ˆbŒfÐØˆˆ1ˆbŒfÐØˆŒ��2”6ÐØˆŒ��2”6ÐØ„VˆQ��2”6ÐØ„VˆQ��2”6ÐØ„VˆRŒV�Q˜œÐØ„VˆRŒV�Q˜œÐð	*ñ 	ô 	ð*ð *ñ	ô 	ð*ð „×Ò˜Øˆˆ1ˆbŒfÐØˆˆ2Œ6�2”6ÐØˆˆ1ˆbŒfÐØˆˆ2Œ6�1ÐØ„VˆQ��2”6ÐØ„VˆQ�”˜œÐØ„VˆQ��2”6ÐØ„VˆQ�”˜œÐð	*ñ 	ô 	ð*ð *ñ	ô 	ð*ð *ð *s   ¸= ½AÁA