o
    `^hm                     @   s  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
 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   m!Z" dd	d
Z#dd Z$G dd dZ%G dd dZ&G dd dZ'G dd dZ(dS )    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_ctypes+i)+P>c                 C   s2   | \}}t |||dd |d urt|| d S d S )Nr   )atolrtol)r
   r   )value_and_errtabled_valueerror_tolerancevalueerr r   a/home/air/shanriGPT/back/venv/lib/python3.10/site-packages/scipy/integrate/tests/test_quadpack.pyassert_quad   s
   r   c                 G   s$   t t| }t|tj|g|R  S N)getattr	clib_testctypescast	CFUNCTYPE)namerestypeargtypesptrr   r   r   get_clib_test_routine   s   
r*   c                   @   ,   e Zd Zdd Zdd Zdd Zdd Zd	S )
TestCtypesQuadc              	   C   s   t jdkr	dg}nt jdkrdg}nddg}|D ]}z	t|| _W  n ty,   Y qw td tj}tjf}dD ]}t	| j|}||_
||_q;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&   funcr   r   r   setup_method!   s(   


zTestCtypesQuad.setup_methodc                 C   sp   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   r3   r   mathr   r/   r8   r   r   r   test_typical;   s   $$(zTestCtypesQuad.test_typicalc                 C   s   t ttdd d S Nr   r>   )r   r   r   r@   r   r   r   test_ctypes_sine@      zTestCtypesQuad.test_ctypes_sinec                 C   s   t dtjtjtj}t dtjtjttjtj}t dtjtj}t dtjtjttj}t dtjtjtj}|||||g}||g}|g}t|D ]!\}	}
t|
}|
|v r`t	t
t|dt qJtt|dtd d qJt|D ]\}	}
|
|v rtt|
dtd d qpt	t
t|
dt qpd S )N_sin_0_sin_1_sin_2_sin_3r          @)r*   r#   r7   c_void_pc_intPOINTER	enumerater   r5   raises
ValueErrorr   r   r
   )r8   sin_0sin_1sin_2sin_3sin_4all_sigslegacy_sigslegacy_only_sigsjr;   callbackr   r   r   test_ctypes_variantsC   s:   z#TestCtypesQuad.test_ctypes_variantsN)__name__
__module____qualname__r<   rA   rC   rZ   r   r   r   r   r,       s
    r,   c                   @   r+   )
