
    -iY                         S SK r S SKrS SKJrJr  S SKJr  S SK	J
r
  SSS\R                  S4S\R                  4/r " S S	5      r " S
 S5      rg)    N)assert_allcloseassert_array_equal)FuncData)   )r   r   )r   r   r   c            	       z   \ rS rSr\R
                  R                  S\5      S 5       rS r	\R
                  R                  S\
R                  SS4\
R                  SS4\
R                  \
R                  \
R                  4S\
R                  S4/5      S 5       r\R
                  R                  S	\
R                  * S
SS\
R                  \
R                  /5      S 5       r\R
                  R                  S\
R                  * S
SS\
R                  \
R                  /5      S 5       rS rS rS rS rS rS rSrg)TestGammainc   a, xc                 f    [         R                  " [        R                  " X5      5      (       d   eg N)npisnanscgammaincselfaxs      T/var/www/html/venv/lib/python3.13/site-packages/scipy/special/tests/test_gammainc.pytest_domainTestGammainc.test_domain   s     xxA)****    c                 >    [         R                  " SS5      S:X  d   eg Nr   r   )r   r   r   s    r   test_a_eq_0_x_gt_0TestGammainc.test_a_eq_0_x_gt_0   s    {{1a A%%%r   a, x, desiredr   r   c                     [         R                  " X5      n[        R                  " U5      (       a  [        R                  " U5      (       d   eg XC:X  d   eg r   )r   r   r   r   r   r   r   desiredresults        r   test_infinite_arguments$TestGammainc.test_infinite_arguments   sB     Q"88G88F####$$$r   r                        c                     [         R                  " [        R                  " [         R                  U5      5      (       d   eg r   r   r   r   r   nanr   r   s     r   
test_a_nanTestGammainc.test_a_nan)   s&    xxBFFA.////r   r   c                     [         R                  " [        R                  " U[         R                  5      5      (       d   eg r   r*   r   r   s     r   
test_x_nanTestGammainc.test_x_nan-   s&    xxArvv.////r   c                    [        [        R                  " SS5      [        R                  " [        R                  S5      SSS9  [        R                  " SS5      [        R                  " S[        R                  5      :X  d   eg Ni  d   gN~hr   )atolrtol)r   r   r   r   infr   s    r   test_infinite_limits!TestGammainc.test_infinite_limits1   s\     	KKc"KK$		
 {{3%S"&&)AAAAr   c                 t    [         R                  " SS5      n[        [        R                  " US5      S5        g Nr   
   r   )r   aranger   r   r   r0   s     r   test_x_zeroTestGammainc.test_x_zero<   s'    IIa2;;q!,a0r   c                     [         R                  " SS5      n[         R                  " SS5      n[        R                  " X5      (       d   eg N绽|=r   r   )r   r   r   iscloser   r#   limits      r   test_limit_checkTestGammainc.test_limit_check@   s7    UA&Aq!zz&((((r   c                     [         R                  " / SQ5      nSnSnU H  nX5U-  -  nXA-  nM     U[         R                  " S[         R                  -  U-  5      -  nUS-  nU$ )N)gUUUUUUտgt:W^g;dp?g4;GE?g{>Lg
6r   r      g      ?)r   arraysqrtpi)r   r   cresxfaccks         r   gammainc_lineTestGammainc.gammainc_lineE   sn     HH @ ABd7NCID  	rwwqwqy!!s

r   c                    [         R                  " [         R                  " S5      SS5      nUn[         R                  " X!U R	                  U5      45      R
                  n[        [        R                  USSSS9R                  5         g )N   i,  i  )r   r   rJ   gdy=r7   )
r   logspacelog10vstackrR   Tr   r   r   check)r   r   r   datasets       r   	test_lineTestGammainc.test_lineS   sb    KKc3/))Q4#5#5a#89:<<gvqu=CCEr   c                     [         R                  " SSS5      n[         R                  " SSS5      n[        R                  " U[        R                  " X5      5      n[        X#SS9  g )Nr=   r5   rC   rV   )r   rW   r   gammaincinvr   r   r   r   r   ys       r   test_roundtripTestGammainc.test_roundtripY   sI    KKB$KKB$NN1bkk!/05)r    N)__name__
__module____qualname____firstlineno__pytestmarkparametrizeINVALID_POINTSr   r   r   r8   r+   r$   r-   r1   r9   r?   rG   rR   r]   rd   __static_attributes__rf   r   r   r	   r	      s3   [[V^4+ 5+& [[_	A	A	 	
BFFA	/ %% [[SBFF7D$RVVRVV"LM0 N0 [[SBFF7D$RVVRVV"LM0 N0	B1)
F*r   r	   c            	       n   \ rS rSr\R
                  R                  S\5      S 5       rS r	\R
                  R                  S\
R                  SS4\
R                  SS4\
R                  \
R                  \
R                  4S\
R                  S4/5      S 5       r\R
                  R                  S	\
R                  * S
SS\
R                  \
R                  /5      S 5       r\R
                  R                  S\
R                  * S
SS\
R                  \
R                  /5      S 5       rS rS rS rS rSrg)TestGammaincca   r   c                 f    [         R                  " [        R                  " X5      5      (       d   eg r   )r   r   r   	gammainccr   s      r   r   TestGammaincc.test_domainc   s     xxQ*++++r   c                 >    [         R                  " SS5      S:X  d   eg r   )r   rt   r   s    r   r    TestGammaincc.test_a_eq_0_x_gt_0g   s    ||Aq!Q&&&r   r   r   r   c                     [         R                  " X5      n[        R                  " U5      (       a  [        R                  " U5      (       d   eg XC:X  d   eg r   )r   rt   r   r   r!   s        r   r$   %TestGammaincc.test_infinite_argumentsj   sB     a#88G88F####$$$r   r   r&   r'   r(   c                     [         R                  " [        R                  " [         R                  U5      5      (       d   eg r   r   r   r   rt   r+   r,   s     r   r-   TestGammaincc.test_a_nanw   s&    xxRVVQ/0000r   r   c                     [         R                  " [        R                  " U[         R                  5      5      (       d   eg r   r{   r0   s     r   r1   TestGammaincc.test_x_nan{   s&    xxQ/0000r   c                    [         R                  " SS5      [         R                  " [        R                  S5      :X  d   e[	        [         R                  " SS5      [         R                  " S[        R                  5      SSS9  g r4   )r   rt   r   r8   r   r   s    r   r9   "TestGammaincc.test_infinite_limits   sZ     ||D#&",,rvvs*CCCCLLd#LLbff%		
r   c                     [         R                  " SS5      n[         R                  " SS5      n[        R                  " X5      (       d   eg rB   )r   rt   r   rD   rE   s      r   rG   TestGammaincc.test_limit_check   s7    eA&Qq!zz&((((r   c                 t    [         R                  " SS5      n[        [        R                  " US5      S5        g r<   )r   r>   r   r   rt   r0   s     r   r?   TestGammaincc.test_x_zero   s'    IIa2<<1-q1r   c                     [         R                  " SSS5      n[         R                  " SSS5      n[        R                  " U[        R                  " X5      5      n[        X#SS9  g )Nr`   r=   r5   g+=rV   )r   rW   r   gammainccinvrt   r   rb   s       r   rd   TestGammaincc.test_roundtrip   sI    KKB$KKB$OOAr||A125)r   rf   N)rg   rh   ri   rj   rk   rl   rm   rn   r   r   r   r8   r+   r$   r-   r1   r9   rG   r?   rd   ro   rf   r   r   rq   rq   a   s'   [[V^4, 5,' [[_	A	A	 	
BFFA	/ %% [[SBFF7D$RVVRVV"LM1 N1 [[SBFF7D$RVVRVV"LM1 N1	
)
2*r   rq   )rk   numpyr   numpy.testingr   r   scipy.specialspecialr   scipy.special._testutilsr   r+   rn   r	   rq   rf   r   r   <module>r      sS      =  - 
VVQKKK* K*\7* 7*r   