§
    fŠtjY  ã                   óœ   — d dl Z d dlZd dlmZmZ d dlmZ d dl	m
Z
 dddej        dfdej        fgZ G d„ d	¦  «        Z G d
„ d¦  «        ZdS )é    N)Úassert_allcloseÚassert_array_equal)ÚFuncData)é   éÿÿÿÿ)r   r   )r   r   r   c            	       ó  — e Zd Zej                             de¦  «        d„ ¦   «         Zd„ Zej                             de	j
        ddfe	j
        ddfe	j
        e	j
        e	j        fde	j
        dfg¦  «        d„ ¦   «         Zej                             de	j
         d	d
de	j
        e	j        g¦  «        d„ ¦   «         Zej                             de	j
         d	d
de	j
        e	j        g¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestGammaincúa, xc                 óX   — t          j        t          j        ||¦  «        ¦  «        sJ ‚d S ©N)ÚnpÚisnanÚscÚgammainc©ÚselfÚaÚxs      ú_/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/special/tests/test_gammainc.pyÚtest_domainzTestGammainc.test_domain   s*   € åŒx�œ A qÑ)Ô)Ñ*Ô*Ð*Ð*Ð*Ð*Ð*ó    c                 ó<   — t          j        dd¦  «        dk    sJ ‚d S ©Nr   r   )r   r   ©r   s    r   Útest_a_eq_0_x_gt_0zTestGammainc.test_a_eq_0_x_gt_0   s%   € ÝŒ{˜1˜aÑ Ô  AÒ%Ð%Ð%Ð%Ð%Ð%r   úa, x, desiredr   r   c                 ó˜   — t          j        ||¦  «        }t          j        |¦  «        rt          j        |¦  «        sJ ‚d S ||k    sJ ‚d S r   )r   r   r   r   ©r   r   r   ÚdesiredÚresults        r   Útest_infinite_argumentsz$TestGammainc.test_infinite_arguments   sZ   € õ ”˜Q Ñ"Ô"ˆÝŒ8�GÑÔð 	%Ý”8˜FÑ#Ô#Ð#Ð#Ð#Ð#Ð#à˜WÒ$Ð$Ð$Ð$Ð$Ð$r   r   ç      ð¿ç       €ç        c                 ól   — t          j        t          j        t           j        |¦  «        ¦  «        sJ ‚d S r   ©r   r   r   r   Únan©r   r   s     r   Ú