TestMultivariateCtypesQuadc                 C   s>   t j}t jt jf}dD ]}t||g|R  }t| || qd S )N)_multivariate_typical_multivariate_indefinite_multivariate_sin)r#   r7   rK   r*   setattr)r8   r'   r(   r&   r;   r   r   r   r<   i   s   z'TestMultivariateCtypesQuad.setup_methodc                 C   s   t t| jdtdd d S )Nr      g?ۗ?)r   r   r_   r   r@   r   r   r   rA   q      z'TestMultivariateCtypesQuad.test_typicalc                 C   s   t t| jdtjd d S )Nr   ox?)r   r   r`   npinfr@   r   r   r   test_indefinitev   rf   z*TestMultivariateCtypesQuad.test_indefinitec                    s"    fdd}t t|ddd d S )Nc                    s   | t  jddd  S rB   )r   ra   )yr@   r   r   threadsafety}      zBTestMultivariateCtypesQuad.test_threadsafety.<locals>.threadsafetyr   r>   gtJ׵?)r   r   )r8   rl   r   r@   r   test_threadsafety{   s   z,TestMultivariateCtypesQuad.test_threadsafetyN)r[   r\   r]   r<   rA   rj   rn   r   r   r   r   r^   h   s
    r^   c                   @   s  e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zejdej d ej d ejd! fej d"ej d ejd! ed# fej d ej d"ejd! ed# fej d"ej d"ejd! ed#d$  fej d#ej d ejd! ed#d#  fej d ej d#ejd! ed#d#  fej d#ej d#ejd! ed#d# d$  fej d"ej d#ejd! ed#d# ed#  fej d#ej d"ejd! ed#d# ed#  fd ejd ejejd! fd#ejd ejejd! ed# fd ejd#ejejd! ed# fd#ejd#ejejd! ed#d$  fd"ejd ejejd! ed#d#  fd ejd"ejejd! ed#d#  fd"ejd"ejejd! ed#d# d$  fd"ejd#ejejd! ed#d# ed#  fd#ejd"ejejd! ed#d# ed#  fej ejej ejejfgd%d& Zd'd( Zejjejd)g ej d ej d ej d ejd* d+ fej d"ej d ej d ejd* d+ ed# fej d ej d"ej d ejd* d+ ed# fej d ej d ej d"ejd* d+ ed# fej d"ej d"ej d ejd* d+ ed#d$  fej d"ej d ej d"ejd* d+ ed#d$  fej d ej d"ej d"ejd* d+ ed#d$  fej d"ej d"ej d"ejd* d+ ed#d,  fej d"ej d#ej d#ejd* d+ ed#d# d$ ed#  fej d"ej d"ej d#ejd* d+ ed#d# ed#d$   fej d"ej d#ej d"ejd* d+ ed#d# ed#d$   fej d#ej d"ej d"ejd* d+ ed#d# ed#d$   fej d#ej d#ej d"ejd* d+ ed#d# d$ ed#  fej d#ej d"ej d#ejd* d+ ed#d# d$ ed#  fej d#ej d ej d ejd* d+ ed#d#  fej d ej d#ej d ejd* d+ ed#d#  fej d ej d ej d#ejd* d+ ed#d#  fej d#ej d#ej d ejd* d+ ed#d# d$  fej d#ej d ej d#ejd* d+ ed#d# d$  fej d ej d#ej d#ejd* d+ ed#d# d$  fej d#ej d#ej d#ejd* d+ ed#d# d,  fd ejd ejd ejejd* d+ fd#ejd ejd ejejd* d+ ed# fd ejd#ejd ejejd* d+ ed# fd ejd ejd#ejejd* d+ ed# fd#ejd#ejd ejejd* d+ ed#d$  fd#ejd ejd#ejejd* d+ ed#d$  fd ejd#ejd#ejejd* d+ ed#d$  fd#ejd#ejd#ejejd* d+ ed#d,  fd"ejd ejd ejejd* d+ ed#d#  fd ejd"ejd ejejd* d+ ed#d#  fd ejd ejd"ejejd* d+ ed#d#  fd"ejd"ejd ejejd* d+ ed#d# d$  fd"ejd ejd"ejejd* d+ ed#d# d$  fd ejd"ejd"ejejd* d+ ed#d# d$  fd"ejd"ejd"ejejd* d+ ed#d# d,  fd#ejd"ejd"ejejd* d+ ed#d# d$ ed#  fd#ejd#ejd"ejejd* d+ ed#d# ed#d$   fd#ejd"ejd#ejejd* d+ ed#d# ed#d$   fd"ejd#ejd#ejejd* d+ ed#d# ed#d$   fd"ejd"ejd#ejejd* d+ ed#d# d$ ed#  fd"ejd#ejd"ejejd* d+ ed#d# d$ ed#  fej ejej ejej ejejd* fd-d. Zd/d0 Zd1S )2TestQuadc                 C   s    dd }t t|dtdd d S )Nc                 S   s   t ||  |t|   t S r    )r   r   r   )xnzr   r   r   myfunc      z%TestQuad.test_typical.<locals>.myfuncr   rc   re   )r   r   r   r8   rs   r   r   r   rA         zTestQuad.test_typicalc                 C   s    dd }t t|dtjd d S )Nc                 S   s   t |   t|  S r    )r   r   rp   r   r   r   rs      rD   z(TestQuad.test_indefinite.<locals>.myfuncr   rg   r   r   rh   ri   ru   r   r   r   rj      rv   zTestQuad.test_indefinitec                 C   s>   dd }t t|ddddgddtd td	 td
  d S )Nc                 S   sD   d|   k rdk rt | S  d|   krdkr n dS t|  S dS )Nr         @      @g        )r   r   rw   r   r   r   rs      s   
z&TestQuad.test_singular.<locals>.myfuncr   
   ry   rz   )pointsr>   g      g      )r   r   r   r   ru   r   r   r   test_singular   s   zTestQuad.test_singularc              	   C   sV   dd }d}t t|dddd|ddt| |t|  |td	  d
