+
    ,im                     $   ^ RI t ^ RIt^ RIt^ RIHtHtHtHtHtH	t	H
t
 ^ RIHtHtHtHt ^ RIt^ RIHtHtHtHt ^ RIHtHt ^ RIHt ^ RIt^ RIt^ RIHt ^ RIH u H!t" RR lt#R	 t$ ! R
 R4      t% ! R R4      t& ! R R4      t' ! R R4      t(R# )    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                 L    V w  r4\        W1V^ R7       Ve   \        WB4       R# R# )r   )atolrtolN)r   r   )value_and_errtabled_valueerror_tolerancevalueerrs   &&&  E/usr/lib/python3/dist-packages/scipy/integrate/tests/test_quadpack.pyassert_quadr      s(    JEEc:"#/ #    c                 |    \        \        V 4      p\        P                  ! V\        P                  ! V.VO5!  4      # 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                   8   a  ] tR t^ t o R tR tR tR tRtV t	R# )TestCtypesQuadc                   \         P                  R 8X  d   R.pM\         P                  R8X  d   R.pMRR.pV F  p \        P                  ! V4      V n         M	  \        P                  ! R4       \        P                  p\        P                  3pR F%  p\        V P                  V4      pW6n
        WFn        K'  	  R#   \
         d     K  i ; i)	win32zapi-ms-win-crt-math-l1-1-0.dlldarwinz
