Ë
    qwjY  ã                   ó¢   — 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y)é    N)Úassert_allcloseÚassert_array_equal)ÚFuncData)é   éÿÿÿÿ)r   r   )r   r   r   c            	       ór  — e Zd Zej                  j                  de«      d„ «       Zd„ Zej                  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                  j                  de	j                   d	d
de	j                  e	j                  g«      d„ «       Zej                  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y)ÚTestGammaincúa, xc                 óZ   — t        j                  t        j                  ||«      «      sJ ‚y ©N)ÚnpÚisnanÚscÚgammainc©ÚselfÚaÚxs      úf/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/special/tests/test_gammainc.pyÚtest_domainzTestGammainc.test_domain   s   € ä�x‰xœŸ™ A qÓ)Ô*Ð*Ñ*ó    c                 ó:   — t        j                  dd«      dk(  sJ ‚y ©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 ‚y ||k(  sJ ‚y r   )r   r   r   r   ©r   r   r   ÚdesiredÚresults        r   Útest_infinite_argumentsz$TestGammainc.test_infinite_arguments   s@   € ô —‘˜Q Ó"ˆÜ�8‰8�GÔÜ—8‘8˜FÔ#Ð#Ñ#à˜WÒ$Ð$Ñ$r   r   ç      ð¿ç       €ç        c                 óv   — t        j                  t        j                  t         j                  |«      «      sJ ‚y r   ©r   r   r   r   Únan©r   r   s     r   Ú
test_a_nanzTestGammainc.test_a_nan)   s#   € ä�x‰xœŸ™¤B§F¡F¨AÓ.Ô/Ð/Ñ/r   r   c                 óv   — t        j                  t        j                  |t         j                  «      «      sJ ‚y r   r&   ©r   r   s     r   Ú
test_x_nanzTestGammainc.test_x_nan-   s#   € ä�x‰xœŸ™ A¤r§v¡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 ‚y ©Niè  éd   g¬÷N’~hr   )ÚatolÚrtol)r   r   r   r   Úinfr   s    r   Útest_infinite_limitsz!TestGammainc.test_infinite_limits1   s\   € ô 	Ü�K‰K˜˜cÓ"Ü�K‰KœŸ™ Ó$ØØõ		
ô �{‰{˜3 Ó%¬¯©°S¼"¿&¹&Ó)AÒAÐAÑAr   c                 óp   — t        j                  dd«      }t        t        j                  |d«      d«       y ©Nr   é
   r   )r   Úaranger   r   r   r+   s     r   Útest_x_zerozTestGammainc.test_x_zero<   s'   € Ü�I‰I�a˜ÓˆÜœ2Ÿ;™; q¨!Ó,¨aÕ0r   c                 óŒ   — t        j                  dd«      }t        j                  dd«      }t        j                  ||«      sJ ‚y ©Nç»½×Ùß|Û=r   r   )r   r   r   Úisclose©r   r    Úlimits      r   Útest_limit_checkzTestGammainc.test_limit_check@   s6   € Ü—‘˜U AÓ&ˆÜ—‘˜A˜qÓ!ˆÜ�z‰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   sr   € ô �H‰Hò @ó AˆàˆØˆÛˆBØ�2�d‘7‰NˆCØ�A‰I‰Dð ð 	Œr�w‰w�qœŸ™‘w˜q‘yÓ!Ñ!ˆØˆs‰
ˆØˆ
r   c                 ó  — t        j                  t        j                  d«      dd«      }|}t        j                  ||| j	                  |«      f«      j
                  }t        t        j                  |ddd¬«      j                  «        y )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   sd   € Ü�K‰KœŸ™ › c¨3Ó/ˆØˆÜ—)‘)˜Q  4×#5Ñ#5°aÓ#8Ð9Ó:×<Ñ<ˆÜ”—‘˜g v¨q°uÔ=×CÑCÕEr   c                 óÐ   — t        j                  ddd«      }t        j                  ddd«      }t        j                  |t        j                  ||«      «      }t        ||d¬«       y )Néûÿÿÿr6   r/   r;   rL   )r   rM   r   Úgammaincinvr   r   ©r   r   r   Úys       r   Útest_roundtripzTestGammainc.test_roundtripY   sM   € Ü�K‰K˜˜B Ó$ˆÜ�K‰K˜˜B Ó$ˆä�N‰N˜1œbŸk™k¨!¨QÓ/Ó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	      s3  „ à‡[�[×Ñ˜V ^Ó4ñ+ó 5ð+ò&ð ‡[�[×Ñ˜_Ø	�‰��AˆØ	�‰��AˆØ	�‰�—‘˜Ÿ™Ð Ø	