|d    d S )Nc                 S   s   t || d  S Nr>   r   rp   ar   r   r   rs         z2TestQuad.test_sine_weighted_finite.<locals>.myfuncglSS%@r   r>      r   argsweightwvarii  rd   )r   r   r   r   r   )r8   rs   omer   r   r   test_sine_weighted_finite   s
   .z"TestQuad.test_sine_weighted_finitec              	   C   s@   dd }d}d}t t|dtj|d|d||d |d    d S )	Nc                 S   s   t |  | S r    r   r   r   r   r   rs         z4TestQuad.test_sine_weighted_infinite.<locals>.myfunc      @      @r   r   r   rd   rx   r8   rs   r   r   r   r   r   test_sine_weighted_infinite   s   z$TestQuad.test_sine_weighted_infinitec              	   C   sB   dd }d}d}t t|tj d|d|d||d |d    d S )	Nc                 S   s   t | | S r    r   r   r   r   r   rs         z6TestQuad.test_cosine_weighted_infinite.<locals>.myfuncry   gffffff@r   r   r   rd   rx   r   r   r   r   test_cosine_weighted_infinite   s   z&TestQuad.test_cosine_weighted_infinitec              	   C   sD   dd }d}t t|dd|dddttdd	|   d	 d   d S )
Nc                 S   s   dd|  d|    S Nr>   rd   r   r   r   r   r   rs      rm   z2TestQuad.test_algebraic_log_weight.<locals>.myfunc      ?r>   alg)      r   r   rd   )r   r   r   r   )r8   rs   r   r   r   r   test_algebraic_log_weight   s   z"TestQuad.test_algebraic_log_weightc              	   C   s   dd }d}dt d dt d|  d d|  d	    td
|d   td
|  d|  d	  }tt|ddddd
d|dd d S )Nc                 S   s    d|  | d d d|    S )NrI   r>   rd   r   r   r   r   r   r   rs          z-TestQuad.test_cauchypv_weight.<locals>.myfuncg?g\`@?r   g]`@?r      r>   rI   rd   r   r=   cauchyr   g#fT>r   )r   r   r   r   )r8   rs   r   tabledValuer   r   r   test_cauchypv_weight   s   
"

zTestQuad.test_cauchypv_weightc                 C   sN   dd }t |dtjdd\}}t |tjddd\}}t|| t||d d S )Nc                 S   s   |t | |   S r    rh   r   )rp   pqr   r   r   f   rD   z&TestQuad.test_b_less_than_a.<locals>.fr   rd      r   r   r   rh   ri   r
   maxr8   r   val_1err_1val_2err_2r   r   r   test_b_less_than_a      zTestQuad.test_b_less_than_ac                 C   sV   dd }t |tj tjdd\}}t |tjtj dd\}}t|| t||d d S )Nc                 S   s&   t | d  d | t d|  S )Nrd   rI   )rh   r   r   )rp   sr   r   r   r      s   &z(TestQuad.test_b_less_than_a_2.<locals>.f)rd   r   r   r   r   r   r   r   test_b_less_than_a_2   s   zTestQuad.test_b_less_than_a_2c                 C   sN   dd }t |ddddd\}}t |ddddd\}}t|| t||d d S )	Nc                 S      dS N      ?r   rw   r   r   r   r         z(TestQuad.test_b_less_than_a_3.<locals>.fr   r>   r   r   r   )r   r   r   )r   r
   r   r   r   r   r   test_b_less_than_a_3   r   zTestQuad.test_b_less_than_a_3c                 C   s^   dd }t |dddddd}t |dddddd}t|d |d }t|d |d  |d	 d S )
Nc                 S   r   r   r   rw   r   r   r   r      r   z2TestQuad.test_b_less_than_a_full_output.<locals>.fr   r>   r   r   T)r   r   full_outputr   )r   r   r
   )r8   r   res_1res_2r   r   r   r   test_b_less_than_a_full_output   s
   z'TestQuad.test_b_less_than_a_full_outputc                 C   sB   dd }d\}}t t|||dd dd d|d |d    d S )	Nc                 S   s   ||  S r    r   rk   rp   r   r   r   simpfunc      z/TestQuad.test_double_integral.<locals>.simpfuncr   rI   c                 S      | S r    r   rw   r   r   r   <lambda>       z/TestQuad.test_double_integral.<locals>.<lambda>c                 S      d|  S Nrd   r   rw   r   r   r   r          g?r   r   r   r8   r   r   br   r   r   test_double_integral   s
   zTestQuad.test_double_integralc              	   C   s:   dd }dd }dd }d}t t|dd	|||d