test_a_nanzTestGammainc.test_a_nan)   s,   € åŒx�œ¥B¤F¨AÑ.Ô.Ñ/Ô/Ð/Ð/Ð/Ð/Ð/r   r   c                 ól   — t          j        t          j        |t           j        ¦  «        ¦  «        sJ ‚d S r   r&   ©r   r   s     r   Ú
test_x_nanzTestGammainc.test_x_nan-   s,   € åŒx�œ A¥r¤vÑ.Ô.Ñ/Ô/Ð/Ð/Ð/Ð/Ð/r   c                 óü   — t          t          j        dd¦  «        t          j        t          j        d¦  «        dd¬¦  «         t          j        dd¦  «        t          j        dt          j        ¦  «        k    sJ ‚d S ©Niè  éd   g¬÷N’~hr   )ÚatolÚrtol)r   r   r   r   Úinfr   s    r   Útest_infinite_limitsz!TestGammainc.test_infinite_limits1   st   € õ 	ÝŒK˜˜cÑ"Ô"ÝŒK�œ Ñ$Ô$ØØð		
ñ 	
ô 	
ð 	
õ Œ{˜3 Ñ%Ô%­¬°S½"¼&Ñ)AÔ)AÒAÐAÐAÐAÐAÐAr   c                 óv   — t          j        dd¦  «        }t          t          j        |d¦  «        d¦  «         d S ©Nr   é
   r   )r   Úaranger   r   r   r+   s     r   Útest_x_zerozTestGammainc.test_x_zero<   s5   € ÝŒI�a˜ÑÔˆÝ�2œ; q¨!Ñ,Ô,¨aÑ0Ô0Ð0Ð0Ð0r   c                 óˆ   — t          j        dd¦  «        }t          j        dd¦  «        }t          j        ||¦  «        sJ ‚d S ©Nç»½×Ùß|Û=r   r   )r   r   r   Úisclose©r   r    Úlimits      r   Útest_limit_checkzTestGammainc.test_limit_check@   sB   € Ý”˜U AÑ&Ô&ˆÝ”˜A˜qÑ!Ô!ˆÝŒz˜& %Ñ(Ô(Ð(Ð(Ð(Ð(Ð(r   c                 ó¶   — t          j        g d¢¦  «        }d}d}|D ]}|||z  z  }||z  }Œ|t          j        dt           j        z  |z  ¦  «        z  }|dz  }|S )N)gUUUUUUÕ¿gtåÉ:W^¿gæ™;dîp?g¶â4;ÙGE?gù{Ú>L¿g
ÁŠ6¿r   r   é   g      à?)r   ÚarrayÚsqrtÚpi)r   r   ÚcÚresÚxfacÚcks         r   Úgammainc_linezTestGammainc.gammainc_lineE   s†   € õ ŒHð @ð @ð @ñ Aô AˆàˆØˆØð 	ð 	ˆBØ�2�d‘7‰NˆCØ�A‰IˆDˆDØ�rŒw�q�œ‘w˜q‘yÑ!Ô!Ñ!ˆØˆs‰
ˆØˆ
r   c                 ó  — t          j        t          j        d¦  «        dd¦  «        }|}t          j        |||                      |¦  «        f¦  «        j        }t          t          j        |ddd¬¦  «         	                    ¦   «          d S )Né   i,  iô  )r   r   rA   g•dyáý¥=©r1   )
r   ÚlogspaceÚlog10ÚvstackrI   ÚTr   r   r   Úcheck)r   r   r   Údatasets       r   Ú	test_linezTestGammainc.test_lineS   sv   € ÝŒK�œ ™œ c¨3Ñ/Ô/ˆØˆÝ”)˜Q  4×#5Ò#5°aÑ#8Ô#8Ð9Ñ:Ô:Ô<ˆÝ•”˜g v¨q°uÐ=Ñ=Ô=×CÒCÑEÔEÐEÐEÐEr   c                 óÒ   — t          j        ddd¦  «        }t          j        ddd¦  «        }t          j        |t          j        ||¦  «        ¦  «        }t          ||d¬¦  «         d S )Néûÿÿÿr6   r/   r;   rL   )r   rM   r   Úgammaincinvr   r   ©r   r   r   Úys       r   Útest_roundtripzTestGammainc.test_roundtripY   s`   € ÝŒK˜˜B Ñ$Ô$ˆÝŒK˜˜B Ñ$Ô$ˆåŒN˜1�bœk¨!¨QÑ/Ô/Ñ0Ô0ˆÝ˜˜1 5Ð)Ñ)Ô)Ð)Ð)Ð)r   N)Ú__name__Ú
__module__Ú__qualname__ÚpytestÚmarkÚparametrizeÚINVALID_POINTSr   r   r   r2   r'   r!   r)   r,   r3   r8   r?   rI   rS   rY   © r   r   r	   r	      sŸ  € € € € € à„[×Ò˜V ^Ñ4Ô4ð+ð +ñ 5Ô4ð+ð&ð &ð &ð „[×Ò˜_Ø	Œ��AˆØ	Œ��AˆØ	Œ�”˜œÐ Ø	
ˆBŒF�Aˆð	/ñ ô ð%ð %ñô ð%ð „[×Ò˜S B¤F 7¨D°$¸¸R¼VÀRÄVÐ"LÑMÔMð0ð 0ñ NÔMð0ð „[×Ò˜S B¤F 7¨D°$¸¸R¼VÀRÄVÐ"LÑMÔMð0ð 0ñ NÔMð0ð	Bð 	Bð 	Bð1ð 1ð 1ð)ð )ð )ð
ð ð ðFð Fð Fð*ð *ð *ð *ð *r   r	   c            	       ó   — e Zd Zej                             de¦  «        d„ ¦   «         Zd„ Zej                             de	j
        ddfe	j
        ddfe	j
        e	j
        e	j        fde	j
        dfg¦  «        d„ ¦   «         Zej                             de	j
         d	d
de	j
        e	j        g¦  «        d„ ¦   «         Zej                             de	j
         d	d