ˆB�F‰F�Aˆð	/ó ñ%óð%ð ‡[�[×Ñ˜S B§F¡F 7¨D°$¸¸R¿V¹VÀRÇVÁVÐ"LÓMñ0ó Nð0ð ‡[�[×Ñ˜S B§F¡F 7¨D°$¸¸R¿V¹VÀRÇVÁVÐ"LÓMñ0ó Nð0ò	Bò1ò)ò
òFó*r   r	   c            	       óf  — e Zd Zej                  j                  de«      d„ «       Zd„ Zej                  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                  j                  de	j                   d	d
de	j                  e	j                  g«      d„ «       Zej                  j                  de	j                   d	d
de	j                  e	j                  g«      d„ «       Zd„ Zd„ Zd„ Zd„ Zy)ÚTestGammainccr
   c                 óZ   — t        j                  t        j                  ||«      «      sJ ‚y r   )r   r   r   Ú	gammainccr   s      r   r   zTestGammaincc.test_domainc   s   € ä�x‰xœŸ™ Q¨Ó*Ô+Ð+Ñ+r   c                 ó:   — t        j                  dd«      dk(  sJ ‚y 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 ‚y ||k(  sJ ‚y r   )r   re   r   r   r   s        r   r!   z%TestGammaincc.test_infinite_argumentsj   s@   € ô —‘˜a Ó#ˆÜ�8‰8�GÔÜ—8‘8˜FÔ#Ð#Ñ#à˜WÒ$Ð$Ñ$r   r   r"   r#   r$   c                 óv   — t        j                  t        j                  t         j                  |«      «      sJ ‚y r   ©r   r   r   re   r'   r(   s     r   r)   zTestGammaincc.test_a_nanw   s#   € ä�x‰xœŸ™¤R§V¡V¨QÓ/Ô0Ð0Ñ0r   r   c                 óv   — t        j                  t        j                  |t         j                  «      «      sJ ‚y r   ri   r+   s     r   r,   zTestGammaincc.test_x_nan{   s#   € ä�x‰xœŸ™ Q¬¯©Ó/Ô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¬«       y r.   )r   re   r   r2   r   r   s    r   r3   z"TestGammaincc.test_infinite_limits   sZ   € ô �|‰|˜D #Ó&¬"¯,©,´r·v±v¸sÓ*CÒCÐCÐCÜÜ�L‰L˜˜dÓ#Ü�L‰L˜œbŸf™fÓ%ØØö		
r   c                 óŒ   — t        j                  dd«      }t        j                  dd«      }t        j                  ||«      sJ ‚y r:   )r   re   r   r<   r=   s      r   r?   zTestGammaincc.test_limit_checkŠ   s6   € Ü—‘˜e AÓ&ˆÜ—‘˜Q˜qÓ!ˆÜ�z‰z˜& %Ô(Ð(Ñ(r   c                 óp   — t        j                  dd«      }t        t        j                  |d«      d«       y r5   )r   r7   r   r   re   r+   s     r   r8   zTestGammaincc.test_x_zero�   s'   € Ü�I‰I�a˜ÓˆÜœ2Ÿ<™<¨¨1Ó-¨qÕ1r   c                 óÐ   — t        j                  ddd«      }t        j                  ddd«      }t        j                  |t        j                  ||«      «      }t        ||d¬«       y )NrU   r6   r/   g›+¡†›„=rL   )r   rM   r   Úgammainccinvre   r   rW   s       r   rY   zTestGammaincc.test_roundtrip“   sM   € Ü�K‰K˜˜B Ó$ˆÜ�K‰K˜˜B Ó$ˆä�O‰O˜AœrŸ|™|¨A¨qÓ1Ó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ñ,ó 5ð,ò'ð ‡[�[×Ñ˜_Ø	�‰��AˆØ	�‰��AˆØ	�‰�—‘˜Ÿ™Ð Ø	
ˆB�F‰F�Aˆð	/ó ñ%óð%ð ‡[�[×Ñ˜S B§F¡F 7¨D°$¸¸R¿V¹VÀRÇVÁVÐ"LÓMñ1ó Nð1ð ‡[�[×Ñ˜S B§F¡F 7¨D°$¸¸R¿V¹VÀRÇVÁVÐ"LÓMñ1ó Nð1ò	
ò)ò
2ó*r   rc   )r]   Únumpyr   Únumpy.testingr   r   Úscipy.specialÚspecialr   Úscipy.special._testutilsr   r'   r`   r	   rc   ra   r   r   Ú<module>ru      sS   ðÛ ã ß =å Ý -ð Ø
ØØ‡V�VˆQ€KØˆ�‰€Kð€÷K*ñ K*÷\7*ò 7*r   