
     h*m                     >   d dl Z d dlZd dlZd dlmZmZmZmZmZm	Z	m
Z
mZ d dlmZmZmZmZ d dlZd dlmZmZmZmZ d dlmZmZ d dlmZ d dlZd dlZd dlmZ d dl m!c m"Z# dd	Z$d
 Z% G d d          Z& G d d          Z' G d d          Z( G d d          Z)dS )    N)sqrtcossinarctanexplogpiInf)assert_assert_allcloseassert_array_lessassert_almost_equal)quaddblquadtplquadnquad)erferfc)LowLevelCallable)sine_ctypes+i)+P>c                 ^    | \  }}t          |||d           |t          ||           d S d S )Nr   )atolrtol)r   r   )value_and_errtabled_valueerror_tolerancevalueerrs        _/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/scipy/integrate/tests/test_quadpack.pyassert_quadr!      sF    JE3E<c::::"#///// #"    c                 v    t          t          |           }t          j        |t          j        |g|R            S N)getattr	clib_testctypescast	CFUNCTYPE)namerestypeargtypesptrs       r    get_clib_test_routiner.      s6    
)T
"
"C;sF,W@x@@@AAAr"   c                   &    e Zd Zd Zd Zd Zd ZdS )TestCtypesQuadc                 h   t           j        dk    rdg}nt           j        dk    rdg}nddg}|D ]-}	 t          j        |          | _         n$# t
          $ r Y *w xY wt          j        d           t          j        }t          j        f}dD ]%}t          | j        |          }||_
        ||_        &d S )	Nwin32zapi-ms-win-crt-math-l1-1-0.dlldarwinz
libm.dylibzlibm.soz	libm.so.6zCtypes can't import libm.so)r   r   tan)sysplatformr'   CDLLlibOSErrorpytestskipc_doubler%   r+   r,   )selffilesfiler+   r,   r*   funcs          r    setup_methodzTestCtypesQuad.setup_method!   s    <7""56EE\X%%!NEE,E 		7 		7D!;t,,   
 K5666/O%) 	% 	%D48T**D"DL$DMM	% 	%s   A
AAc                    t          t          | j        j        dd          t          t          j        dd          d                    t          t          | j        j        dd          t          t          j        dd          d                    t          t          | j        j        dd          t          t          j        dd          d                    d S )Nr         )r!   r   r8   r   mathr   r4   r=   s    r    test_typicalzTestCtypesQuad.test_typical;   s    Dq!,,d48Q.B.B1.EFFFDq!,,d48Q.B.B1.EFFFDq!,,d48Q.B.B1.EFFFFFr"   c                 L    t          t          t                    dd           d S Nr   rD   )r   r   r   rF   s    r    test_ctypes_sinezTestCtypesQuad.test_ctypes_sine@   s#    k**Aq11111r"   c                    t          dt          j        t          j        t          j                  }t          dt          j        t          j        t          j        t          j                  t          j                  }t          dt          j        t          j                  }t          dt          j        t          j        t          j        t          j                            }t          dt          j        t          j        t          j                  }|||||g}||g}|g}t          |          D ]j\  }	}
t          |
          }|
|v r(t          j	        t          t          |dt                     @t          t          |dt                    d         d           kt          |          D ][\  }	}
|
|v r+t          t          |
dt                    d         d           4t          j	        t          t          |
dt                     \d S )N_sin_0_sin_1_sin_2_sin_3r          @)r.   r'   r<   c_void_pc_intPOINTER	enumerater   r:   raises
ValueErrorr   r	   r   )r=   sin_0sin_1sin_2sin_3sin_4all_sigslegacy_sigslegacy_only_sigsjr@   callbacks               r    test_ctypes_variantsz#TestCtypesQuad.test_ctypes_variantsC   s   %h&,ovH H &h&,lFN6?4S4S&,o7 7 &h&,o7 7 &h&,lFN6?4S4SU U &h&,lFOE E 5%6en!7 !** 	? 	?GAt'--H'''j$!R@@@@Xq" 5 5a 8#>>>> !-- 	= 	=GAt{""T1b 1 1! 4c::::j$a<<<<		= 	=r"   N)__name__
__module____qualname__rA   rG   rJ   ra    r"   r    r0   r0       sS        % % %4G G G
2 2 2"= "= "= "= "=r"   r0   c                   &    e Zd Zd Zd Zd Zd ZdS )TestMultivariateCtypesQuadc                     t           j        }t           j        t           j        f}dD ]!}t          ||g|R  }t	          | ||           "d S )N)_multivariate_typical_multivariate_indefinite_multivariate_sin)r'   r<   rR   r.   setattr)r=   r+   r,   r*   r@   s        r    rA   z'TestMultivariateCtypesQuad.setup_methodi   s^    /L&/2* 	& 	&D(wBBBBDD$%%%%	& 	&r"   c                 Z    t          t          | j        dt          d          d           d S )Nr      g?ۗ?)r!   r   ri   r	   rF   s    r    rG   z'TestMultivariateCtypesQuad.test_typicalq   s4    D3QHEE*	, 	, 	, 	, 	,r"   c                 X    t          t          | j        dt                    d           d S )Nr   ox?)r!   r   rj   r
   rF   s    r    test_indefinitez*TestMultivariateCtypesQuad.test_indefinitev   s2    D63??.	0 	0 	0 	0 	0r"   c                 P      fd}t          t          |dd          d           d S )Nc                 B    | t          j        dd          d         z   S rI   )r   rk   )yr=   s    r    threadsafetyzBTestMultivariateCtypesQuad.test_threadsafety.<locals>.threadsafety}   s"    tD2Aq99!<<<r"   r   rD   gtJ׵?)r!   r   )r=   rw   s   ` r    test_threadsafetyz,TestMultivariateCtypesQuad.test_threadsafety{   s?    	= 	= 	= 	= 	=Dq!,,.@AAAAAr"   N)rb   rc   rd   rA   rG   rs   rx   re   r"   r    rg   rg   h   sU        & & &, , ,