de	j
        e	j        g¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestGammainccr
   c                 óX   — t          j        t          j        ||¦  «        ¦  «        sJ ‚d S r   )r   r   r   Ú	gammainccr   s      r   r   zTestGammaincc.test_domainc   s*   € åŒx�œ Q¨Ñ*Ô*Ñ+Ô+Ð+Ð+Ð+Ð+Ð+r   c                 ó<   — t          j        dd¦  «        dk    sJ ‚d S r   )r   re   r   s    r   r   z TestGammaincc.test_a_eq_0_x_gt_0g   s%   € ÝŒ|˜A˜qÑ!Ô! QÒ&Ð&Ð&Ð&Ð&Ð&r   r   r   r   c                 ó˜   — t          j        ||¦  «        }t          j        |¦  «        rt          j        |¦  «        sJ ‚d S ||k    sJ ‚d S r   )r   re   r   r   r   s        r   r!   z%TestGammaincc.test_infinite_argumentsj   sZ   € õ ”˜a Ñ#Ô#ˆÝŒ8�GÑÔð 	%Ý”8˜FÑ#Ô#Ð#Ð#Ð#Ð#Ð#à˜WÒ$Ð$Ð$Ð$Ð$Ð$r   r   r"   r#   r$   c                 ól   — t          j        t          j        t           j        |¦  «        ¦  «        sJ ‚d S r   ©r   r   r   re   r'   r(   s     r   r)   zTestGammaincc.test_a_nanw   s,   € åŒx�œ¥R¤V¨QÑ/Ô/Ñ0Ô0Ð0Ð0Ð0Ð0Ð0r   r   c                 ól   — t          j        t          j        |t           j        ¦  «        ¦  «        sJ ‚d S r   ri   r+   s     r   r,   zTestGammaincc.test_x_nan{   s,   € åŒx�œ Q­¬Ñ/Ô/Ñ0Ô0Ð0Ð0Ð0Ð0Ð0r   c                 óü   — t          j        dd¦  «        t          j        t          j        d¦  «        k    sJ ‚t	          t          j        dd¦  «        t          j        dt          j        ¦  «        dd¬¦  «         d S r.   )r   re   r   r2   r   r   s    r   r3   z"TestGammaincc.test_infinite_limits   sv   € õ Œ|˜D #Ñ&Ô&­"¬,µr´v¸sÑ*CÔ*CÒCÐCÐCÐCÝÝŒL˜˜dÑ#Ô#ÝŒL˜�bœfÑ%Ô%ØØð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 óˆ   — t          j        dd¦  «        }t          j        dd¦  «        }t          j        ||¦  «        sJ ‚d S r:   )r   re   r   r<   r=   s      r   r?   zTestGammaincc.test_limit_checkŠ   sB   € Ý”˜e AÑ&Ô&ˆÝ”˜Q˜qÑ!Ô!ˆÝŒz˜& %Ñ(Ô(Ð(Ð(Ð(Ð(Ð(r   c                 óv   — t          j        dd¦  «        }t          t          j        |d¦  «        d¦  «         d S r5   )r   r7   r   r   re   r+   s     r   r8   zTestGammaincc.test_x_zero�   s5   € ÝŒI�a˜ÑÔˆÝ�2œ<¨¨1Ñ-Ô-¨qÑ1Ô1Ð1Ð1Ð1r   c                 óÒ   — t          j        ddd¦  «        }t          j        ddd¦  «        }t          j        |t          j        ||¦  «        ¦  «        }t          ||d¬¦  «         d S )NrU   r6   r/   g›+¡†›„=rL   )r   rM   r   Úgammainccinvre   r   rW   s       r   rY   zTestGammaincc.test_roundtrip“   s`   € ÝŒK˜˜B Ñ$Ô$ˆÝŒK˜˜B Ñ$Ô$ˆåŒO˜A�rœ|¨A¨qÑ1Ô1Ñ2Ô2ˆÝ˜˜1 5Ð)Ñ)Ô)Ð)Ð)Ð)r   N)rZ   r[   r\   r]   r^   r_   r`   r   r   r   r2   r'   r!   r)   r,   r3   r?   r8   rY   ra   r   r   rc   rc   a   s{  € € € € € à„[×Ò˜V ^Ñ4Ô4ð,ð ,ñ 5Ô4ð,ð'ð 'ð 'ð „[×Ò˜_Ø	Œ��AˆØ	Œ��AˆØ	Œ�”˜œÐ Ø	
ˆBŒF�Aˆð	/ñ ô ð%ð %ñô ð%ð „[×Ò˜S B¤F 7¨D°$¸¸R¼VÀRÄVÐ"LÑMÔMð1ð 1ñ NÔMð1ð „[×Ò˜S B¤F 7¨D°$¸¸R¼VÀRÄVÐ"LÑMÔMð1ð 1ñ NÔMð1ð	
ð 	
ð 	
ð)ð )ð )ð
2ð 2ð 2ð*ð *ð *ð *ð *r   rc   )r]   Únumpyr   Únumpy.testingr   r   Úscipy.specialÚspecialr   Úscipy.special._testutilsr   r'   r`   r	   rc   ra   r   r   ú<module>ru      sÝ   ðØ €€€à Ð Ð Ð Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =à Ð Ð Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -ð Ø
ØØ„VˆQ€KØˆŒ€Kð€ðK*ð K*ð K*ð K*ð K*ñ K*ô K*ð K*ð\7*ð 7*ð 7*ð 7*ð 7*ñ 7*ô 7*ð 7*ð 7*ð 7*r   