libm.dylibzlibm.soz	libm.so.6zCtypes can't import libm.soN)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   C  CCc                   \        \        V P                  P                  ^ ^4      \        \        P                  ^ ^4      ^ ,          4       \        \        V P                  P
                  ^ ^4      \        \        P
                  ^ ^4      ^ ,          4       \        \        V P                  P                  ^ ^4      \        \        P                  ^ ^4      ^ ,          4       R# r   N)r   r   r6   r   mathr   r2   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                :    \        \        \        4      ^ ^4       R# rB   )r   r   r   rD   s   &r   test_ctypes_sineTestCtypesQuad.test_ctypes_sine@   s    k*Aq1r    c                B   \        R \        P                  \        P                  \        P                  4      p\        R\        P                  \        P                  \        P
                  ! \        P                  4      \        P                  4      p\        R\        P                  \        P                  4      p\        R\        P                  \        P                  \        P
                  ! \        P                  4      4      p\        R\        P                  \        P                  \        P                  4      pWW4V.pW5.pV.p\        V4       F`  w  r\        V
4      pW9   d)   \        P                  ! \        \        V^ \        4       K>  \        \        V^ \        4      ^ ,          R4       Kb  	  \        V4       FU  w  rW9   d%   \        \        V
^ \        4      ^ ,          R4       K/  \        P                  ! \        \        V
^ \        4       KW  	  R# )_sin_0_sin_1_sin_2_sin_3       @N)r,   r%   r:   c_void_pc_intPOINTER	enumerater   r8   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    )r6   N)
__name__
__module____qualname____firstlineno__r?   rE   rH   r`   __static_attributes____classdictcell____classdict__s   @r   r.   r.       s     %4G
2"= "=r    r.   c                   8   a  ] tR t^ht o R tR tR tR tRtV t	R# )TestMultivariateCtypesQuadc                    \         P                  p\         P                  \         P                  3pR F  p\        W1.VO5!  p\	        WV4       K  	  R# )_multivariate_typicalN)rm   _multivariate_indefinite_multivariate_sin)r%   r:   rQ   r,   setattr)r;   r)   r*   r(   r>   s   &    r   r?   'TestMultivariateCtypesQuad.setup_methodi   sB    //LL&//2*D(BBDD%*r    c                R    \        \        V P                  ^ \        R4      R4       R# )r   ۗ?N   g?)r   r   rm   r	   rD   s   &r   rE   'TestMultivariateCtypesQuad.test_typicalq   s     D33QHE*	,r    c                d    \        \        V P                  ^ \        P                  4      R4       R# )r   ox?N)r   r   rn   npinfrD   s   &r   test_indefinite*TestMultivariateCtypesQuad.test_indefinitev   s"    D66266B.	0r    c                B   a  V 3R  lp\        \        V^ ^4      R4       R# )c                 N   < V \        SP                  ^ ^4      ^ ,          ,           # )r   )r   ro   )yr;   s   &r   threadsafetyBTestMultivariateCtypesQuad.test_threadsafety.<locals>.threadsafety}   s"    tD22Aq9!<<<r    gtJ׵?N)r   r   )r;   r   s   f r   test_threadsafety,TestMultivariateCtypesQuad.test_threadsafety{   s    	=Dq!,.@Ar     N)
rb   rc   rd   re   r?   rE   r{   r   rf   rg   rh   s   @r   rk   rk   h   s      &,
0
B Br    rk   c                   (  a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR t]P(                  P+                  R]P.                  ) ^ ]P.                  ) ^ ]P0                  ^,          3]P.                  ) R]P.                  ) ^ ]P0                  ^,          ]! ^4      ,          3]P.                  ) ^ ]P.                  ) R]P0                  ^,          ]! ^4      ,          3]P.                  ) R]P.                  ) R]P0                  ^,          ]! ^4      ^,          ,          3]P.                  ) ^]P.                  ) ^ ]P0                  ^,          ]! ^4      ^,           ,          3]P.                  ) ^ ]P.                  ) ^]P0                  ^,          ]! ^4      ^,           ,          3]P.                  ) ^]P.                  ) ^]P0                  ^,          ]! ^4      ^,           ^,          ,          3]P.                  ) R]P.                  ) ^]P0                  ^,          ]! ^4      ^,           ]! ^4      ,          ,          3]P.                  ) ^]P.                  ) R]P0                  ^,          ]! ^4      ^,           ]! ^4      ,          ,          3^ ]P.                  ^ ]P.                  ]P0                  ^,          3^]P.                  ^ ]P.                  ]P0                  ^,          ]! ^4      ,          3^ ]P.                  ^]P.                  ]P0                  ^,          ]! ^4      ,          3^]P.                  ^]P.                  ]P0                  ^,          ]! ^4      ^,          ,          3R]P.                  ^ ]P.                  ]P0                  ^,          ]! ^4      ^,           ,          3^ ]P.                  R]P.                  ]P0                  ^,          ]! ^4      ^,           ,          3R]P.                  R]P.                  ]P0                  ^,          ]! ^4      ^,           ^,          ,          3R]P.                  ^]P.                  ]P0                  ^,          ]! ^4      ^,           ]! ^4      ,          ,          3^]P.                  R]P.                  ]P0                  ^,          ]! ^4      ^,           ]! ^4      ,          ,          3]P.                  ) ]P.                  ]P.                  ) ]P.                  ]P0                  3.4      R 4       tR t]P(                  P:                  ]P(                  P+                  R. ]P.                  ) ^ ]P.                  ) ^ ]P.                  ) ^ ]P0                  R,          ^,          3N]P.                  ) R]P.                  ) ^ ]P.                  ) ^ ]P0                  R,          ^,          ]! ^4      ,          3N]P.                  ) ^ ]P.                  ) R]P.                  ) ^ ]P0                  R,          ^,          ]! ^4      ,          3N]P.                  ) ^ ]P.                  ) ^ ]P.                  ) R]P0                  R,          ^,          ]! ^4      ,          3N]P.                  ) R]P.                  ) R]P.                  ) ^ ]P0                  R,          ^,          ]! ^4      ^,          ,          3N]P.                  ) R]P.                  ) ^ ]P.                  ) R]P0                  R,          ^,          ]! ^4      ^,          ,          3N]P.                  ) ^ ]P.                  ) R]P.                  ) R]P0                  R,          ^,          ]! ^4      ^,          ,          3N]P.                  ) R]P.                  ) R]P.                  ) R]P0                  R,          ^,          ]! ^4      ^,          ,          3N]P.                  ) R]P.                  ) ^]P.                  ) ^]P0                  R,          ^,          ]! ^4      ^,           ^,          ]! ^4      ,          ,          3N]P.                  ) R]P.                  ) R]P.                  ) ^]P0                  R,          ^,          ]! ^4      ^,           ]! ^4      ^,          ,          ,          3N]P.                  ) R]P.                  ) ^]P.                  ) R]P0                  R,          ^,          ]! ^4      ^,           ]! ^4      ^,          ,          ,          3N]P.                  ) ^]P.                  ) R]P.                  ) R]P0                  R,          ^,          ]! ^4      ^,           ]! ^4      ^,          ,          ,          3N]P.                  ) ^]P.                  ) ^]P.                  ) R]P0                  R,          ^,          ]! ^4      ^,           ^,          ]! ^4      ,          ,          3N]P.                  ) ^]P.                  ) R]P.                  ) ^]P0                  R,          ^,          ]! ^4      ^,           ^,          ]! ^4      ,          ,          3N]P.                  ) ^]P.                  ) ^ ]P.                  ) ^ ]P0                  R,          ^,          ]! ^4      ^,           ,          3N]P.                  ) ^ ]P.                  ) ^]P.                  ) ^ ]P0                  R,          ^,          ]! ^4      ^,           ,          3N]P.                  ) ^ ]P.                  ) ^ ]P.                  ) ^]P0                  R,          ^,          ]! ^4      ^,           ,          3N]P.                  ) ^]P.                  ) ^]P.                  ) ^ ]P0                  R,          ^,          ]! ^4      ^,           ^,          ,          3N]P.                  ) ^]P.                  ) ^ ]P.                  ) ^]P0                  R,          ^,          ]! ^4      ^,           ^,          ,          3N]P.                  ) ^ ]P.                  ) ^]P.                  ) ^]P0                  R,          ^,          ]! ^4      ^,           ^,          ,          3N]P.                  ) ^]P.                  ) ^]P.                  ) ^]P0                  R,          ^,          ]! ^4      ^,           ^,          ,          3N^ ]P.                  ^ ]P.                  ^ ]P.                  ]P0                  R,          ^,          3N^]P.                  ^ ]P.                  ^ ]P.                  ]P0                  R,          ^,          ]! ^4      ,          3N^ ]P.                  ^]P.                  ^ ]P.                  ]P0                  R,          ^,          ]! ^4      ,          3N^ ]P.                  ^ ]P.                  ^]P.                  ]P0                  R,          ^,          ]! ^4      ,          3N^]P.                  ^]P.                  ^ ]P.                  ]P0                  R,          ^,          ]! ^4      ^,          ,          3N^]P.                  ^ ]P.                  ^]P.                  ]P0                  R,          ^,          ]! ^4      ^,          ,          3N^ ]P.                  ^]P.                  ^]P.                  ]P0                  R,          ^,          ]! ^4      ^,          ,          3N^]P.                  ^]P.                  ^]P.                  ]P0                  R,          ^,          ]! ^4      ^,          ,          3NR]P.                  ^ ]P.                  ^ ]P.                  ]P0                  R,          ^,          ]! ^4      ^,           ,          3N^ ]P.                  R]P.                  ^ ]P.                  ]P0                  R,          ^,          ]! ^4      ^,           ,          3N^ ]P.                  ^ ]P.                  R]P.                  ]P0                  R,          ^,          ]! ^4      ^,           ,          3NR]P.                  R]P.                  ^ ]P.                  ]P0                  R,          ^,          ]! ^4      ^,           ^,          ,          3NR]P.                  ^ ]P.                  R]P.                  ]P0                  R,          ^,          ]! ^4      ^,           ^,          ,          3N^ ]P.                  R]P.                  R]P.                  ]P0                  R,          ^,          ]! ^4      ^,           ^,          ,          3NR]P.                  R]P.                  R]P.                  ]P0                  R,          ^,          ]! ^4      ^,           ^,          ,          3N^]P.                  R]P.                  R]P.                  ]P0                  R,          ^,          ]! ^4      ^,           ^,          ]! ^4      ,          ,          3N^]P.                  ^]P.                  R]P.                  ]P0                  R,          ^,          ]! ^4      ^,           ]! ^4      ^,          ,          ,          3N^]P.                  R]P.                  ^]P.                  ]P0                  R,          ^,          ]! ^4      ^,           ]! ^4      ^,          ,          ,          3NR]P.                  ^]P.                  ^]P.                  ]P0                  R,          ^,          ]! ^4      ^,           ]! ^4      ^,          ,          ,          3NR]P.                  R]P.                  ^]P.                  ]P0                  R,          ^,          ]! ^4      ^,           ^,          ]! ^4      ,          ,          3NR]P.                  ^]P.                  R]P.                  ]P0                  R,          ^,          ]! ^4      ^,           ^,          ]! ^4      ,          ,          3N]P.                  ) ]P.                  ]P.                  ) ]P.                  ]P.                  ) ]P.                  ]P0                  R,          3N4      R 4       4       tR tRt V t!R# )TestQuadc                D    R  p\        \        V^ \        R4      R4       R# )c                 h    \        W,          V\        V 4      ,          ,
          4      \        ,          # r"   )r   r   r	   )xnzs   &&&r   myfunc%TestQuad.test_typical.<locals>.myfunc   s     qs1SV8|$R''r    rs   Nrt   )r   r   r	   r;   r   s   & r   rE   TestQuad.test_typical   s    	(DB13IJr    c                V    R  p\        \        V^ \        P                  4      R4       R# )c                 <    \        V ) 4      ) \        V 4      ,          # r"   )r   r   r   s   &r   r   (TestQuad.test_indefinite.<locals>.myfunc   s    G8CF?"r    rx   Nr   r   ry   rz   r   s   & r   r{   TestQuad.test_indefinite   s    	#DBFF+-GHr    c           	         R  p\        \        V^ ^
