
    (phm                     "   S SK r S SKrS SKrS SKJrJrJrJrJrJ	r	J
r
  S SKJrJrJrJr  S SKrS SKJrJrJrJr  S SKJrJr  S SKJr  S SKrS SKrS SKJr  S SKJ s  J!r"  SS jr#S	 r$ " S
 S5      r% " S S5      r& " S S5      r' " S S5      r(g)    N)sqrtcossinarctanexplogpi)assert_assert_allcloseassert_array_lessassert_almost_equal)quaddblquadtplquadnquad)erferfc)LowLevelCallable)sine_ctypesc                 @    U u  p4[        X1USS9  Ub  [        XB5        g g )Nr   )atolrtol)r   r   )value_and_errtabled_valueerror_tolerancevalueerrs        V/var/www/html/venv/lib/python3.13/site-packages/scipy/integrate/tests/test_quadpack.pyassert_quadr      s(    JEEc:"#/ #    c                 z    [        [        U 5      n[        R                  " U[        R                  " U/UQ76 5      $ N)getattr	clib_testctypescast	CFUNCTYPE)namerestypeargtypesptrs       r   get_clib_test_routiner,      s/    
)T
"C;;sF,,W@x@AAr    c                   ,    \ rS rSrS rS rS rS rSrg)TestCtypesQuad    c                    [         R                  S:X  a  S/nO[         R                  S:X  a  S/nOSS/nU H  n [        R                  " U5      U l          O   [        R                  " S5        [        R                  n[        R                  4nS H%  n[        U R                  U5      nX6l
        XFl        M'     g ! [
         a     M  f = f)	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_methodTestCtypesQuad.setup_method!   s    <<7"56E\\X%!NE,ED!;;t,  KK56//OO%)D488T*D"L$M *  s   B==