d d S )Nc                 S   s   | | | | S r    r   )x0x1t0t1r   r   r   r;      r   z,TestQuad.test_double_integral2.<locals>.funcc                 S   r   r    r   rw   r   r   r   g   r   z)TestQuad.test_double_integral2.<locals>.gc                 S   r   r   r   rw   r   r   r   h   r   z)TestQuad.test_double_integral2.<locals>.h)r>   rd   r>   rd   r   g$@r   )r8   r;   r   r   r   r   r   r   test_double_integral2   s
   zTestQuad.test_double_integral2c                 C   s"   dd }t t|ddddd d S )Nc                 S   s   | | d d S r   r   r   r   r   r   r   r;     r   z,TestQuad.test_double_integral3.<locals>.funcr>   rd   g      @r   )r8   r;   r   r   r   test_double_integral3  s   zTestQuad.test_double_integral3z,x_lower, x_upper, y_lower, y_upper, expectedr      r   r>   rd   c                 C   s&   dd }t t||||||dd d S )Nc                 S   s   t | d  |d  S r   r   rp   rk   r   r   r   r   D  s   z1TestQuad.test_double_integral_improper.<locals>.fg+i)+`>r   r   )r8   x_lowerx_uppery_lowery_upperexpectedr   r   r   r   test_double_integral_improper
  s   :
z&TestQuad.test_double_integral_improperc              
   C   sP   dd }d\}}t t|||dd dd dd dd d	d
