
    doi                         S SK r S SKrS SKJr  S SKJr  S SKJr  S SK	J
r
  \ R                  R                  S/ SQ5      rS rS	 r\" \5       " S
 S5      5       rg)    N)assert_allclose)quad_vec)make_xp_test_case)Pool
quadrature)Ngk15gk21	trapezoidc                     SSU S-  -   -  $ N       xs    `/var/www/html/land-ocr/venv/lib/python3.13/site-packages/scipy/integrate/tests/test__quad_vec.py
_lorenzianr      s    AqD>    c                 >    X U-   -  [         R                  " S5      -  $ N   nparanger   as     r   _func_with_argsr      s    A;1%%r   c                      \ rS rSr\S 5       r\S 5       rS r\R                  R                  S5      S 5       r\R                  R                  S5      \R                  R                  SSS	/5      \R                  R                  S
S\R                  " S\R                  R                  S5      S9/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Srg)TestQuadVec   c           	        ^	 [         R                  " S5      m	U	4S jnS H  nUS:X  a  US:  a  M  [        X1S9nST	S-   -  T	S-   -  n[        US	S4S
S0UD6u  pg[	        XeS	US9  [        US	S4S
S0UD6u  pg[         R
                  R                  Xe-
  5      U:  d   e[        US	S4SSS.UD6u  pg[	        XeS	US9  [        US	S4SSSSS.UD6tpgn[	        XeS	US9  M     g )N
   c                    > U T-  $ Nr   )r   ns    r   f+TestQuadVec.test_quad_vec_simple.<locals>.f   s    6Mr   皙?gMbP?gư>r
   -C6?)epsabsr   r   r   r   normmaxrtolatol2)      ?      ?)r,   pointsg:0yE>Ti'  )r,   epsrelfull_outputlimit)r   r   dictr   r   linalgr,   )
selfr   r&   r+   kwargsexactreserrrestr%   s
            @r   test_quad_vec_simple TestQuadVec.test_quad_vec_simple   s   IIbM	'F[(Vd]?F!Ha!e$E1a>e>v>HCCQV<1a<c<V<HC99>>#+.7771aQeJQ&QHCCQV<&q!Q .U+/04*/. '-	.OCt
 CQV</ (r   c                 z   S nS GH  nUS:X  a  US:  a  M  [        SX1S9n[        US[        R                  40 UD6u  pV[	        U[        R
                  S-  S[        X65      S	9  [        US[        R                  * 40 UD6u  pV[	        U[        R
                  * S-  S[        X65      S	9  [        U[        R                  * S40 UD6u  pV[	        U[        R
                  S-  S[        X65      S	9  [        U[        R                  S40 UD6u  pV[	        U[        R
                  * S-  S[        X65      S	9  [        U[        R                  * [        R                  40 UD6u  pV[	        U[        R
                  S[        X65      S	9  [        U[        R                  [        R                  * 40 UD6u  pV[	        U[        R
                  * S[        X65      S	9  [        U[        R                  [        R                  40 UD6u  pV[	        USS[        X65      S	9  [        U[        R                  * [        R                  * 40 UD6u  pV[	        USS[        X65      S	9  [        US[        R                  4S
S0UD6u  pV[	        U[        R
                  S-  S[        X65      S	9  GM     S n[        R
                  [        R                  -  [        R                  " S5      -  nSn[        U[        R                  * [        R                  SSX1SS9u  pVnUR                  S:X  d   e[	        XWS[        USU-  5      S	9  g )Nc                 @    SS[         R                  " U 5      S-  -   -  $ r   )r   float64r   s    r   r&   /TestQuadVec.test_quad_vec_simple_inf.<locals>.f9   s    BJJqMQ..//r   r(   r
   r*   r-   )r,   r+   r   r   r   r.   r4   )r3   g       @c                 F    [         R                  " U S-   5      SU S-  -   -  $ )Nr   r   )r   sinr   s    r   r&   rE   ^   s!    66!a%=AQJ//r   gh㈵>i  T)r7   r,   r+   r   r6   r   g      ?)
r8   r   r   infr   pir-   erG   status)	r:   r   r&   r+   r;   r=   r>   r<   infos	            r   test_quad_vec_simple_inf$TestQuadVec.test_quad_vec_simple_inf7   s   	0 (F[(Vd]uVKF1bff77HCCqqs67GH1rvvg88HCC"%%F8HIBFF7A88HCCqqs67GH266177HCC"%%F8HIBFF7BFF=f=HCCQS5EF266BFF7=f=HCC"%%ac&6FG266266<V<HCCV1ABBFF7RVVG>v>HCCV1AB1bffJZJ6JHCCqqs67GHA (D	0rvvay(!!bffWbffDu)/.24$ {{aVS3Y1GHr   c                 r    S nSn[         R                  " / SQ5      n[        USSU4S9u  pE[        XCSSS9  g )	Nc                 >    X U-   -  [         R                  " S5      -  $ r   r   r   s     r   r&   )TestQuadVec.test_quad_vec_args.<locals>.fk   s    A;1--r   r   r   gUUUUUU?gUUUUUU@r   r   )argsr*   r.   )r   arrayr   r   )r:   r&   r   r<   r=   r>   s         r   test_quad_vec_argsTestQuadVec.test_quad_vec_argsj   s:    	.'Aq!1$/6r   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-  -   -  $ r   r   r   s    r   r&   )TestQuadVec.test_quad_vec_pool.<locals>.fz   s    AQJ''r   )r   r   r   rH   r   rI   r   map)r:   r&   r=   r>   pool_s         r   test_quad_vec_poolTestQuadVec.test_quad_vec_pools   s    AwU4QRSRUU6"X(a"&&"&&uT&*hh0FCCQT: XXs   AB77
C
extra_argsr   )r   rY   r   rX   )marksc           	         [         n[        R                  " / SQ5      n[        USSXS9u  pV[	        XTSSS9  [        U5       n[        USSXR                  S9u  pV[	        XTSSS9  S S S 5        g ! , (       d  f       g = f)NrR   r   r   )rS   rY   r*   r.   )r   r   rT   r   r   r   r\   )r:   ra   rY   r&   r<   r=   r>   r]   s           r   test_quad_vec_pool_args#TestQuadVec.test_quad_vec_pool_args   sj     'Aq!*F6']d1aj((KHCCQT: ]]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&   $TestQuadVec.test_num_eval.<locals>.f   s    !HMHa4Kr   r   r   r-   T)r,   r6   r   r   )r   neval)r:   r   r&   r=   ri   s       @r   test_num_evalTestQuadVec.test_num_eval   s?    	 q!QUT1v||uQx'''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)r   r   r   )r   onesr   s    r   r&    TestQuadVec.test_info.<locals>.f   s    779%%r   r   r   r-   T)r,   r6   zTarget precision reached.r   r   )	r   successrK   messagerk   	intervalsshape	integralserrors)r:   r&   r=   r>   rL   s        r   	test_infoTestQuadVec.test_info   s    	& "!Q4H$||t###{{a||::::zzA~~~~##A&!+++~~##(<(<Q(?Aq'IIII{{  T^^%9%9!%<$>>>>r   c                     S nS n[        USSSS9u  p4nUR                  S:X  d   e[        USSSS9u  p4nUR                  S:X  d   eg )Nc                 "    [         R                  $ r$   )r   nanr   s    r   f_nan'TestQuadVec.test_nan_inf.<locals>.f_nan   s    66Mr   c                 8    U S:  a  [         R                  $ SU -  $ )Nr)   r   )r   rH   r   s    r   f_inf'TestQuadVec.test_nan_inf.<locals>.f_inf   s    W266-!A#-r   r   r   T)r6   r   )r   rK   )r:   r}   r   r=   r>   rL   s         r   test_nan_infTestQuadVec.test_nan_inf   sZ    		. "%A4@${{a!%A4@${{ar   za,b)r   r   r   c           	        ^^^	 SnU[        S U 5       5      -  nSm	/ mSmUUU	4S jn[        XAX#SSS9  T HN  n[        R                  " [	        U5      [        U5      5      n[        R
                  " XfS   :H  5      (       a  MN   e   g )N)r   g      ?r2   g      ?r3   c              3   &   #    U  H  o* v   M	     g 7fr$   r   ).0r   s     r   	<genexpr>*TestQuadVec.test_points.<locals>.<genexpr>   s     +FqFs      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   ri   interval_setsquadrature_pointss    r   r&   "TestQuadVec.test_points.<locals>.f   sF     ((A-$$SU+QJE"!!%(+r   r   )r4   r   r7   )tupler   r   searchsortedsortedall)
r:   r   br4   r&   pjri   r   r   s
          @@@r   test_pointsTestQuadVec.test_points   s     +%+F+++	 	qF!D Ava9A66!t)$$$$ r   r   N)__name__
__module____qualname____firstlineno__quadrature_paramsr@   rM   rU   pytestmark	fail_slowr_   parametrizeparamparallel_threads_limitrd   rl   rx   r   r   rH   r   __static_attributes__r   r   r   r   r      sS   = =< /I /Id7 [[2
; 
; [[2[[\At95[[	
FLL6;;#E#Ea#HIJ	;	 6 	; ( (?  [[UVa[2661+&(ffWbff$57H%J K%K%r   r   )r   numpyr   numpy.testingr   scipy.integrater   scipy._lib._array_apir   multiprocessing.dummyr   r   r   r   r   r   r   r   r   r   <module>r      s_      ) $ 3 & KK++57 & 8}% }% }%r   