RR.R7      ^\        R4      ,
          \        R4      ,           \        R4      ,
          4       R# )c                 ~    ^ T u;8  d   R8  d   M M\        V 4      # RT u;8:  d   R8:  d   M R# \        V ) 4      # R# )r         @      @g        )r   r   r   s   &r   r   &TestQuad.test_singular.<locals>.myfunc   s6    1{s{1vS  A2wr    r   r   pointsNg      g      )r   r   r   r   r   s   & r   test_singularTestQuad.test_singular   s?    	 	DBSz:CL3t9,s4y8	:r    c                    R  pRp\        \        V^ ^^RVR7      ^\        V4      ,          V\        V4      ,          ,
          V\	        R4      ,          ,           RV^,          ,           ,          4       R# )c                 2    \        W^,
          ,          4      #    r   r   as   &&r   r   2TestQuad.test_sine_weighted_finite.<locals>.myfunc   s    qA#w<r    r   argsweightwvarNglSS%@ii  )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                    R  pRpRp\        \        V^ \        P                  VRVR7      W2^,          V^,          ,           ,          4       R# )c                 (    \        V ) V,          4      # r"   r   r   s   &&r   r   4TestQuad.test_sine_weighted_infinite.<locals>.myfunc   s    r!t9r          @      @r   r   Nr   r;   r   r   r   s   &   r   test_sine_weighted_infinite$TestQuad.test_sine_weighted_infinite   sB    	 DBFF5sKAQ'	)r    c                    R  pRpRp\        \        V\        P                  ) ^ VRVR7      W"^,          V^,          ,           ,          4       R# )c                 $    \        W,          4      # r"   r   r   s   &&r   r   6TestQuad.test_cosine_weighted_infinite.<locals>.myfunc   s    qs8Or    r   gffffff@r   r   Nr   r   s   &   r   test_cosine_weighted_infinite&TestQuad.test_cosine_weighted_infinite   sD    	 D"&&!!EL!tc1f}%	'r    c                    R  pRp\        \        VR^VRRR7      \        \        ^^V) ,          ,           ^,          ^,
          4      ,          4       R# )c                 @    ^^V ,           ^V) ,          ,           ,          # r   r   r   s   &&r   r   2TestQuad.test_algebraic_log_weight.<locals>.myfunc   s    ac!qb'k?"r          ?algr   N)      r   )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                |   R  pRpR
