
    (pht              	          S SK r S SKrS SKJr  S SKJr  S SKJr  \ R                  R                  S/ SQ5      r\S 5       r\S 5       rS	 rS
 r\ R                  R!                  S5      S 5       rS r\ R                  R!                  S5      \ R                  R                  SSS/5      \ R                  R                  SSS/5      S 5       5       5       r\S 5       rS rS r\ R                  R                  SSS \R.                  4\R.                  S 4\R.                  * \R.                  4\R.                  \R.                  * 4/5      S 5       r\ R                  R2                  S 5       rg)    N)assert_allclose)quad_vec)Pool
quadrature)Ngk15gk21	trapezoidc           	        ^ [         R                  " S5      mU4S jnS H  nU S:X  a  US:  a  M  [        X S9nSTS-   -  TS-   -  n[        US	S4S
S0UD6u  pV[	        XTS	US9  [        US	S4S
S0UD6u  pV[         R
                  R                  XT-
  5      U:  d   e[        US	S4SSS.UD6u  pV[	        XTS	US9  [        US	S4SSSSS.UD6tpVn[	        XTS	US9  M     g )N
   c                    > U T-  $ N )xns    W/var/www/html/venv/lib/python3.13/site-packages/scipy/integrate/tests/test__quad_vec.pyftest_quad_vec_simple.<locals>.f   s    Av    皙?gMbP?gư>r	   -C6?)epsabsr         r   normmaxrtolatol2)      ?      ?)r   pointsg:0yE>Ti'  )r   epsrelfull_outputlimit)nparangedictr   r   linalgr   )	r   r   r   kwargsexactreserrrestr   s	           @r   test_quad_vec_simpler0      s   
		"A#$$V;AaC!a% Aq!:%:6:8Aq!8#88yy~~ck*V333Aq!M%
MfM8"1a -*./3).- &,	-4
 	8/ $r   c                 |   S nS GH  nU S:X  a  US:  a  M  [        SX S9n[        US[        R                  40 UD6u  pE[	        U[        R
                  S-  S[        X%5      S	9  [        US[        R                  * 40 UD6u  pE[	        U[        R
                  * S-  S[        X%5      S	9  [        U[        R                  * S40 UD6u  pE[	        U[        R
                  S-  S[        X%5      S	9  [        U[        R                  S40 UD6u  pE[	        U[        R
                  * S-  S[        X%5      S	9  [        U[        R                  * [        R                  40 UD6u  pE[	        U[        R
                  S[        X%5      S	9  [        U[        R                  [        R                  * 40 UD6u  pE[	        U[        R
                  * S[        X%5      S	9  [        U[        R                  [        R                  40 UD6u  pE[	        USS[        X%5      S	9  [        U[        R                  * [        R                  * 40 UD6u  pE[	        USS[        X%5      S	9  [        US[        R                  4S
S0UD6u  pE[	        U[        R
                  S-  S[        X%5      S	9  GM     S n[        R
                  [        R                  -  [        R                  " S5      -  nSn[        U[        R                  * [        R                  SSUU SS9u  pEnUR                  S:X  d   e[	        XFS[        USU-  5      S	9  g )Nc                 @    SS[         R                  " U 5      S-  -   -  $ Nr   r   )r'   float64r   s    r   r   #test_quad_vec_simple_inf.<locals>.f0   s    A

1**++r   r   r	   r   r   )r   r   r   r   r   r   r#   )r"   g       @c                 F    [         R                  " U S-   5      SU S-  -   -  $ )Nr   r   )r'   sinr5   s    r   r   r6   U   s!    vva!e}AF
++r   gh㈵>i  T)r&   r   r   r   r%   r   g      ?)
r)   r   r'   infr   pir   er8   status)r   r   r   r+   r-   r.   r,   infos           r   test_quad_vec_simple_infr>   .   s   , $$$5GAq"&&3F3RUU1W13v3CDAq266'4V4beeVAXAC4DEAw4V4RUU1W13v3CDArvvq3F3beeVAXAC4DEAw9&9RUUV1ABArvvw9&9beeV!#f2BCArvvrvv88QQS-=>Aw:6:QQS-=>Aq"&&FFvFRUU1W13v3CDA $D,EEBDDL266!9$EFa"&&"&&5QW)3GNCd;;!CQSs-CDr   c                  r    S n Sn[         R                  " / SQ5      n[        U SSU4S9u  p4[        X2SSS9  g )	Nc                 >    X U-   -  [         R                  " S5      -  $ N   r'   r(   r   as     r   r   test_quad_vec_args.<locals>.fa   s    E{RYYq\))r   r   r   gUUUUUU?gUUUUUU@r   r   )argsr   r   )r'   arrayr   r   )r   rE   r,   r-   r.   s        r   test_quad_vec_argsrJ   `   s:    *	AHH]#E1aqd+HCCQT2r   c                     SSU S-  -   -  $ r3   r   r5   s    r   
_lorenzianrL   j   s    AqD>r   r   c            
         [         n [        U [        R                  * [        R                  SSSS9u  p[	        U[        R
                  SSS9  [        S5       nS n [        U [        R                  * [        R                  SSUR                  S9u  p[	        U[        R
                  SSS9  S S S 5        g ! , (       d  f       g = f)	Nr   r      )r   r   workersr   r   r   c                     SSU S-  -   -  $ r3   r   r5   s    r   r   test_quad_vec_pool.<locals>.fu   s    AF
##r   )rL   r   r'   r9   r   r:   r   map)r   r-   r.   pool_s        r   test_quad_vec_poolrU   n   s    ABFF7BFFtQOHCCQT2	bT	$!bffWbff5txxXRUU6	 
s   AB77
Cc                 >    X U-   -  [         R                  " S5      -  $ rA   rC   rD   s     r   _func_with_argsrW   {   s    A;1%%r   
extra_argsr   )r   rO   r   c           	         [         n[        R                  " / SQ5      n[        USSXS9u  pE[	        XCSSS9  [        U5       n[        USSXR                  S9u  pE[	        XCSSS9  S S S 5        g ! , (       d  f       g = f)NrG   r   r   )rH   rO   r   r   )rW   r'   rI   r   r   r   rR   )rX   rO   r   r,   r-   r.   rS   s          r   test_quad_vec_pool_argsrZ      sj     	AHH]#E1ajBHCCQT2	g$Aq!*hhG6 
s   $A00
A>c           	      d   ^ U4S jnS/m[        USSSSU S9nUS   R                  TS   :X  d   eg )Nc                 (   > TS==   S-  ss'   U S-  $ )Nr   r      r   )r   counts    r   r   test_num_eval.<locals>.f   s    aA!tr   r   r   r   T)r   r%   r   r   )r   neval)r   r   r-   r^   s      @r   test_num_evalra      s?     CE
1aDZ
PCq6<<58###r   c                     S n [        U SSSSS9u  pnUR                  SL d   eUR                  S:X  d   eUR                  S:X  d   eUR                  S:  d   eUR
                  R                  S   S:X  d   eUR                  R                  UR
                  R                  S   S	SS4:X  d   eUR                  R                  UR
                  R                  S   4:X  d   eg )
Nc                 .    [         R                  " S5      $ )N)rB   r   r   )r'   onesr5   s    r   r   test_info.<locals>.f   s    wwy!!r   r   r   r   T)r   r%   zTarget precision reached.r   rB   )	r   successr<   messager`   	intervalsshape	integralserrors)r   r-   r.   r=   s       r   	test_inforl      s    " aAEtDNCd<<4;;!<<6666::>>>>"a'''>>DNN$8$8$;Q1#EEEE;;!5!5a!8 ::::r   c                      S n S n[        U SSSS9u  p#nUR                  S:X  d   e[        USSSS9u  p#nUR                  S:X  d   eg )Nc                 "    [         R                  $ r   )r'   nanr5   s    r   f_nantest_nan_inf.<locals>.f_nan   s    vvr   c                 8    U S:  a  [         R                  $ SU -  $ )Nr   r   )r'   r9   r5   s    r   f_inftest_nan_inf.<locals>.f_inf   s    Srvv)ac)r   r   r   T)r%   rB   )r   r<   )rp   rs   r-   r.   r=   s        r   test_nan_infru      sZ    * eQt<NCd;;!eQt<NCd;;!r   za,b)r   r   c           	        ^^^ SnU[        S U 5       5      -  nSm/ mSmUUU4S jn[        X0XSSS9  T HN  n[        R                  " [	        U5      [        U5      5      n[        R
                  " XUS   :H  5      (       a  MN   e   g )N)r   g      ?r!   g      ?r"   c              3   &   #    U  H  o* v   M	     g 7fr   r   ).0r   s     r   	<genexpr>test_points.<locals>.<genexpr>   s     '1Bs      r   c                    > TT-  S:X  a  TR                  [        5       5        TS-  mTS   R                  [        U 5      5        g)Nr   r   g        )appendsetaddfloat)r   r^   interval_setsquadrature_pointss    r   r   test_points.<locals>.f   sF     $$)  '
beAh'r   r   )r#   r   r&   )tupler   r'   searchsortedsortedall)	rE   br#   r   pjr^   r   r   s	         @@@r   test_pointsr      s     'F
e''''FME Q1a@ OOF6NE!H5vvaQ4i     r   c                  z    [         R                  " SS9   [        S SSSS9  S S S 5        g ! , (       d  f       g = f)Nz`quadrature='trapz'`)matchc                     U $ r   r   r5   s    r   <lambda>(test_trapz_deprecation.<locals>.<lambda>   s    1r   r   r   trapz)r   )pytestdeprecated_callr   r   r   r   test_trapz_deprecationr      s+    			&<	=aw7 
>	=	=s   ,
:)r   numpyr'   numpy.testingr   scipy.integrater   multiprocessing.dummyr   markparametrizequadrature_paramsr0   r>   rJ   rL   	fail_slowrU   rW   rZ   ra   rl   ru   r9   r   thread_unsafer   r   r   r   <module>r      s     ) $ & KK++57  9 9< .E .Eb3 r	7 	7& r4y1QG,	7 - 2 	7 $ $; !RVVrvvqk#%66'266!2RVVbffW4E!G H!H!< 8 8r   