
    bi                        d dl Z d dlmZmZ d dlmZmZmZmZ d dl	m
Z
mZmZ d dlmZmZ 	 d dlZ	 d dlZe j(                  j+                  d	      Z eed
      d        Ze j(                  j0                   eed
       eed      e j(                  j3                  d      d                             Ze j(                  j6                   eed
       eed      d                      Z eed
      d        Ze j(                  j6                   eed
      d               Zy# e$ r  ed      ZY w xY w# e$ r  ed      ZY w xY w)    N)MissingModulecheck_version)ArgIntArgmp_assert_allcloseassert_mpmath_equal)	compute_gcompute_alpha	compute_d)gammainc	gammainccsympympmathzXmpmath gmpy2 backend is not thread-safe, see https://github.com/mpmath/mpmath/issues/974)reasonz0.19c            
         t        j                  d      5  t        j                  d      t        j                  d      dz  t        j                  d      dz  t        j                  d       dz  t        j                  d       dz  t        j                  d	      d
z  t        j                  d      dz  g} t        t	        d      |        d d d        y # 1 sw Y   y xY w)N         i      i  i;  i % i' i `uicP l     
F    )mpworkdpsmpfr   r	   )gs    g/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/scipy/special/tests/test_precompute_gammainc.pytest_gr      s     
B ,VVAYq	"bffQimffSk\%"&&+g!5VVF^I%rvvg{'BD 	9Q<+	, , ,s   B8CC z0.7zrtol only 2e-11, see gh-6938c                     t        j                  d      5  t        j                  d      t        j                  d      t        j                  d      dz  t        j                  d      dz  t        j                  d       dz  t        j                  d      dz  t        j                  d      dz  t        j                  d	       d
z  t        j                  d      dz  g	} t        t	        d      |        d d d        y # 1 sw Y   y xY w)Nr   r   r      $   i  i  irB  r   iS iX 	   )r   r   r   r   r
   )alphas    r   
test_alphar"   #   s     
B 4BFF1Irvvay{BFF1IbL&&)C45&&+g%rvvay'79 	=+U3	4 4 4s   C#DDc                     t        j                  d      5  ddt        j                  d       fddt        j                  d      fddt        j                  d       fddt        j                  d      fd	dt        j                  d
      fd	dt        j                  d       fddt        j                  d      fddt        j                  d       fddt        j                  d       fddt        j                  d      fddt        j                  d       fddt        j                  d      fddt        j                  d      fddt        j                  d       fddt        j                  d      fddt        j                  d       fddt        j                  d       fddt        j                  d      fddt        j                  d       fddt        j                  d       fg} t        d!d"      }| D cg c]  \  }}}||   |    }}}}| D cg c]  }|d	   	 }}t	        ||       d d d        y c c}}}w c c}w # 1 sw Y   y xY w)#N2   r   z 0.333333333333333333333333333333r   z#0.102618097842403080425739573227e-7r   z#0.185185185185185185185185185185e-2z#0.119516285997781473243076536700e-7   z#0.413359788359788359788359788360e-2z#0.140925299108675210532930244154e-7r   z#0.649434156378600823045267489712e-3z#0.191111684859736540606728140873e-7   z#0.861888290916711698604702719929e-3z#0.288658297427087836297341274604e-7   z#0.336798553366358150308767592718e-3z#0.482409670378941807563762631739e-7   z#0.531307936463992223165748542978e-3z#0.882860074633048352505085243179e-7r   z#0.344367606892377671254279625109e-3z#0.175629733590604619378669693914e-6   z#0.652623918595309418922034919727e-3z#0.377358774161109793380344937299e-6r    z#0.596761290192746250124390067179e-3z#0.870823417786464116761231237189e-6
      )r   r   r   r   r   )datasetdknstdresxs          r   test_dr3   0   s:    
B %q266"DEEFr266"GHIq266"GHHIr266"GHIq"&&!FGHrBFF#HIIJq"&&!FGHrBFF#HIIJq266"GHHIr266"GHIq266"GHHIr266"GHIq"&&!FGHrBFF#HIIJq"&&!FGHrBFF#HIIJq266"GHHIr266"GHIq266"GHHIr266"GHI'K( b"(/0091aqtAw00$%qt%%3$1% %, 1%/% %s*   G+IH?
II(I?IIc            	      b    t        t        d t        ddd      t        dd      gdddd       y )	Nc                 2    t        j                  | |d      S )NT)bregularizedr   r   ar2   s     r   <lambda>ztest_gammainc.<locals>.<lambda>]       R[[aT%J     r   d   F)inclusive_aFFg<r$   nan_okrtolr/   dps)r   r   r    r=   r   test_gammaincrF   W   s2    
 JQ7QE$5BB@r=   c            	          t        d d t        dd      t        dd      gdddd	       t        t        d
 t        dd      t        dd      gdddd	       y )Nc                     t        | |d      S )N  )rD   )r   r9   s     r   r;   z test_gammaincc.<locals>.<lambda>g   s    Yq!%> r=   c                 2    t        j                  | |d      S NT)r:   r7   r8   r9   s     r   r;   z test_gammaincc.<locals>.<lambda>h   r<   r=      r>   Fr@   r$   rI   rA   c                 2    t        j                  | |d      S rK   r8   r9   s     r   r;   z test_gammaincc.<locals>.<lambda>n   r<   r=   r   r   )r   r   r   r   rE   r=   r   test_gammainccrN   b   s]    
 >JRs2s|4$5BDB 	J3Q5$5BB@r=   )pytestscipy.special._testutilsr   r   scipy.special._mptestutilsr   r   r   r   &scipy.special._precompute.gammainc_asyr	   r
   r   'scipy.special._precompute.gammainc_datar   r   r   ImportErrorr   r   markthread_unsafe
pytestmarkr   slowxfail_on_32bitr"   xslowr3   rF   rN   rE   r=   r   <module>r[      s    A: :) ) G#!
 [[&&> ' @
 r6, , r6ue:;4 <   4 r6ue!%   !%H r6@ @ r6@  @q  #'"E#
  !	x	 B!s"   D D1 D.-D.1EE