0 0 0
B B B B Br"   rg   c                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zej                            dej         dej         dej        dz  fej         dej         dej        dz   ed          z  fej         dej         dej        dz   ed          z  fej         dej         dej        dz   ed          dz  z  fej         dej         dej        dz   ed          dz   z  fej         dej         dej        dz   ed          dz   z  fej         dej         dej        dz   ed          dz   dz  z  fej         dej         dej        dz   ed          dz    ed          z  z  fej         dej         dej        dz   ed          dz    ed          z  z  fdej        dej        ej        dz  fdej        dej        ej        dz   ed          z  fdej        dej        ej        dz   ed          z  fdej        dej        ej        dz   ed          dz  z  fdej        dej        ej        dz   ed          dz   z  fdej        dej        ej        dz   ed          dz   z  fdej        dej        ej        dz   ed          dz   dz  z  fdej        dej        ej        dz   ed          dz    ed          z  z  fdej        dej        ej        dz   ed          dz    ed          z  z  fej         ej        ej         ej        ej        fg          d             Zd Zej                            dg ej         dej         dej         dej        dz  dz  fej         dej         dej         dej        dz  dz   ed          z  fej         dej         dej         dej        dz  dz   ed          z  fej         dej         dej         dej        dz  dz   ed          z  fej         dej         dej         dej        dz  dz   ed          dz  z  fej         dej         dej         dej        dz  dz   ed          dz  z  fej         dej         dej         dej        dz  dz   ed          dz  z  fej         dej         dej         dej        dz  dz   ed          dz  z  fej         dej         dej         dej        dz  dz   ed          dz   dz   ed          z  z  fej         dej         dej         dej        dz  dz   ed          dz    ed          dz  z  z  fej         dej         dej         dej        dz  dz   ed          dz    ed          dz  z  z  fej         dej         dej         dej        dz  dz   ed          dz    ed          dz  z  z  fej         dej         dej         dej        dz  dz   ed          dz   dz   ed          z  z  fej         dej         dej         dej        dz  dz   ed          dz   dz   ed          z  z  fej         dej         dej         dej        dz  dz   ed          dz   z  fej         dej         dej         dej        dz  dz   ed          dz   z  fej         dej         dej         dej        dz  dz   ed          dz   z  fej         dej         dej         dej        dz  dz   ed          dz   dz  z  fej         dej         dej         dej        dz  dz   ed          dz   dz  z  fej         dej         dej         dej        dz  dz   ed          dz   dz  z  fej         dej         dej         dej        dz  dz   ed          dz   dz  z  fdej        dej        dej        ej        dz  dz  fdej        dej        dej        ej        dz  dz   ed          z  fdej        dej        dej        ej        dz  dz   ed          z  fdej        dej        dej        ej        dz  dz   ed          z  fdej        dej        dej        ej        dz  dz   ed          dz  z  fdej        dej        dej        ej        dz  dz   ed          dz  z  fdej        dej        dej        ej        dz  dz   ed          dz  z  fdej        dej        dej        ej        dz  dz   ed          dz  z  fdej        dej        dej        ej        dz  dz   ed          dz   z  fdej        dej        dej        ej        dz  dz   ed          dz   z  fdej        dej        dej        ej        dz  dz   ed          dz   z  fdej        dej        dej        ej        dz  dz   ed          dz   dz  z  fdej        dej        dej        ej        dz  dz   ed          dz   dz  z  fdej        dej        dej        ej        dz  dz   ed          dz   dz  z  fdej        dej        dej        ej        dz  dz   ed          dz   dz  z  fdej        dej        dej        ej        dz  dz   ed          dz   dz   ed          z  z  fdej        dej        dej        ej        dz  dz   ed          dz    ed          dz  z  z  fdej        dej        dej        ej        dz  dz   ed          dz    ed          dz  z  z  fdej        dej        dej        ej        dz  dz   ed          dz    ed          dz  z  z  fdej        dej        dej        ej        dz  dz   ed          dz   dz   ed          z  z  fdej        dej        dej        ej        dz  dz   ed          dz   dz   ed          z  z  fej         ej        ej         ej        ej         ej        ej        dz  f          d             Zd ZdS )TestQuadc                 V    d }t          t          |dt          d          d           d S )Nc                 \    t          || z  |t          |           z  z
            t          z  S r$   )r   r   r	   )xnzs      r    myfuncz%TestQuad.test_typical.<locals>.myfunc   s'    qs1SVV8|$$R''r"   r   rn   rp   )r!   r   r	   r=   r   s     r    rG   zTestQuad.test_typical   s6    	( 	( 	(DB113IJJJJJr"   c                 T    d }t          t          |dt                    d           d S )Nc                 D    t          |             t          |           z  S r$   )r   r   r}   s    r    r   z(TestQuad.test_indefinite.<locals>.myfunc   s    GG8CFF?"r"   r   rr   r!   r   r
   r   s     r    rs   zTestQuad.test_indefinite   s4    	# 	# 	#DC((*DEEEEEr"   c           	          d }t          t          |ddddg          dt          d          z
  t          d          z   t          d	          z
             d S )