C
Cc                    [        [        U R                  R                  SS5      [        [        R                  SS5      S   5        [        [        U R                  R
                  SS5      [        [        R
                  SS5      S   5        [        [        U R                  R                  SS5      [        [        R                  SS5      S   5        g )Nr         )r   r   r7   r   mathr   r3   r<   s    r   test_typicalTestCtypesQuad.test_typical;   s    Dq!,d488Q.B1.EFDq!,d488Q.B1.EFDq!,d488Q.B1.EFr    c                 8    [        [        [        5      SS5        g Nr   rD   )r   r   r   rF   s    r   test_ctypes_sineTestCtypesQuad.test_ctypes_sine@   s    k*Aq1r    c                 ,   [        S[        R                  [        R                  [        R                  5      n[        S[        R                  [        R                  [        R
                  " [        R                  5      [        R                  5      n[        S[        R                  [        R                  5      n[        S[        R                  [        R                  [        R
                  " [        R                  5      5      n[        S[        R                  [        R                  [        R                  5      nXX4U/nX5/nU/n[        U5       H[  u  p[        U
5      nX;   a(  [        R                  " [        [        US[        5        M=  [        [        US[        5      S   S5        M]     [        U5       HP  u  pX;   a   [        [        U
S[        5      S   S5        M*  [        R                  " [        [        U
S[        5        MR     g )N_sin_0_sin_1_sin_2_sin_3r          @)r,   r%   r;   c_void_pc_intPOINTER	enumerater   r9   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_variants#TestCtypesQuad.test_ctypes_variantsC   sl   %h&,oovH &h&,llFNN6??4S&,oo7 &h&,oo7 &h&,llFNN6??4SU &h&,llFOOE %6n!7 !*GA'-H'j$!R@Xq" 5a 8#> + !-GA"T1b 1! 4c:j$a<	 .r    )r7   N)	__name__
__module____qualname____firstlineno__r@   rG   rK   rc   __static_attributes__ r    r   r.   r.       s    %4G
2"=r    r.   c                   ,    \ rS rSrS rS rS rS rSrg)TestMultivariateCtypesQuadh   c                     [         R                  n[         R                  [         R                  4nS H  n[        X1/UQ76 n[	        XU5        M     g )N)_multivariate_typical_multivariate_indefinite_multivariate_sin)r%   r;   rT   r,   setattr)r<   r)   r*   r(   r?   s        r   r@   'TestMultivariateCtypesQuad.setup_methodi   sB    //LL&//2*D(BBDD%*r    c                 P    [        [        U R                  S[        S5      S5        g )Nr      g?ۗ?)r   r   ro   r	   rF   s    r   rG   'TestMultivariateCtypesQuad.test_typicalq   s     D33QHE*	,r    c                 b    [        [        U R                  S[        R                  5      S5        g )Nr   ox?)r   r   rp   npinfrF   s    r   test_indefinite*TestMultivariateCtypesQuad.test_indefinitev   s"    D66266B.	0r    c                 @   ^  U 4S jn[        [        USS5      S5        g )Nc                 >   > U [        TR                  SS5      S   -   $ rJ   )r   rq   )yr<   s    r   threadsafetyBTestMultivariateCtypesQuad.test_threadsafety.<locals>.threadsafety}   s"    tD22Aq9!<<<r    r   rD   gtJ׵?)r   r   )r<   r   s   ` r   test_threadsafety,TestMultivariateCtypesQuad.test_threadsafety{   s    	=Dq!,.@Ar    rj   N)	re   rf   rg   rh   r@   rG   r}   r   ri   rj   r    r   rl   rl   h   s    &,
0
Br    rl   c                   $!   \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS r\R(                  R+                  S\R.                  * S\R.                  * S\R0                  S-  4\R.                  * S\R.                  * S\R0                  S-  \" S5      -  4\R.                  * S\R.                  * S\R0                  S-  \" S5      -  4\R.                  * S\R.                  * S\R0                  S-  \" S5      S-  -  4\R.                  * S\R.                  * S\R0                  S-  \" S5      S-   -  4\R.                  * S\R.                  * S\R0                  S-  \" S5      S-   -  4\R.                  * S\R.                  * S\R0                  S-  \" S5      S-   S-  -  4\R.                  * S\R.                  * S\R0                  S-  \" S5      S-   \" S5      -  -  4\R.                  * S\R.                  * S\R0                  S-  \" S5      S-   \" S5      -  -  4S\R.                  S\R.                  \R0                  S-  4S\R.                  S\R.                  \R0                  S-  \" S5      -  4S\R.                  S\R.                  \R0                  S-  \" S5      -  4S\R.                  S\R.                  \R0                  S-  \" S5      S-  -  4S\R.                  S\R.                  \R0                  S-  \" S5      S-   -  4S\R.                  S\R.                  \R0                  S-  \" S5      S-   -  4S\R.                  S\R.                  \R0                  S-  \" S5      S-   S-  -  4S\R.                  S\R.                  \R0                  S-  \" S5      S-   \" S5      -  -  4S\R.                  S\R.                  \R0                  S-  \" S5      S-   \" S5      -  -  4\R.                  * \R.                  \R.                  * \R.                  \R0                  4/5      S 5       rS r\R(                  R:                  \R(                  R+                  S/ \R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-  -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-  -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-  -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-  -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-   S-  \" S5      -  -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-   \" S5      S-  -  -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-   \" S5      S-  -  -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-   \" S5      S-  -  -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-   S-  \" S5      -  -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-   S-  \" S5      -  -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-   -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-   -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-   -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-   S-  -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-   S-  -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-   S-  -  4P\R.                  * S\R.                  * S\R.                  * S\R0                  S-  S-  \" S5      S-   S-  -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-  -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-  -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-  -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-  -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-   -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-   -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-   -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-   S-  -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-   S-  -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-   S-  -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-   S-  -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-   S-  \" S5      -  -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-   \" S5      S-  -  -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-   \" S5      S-  -  -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-   \" S5      S-  -  -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-   S-  \" S5      -  -  4PS\R.                  S\R.                  S\R.                  \R0                  S-  S-  \" S5      S-   S-  \" S5      -  -  4P\R.                  * \R.                  \R.                  * \R.                  \R.                  * \R.                  \R0                  S-  4P5      S 5       5       rS rSr g )!TestQuad   c                 B    S n[        [        US[        S5      S5        g )Nc                 H    [        X-  U[        U 5      -  -
  5      [        -  $ r"   )r   r   r	   )xnzs      r   myfunc%TestQuad.test_typical.<locals>.myfunc   s     qs1SV8|$R''r    r   ru   rw   )r   r   r	   r<   r   s     r   rG   TestQuad.test_typical   s    	(DB13IJr    c                 T    S n[        [        US[        R                  5      S5        g )Nc                 4    [        U * 5      * [        U 5      -  $ r"   )r   r   r   s    r   r   (TestQuad.test_indefinite.<locals>.myfunc   s    G8CF?"r    r   rz   r   r   r{   r|   r   s     r   r}   TestQuad.test_indefinite   s    	#DBFF+-GHr    c           	          S n[        [        USSSS/S9S[        S5      -
  [        S5      -   [        S	5      -
  5        g )
Nc                 r    SU s=:  a  S:  a  O  O[        U 5      $ SU s=::  a  S::  a  O  g[        U * 5      $ g)Nr         @      @g        )r   r   r   s    r   r   &TestQuad.test_singular.<locals>.myfunc   s6    1{s{1vS  A2wr    r   
   r   r   )pointsrD   g      g      )r   r   r   r   r   s     r   test_singularTestQuad.test_singular   s?    	 	DBSz:CL3t9,s4y8	:r    c                     S nSn[        [        USSSSUS9S[        U5      -  U[        U5      -  -
  U[	        S5      -  -   S	US
-  -   -  5        g )Nc                 "    [        XS-
  -  5      $ NrD   r   r   as     r   r   2TestQuad.test_sine_weighted_finite.<locals>.myfunc   s    qA#w<r    glSS%@r   rD      r   argsweightwvarii  rv   )r   r   r   r   r   )r<   r   omes      r   test_sine_weighted_finite"TestQuad.test_sine_weighted_finite   sZ    	  DABu3GC[SX-c#c(l:US!V^L	Nr    c                 t    S nSnSn[        [        US[        R                  USUS9X2S-  US-  -   -  5        g )Nc                      [        U * U-  5      $ r"   r   r   s     r   r   4TestQuad.test_sine_weighted_infinite.<locals>.myfunc   s    r!t9r          @      @r   r   r   rv   r   r<   r   r   r   s       r   test_sine_weighted_infinite$TestQuad.test_sine_weighted_infinite   sB    	 DBFF5sKAQ'	)r    c                 v    S nSnSn[        [        U[        R                  * SUSUS9X"S-  US-  -   -  5        g )Nc                     [        X-  5      $ r"   r   r   s     r   r   6TestQuad.test_cosine_weighted_infinite.<locals>.myfunc   s    qs8Or    r   gffffff@r   r   r   rv   r   r   s       r   test_cosine_weighted_infinite&TestQuad.test_cosine_weighted_infinite   sD    	 D"&&!!EL!tc1f}%	'r    c                 x    S nSn[        [        USSUSSS9[        [        SSU* -  -   S-  S-
  5      -  5        g )	Nc                      SSU -   SU* -  -   -  $ NrD   rv   rj   r   s     r   r   2TestQuad.test_algebraic_log_weight.<locals>.myfunc   s    ac!qb'k?"r          ?rD   alg)      r   r   rv   )r   r   r	   r   )r<   r   r   s      r   test_algebraic_log_weight"TestQuad.test_algebraic_log_weight   sJ    	# DQQu*,tQqA2wYNQ.//	1r    c                     S nSnS[        S5      -  S[        SU* -  S-   SU* -  S-   -  5      -  -
  [        S	US
-   -  5      -
  [        S	U-  5      -
  SU* -  S-   -  n[        [        USSSSS	S9USS9  g )Nc                 .    SU* -  U S-
  S-  SU* -  -   -  $ )NrR   rD   rv   r   rj   r   s     r   r   -TestQuad.test_cauchypv_weight.<locals>.myfunc   s&    !9qsQhsaRy011r    g?g\`@?r   g]`@?r      rD   rR   rv   r   rC   cauchyr   g#fT>r   )r   r   r   r   )r<   r   r   tabledValues       r   test_cauchypv_weightTestQuad.test_cauchypv_weight   s    	2 #CH,#Cr2#)A+(F$GGHsQqSz*+ sAv' qb	A	'
 	DACsK	9r    c                     S n[        US[        R                  SS9u  p#[        U[        R                  SSS9u  pE[        X$* [	        X55      S9  g )Nc                 <    U[         R                  " U* U -  5      -  $ r"   r{   r   )r   pqs      r   f&TestQuad.test_b_less_than_a.<locals>.f   s    rvvqbd|##r    r   rv      r   r   r   r{   r|   r   maxr<   r   val_1err_1val_2err_2s         r   test_b_less_than_aTestQuad.test_b_less_than_a   sF    	$ Aq"&&v6Arvvqv6vC,=>r    c                     S n[        U[        R                  * [        R                  SS9u  p#[        U[        R                  [        R                  * SS9u  pE[        X$* [	        X55      S9  g )Nc                 v    [         R                  " U S-  * S-  U-  5      [         R                  " SU-  5      -  $ )Nrv   rR   )r{   r   r   )r   ss     r   r   (TestQuad.test_b_less_than_a_2.<locals>.f   s0    661a4%!)a-(2772a4=88r    )rv   r   r   r   r   s         r   test_b_less_than_a_2TestQuad.test_b_less_than_a_2   sR    	9 AwT:ArvvwT:vC,=>r    c                 n    S n[        USSSSS9u  p#[        USSSSS9u  pE[        X$* [        X55      S9  g )Nc                     gN      ?rj   r   s    r   r   (TestQuad.test_b_less_than_a_3.<locals>.f       r    r   rD   r   r   r   )r   r   r   )r   r   r   r   s         r   test_b_less_than_a_3TestQuad.test_b_less_than_a_3   sB    	 Aq!E?Aq!E?vC,=>r    c           	          S n[        USSSSSS9n[        USSSSSS9n[        US   US   5      n[        US   US   * US9  g )	Nc                     gr   rj   r   s    r   r   2TestQuad.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_output'TestQuad.test_b_less_than_a_full_output   s[    	 Q1UTJQ1UTJ%(E!H%a58)#6r    c           	      ^    S nSu  p#[        [        XUS S 5      SUS-  US-  -
  -  5        g )Nc                 
    X-   $ r"   rj   r   r   s     r   simpfunc/TestQuad.test_double_integral.<locals>.simpfunc   s	    3Jr    r   rR   c                     U $ r"   rj   r   s    r   <lambda>/TestQuad.test_double_integral.<locals>.<lambda>   s    ar    c                     SU -  $ Nrv   rj   r   s    r   r  r     s    1Q3r    g?r   r   r   r<   r   r   bs       r   test_double_integralTestQuad.test_double_integral   s9    	 GHKGQVAsF]+	-r    c                 H    S nS nS nSn[        [        USSX#US9S5        g )	Nc                     X-   U-   U-   $ r"   rj   )x0x1t0t1s       r   r?   ,TestQuad.test_double_integral2.<locals>.func   s    7R<"$$r    c                     U $ r"   rj   r   s    r   g)TestQuad.test_double_integral2.<locals>.g   s    Hr    c                     SU -  $ r  rj   r   s    r   h)TestQuad.test_double_integral2.<locals>.h   s    q5Lr    )rD   rv   rD   rv   r   g$@r  )r<   r?   r  r  r   s        r   test_double_integral2TestQuad.test_double_integral2   s-    	%		GD!Q48Fr    c           	      <    S n[        [        USSSS5      S5        g )Nc                     X-   S-   S-   $ r   rj   r  r  s     r   r?   ,TestQuad.test_double_integral3.<locals>.func  s    7Q;?"r    rD   rv   g      @r  )r<   r?   s     r   test_double_integral3TestQuad.test_double_integral3  s    	#GD!Q1-b1r    z,x_lower, x_upper, y_lower, y_upper, expectedr      r   rD   rv   c           	      6    S n[        [        XaX#U5      USS9  g )Nc                 B    [         R                  " U S-  * US-  -
  5      $ r  r   r   r   s     r   r   1TestQuad.test_double_integral_improper.<locals>.fD  s     6616'AF*++r    g+i)+`>r   r  )r<   x_lowerx_uppery_lowery_upperexpectedr   s          r   test_double_integral_improper&TestQuad.test_double_integral_improper
  s$    t	, 	A': 	
r    c                 h    S nSu  p#[        [        XUS S S S S5      SUS	-  US	-  -
  -  5        g )
Nc                     X!-   U -   U-  $ r"   rj   )r   r   r   ts       r   r   /TestQuad.test_triple_integral.<locals>.simpfuncO  s    CE19r    r   c                     U $ r"   rj   r   s    r   r  /TestQuad.test_triple_integral.<locals>.<lambda>T  s    ar    c                     SU -  $ r  rj   r   s    r   r  r1  T  s    1Q3r    c                 
    X-
  $ r"   rj   r#  s     r   r  r1  U  s    r    c                 
    X-   $ r"   rj   r#  s     r   r  r1  U  s    QUr    )rR   gUUUUUU@r   r   r   r  s       r   test_triple_integralTestQuad.test_triple_integralM  sG    	 GH'.0B!# 3C0		2r    z>x_lower, x_upper, y_lower, y_upper, z_lower, z_upper, expectedr      r   c                 8    S n[        [        XX#XEU5      USS9  g )Nc                 N    [         R                  " U S-  * US-  -
  US-  -
  5      $ r  r   )r   r   r   s      r   r   1TestQuad.test_triple_integral_improper.<locals>.f  s)    6616'AF*Q!V344r    g+i)+p>r   r5  )	r<   r%  r&  r'  r(  z_lowerz_upperr)  r   s	            r   test_triple_integral_improper&TestQuad.test_triple_integral_improperY  s&    v	5 	A'GL 	
r    c           	      .   S n[         R                  " [        US[         R                  S-  SS9S   S5      (       d   eS[         R                  SSSS	.n[        U4S
S0UD6n[        S 4S
S0UD6n[        S 4S
S0UD6n[         R
                  R                  US   US   SUS   -  -   5        [         R
                  R                  US   US   SUS   -  -   5        [        US   S   5      [        USS  5      s=:X  a  S:X  d   e   eUS   S   S   US   :X  d   eUS   S   S   US   :X  d   eUS   S   S   S   US   S   :X  d   e[        US   S   5      [        USS  5      s=:X  a  S:X  d   e   eUS   S   S   S   US   S   :X  d   eg )Nc                 4    [         R                  " SU -  5      $ N              ?r   r   s    r   tfunc$TestQuad.test_complex.<locals>.tfunc  s    66"Q$<r    r   rv   T)complex_funcy      ?      ?r   rD   )r   r  r   r   r   rF  c                 \    [         R                  " [         R                  " SU -  5      5      $ rB  )r{   realr   r   s    r   r  'TestQuad.test_complex.<locals>.<lambda>      rwwrvvbd|4r    Fc                 \    [         R                  " [         R                  " SU -  5      5      $ rB  )r{   imagr   r   s    r   r  rI    rJ  r    rC  rH  r   r   lstrL  )r{   allcloser   r	   r|   testingassert_equallen)r<   rD  kwargsres_cres_rres_is         r   test_complexTestQuad.test_complex  s   	  {{2557>qA  	  rvvd!1.U8884 "' 4 "' 	

a%(Ra[*@A


a%(Ra[*@A58F#$E!"I;!;;;;;Qx"eAh...Qx"eAh...Qx"5)U1Xe_<<<58F#$E!"I;!;;;;;Qx"5)U1Xe_<<<r    rj   N)!re   rf   rg   rh   rG   r}   r   r   r   r   r   r   r   r   r   r   r	  r  r  r9   markparametrizer{   r|   r	   r   r   r*  r6  xslowr>  rV  ri   rj   r    r   r   r      s	   KI:N)'19???7-G2
 [[6 ffWa"&&!RUUQY/ ffWb266'1beeai$q'&9:ffWa"&&"beeai$q'&9: ffWb266'2ruuqyDGqL'AB ffWa"&&!RUUQY#a&1*%=>ffWa"&&!RUUQY#a&1*%=> ffWa"&&!RUUQY3q6A:!2C%DE ffWb266'1beeaiCFQJ$q'3I&JK ffWa"&&"beeaiCFQJ$q'3I&JK 26625519- 26625519tAw#6726625519tAw#67 26625519Q1#=> BFFBEEAIQ!$<=BFFBEEAIQ!$<= RVVRUUQY3q6A:!2C%DE BFFBEEAI#a&1*Q1G$HI BFFBEEAI#a&1*Q1G$HI ffWbffrvvgrvvruu5c2	
5l
m5l

2 [[[[HK	
 ffWa"&&!bffWa"%%E2Ba1GHK	
 ffWb266'1rvvgqee!#d1g-/K	
 ffWa"&&"rvvgqee!#d1g-/K	
 ffWa"&&!bffWbee!#d1g-/K	
 ffWb266'2wee!#tAw!|46K	
  ffWb266'1rvvgree!#tAw!|46!K	
$ ffWa"&&"rvvgree!#tAw!|46%K	
, ffWb266'2wee!#tAw!|46-K	
4 ffWb266'1rvvgqee!#Q!(9T!W'DEG5K	
< ffWb266'2wee!#A
tAw!|'DEG=K	
D ffWb266'1rvvgree!#A
tAw!|'DEGEK	
L ffWa"&&"rvvgree!#A
tAw!|'DEGMK	
T ffWa"&&!bffWbee!#Q!(9T!W'DEGUK	
\ ffWa"&&"rvvgqee!#Q!(9T!W'DEG]K	
d ffWa"&&!bffWaee!#s1vz24eK	
h ffWa"&&!bffWaee!#s1vz24iK	
l ffWa"&&!bffWaee!#s1vz24mK	
t ffWa"&&!bffWaee!#A
q'89;uK	
x ffWa"&&!bffWaee!#A
q'89;yK	
| ffWa"&&!bffWaee!#A
q'89;}K	
D ffWa"&&!bffWaee!#A
q'89;EK	
L 2661bffruu/?1.DEMK	
R 2661bffee!#d1g-/SK	
V 2661bffee!#d1g-/WK	
Z 2661bffee!#d1g-/[K	
b 2661bffee!#tAw!|46cK	
f 2661bffee!#tAw!|46gK	
j 2661bffee!#tAw!|46kK	
r 2661bffee!#tAw!|46sK	
z BFFArvvee!#s1vz24{K	
~ BFFArvvee!#s1vz24K	
B 2662rvvee!#s1vz24CK	
J RVVQee!#A
q'89;KK	
N BFFBee!#A
q'89;OK	
R BFFBee!#A
q'89;SK	
Z RVVRee!#A
q'89;[K	
b BFFBee!#Q!(9T!W'DEGcK	
j 2662rvvee!#A
tAw!|'DEGkK	
r BFFArvvee!#A
tAw!|'DEGsK	
z BFFArvvee!#A
tAw!|'DEG{K	
B RVVQee!#Q!(9T!W'DEGCK	
J BFFBee!#Q!(9T!W'DEGKK	
R ffWbffrvvgrvvwUUuSK	
N^
_N `
(=r    r   c                       \ rS rSr\R
                  R                  S5      S 5       r\R
                  R                  S5      S 5       rS r	S r
S rS rS	 rS
 rS rS rSrg)	TestNQuadi  rC   c                     S nS n[        USS/SS/SS/SS//U0 0 0 /S	S
9n[        US S S5        [        US   S   S:  =(       a    US   S   S:  5        g )Nc                     U S-  X-  -   US-  -
  [         R                  " U 5      -   U SU-  -
  S-
  SU-  -
  S:  a  S-   nU$ S-   nU$ )Nrv   r   皙?      ?      ?r   rD   r{   r   )r  r  x2x3vals        r   func1*TestNQuad.test_fixed_limits.<locals>.func1"  sf    q525=2q5(266":5s2v++d2g59ACCJ ABCCJr    c                  0    SSU S   -  S-   SU S   -  -   /0$ )Nr   r_  rv   r`  ra  r   rj   r   s    r   
opts_basic/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<   rf  ri  ress       r   test_fixed_limitsTestNQuad.test_fixed_limits   s    	
	B EQFRGc2Yq	B$b"b1tECH01B 1$?R)9C)?@r    c           	         ^ SmS nU4S jnU4S jnU4S jnU4S jnS nS nS	 nS
 n	[        XX4U/SXgX/S9n
[        U
S5        g )Ng?c                 |    X-  US-  -  [         R                  " U5      -   S-   XU-  -   U-
  S:  a  S-   nU$ S-   nU$ )Nrv   rD   r   rb  )r  r  rc  rd  r  r  re  s          r   func2-TestNQuad.test_variable_limits.<locals>.func23  sR    5Q;+a/eb1,A5CJ 345CJr    c                    > TU S-  U-   [         R                  " U5      U-  U-  -   S-   -  S-
  TU S-  U-   [         R                  " U5      U-  U-  -   S-   -  S-   /$ Nrv   rD   )r{   r   )r  rc  rd  r  r  scales        r   lim0,TestNQuad.test_variable_limits.<locals>.lim08  so    RURZ"&&*R-*::Q>?!CRURZ"&&*R-*::Q>?!CE Er    c                 @   > TX -  X1-  -   -  S-
  TX -  X1-  -   -  S-   /$ r   rj   )rc  rd  r  r  rv  s       r   lim1,TestNQuad.test_variable_limits.<locals>.lim1<  s7    RURU]+a/RURU]+a/1 1r    c                 P   > TXS-  US-  -  -   -  S-
  TXS-  US-  -  -   -  S-   /$ Nrv   r   rD   rj   )rd  r  r  rv  s      r   lim2,TestNQuad.test_variable_limits.<locals>.lim2@  sE    Ra%A+-.2Ra%A+-.24 4r    c                 ,   > TX-   -  S-
  TX-   -  S-   /$ r   rj   )r  r  rv  s     r   lim3,TestNQuad.test_variable_limits.<locals>.lim3D  s&    RW%)5BG+<q+@AAr    c                     SX4U -  -
  /0$ )Nr   rj   )r  rc  rd  r  r  s        r   opts0-TestNQuad.test_variable_limits.<locals>.opts0G  s    rrEzl++r    c                     0 $ r"   rj   )rc  rd  r  r  s       r   opts1-TestNQuad.test_variable_limits.<locals>.opts1J      Ir    c                     0 $ r"   rj   )rd  r  r  s      r   opts2-TestNQuad.test_variable_limits.<locals>.opts2M  r  r    c                     0 $ r"   rj   )r  r  s     r   opts3-TestNQuad.test_variable_limits.<locals>.opts3P  r  r    r   )r   rk  g9@)r   r   )r<   rr  rw  rz  r~  r  r  r  r  r  rm  rv  s              @r   test_variable_limitsTestNQuad.test_variable_limits/  sa    	
	E	1	4	B	,			 E$d3&57C+,r    c                 D    S n[        [        USS/SS//0 0 /S9S5        g )Nc                     gr   rj   r   s     r   r   9TestNQuad.test_square_separate_ranges_and_opts.<locals>.fX  r   r    r   rD   rk  r   r   r   )r<   r   s     r   $test_square_separate_ranges_and_opts.TestNQuad.test_square_separate_ranges_and_optsW  s-    	 	E!r1gAw/r2h?Er    c                 D    S nSS/n0 n[        [        XU/X3/S9S5        g )Nc                     gr   rj   r   s     r   r   8TestNQuad.test_square_aliased_ranges_and_opts.<locals>.f^  r   r    r   rD   r  r   r  )r<   r   ropts       r   #test_square_aliased_ranges_and_opts-TestNQuad.test_square_aliased_ranges_and_opts]  s.    	 GE!V3*5s;r    c                 V    S nS nS nS nS nX#/nXE/n[        [        XUS9S5        g )Nc                     gr   rj   r   s     r   r   <TestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.ff  r   r    c                      gN)r   rD   rj   r   s    r   	fn_range0DTestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fn_range0i      r    c                      gr  rj   r   s    r   	fn_range1DTestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fn_range1l  r  r    c                      0 $ r"   rj   r   s    r   fn_opt0BTestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fn_opt0o  r  r    c                      0 $ r"   rj   r   s    r   fn_opt1BTestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fn_opt1r  r  r    r  r   r  )r<   r   r  r  r  r  rangesrk  s           r   'test_square_separate_fn_ranges_and_opts1TestNQuad.test_square_separate_fn_ranges_and_optse  s>    					 '!E!$/5r    c                 J    S nS nS nX"/nX3/n[        [        XUS9S5        g )Nc                     gr   rj   r   s     r   r   ;TestNQuad.test_square_aliased_fn_ranges_and_opts.<locals>.fz  r   r    c                      gr  rj   r   s    r   fn_rangeBTestNQuad.test_square_aliased_fn_ranges_and_opts.<locals>.fn_range}  r  r    c                      0 $ r"   rj   r   s    r   fn_opt@TestNQuad.test_square_aliased_fn_ranges_and_opts.<locals>.fn_opt  r  r    r  r   r  )r<   r   r  r  r  rk  s         r   &test_square_aliased_fn_ranges_and_opts0TestNQuad.test_square_aliased_fn_ranges_and_optsy  s4    			 %E!$/5r    c                 r    S n[        USS5      u  p#[        USS//S9u  pE[        X$5        [        X55        g )Nc                     U S-  S-   $ ru  rj   r   s    r   r?   *TestNQuad.test_matching_quad.<locals>.func  s    a4!8Or    r   r   )r  )r   r   r   )r<   r?   rm  reserrres2reserr2s         r   test_matching_quadTestNQuad.test_matching_quad  s=    	 4A&dQF84C&F,r    c                     S n[        USSS S 5      u  p#[        USS/S/5      u  pE[        X$5        [        X55        g )	Nc                 (    U S-  US-  -   X-  -
  S-   $ r}  rj   r  s     r   func2d/TestNQuad.test_matching_dblquad.<locals>.func2d  s     q52q5=27*Q..r    rv   c                     g)Nrj   r   s    r   r  1TestNQuad.test_matching_dblquad.<locals>.<lambda>  s    rr    c                     g)Nr   rj   r   s    r   r  r    s    Qr    r  r   )r  rv   )r   r   r   )r<   r  rm  r  r  r  s         r   test_matching_dblquadTestNQuad.test_matching_dblquad  sD    	/ fb!\;GfAw&89C&F,r    c                     S n[        USSS S S S SS	9n[        U[        R                  * [        R                  /S
S/S/SS	9n[	        X#5        g )Nc                 `    U S-  X1S-  -  -   X-  -
  S-   U[         R                  " U5      -  -   $ r}  rb  )r  r  rc  c0c1s        r   func3d/TestNQuad.test_matching_tplquad.<locals>.func3d  s4    q52A:%/!3b266":oEEr    r   rv   c                     g)Nr  rj   r   s    r   r  1TestNQuad.test_matching_tplquad.<locals>.<lambda>  s    rr    c                     gr  rj   r   s    r   r  r    s    Qr    c                 $    [         R                  * $ r"   r{   r	   r#  s     r   r  r    s
    BEE6r    c                 "    [         R                  $ r"   r  r#  s     r   r  r    s    r    r   r   r  )r   rv   )r   r   r{   r	   r   )r<   r  rm  r  s       r   test_matching_tplquadTestNQuad.test_matching_tplquad  sX    	F fb!\;)+=!# VvruuoAw@vNC&r    c                 N     [        S SS/SS//SS0S9  g ! [         a     ef = f)Nc                 
    X-  $ r"   rj   r#  s     r   r  -TestNQuad.test_dict_as_opts.<locals>.<lambda>  s    qur    r   rD   epsrelg-C6?r  )r   	TypeErrorrF   s    r   test_dict_as_optsTestNQuad.test_dict_as_opts  s:    	$1v1v&6h=OP 	5	s    $rj   N)re   rf   rg   rh   r9   rX  	fail_slowrn  r  r  r  r  r  r  r  r  r  ri   rj   r    r   r\  r\    sr    [[1A A [[1%- %-NF<6(6--'r    r\  )g+i)+P>))r4   rE   numpyr{   r   r   r   r   r   r   r	   numpy.testingr
   r   r   r   r9   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,   r.   rl   r   r\  rj   r    r   <module>r     s~    
   6 6 6A A  9 9 # 2   / 6 60B
E= E=PB B4Z= Z=zH Hr    