
    (ph                         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            	       ^   \ 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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   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_limits)   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   r   r   s     r   test_x_zeroTestGammainc.test_x_zero4   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_check8   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_line=   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   r>   gdy=r*   )
r   logspacelog10vstackrF   Tr   r   r   check)r   r   r   datasets       r   	test_lineTestGammainc.test_lineK   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 )Nr0   r(   r7   rJ   )r   rK   r   gammaincinvr   r   r   r   r   ys       r   test_roundtripTestGammainc.test_roundtripQ   sI    KKB$KKB$NN1bkk!/05)r    N)__name__
__module____qualname____firstlineno__pytestmarkparametrizeINVALID_POINTSr   r   r   r+   nanr$   r,   r3   r;   rF   rQ   rX   __static_attributes__rZ   r   r   r	   r	      s    [[V^4+ 5+& [[_	A	A	 	
BFFA	/ %%	B1)
F*r   r	   c            	       R   \ 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S	 rS
 rS rS rSrg)TestGammainccY   r   c                 f    [         R                  " [        R                  " X5      5      (       d   eg r   )r   r   r   	gammainccr   s      r   r   TestGammaincc.test_domain[   s     xxQ*++++r   c                 >    [         R                  " SS5      S:X  d   eg r   )r   ri   r   s    r   r    TestGammaincc.test_a_eq_0_x_gt_0_   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   ri   r   r   r!   s        r   r$   %TestGammaincc.test_infinite_argumentsb   sB     a#88G88F####$$$r   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 r'   )r   ri   r   r+   r   r   s    r   r,   "TestGammaincc.test_infinite_limitso   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 r6   )r   ri   r   r8   r9   s      r   r;   TestGammaincc.test_limit_checkz   s7    eA&Qq!zz&((((r   c                 t    [         R                  " SS5      n[        [        R                  " US5      S5        g r/   )r   r1   r   r   ri   r2   s     r   r3   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 )NrT   r0   r(   g+=rJ   )r   rK   r   gammainccinvri   r   rV   s       r   rX   TestGammaincc.test_roundtrip   sI    KKB$KKB$OOAr||A125)r   rZ   N)r[   r\   r]   r^   r_   r`   ra   rb   r   r   r   r+   rc   r$   r,   r;   r3   rX   rd   rZ   r   r   rf   rf   Y   s    [[V^4, 5,' [[_	A	A	 	
BFFA	/ %%	
)
2*r   rf   )r_   numpyr   numpy.testingr   r   scipy.specialspecialr   scipy.special._testutilsr   rc   rb   r	   rf   rZ   r   r   <module>r}      sS      =  - 
VVQKKC* C*L/* /*r   