|d |d    d S )Nc                 S   s   || |  | S r    r   )rr   rk   rp   tr   r   r   r   O  r   z/TestQuad.test_triple_integral.<locals>.simpfuncr   c                 S   r   r    r   rw   r   r   r   r   T  r   z/TestQuad.test_triple_integral.<locals>.<lambda>c                 S   r   r   r   rw   r   r   r   r   T  r   c                 S   s   | | S r    r   r   r   r   r   r   U  r   c                 S   s   | | S r    r   r   r   r   r   r   U  r   )rI   gUUUUUU@r   r   r   r   r   r   r   test_triple_integralM  s   
zTestQuad.test_triple_integralz>x_lower, x_upper, y_lower, y_upper, z_lower, z_upper, expectedr      r   c           	   	   C   s*   dd }t t||||||||dd d S )Nc                 S   s    t | d  |d  |d  S r   r   )rp   rk   rr   r   r   r   r     r   z1TestQuad.test_triple_integral_improper.<locals>.fg+i)+p>r   r   )	r8   r   r   r   r   z_lowerz_upperr   r   r   r   r   test_triple_integral_improperY  s    
z&TestQuad.test_triple_integral_improperc                 C   s  dd }t t|dt jd ddd dsJ dt jddd	d
}t|fddi|}tdd fddi|}tdd fddi|}t j|d |d d|d    t j|d	 |d	 d|d	    t|d d t|dd    kr{dks~J  J |d d d |d ksJ |d d d	 |d ksJ |d d d d |d d ksJ t|d d t|dd    krd	ksJ  J |d d d d |d d ksJ d S )Nc                 S   s   t d|  S N              ?r   rw   r   r   r   tfunc  r   z$TestQuad.test_complex.<locals>.tfuncr   rd   T)complex_funcy      ?      ?r   r>   )r   r   r   r   r   r   c                 S      t t d|  S r   )rh   realr   rw   r   r   r   r         z'TestQuad.test_complex.<locals>.<lambda>Fc                 S   r   r   )rh   imagr   rw   r   r   r   r     r   r   r   r   r   lstr   )rh   allcloser   r   ri   testingassert_equallen)r8   r   kwargsres_cres_rres_ir   r   r   test_complex  s6   ""4$4(zTestQuad.test_complexN)r[   r\   r]   rA   rj   r}   r   r   r   r   r   r   r   r   r   r   r   r   r5   markparametrizerh   ri   r   r   r   r   r   xslowr   r   r   r   r   r   ro      s   	


		
""&&&*.."""&**
6&
$$"$&$*$.$246:<>B FIKMQSUY]_aegimq$u$y$}$ $  $  
  ro   c                   @   st   e Zd Zejddd Zejddd Zdd Zdd	 Z	d
d Z
dd Zdd Zdd Zdd Zdd ZdS )	TestNQuadr=   c                 C   sz   dd }dd }t |ddgddgdd	gd
dgg|i i i gdd}t|d d d t|d d dko9|d d dk  d S )Nc                 S   sP   | d ||  |d  t |  | d|  d d|  dkr#d }|S d }|S )Nrd   r   皙?      ?      ?r   r>   rh   r   )r   r   x2x3valr   r   r   func1"  s    z*TestNQuad.test_fixed_limits.<locals>.func1c                  W   s"   dd| d  d d| d   giS )Nr|   r   rd   r   r   r   r   r   r   r   r   
opts_basic'  s   "z/TestNQuad.test_fixed_limits.<locals>.opts_basicr   r>   r   gp=
ף?g?g333333ÿT)optsr   g5m?nevalg     jA)r   r   r	   )r8   r   r   resr   r   r   test_fixed_limits   s   (zTestNQuad.test_fixed_limitsc                    s   d dd } fdd} fdd} fdd	} fd
d}dd }dd }dd }dd }	t |||||gd||||	gd}
t|
d d S )Ng?c                 S   sD   | | |d  t | d | ||  | dkrd }|S d }|S )Nrd   r>   r   r   )r   r   r   r   r   r   r   r   r   r   func23  s   z-TestNQuad.test_variable_limits.<locals>.func2c                    sT    | d | t || |  d  d  | d | t || |  d  d gS Nrd   r>   )rh   r   r   r   r   r   r   scaler   r   lim08  s   ((z,TestNQuad.test_variable_limits.<locals>.lim0c                    s0    ||  ||   d  ||  ||   d gS r~   r   r   r   r   r   r  r   r   lim1<  s   z,TestNQuad.test_variable_limits.<locals>.lim1c                    s8    | |d |d    d  | |d |d    d gS Nrd   r   r>   r   r   r   r   r  r   r   lim2@  s   z,TestNQuad.test_variable_limits.<locals>.lim2c                    s     | |  d  | |  d gS r~   r   r   r   r  r   r   lim3D  r   z,TestNQuad.test_variable_limits.<locals>.lim3c                 S   s   d|||   giS )Nr|   r   r  r   r   r   opts0G  s   z-TestNQuad.test_variable_limits.<locals>.opts0c                 S      i S r    r   r	  r   r   r   opts1J  r   z-TestNQuad.test_variable_limits.<locals>.opts1c                 S   r  r    r   r  r   r   r   opts2M  r   z-TestNQuad.test_variable_limits.<locals>.opts2c                 S   r  r    r   r  r   r   r   opts3P  r   z-TestNQuad.test_variable_limits.<locals>.opts3r   )r   r   g9@)r   r   )r8   r  r  r
  r  r  r  r  r  r  r  r   r  r   test_variable_limits/  s   
zTestNQuad.test_variable_limitsc                 C   s0   dd }t t|ddgddggi i gdd d S )Nc                 S   r   r   r   r   r   r   r   r   X  r   z9TestNQuad.test_square_separate_ranges_and_opts.<locals>.fr   r>   r   r   r   r   )r8   r   r   r   r   $test_square_separate_ranges_and_optsW  s   (z.TestNQuad.test_square_separate_ranges_and_optsc                 C   s4   dd }ddg}i }t t|||g||gdd d S )Nc                 S   r   r   r   r   r   r   r   r   ^  r   z8TestNQuad.test_square_aliased_ranges_and_opts.<locals>.fr   r>   r  r   r  )r8   r   roptr   r   r   #test_square_aliased_ranges_and_opts]  s    z-TestNQuad.test_square_aliased_ranges_and_optsc                 C   sP   dd }dd }dd }dd }d	d
 }||g}||g}t t|||dd d S )Nc                 S   r   r   r   r   r   r   r   r   f  r   z<TestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fc                  W   r   N)r   r>   r   r   r   r   r   	fn_range0i  r   zDTestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fn_range0c                  W   r   r  r   r   r   r   r   	fn_range1l  r   zDTestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fn_range1c                  W   r  r    r   r   r   r   r   fn_opt0o  r   zBTestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fn_opt0c                  W   r  r    r   r   r   r   r   fn_opt1r  r   zBTestNQuad.test_square_separate_fn_ranges_and_opts.<locals>.fn_opt1r  r   r  )r8   r   r  r  r  r   rangesr   r   r   r   'test_square_separate_fn_ranges_and_optse  s   z1TestNQuad.test_square_separate_fn_ranges_and_optsc                 C   s@   dd }dd }dd }||g}||g}t t|||dd d S )	Nc                 S   r   r   r   r   r   r   r   r   z  r   z;TestNQuad.test_square_aliased_fn_ranges_and_opts.<locals>.fc                  W   r   r  r   r   r   r   r   fn_range}  r   zBTestNQuad.test_square_aliased_fn_ranges_and_opts.<locals>.fn_rangec                  W   r  r    r   r   r   r   r   fn_opt  r   z@TestNQuad.test_square_aliased_fn_ranges_and_opts.<locals>.fn_optr  r   r  )r8   r   r#  r$  r!  r   r   r   r   &test_square_aliased_fn_ranges_and_optsy  s   z0TestNQuad.test_square_aliased_fn_ranges_and_optsc                 C   sF   dd }t |dd\}}t|ddggd\}}t|| t|| d S )Nc                 S   s   | d d S r  r   rw   r   r   r   r;     r   z*TestNQuad.test_matching_quad.<locals>.funcr   r   )r!  )r   r   r   )r8   r;   r  reserrres2reserr2r   r   r   test_matching_quad  s
   
zTestNQuad.test_matching_quadc                 C   sR   dd }t |dddd dd \}}t|dd	gd
g\}}t|| t|| d S )Nc                 S   s   | d |d  | |  d S r  r   r   r   r   r   func2d  rt   z/TestNQuad.test_matching_dblquad.<locals>.func2drd   c                 S   r   )Nr   rw   r   r   r   r     r   z1TestNQuad.test_matching_dblquad.<locals>.<lambda>c                 S   r   )Nr   r   rw   r   r   r   r     r   r,  r   )r+  rd   )r   r   r   )r8   r*  r  r&  r'  r(  r   r   r   test_matching_dblquad  s
   
zTestNQuad.test_matching_dblquadc              
   C   s`   dd }t |dddd dd dd d	d d
d}t|tj tjgddgdgd
d}t|| d S )Nc                 S   s.   | d ||d   | |  d |t |  S r  r   )r   r   r   c0c1r   r   r   func3d  s   .z/TestNQuad.test_matching_tplquad.<locals>.func3dr   rd   c                 S   r   )Nr+  r   rw   r   r   r   r     r   z1TestNQuad.test_matching_tplquad.<locals>.<lambda>c                 S   r   r   r   rw   r   r   r   r     r   c                 S   s   t j S r    rh   r   r   r   r   r   r     r   c                 S   s   t jS r    r1  r   r   r   r   r     s    r   r   r+  )r   rd   )r   r   rh   r   r   )r8   r0  r  r'  r   r   r   test_matching_tplquad  s   "zTestNQuad.test_matching_tplquadc                 C   s<   zt dd ddgddggddid W d S  ty   J w )Nc                 S   s   | | S r    r   r   r   r   r   r     r   z-TestNQuad.test_dict_as_opts.<locals>.<lambda>r   r>   epsrelg-C6?r  )r   	TypeErrorr@   r   r   r   test_dict_as_opts  s
   (zTestNQuad.test_dict_as_optsN)r[   r\   r]   r5   r   	fail_slowr  r  r  r  r"  r%  r)  r-  r2  r5  r   r   r   r   r     s    



'		
r   )r   ))r0   r?   numpyrh   r   r   r   r   r   r   r   numpy.testingr	   r
   r   r   r5   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,   r^   ro   r   r   r   r   r   <module>   s,    $
H    