Nc                     d| cxk     rdk     rn nt          |           S d| cxk    rdk    rn nt          |            S dS )Nr         @      @g        )r   r   r   s    r    r   z&TestQuad.test_singular.<locals>.myfunc   sQ    1{{{{s{{{{{1vvSA2wwsr"   r   
   r   r   )pointsrD   g      g      )r!   r   r   r   r   s     r    test_singularzTestQuad.test_singular   si    	 	 	 	DBSz:::CL3t99,s4yy8	: 	: 	: 	: 	:r"   c           
          d }d}t          t          |dddd|          dt          |          z  |t          |          z  z
  |t	          d          z  z   d	|d
z  z   z             d S )Nc                 ,    t          || dz
  z            S NrD   r   r}   as     r    r   z2TestQuad.test_sine_weighted_finite.<locals>.myfunc   s    q!A#w<<r"   glSS%@r   rD      r   argsweightwvarii  ro   )r!   r   r   r   r   )r=   r   omes      r    test_sine_weighted_finitez"TestQuad.test_sine_weighted_finite   s    	  	  	  DABu3GGGC[SXX-c#c((l:US!V^L	N 	N 	N 	N 	Nr"   c           
      |    d }d}d}t          t          |dt          |d|          ||dz  |dz  z   z             d S )Nc                 (    t          |  |z            S r$   r   r   s     r    r   z4TestQuad.test_sine_weighted_infinite.<locals>.myfunc   s    r!t99r"         @      @r   r   r   ro   r   r=   r   r   r   s       r    test_sine_weighted_infinitez$TestQuad.test_sine_weighted_infinite   sd    	 	 	 DCaCHHHAQ'	) 	) 	) 	) 	)r"   c           
      ~    d }d}d}t          t          |t           d|d|          ||dz  |dz  z   z             d S )Nc                 &    t          | |z            S r$   r   r   s     r    r   z6TestQuad.test_cosine_weighted_infinite.<locals>.myfunc   s    qs88Or"   r   gffffff@r   r   r   ro   r   r   s       r    test_cosine_weighted_infinitez&TestQuad.test_cosine_weighted_infinite   sf    	 	 	 D#qqSIIIq!tc1f}%	' 	' 	' 	' 	'r"   c           
          d }d}t          t          |dd|dd          t          t          dd| z  z   dz  dz
            z             d S )	Nc                      dd| z   d| z  z   z  S NrD   ro   re   r   s     r    r   z2TestQuad.test_algebraic_log_weight.<locals>.myfunc   s    ac!qb'k?"r"         ?rD   alg)      r   r   ro   )r!   r   r	   r   )r=   r   r   s      r    test_algebraic_log_weightz"TestQuad.test_algebraic_log_weight   su    	# 	# 	# DQQu*, , ,tQqA2wYNQ.///	1 	1 	1 	1 	1r"   c           
      ,   d }d}dt          d          z  dt          d| z  dz   d| z  dz   z            z  z
  t          d	|d