\        R4      ,          R\        RV) ,          ^,           RV) ,          ^,           ,          4      ,          ,
          \        RV^,           ,          4      ,
          \        RV,          4      ,
          RV) ,          ^,           ,          p\        \        V^ ^RRRR7      VRR7       R	# )c                 ^    R V) ,          V ^,
          ^,          RV) ,          ,           ,          # )rO   r   r   r   s   &&r   r   -TestQuad.test_cauchypv_weight.<locals>.myfunc   s&    !9qsQhsaRy011r    g?rO   r   r   cauchyr   g#fT>r   Ng\`@?g]`@?)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                    R  p\        V^ \        P                  RR7      w  r#\        V\        P                  ^ RR7      w  rE\        W$) \	        W54      R7       R# )c                 L    V\         P                  ! V) V ,          4      ,          # r"   ry   r   )r   pqs   &&&r   f&TestQuad.test_b_less_than_a.<locals>.f   s    rvvqbd|##r    r   r   Nru      r   ry   rz   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                    R  p\        V\        P                  ) \        P                  RR7      w  r#\        V\        P                  \        P                  ) RR7      w  rE\        W$) \	        W54      R7       R# )c                     \         P                  ! V ^,          ) ^,          V,          4      \         P                  ! RV,          4      ,          # )ru   rO   )ry   r   r   )r   ss   &&r   r   (TestQuad.test_b_less_than_a_2.<locals>.f   s0    661a4%!)a-(2772a4=88r    r   r   Nru   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                    R  p\        V^ ^RRR7      w  r#\        V^^ RRR7      w  rE\        W$) \        W54      R7       R# )c                     R #       ?r   r   s   &r   r   (TestQuad.test_b_less_than_a_3.<locals>.f       r    r   )r   r   r   N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           	         R  p\        V^ ^RRRR7      p\        V^^ RRRR7      p\        V^,          V^,          4      p\        V^ ,          V^ ,          ) VR7       R# )c                     R # r   r   r   s   &r   r   2TestQuad.test_b_less_than_a_full_output.<locals>.f   r   r    r   T)r   r   full_outputr   Nr   )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           	     ~    R  pRRr2\        \        WVR R 4      RVR,          VR,          ,
          ,          4       R# )c                     W,           # r"   r   r   r   s   &&r   simpfunc/TestQuad.test_double_integral.<locals>.simpfunc   s	    3Jr    r   rO   c                     V # r"   r   r   s   &r   <lambda>/TestQuad.test_double_integral.<locals>.<lambda>   s    ar    c                     ^V ,          # r   r   r   s   &r   r   r      s    1Q3r    r   Ng?r   r   r;   r   r   bs   &   r   test_double_integralTestQuad.test_double_integral   s9    	 C1GHKGQVAsF]+	-r    c                P    R  pR pR pRp\        \        V^^W#VR7      R4       R# )c                 .    W,           V,           V,           # r"   r   )x0x1t0t1s   &&&&r   r>   ,TestQuad.test_double_integral2.<locals>.func   s    7R<"$$r    c                     V # r"   r   r   s   &r   g)TestQuad.test_double_integral2.<locals>.g   s    Hr    c                     ^V ,          # r   r   r   s   &r   h)TestQuad.test_double_integral2.<locals>.h   s    q5Lr    r   N)r   ru   g$@r  )r;   r>   r  r  r   s   &    r   test_double_integral2TestQuad.test_double_integral2   s-    	%		GD!Q48Fr    c           	     >    R  p\        \        V^^^^4      R4       R# )c                 .    W,           ^,           ^,           # r   r   r  r	  s   &&r   r>   ,TestQuad.test_double_integral3.<locals>.func  s    7Q;?"r    g      @Nr  )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, expectedc           	     >    R  p\        \        WaW#V4      VRR7       R# )c                 Z    \         P                  ! V ^,          ) V^,          ,
          4      # r   r   r   r   s   &&r   r   1TestQuad.test_double_integral_improper.<locals>.fD  s     6616'AF*++r    g+i)+`>r   Nr  )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                    R  pRRr2\        \        WVR R R R R	4      R
