§
    µ³Ùgç  ã                   óœ   — 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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      úW/granary/edev/quantum/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   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_limits)   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   r   s     r   Útest_x_zerozTestGammainc.test_x_zero4   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_check8   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_line=   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   r7   g•dyáý¥=©r&   )
r   ÚlogspaceÚlog10Úvstackr?   ÚTr   r   r   Úcheck)r   r   r   Údatasets       r   Ú	test_linezTestGammainc.test_lineK   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éûÿÿÿr+   r$   r1   rB   )r   rC   r   Úgammaincinvr   r   ©r   r   r   Úys       r   Útest_roundtripzTestGammainc.test_roundtripQ   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   r'   Únanr!   r(   r.   r5   r?   rI   rO   © r   r   r	   r	      s  € € € € € à„[×Ò˜V ^Ñ4Ô4ð+ð +ñ 5Ô4ð+ð&ð &ð &ð „[×Ò˜_Ø	Œ��AˆØ	Œ��AˆØ	Œ�”˜œÐ Ø	
ˆBŒF�Aˆð	/ñ ô ð%ð %ñô ð%ð	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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_domain[   s*   € åŒx�œ Q¨Ñ*Ô*Ñ+Ô+Ð+Ð+Ð+Ð+Ð+r   c                 ó<   — t          j        dd¦  «        dk    sJ ‚d S r   )r   r\   r   s    r   r   z TestGammaincc.test_a_eq_0_x_gt_0_   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   r\   r   r   r   s        r   r!   z%TestGammaincc.test_infinite_argumentsb   sZ   € õ ”˜a Ñ#Ô#ˆÝŒ8�GÑÔð 	%Ý”8˜FÑ#Ô#Ð#Ð#Ð#Ð#Ð#à˜WÒ$Ð$Ð$Ð$Ð$Ð$r   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   r\   r   r'   r   r   s    r   r(   z"TestGammaincc.test_infinite_limitso   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 r0   )r   r\   r   r2   r3   s      r   r5   zTestGammaincc.test_limit_checkz   sB   € Ý”˜e AÑ&Ô&ˆÝ”˜Q˜qÑ!Ô!ˆÝŒz˜& %Ñ(Ô(Ð(Ð(Ð(Ð(Ð(r   c                 óv   — t          j        dd¦  «        }t          t          j        |d¦  «        d¦  «         d S r*   )r   r,   r   r   r\   r-   s     r   r.   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 )NrK   r+   r$   g›+¡†›„=rB   )r   rC   r   Úgammainccinvr\   r   rM   s       r   rO   zTestGammaincc.test_roundtripƒ   s`   € ÝŒK˜˜B Ñ$Ô$ˆÝŒK˜˜B Ñ$Ô$ˆåŒO˜A�rœ|¨A¨qÑ1Ô1Ñ2Ô2ˆÝ˜˜1 5Ð)Ñ)Ô)Ð)Ð)Ð)r   N)rP   rQ   rR   rS   rT   rU   rV   r   r   r   r'   rW   r!   r(   r5   r.   rO   rX   r   r   rZ   rZ   Y   só   € € € € € à„[×Ò˜V ^Ñ4Ô4ð,ð ,ñ 5Ô4ð,ð'ð 'ð 'ð „[×Ò˜_Ø	Œ��AˆØ	Œ��AˆØ	Œ�”˜œÐ Ø	
ˆBŒF�Aˆð	/ñ ô ð%ð %ñô ð%ð	
ð 	
ð 	
ð)ð )ð )ð
2ð 2ð 2ð*ð *ð *ð *ð *r   rZ   )rS   Únumpyr   Únumpy.testingr   r   Úscipy.specialÚspecialr   Úscipy.special._testutilsr   rW   rV   r	   rZ   rX   r   r   ú<module>ri      sÝ   ðØ €€€à Ð Ð Ð Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =à Ð Ð Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -ð Ø
ØØ„VˆQ€KØˆŒ€Kð€ðC*ð C*ð C*ð C*ð C*ñ C*ô C*ð C*ðL/*ð /*ð /*ð /*ð /*ñ /*ô /*ð /*ð /*ð /*r   