z   z            z
  t          d	|z            z
  d| z  dz   z  }t          t          |ddddd	          |d           d S )Nc                 .    d| z  | dz
  dz  d| z  z   z  S )NrP   rD   ro   r   re   r   s     r    r   z-TestQuad.test_cauchypv_weight.<locals>.myfunc   s&    !9qsQhsaRy011r"   g?g\`@?r   g]`@?r      rD   rP   ro   r   rC   cauchyr   g#fT>r   )r   r   r!   r   )r=   r   r   tabledValues       r    test_cauchypv_weightzTestQuad.test_cauchypv_weight   s    	2 	2 	2 #CHH,#Cr2#)A+(F$G$GGHsQqSz**+ sAv' qb	A	'
 	DACsKKK	9 	9 	9 	9 	9 	9r"   c                     d }t          |dt          j        d          \  }}t          |t          j        dd          \  }}t          || t	          ||                     d S )Nc                 8    |t          j        | | z            z  S r$   npr   )r}   pqs      r    fz&TestQuad.test_b_less_than_a.<locals>.f   s    rvqbd||##r"   r   ro      r   r   r   r   infr   maxr=   r   val_1err_1val_2err_2s         r    test_b_less_than_azTestQuad.test_b_less_than_a   sr    	$ 	$ 	$ Aq"&v666uArvqv666uvCu,=,=>>>>>>r"   c                     d }t          |t          j         t          j        d          \  }}t          |t          j        t          j         d          \  }}t          || t	          ||                     d S )Nc                 n    t          j        | dz   dz  |z            t          j        d|z            z  S )Nro   rP   )r   r   r   )r}   ss     r    r   z(TestQuad.test_b_less_than_a_2.<locals>.f   s1    61a4%!)a-((272a4==88r"   )ro   r   r   r   r   s         r    test_b_less_than_a_2zTestQuad.test_b_less_than_a_2   sz    	9 	9 	9 AwT:::uArvwT:::uvCu,=,=>>>>>>r"   c                     d }t          |dddd          \  }}t          |dddd          \  }}t          || t          ||                     d S )Nc                     dS N      ?re   r   s    r    r   z(TestQuad.test_b_less_than_a_3.<locals>.f       3r"   r   rD   r   r   r   )r   r   r   )r   r   r   r   s         r    test_b_less_than_a_3zTestQuad.test_b_less_than_a_3   sr    	 	 	 Aq!E???uAq!E???uvCu,=,=>>>>>>r"   c                     d }t          |ddddd          }t          |ddddd          }t          |d         |d                   }t          |d         |d          |           d S )	Nc                     dS r   re   r   s    r    r   z2TestQuad.test_b_less_than_a_full_output.<locals>.f   r   r"   r   rD   r   r   T)r   r   full_outputr   )r   r   r   )r=   r   res_1res_2r   s        r    test_b_less_than_a_full_outputz'TestQuad.test_b_less_than_a_full_output   s    	 	 	 Q1UTJJJQ1UTJJJ%(E!H%%a58)#666666r"   c           	      t    d }d\  }}t          t          |||d d           d|dz  |dz  z
  z             d S )Nc                     || z   S r$   re   rv   r}   s     r    simpfuncz/TestQuad.test_double_integral.<locals>.simpfunc   s    Q3Jr"   r   rP   c                     | S r$   re   r   s    r    <lambda>z/TestQuad.test_double_integral.<locals>.<lambda>   s    a r"   c                     d| z  S Nro   re   r   s    r    r   z/TestQuad.test_double_integral.<locals>.<lambda>   s
    1Q3 r"   g?r   r!   r   r=   r   r   bs       r    test_double_integralzTestQuad.test_double_integral   sb    	 	 	 1GHaKKGGQVAsF]+	- 	- 	- 	- 	-r"   c           
      b    d }d }d }d}t          t          |dd|||          d           d S )	Nc                     | |z   |z   |z   S r$   re   )x0x1t0t1s       r    r@   z,TestQuad.test_double_integral2.<locals>.func   s    7R<"$$r"   c                     | S r$   re   r   s    r    r   z0TestQuad.test_double_integral2.<locals>.<lambda>   s    a r"   c                     d| z  S r   re   r   s    r    r   z0TestQuad.test_double_integral2.<locals>.<lambda>   s
    a!e r"   )rD   ro   rD   ro   r   g$@r   )r=   r@   ghr   s        r    test_double_integral2zTestQuad.test_double_integral2   sO    	% 	% 	%KOGD!Q14888FFFFFr"   c           	      N    d }t          t          |dddd          d           d S )Nc                     | |z   dz   dz   S r   re   r   r   s     r    r@   z,TestQuad.test_double_integral3.<locals>.func  s    7Q;?"r"   rD   ro   g      @r   )r=   r@   s     r    test_double_integral3zTestQuad.test_double_integral3  s7    	# 	# 	#GD!Q1--b11111r"   z,x_lower, x_upper, y_lower, y_upper, expectedr      r   rD   ro   c           	      R    d }t          t          |||||          |d           d S )Nc                 >    t          j        | dz   |dz  z
            S r   r   r}   rv   s     r    r   z1TestQuad.test_double_integral_improper.<locals>.fB  s!    616'AF*+++r"   g+i)+`>r   r   )r=   x_lowerx_uppery_lowery_upperexpectedr   s          r    test_double_integral_improperz&TestQuad.test_double_integral_improper  sN    t	, 	, 	, 	Aw':: 	
 	
 	
 	
 	
 	