VR,          VR,          ,
          ,          4       R# )c                 .    W!,           V ,           V,          # r"   r   )r   r   r   ts   &&&&r   r   /TestQuad.test_triple_integral.<locals>.simpfuncO  s    CE19r    r   rO   c                     V # r"   r   r   s   &r   r   /TestQuad.test_triple_integral.<locals>.<lambda>T  s    ar    c                     ^V ,          # r   r   r   s   &r   r   r+  T  s    1Q3r    c                     W,
          # r"   r   r  s   &&r   r   r+  U  s    r    c                     W,           # r"   r   r  s   &&r   r   r+  U  s    QUr    r   N)rO   gUUUUUU@r   r   r  s   &   r   test_triple_integralTestQuad.test_triple_integralM  sG    	 C1GH'.0B!# 3C0		2r    z>x_lower, x_upper, y_lower, y_upper, z_lower, z_upper, expectedc                @    R  p\        \        WW#WEV4      VRR7       R# )c                 v    \         P                  ! V ^,          ) V^,          ,
          V^,          ,
          4      # 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   Nr/  )	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           
        R  p\         P                  ! \        V^ \         P                  ^,          RR7      ^ ,          R4      '       g   Q hR^ R\         P                  RRRRR	^/p\        V3R
R/VB p\        R 3R
R/VB p\        R 3R
R/VB p\         P
                  P                  V^ ,          V^ ,          RV^ ,          ,          ,           4       \         P
                  P                  V^,          V^,          RV^,          ,          ,           4       \        V^,          R,          4      \        VR,          4      u;8X  d	   ^8X  g   Q h Q hV^,          R,          ^,          V^,          8X  g   Q hV^,          R,          ^,          V^,          8X  g   Q hV^,          R,          ^ ,          R,          V^,          R,          8X  g   Q h\        V^,          R,          4      \        VR,          4      u;8X  d	   ^8X  g   Q h Q hV^,          R,          ^ ,          R,          V^,          R,          8X  g   Q hR# )c                 <    \         P                  ! R V ,          4      #               ?r   r   s   &r   tfunc$TestQuad.test_complex.<locals>.tfunc  s    66"Q$<r    T)complex_funcr<  r   r  r   r   r   r   r?  c                 d    \         P                  ! \         P                  ! R V ,          4      4      # r;  )ry   realr   r   s   &r   r   'TestQuad.test_complex.<locals>.<lambda>      rwwrvvbd|4r    Fc                 d    \         P                  ! \         P                  ! R V ,          4      4      # r;  )ry   imagr   r   s   &r   r   rB    rC  r    rA  :ru   NNlstrE  Ny      ?      ?)ry   allcloser   r	   rz   testingassert_equallen)r;   r=  kwargsres_cres_rres_is   &     r   test_complexTestQuad.test_complex  s   	  {{2557>qA  	  q#rvv}dE61.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    r   Nr   r   )"rb   rc   rd   re   rE   r{   r   r   r   r   r   r   r   r   r   r   r  r  r  r8   markparametrizery   rz   r	   r   r   r$  r0  xslowr7  rO  rf   rg   rh   s   @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                      a  ] tR tRt o ]P
                  P                  ^4      R 4       t]P
                  P                  ^4      R 4       tR t	R t