r"   c                 ~    d }d\  }}t          t          |||d d d d d          d|d	z  |d	z  z
  z             d S )
Nc                     ||z   | z   |z  S r$   re   )r   rv   r}   ts       r    r   z/TestQuad.test_triple_integral.<locals>.simpfuncM  s    aCE19r"   r   c                     | S r$   re   r   s    r    r   z/TestQuad.test_triple_integral.<locals>.<lambda>R  s    a r"   c                     d| z  S r   re   r   s    r    r   z/TestQuad.test_triple_integral.<locals>.<lambda>R  s
    1Q3 r"   c                     | |z
  S r$   re   r   s     r    r   z/TestQuad.test_triple_integral.<locals>.<lambda>S  s
    Q r"   c                     | |z   S r$   re   r   s     r    r   z/TestQuad.test_triple_integral.<locals>.<lambda>S  s
    QU r"   )rP   gUUUUUU@r   r!   r   r   s       r    test_triple_integralzTestQuad.test_triple_integralK  sx    	 	 	 1GHa'K..0B0B!# # 3C0		2 	2 	2 	2 	2r"   z>x_lower, x_upper, y_lower, y_upper, z_lower, z_upper, expectedr      r   c                 V    d }t          t          |||||||          |d           d S )Nc                 J    t          j        | dz   |dz  z
  |dz  z
            S r   r   )r}   rv   r   s      r    r   z1TestQuad.test_triple_integral_improper.<locals>.f  s*    616'AF*Q!V3444r"   g+i)+p>r   r  )	r=   r   r   r   r   z_lowerz_upperr   r   s	            r    test_triple_integral_improperz&TestQuad.test_triple_integral_improperW  sR    t	5 	5 	5 	Aw'7GLL 	
 	
 	
 	
 	
 	
r"   c                    d }t          j        t          |dt           j        dz  d          d         d          sJ dt           j        dddd	}t          |fd
di|}t          d fd
di|}t          d fd
di|}t           j                            |d         |d         d|d         z  z              t           j                            |d         |d         d|d         z  z              t          |d         d                   t          |dd                    cxk    rdk    sn J |d         d         d         |d         k    sJ |d         d         d         |d         k    sJ |d         d         d         d         |d         d         k    sJ t          |d         d                   t          |dd                    cxk    rdk    sn J |d         d         d         d         |d         d         k    sJ d S )Nc                 0    t          j        d| z            S N              ?r   r   s    r    tfuncz$TestQuad.test_complex.<locals>.tfunc  s    6"Q$<<r"   r   ro   T)complex_funcy      ?      ?r   rD   )r   r   r   r   r   r  c                 T    t          j        t          j        d| z                      S r  )r   realr   r   s    r    r   z'TestQuad.test_complex.<locals>.<lambda>	      rwrvbd||44 r"   Fc                 T    t          j        t          j        d| z                      S r  )r   imagr   r   s    r    r   z'TestQuad.test_complex.<locals>.<lambda>  r  r"   r  r  r   r   lstr  )r   allcloser   r	   r   testingassert_equallen)r=   r  kwargsres_cres_rres_is         r    test_complexzTestQuad.test_complex  sg   	  	  	  {257>>>qA  	 	  rvd!1. .U8888844  "'  44  "'  	
a%(Ra[*@AAA

a%(Ra[*@AAA58F#$$E!""I;;;;!;;;;;;Qx"eAh....Qx"eAh....Qx"5)U1Xe_<<<<58F#$$E!""I;;;;!;;;;;;Qx"5)U1Xe_<<<<<<r"   N)rb   rc   rd   rG   rs   r   r   r   r   r   r   r   r   r   r   r   r   r   r:   markparametrizer   r   r	   r   r   r   r  r  r   re   r"   r    rz   rz      s#       K K KF F F: : :N N N) ) )' ' '1 1 19 9 9? ? ?? ? ?? ? ?7 7 7- - -G G G2 2 2
 [6 fWa"&!RUQY/ fWb26'1beai$$q''&9:fWa"&"beai$$q''&9: fWb26'2ruqyDDGGqL'AB fWa"&!RUQY##a&&1*%=>fWa"&!RUQY##a&&1*%=> fWa"&!RUQY33q66A:!2C%DE fWb26'1beaiCCFFQJ$$q''3I&JK fWa"&"beaiCCFFQJ$$q''3I&JK 262519- 262519ttAww#67262519ttAww#67 262519Q1#=> BFBEAIQ!$<=BFBEAIQ!$<= RVRUQY33q66A:!2C%DE BFBEAI##a&&1*Q1G$HI BFBEAI##a&&1*Q1G$HI fWbfrvgrvru5c2	
5 5l
 
m5 5l

2 
2 
2 [HK	
 fWa"&!bfWa"%E2Ba1GHK	
 fWb26'1rvgqe!#dd1gg-/K	
 fWa"&"rvgqe!#dd1gg-/K	
 fWa"&!bfWbe!#dd1gg-/K	
 fWb26'2we!#ttAww!|46K	
  fWb26'1rvgre!#ttAww!|46!K	
$ fWa"&"rvgre!#ttAww!|46%K	
, fWb26'2we!#ttAww!|46-K	
4 fWb26'1rvgqe!#Q!(9TT!WW'DEG5K	
< fWb26'2we!#A
ttAww!|'DEG=K	
D fWb26'1rvgre!#A
ttAww!|'DEGEK	
L fWa"&"rvgre!#A
ttAww!|'DEGMK	
T fWa"&!bfWbe!#Q!(9TT!WW'DEGUK	
\ fWa"&"rvgqe!#Q!(9TT!WW'DEG]K	
d fWa"&!bfWae!#ss1vvz24eK	
h fWa"&!bfWae!#ss1vvz24iK	
l fWa"&!bfWae!#ss1vvz24mK	
t fWa"&!bfWae!#A
q'89;uK	
x fWa"&!bfWae!#A
q'89;yK	
| fWa"&!bfWae!#A
q'89;}K	
D fWa"&!bfWae!#A
q'89;EK	
L 261bfru/?1.DEMK	
R 261bfe!#dd1gg-/SK	
V 261bfe!#dd1gg-/WK	
Z 261bfe!#dd1gg-/[K	
b 261bfe!#ttAww!|46cK	
f 261bfe!#ttAww!|46gK	
j 261bfe!#ttAww!|46kK	
r 261bfe!#ttAww!|46sK	
z BFArve!#ss1vvz24{K	
~ BFArve!#ss1vvz24K	
B 262rve!#ss1vvz24CK	
J RVQe!#A
q'89;KK	
N BFBe!#A
q'89;OK	
R BFBe!#A
q'89;SK	
Z RVRe!#A
q'89;[K	
b BFBe!#Q!(9TT!WW'DEGcK	
j 262rve!#A
ttAww!|'DEGkK	
r BFArve!#A
ttAww!|'DEGsK	
z BFArve!#A
ttAww!|'DEG{K	
B RVQe!#Q!(9TT!WW'DEGCK	
J BFBe!#Q!(9TT!WW'DEGKK	
R fWbfrvgrvwUuSK	
N N^
 
_N N^
(= = = = =r"   rz   c                   J    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 ZdS )	TestNQuadc                     d }d }t          |ddgddgddgddgg|i i i gd	
          }t          |d d         d           t          |d         d         dk    o|d         d         dk                d S )Nc                     | dz  ||z  z   |dz  z
  t          j        |           z   | d|z  z
  dz
  d|z  z
  dk    rdndz   }|S )Nro   r   皙?      ?      ?r   rD   r   r   )r   r   x2x3vals        r    func1z*TestNQuad.test_fixed_limits.<locals>.func1  s[    q52b5=2q5(26"::5s2v++d2g599AACCJr"   c                  <    dd| d         z  dz   d| d         z  z   giS )Nr   r'  ro   r(  r)  r   re   r   s    r    
opts_basicz/TestNQuad.test_fixed_limits.<locals>.opts_basic#  s*    s47{S04Q<?@AAr"   r   rD   r   gp=
ף?g?g333333ÿT)optsr   g5m?nevalg     jA)r   r!   r   )r=   r.  r0  ress       r    test_fixed_limitszTestNQuad.test_fixed_limits  s    	 	 	
	B 	B 	B EQFRGc2Yq	B$b"b1tE E ECH0111B 1$?R)9C)?@@@@@r"   c           	          dd }fd}fd}fd}fd}d }d }d	 }d
 }	t          |||||gd||||	g          }