R tR tR tR	 tR
 tR tRtV tR# )	TestNQuadi  c                    R  pR p\        V^ ^.R
^.RR.R^..V/ / / .RR7      p\        VRR
 R4       \        VR
,          R,          ^ 8  ;'       d    VR
,          R,          R	8  4       R# )c                     V ^,          W,          ,           V^,          ,
          \         P                  ! V 4      ,           V RV,          ,
          R,
          RV,          ,
          ^ 8  d   ^,           pV# ^ ,           pV# )ru   皙?      ?      ?ry   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                  `    R RV ^,          ,          R,           RV ^ ,          ,          ,           ./# )r   rX  rY  rZ  r   r   s   *r   
opts_basic/TestNQuad.test_fixed_limits.<locals>.opts_basic'  s*    s47{S04Q<?@AAr    gp=
ף?g?T)optsr   Ng5m?nevalg     jAr   g333333ÿ)r   r   r
   )r;   r_  rb  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           	        a R oR pV3R lpV3R lpV3R lpV3R lpR pR pR pR	 p	\        WW4V.RWgW.R
7      p
\        V
R4       R# )g?c                     W,          V^,          ,          \         P                  ! V4      ,           ^,           WV,          ,           V,
          ^ 8  d   ^,           pV# ^ ,           pV# r   r[  )r  r	  r\  r]  r
  r  r^  s   &&&&&& r   func2-TestNQuad.test_variable_limits.<locals>.func23  sR    5Q;+a/eb1,A5CJ 345CJr    c                 <  < SV ^,          V,           \         P                  ! V4      V,          V,          ,           ^,           ,          ^,
          SV ^,          V,           \         P                  ! V4      V,          V,          ,           ^,           ,          ^,           .# r   )ry   r   )r	  r\  r]  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                    < SW ,          W1,          ,           ,          ^,
          SW ,          W1,          ,           ,          ^,           .# r   r   )r\  r]  r
  r  rn  s   &&&&r   lim1,TestNQuad.test_variable_limits.<locals>.lim1<  s7    RURU]+a/RURU]+a/1 1r    c                    < SW^,          V^,          ,          ,           ,          ^,
          SW^,          V^,          ,          ,           ,          ^,           .# r   r   )r]  r
  r  rn  s   &&&r   lim2,TestNQuad.test_variable_limits.<locals>.lim2@  sE    Ra%A+-.2Ra%A+-.24 4r    c                 \   < SW,           ,          ^,
          SW,           ,          ^,           .# r   r   )r
  r  rn  s   &&r   lim3,TestNQuad.test_variable_limits.<locals>.lim3D  s&    RW%)5BG+<q+@AAr    c                 &    R W4V ,          ,
          ./# r   r   )r	  r\  r]  r
  r  s   &&&&&r   opts0-TestNQuad.test_variable_limits.<locals>.opts0G  s    rrEzl++r    c                     / # r"   r   )r\  r]  r
  r  s   &&&&r   opts1-TestNQuad.test_variable_limits.<locals>.opts1J      Ir    c                     / # r"   r   )r]  r
  r  s   &&&r   opts2-TestNQuad.test_variable_limits.<locals>.opts2M  r  r    c                     / # r"   r   )r
  r  s   &&r   opts3-TestNQuad.test_variable_limits.<locals>.opts3P  r  r    )r   rd  g9@Nr   )r   r   )r;   rk  ro  rr  ru  rx  r{  r~  r  r  rf  rn  s   &          @r   test_variable_limitsTestNQuad.test_variable_limits/  sa    	
	E	1	4	B	,			 E$d3&57C+,r    c                L    R  p\        \        VR^.R^../ / .R7      R4       R# )c                     R # r   r   r   s   &&r   r   9TestNQuad.test_square_separate_ranges_and_opts.<locals>.fX  r   r    rd  r   Nr   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                L    R  pR^.p/ p\        \        WV.W3.R7      R4       R# )c                     R # r   r   r   s   &&r   r   8TestNQuad.test_square_aliased_ranges_and_opts.<locals>.f^  r   r    r  r   Nr   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                ^    R  pR pR pR pR pW#.pWE.p\        \        WVR7      R4       R# )c                     R # r   r   r   s   &&r   r   <TestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.ff  r   r    c                      R# r   )r   r   r   r   s   *r   	fn_range0DTestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fn_range0i      Nr    c                      R# r  r   r   s   *r   	fn_range1DTestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fn_range1l  r  r    c                      / # r"   r   r   s   *r   fn_opt0BTestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fn_opt0o  r  r    c                      / # r"   r   r   s   *r   fn_opt1BTestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fn_opt1r  r  r    r  r   Nr  )r;   r   r  r  r  r  rangesrd  s   &       r   'test_square_separate_fn_ranges_and_opts1TestNQuad.test_square_separate_fn_ranges_and_optse  s>    					 '!E!$/5r    c                R    R  pR pR pW".pW3.p\        \        WVR7      R4       R# )c                     R # r   r   r   s   &&r   r   ;TestNQuad.test_square_aliased_fn_ranges_and_opts.<locals>.fz  r   r    c                      R# r  r   r   s   *r   fn_rangeBTestNQuad.test_square_aliased_fn_ranges_and_opts.<locals>.fn_range}  r  r    c                      / # r"   r   r   s   *r   fn_opt@TestNQuad.test_square_aliased_fn_ranges_and_opts.<locals>.fn_opt  r  r    r  r   Nr  )r;   r   r  r  r  rd  s   &     r   &test_square_aliased_fn_ranges_and_opts0TestNQuad.test_square_aliased_fn_ranges_and_optsy  s4    			 %E!$/5r    c                z    R  p\        V^ ^4      w  r#\        V^ ^..R7      w  rE\        W$4       \        W54       R# )c                 "    V ^,          ^,           # r   r   r   s   &r   r>   *TestNQuad.test_matching_quad.<locals>.func  s    a4!8Or    )r  N)r   r   r   )r;   r>   rf  reserrres2reserr2s   &     r   test_matching_quadTestNQuad.test_matching_quad  s=    	 4A&dQF84C&F,r    c                    R  p\        VR^R R 4      w  r#\        VR^.R.4      w  rE\        W$4       \        W54       R# )c                 X    V ^,          V^,          ,           W,          ,
          ^,           # r   r   r  s   &&r   func2d/TestNQuad.test_matching_dblquad.<locals>.func2d  s     q52q5=27*Q..r    c                     R# )r   r   r   s   &r   r   1TestNQuad.test_matching_dblquad.<locals>.<lambda>  s    rr    c                     ^# )r   r   r   s   &r   r   r    s    Qr    Nr  )r  ru   )r   r   r   )r;   r  rf  r  r  r  s   &     r   test_matching_dblquadTestNQuad.test_matching_dblquad  sD    	/ fb!\;GfAw&89C&F,r    c                    R  p\        VR^R R R R RR7      p\        V\        P                  ) \        P                  .R	^.R
.RR7      p\	        W#4       R# )c                     V ^,          W1^,          ,          ,           W,          ,
          ^,           V\         P                  ! V4      ,          ,           # r   r[  )r  r	  r\  c0c1s   &&&&&r   func3d/TestNQuad.test_matching_tplquad.<locals>.func3d  s4    q52A:%/!3b266":oEEr    c                     R# )ru   r  r   r   s   &r   r   1TestNQuad.test_matching_tplquad.<locals>.<lambda>  s    rr    c                     ^# r   r   r   s   &r   r   r    s    Qr    c                 $    \         P                  ) # r"   ry   r	   r  s   &&r   r   r    s
    BEE6r    c                 "    \         P                  # r"   r  r  s   &&r   r   r    s    r    r   Nr   r   r  )r   ru   )r   r   ry   r	   r   )r;   r  rf  r  s   &   r   test_matching_tplquadTestNQuad.test_matching_tplquad  sX    	F fb!\;)+=!# VvruuoAw@vNC&r    c                X     \        R  ^ ^.^ ^..RR/R7       R#   \         d    Q hi ; i)c                     W,          # r"   r   r  s   &&r   r   -TestNQuad.test_dict_as_opts.<locals>.<lambda>  s    qur    epsrelg-C6?r  N)r   	TypeErrorrD   s   &r   test_dict_as_optsTestNQuad.test_dict_as_opts  s:    	$1v1v&6h=OP 	5	s    )r   N)rb   rc   rd   re   r8   rQ  	fail_slowrg  r  r  r  r  r  r  r  r  r  rf   rg   rh   s   @r   rU  rU    sz     [[1A A [[1%- %-NF<6(6--' r    rU  )g+i)+P>))r3   rC   numpyry   r   r   r   r   r   r   r	   numpy.testingr
   r   r   r   r8   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.   rk   r   rU  r   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    