t          |
d           d S )Ng?c                 t    | |z  |dz  z  t          j        |          z   dz   | ||z  z   |z
  dk    rdndz   }|S )Nro   rD   r   r*  )r   r   r+  r,  r   r   r-  s          r    func2z-TestNQuad.test_variable_limits.<locals>.func2.  sL    b5Q;+a/beb1,,AA!5CJr"   c                     | dz  |z   t          j        |          |z  |z  z   dz   z  dz
  | dz  |z   t          j        |          |z  |z  z   dz   z  dz   gS Nro   rD   )r   r   )r   r+  r,  r   r   scales        r    lim0z,TestNQuad.test_variable_limits.<locals>.lim03  so    RURZ"&**R-*::Q>?!CRURZ"&**R-*::Q>?!CE Er"   c                 H    || z  ||z  z   z  dz
  || z  ||z  z   z  dz   gS r   re   )r+  r,  r   r   r:  s       r    lim1z,TestNQuad.test_variable_limits.<locals>.lim17  s?    RURU]+a/RURU]+a/1 1r"   c                 T    | |dz  |dz  z  z   z  dz
  | |dz  |dz  z  z   z  dz   gS Nro   r   rD   re   )r,  r   r   r:  s      r    lim2z,TestNQuad.test_variable_limits.<locals>.lim2;  sI    R"a%A+-.2R"a%A+-.24 4r"   c                 0    | |z   z  dz
  | |z   z  dz   gS r   re   )r   r   r:  s     r    lim3z,TestNQuad.test_variable_limits.<locals>.lim3?  s*    R"W%)5BG+<q+@AAr"   c                     d||| z  z
  giS )Nr   re   )r   r+  r,  r   r   s        r    opts0z-TestNQuad.test_variable_limits.<locals>.opts0B  s    rBrEzl++r"   c                     i S r$   re   )r+  r,  r   r   s       r    opts1z-TestNQuad.test_variable_limits.<locals>.opts1E      Ir"   c                     i S r$   re   )r,  r   r   s      r    opts2z-TestNQuad.test_variable_limits.<locals>.opts2H  rG  r"   c                     i S r$   re   )r   r   s     r    opts3z-TestNQuad.test_variable_limits.<locals>.opts3K  rG  r"   r   )r   r1  g9@)r   r!   )r=   r7  r;  r=  r@  rB  rD  rF  rI  rK  r3  r:  s              @r    test_variable_limitszTestNQuad.test_variable_limits+  s	   	 	 	
	E 	E 	E 	E 	E	1 	1 	1 	1 	1	4 	4 	4 	4 	4	B 	B 	B 	B 	B	, 	, 	,	 	 		 	 		 	 	 ED$d3&u57 7 7C+,,,,,r"   c                 \    d }t          t          |ddgddggi i g          d           d S )Nc                     dS r   re   r   s     r    r   z9TestNQuad.test_square_separate_ranges_and_opts.<locals>.fS  r   r"   r   rD   r1  r   r!   r   )r=   r   s     r    $test_square_separate_ranges_and_optsz.TestNQuad.test_square_separate_ranges_and_optsR  sI    	 	 	 	E!r1gAw/r2h???EEEEEr"   c                 `    d }ddg}i }t          t          |||g||g          d           d S )Nc                     dS r   re   r   s     r    r   z8TestNQuad.test_square_aliased_ranges_and_opts.<locals>.fY  r   r"   r   rD   rO  r   rP  )r=   r   ropts       r    #test_square_aliased_ranges_and_optsz-TestNQuad.test_square_aliased_ranges_and_optsX  sN    	 	 	 GE!aV3*555s;;;;;r"   c                 t    d }d }d }d }d }||g}||g}t          t          |||          d           d S )Nc                     dS r   re   r   s     r    r   z<TestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fa  r   r"   c                      dS N)r   rD   re   r   s    r    	fn_range0zDTestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fn_range0d      7r"   c                      dS rZ  re   r   s    r    	fn_range1zDTestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fn_range1g  r\  r"   c                      i S r$   re   r   s    r    fn_opt0zBTestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fn_opt0j  rG  r"   c                      i S r$   re   r   s    r    fn_opt1zBTestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fn_opt1m  rG  r"   rO  r   rP  )r=   r   r[  r^  r`  rb  rangesr1  s           r    'test_square_separate_fn_ranges_and_optsz1TestNQuad.test_square_separate_fn_ranges_and_opts`  s    	 	 		 	 		 	 		 	 		 	 	 Y'!E!V$///55555r"   c                 h    d }d }d }||g}||g}t          t          |||          d           d S )Nc                     dS r   re   r   s     r    r   z;TestNQuad.test_square_aliased_fn_ranges_and_opts.<locals>.fu  r   r"   c                      dS rZ  re   r   s    r    fn_rangezBTestNQuad.test_square_aliased_fn_ranges_and_opts.<locals>.fn_rangex  r\  r"   c                      i S r$   re   r   s    r    fn_optz@TestNQuad.test_square_aliased_fn_ranges_and_opts.<locals>.fn_opt{  rG  r"   rO  r   rP  )r=   r   rh  rj  rc  r1  s         r    &test_square_aliased_fn_ranges_and_optsz0TestNQuad.test_square_aliased_fn_ranges_and_optst  sj    	 	 		 	 		 	 	 H%E!V$///55555r"   c                     d }t          |dd          \  }}t          |ddgg          \  }}t          ||           t          ||           d S )Nc                     | dz  dz   S r9  re   r   s    r    r@   z*TestNQuad.test_matching_quad.<locals>.func  s    a4!8Or"   r   r   )rc  )r   r   r   )r=   r@   r3  reserrres2reserr2s         r    test_matching_quadzTestNQuad.test_matching_quad  sj    	 	 	 4A&&VdQF8444gC&&&FG,,,,,r"   c                     d }t          |ddd d           \  }}t          |ddgdg          \  }}t          ||           t          ||           d S )	Nc                 *    | dz  |dz  z   | |z  z
  dz   S r?  re   r   s     r    func2dz/TestNQuad.test_matching_dblquad.<locals>.func2d  s"    q52q5=27*Q..r"   ro   c                     dS )Nre   r   s    r    r   z1TestNQuad.test_matching_dblquad.<locals>.<lambda>  s    r r"   c                     dS )Nr   re   r   s    r    r   z1TestNQuad.test_matching_dblquad.<locals>.<lambda>  s    Q r"   rw  r   )ru  ro   )r   r   r   )r=   rt  r3  rn  ro  rp  s         r    test_matching_dblquadzTestNQuad.test_matching_dblquad  sr    	/ 	/ 	/ fb!\\;;GGVfAw&899gC&&&FG,,,,,r"   c           
          d }t          |ddd d d d d	          }t          |t          j         t          j        gd
dgdgd	          }t	          ||           d S )Nc                 `    | dz  ||dz  z  z   | |z  z
  dz   |t          j        |          z  z   S r?  r*  )r   r   r+  c0c1s        r    func3dz/TestNQuad.test_matching_tplquad.<locals>.func3d  s8    q52A:%R/!3b26"::oEEr"   r   ro   c                     dS )Nru  re   r   s    r    r   z1TestNQuad.test_matching_tplquad.<locals>.<lambda>  s    r r"   c                     dS r   re   r   s    r    r   z1TestNQuad.test_matching_tplquad.<locals>.<lambda>  s    Q r"   c                     t           j         S r$   r   r	   r   s     r    r   z1TestNQuad.test_matching_tplquad.<locals>.<lambda>  s
    BE6 r"   c                     t           j        S r$   r  r   s     r    r   z1TestNQuad.test_matching_tplquad.<locals>.<lambda>  s     r"   r   r   ru  )r   ro   )r   r   r   r	   r   )r=   r~  r3  ro  s       r    test_matching_tplquadzTestNQuad.test_matching_tplquad  s    	F 	F 	F fb!\\;;))+=+=!# # # VvruoAw@vNNNC&&&&&r"   c                 ^    	 t          d ddgddggddi           d S # t          $ r J w xY w)Nc                     | |z  S r$   re   r   s     r    r   z-TestNQuad.test_dict_as_opts.<locals>.<lambda>  s
    q1u r"   r   rD   epsrelg-C6?rO  )r   	TypeErrorrF   s    r    test_dict_as_optszTestNQuad.test_dict_as_opts  sX    	$$1v1v&6h=OPPPPPP 	 	 	5	s    ,N)rb   rc   rd   r4  rL  rQ  rV  rd  rk  rq  ry  r  r  re   r"   r    r$  r$    s        A A A%- %- %-NF F F< < <6 6 6(6 6 6- - -- - -' ' '    r"   r$  )r   )*r5   rE   numpyr   r   r   r   r   r   r   r	   r
   numpy.testingr   r   r   r   r:   scipy.integrater   r   r   r   scipy.specialr   r   scipy._lib._ccallbackr   r'   ctypes.utilscipy._lib._ccallback_cr   "scipy.integrate._test_multivariate	integrate_test_multivariater&   r!   r.   r0   rg   rz   r$  re   r"   r    <module>r     s4   



      ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;A A A A A A A A A A A A  9 9 9 9 9 9 9 9 9 9 9 9 # # # # # # # # 2 2 2 2 2 2      / / / / / / 6 6 6 6 6 6 6 6 60 0 0 0B B B
E= E= E= E= E= E= E= E=PB B B B B B B B4W= W= W= W= W= W= W= W=tF F F F F F F F F Fr"   