Ë
    0Ò^jõ  ã                   ó¶   — d dl Z d dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
 e j                  j                  dg d¢«      Zd„ Zd	„ Z ee«       G d
„ d«      «       Zy)é    N)Úassert_allclose)Úquad_vec)Úmake_xp_test_case)ÚPoolÚ
quadrature)NÚgk15Úgk21Ú	trapezoidc                 ó   — dd| dz  z   z  S ©Né   é   © ©Úxs    úo/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/integrate/tests/test__quad_vec.pyÚ
_lorenzianr      s   € Ø��A�q‘D‘‰>Ðó    c                 ó>   — | | |z   z  t        j                  d«      z  S ©Né   ©ÚnpÚarange©r   Úas     r   Ú_func_with_argsr      s   € Ø��A‘‰;œŸ™ 1›Ñ%Ð%r   c                   ó†  — e Zd Zed„ «       Zed„ «       Zd„ Zej                  j                  d«      d„ «       Z
ej                  j                  d«      ej                  j                  dddg«      ej                  j                  d	d
 ej                  dej                  j                  d«      ¬«      g«      d„ «       «       «       Zed„ «       Zd„ Zd„ Zej                  j                  dddej&                  fej&                  dfej&                   ej&                  fej&                  ej&                   fg«      d„ «       Zy)ÚTestQuadVecc           	      óÜ  ‡	— t        j                  d«      Š	ˆ	fd„}dD ]Ì  }|dk(  r|dk  rŒt        ||¬«      }d‰	dz   z  ‰	dz   z  }t        |d	dfd
di|¤Ž\  }}t	        ||d	|¬«       t        |d	dfd
di|¤Ž\  }}t         j
                  j                  ||z
  «      |k  sJ ‚t        |d	dfdddœ|¤Ž\  }}t	        ||d	|¬«       t        |d	dfdddddœ|¤Ž^}}}t	        ||d	|¬«       ŒÎ y )Né
   c                 ó   •— | ‰z  S ©Nr   )r   Úns    €r   Úfz+TestQuadVec.test_quad_vec_simple.<locals>.f   s   ø€ Ø˜‘6ˆMr   ©çš™™™™™¹?gü©ñÒMbP?g�íµ ÷Æ°>r
   ç-Cëâ6?)Úepsabsr   r   r   r   ÚnormÚmax©ÚrtolÚatolÚ2)ç      à?ç      ð?)r*   Úpointsg:Œ0âŽyE>Ti'  )r*   ÚepsrelÚfull_outputÚlimit)r   r   Údictr   r   Úlinalgr*   )
Úselfr   r%   r)   ÚkwargsÚexactÚresÚerrÚrestr$   s
            @r   Útest_quad_vec_simplez TestQuadVec.test_quad_vec_simple   s(  ø€ ä�I‰I�b‹Mˆô	à'ò 	=ˆFØ˜[Ò(¨V°dª]àä °JÔ?ˆFà˜˜!™‘H˜a !™eÑ$ˆEä  1 aÑ>¨eÐ>°vÑ>‰HˆC�Ü˜C ¨Q°VÕ<ä  1 aÑ<¨cÐ<°VÑ<‰HˆC�Ü—9‘9—>‘> #¨¡+Ó.°Ò7Ð7Ð7ä  1 aÐQ¨e¸JÑQÈ&ÑQ‰HˆC�Ü˜C ¨Q°VÕ<ä& q¨!¨Qð .°UØ+/Ø04Ø*/ñ.ð '-ñ	.ˆOˆC��tô
 ˜C ¨Q°VÖ<ñ/	=r   c           
      óà  — d„ }dD �]È  }|dk(  r|dk  rŒt        d||¬«      }t        |dt        j                  fi |¤Ž\  }}t	        |t        j
                  dz  dt        ||«      ¬	«       t        |dt        j                   fi |¤Ž\  }}t	        |t        j
                   dz  dt        ||«      ¬	«       t        |t        j                   dfi |¤Ž\  }}t	        |t        j
                  dz  dt        ||«      ¬	«       t        |t        j                  dfi |¤Ž\  }}t	        |t        j
                   dz  dt        ||«      ¬	«       t        |t        j                   t        j                  fi |¤Ž\  }}t	        |t        j
                  dt        ||«      ¬	«       t        |t        j                  t        j                   fi |¤Ž\  }}t	        |t        j
                   dt        ||«      ¬	«       t        |t        j                  t        j                  fi |¤Ž\  }}t	        |ddt        ||«      ¬	«       t        |t        j                   t        j                   fi |¤Ž\  }}t	        |ddt        ||«      ¬	«       t        |dt        j                  fd
di|¤Ž\  }}t	        |t        j
                  dz  dt        ||«      ¬	«       �ŒË d„ }t        j
                  t        j                  z  t        j                  d«      z  }d}t        |t        j                   t        j                  dd||d¬«      \  }}}|j                  dk(  sJ ‚t	        ||dt        |d|z  «      ¬	«       y )Nc                 ó>   — ddt        j                  | «      dz  z   z  S r   )r   Úfloat64r   s    r   r%   z/TestQuadVec.test_quad_vec_simple_inf.<locals>.f9   s   € Ø˜œBŸJ™J q›M¨QÑ.Ñ.Ñ/Ð/r   r&   r
   r(   r+   )r*   r)   r   r   r   r,   r2   )r1   g       @c                 óD   — t        j                  | dz   «      d| dz  z   z  S )Nr   r   )r   Úsinr   s    r   r%   z/TestQuadVec.test_quad_vec_simple_inf.<locals>.f^   s!   € Ü—6‘6˜!˜a™%“= A¨¨Q©¡JÑ/Ð/r   gñhãˆµøä>iè  T)r5   r*   r)   r   r4   r   g      ø?)
r6   r   r   Úinfr   Úpir+   ÚerC   Ústatus)	r8   r   r%   r)   r9   r;   r<   r:   Úinfos	            r   Útest_quad_vec_simple_infz$TestQuadVec.test_quad_vec_simple_inf7   sÃ  € ò	0ð (ó  	IˆFØ˜[Ò(¨V°dª]àä˜u¨VÀ
ÔKˆFä  1¤b§f¡fÑ7°Ñ7‰HˆC�Ü˜C¤§¡ q¡¨q´s¸6À3Ó7GÕHä  1¤r§v¡v gÑ8°Ñ8‰HˆC�Ü˜C¤"§%¡% ¨¡°¼¸FÀCÓ8HÕIä ¤B§F¡F 7¨AÑ8°Ñ8‰HˆC�Ü˜C¤§¡ q¡¨q´s¸6À3Ó7GÕHä ¤2§6¡6¨1Ñ7°Ñ7‰HˆC�Ü˜C¤"§%¡% ¨¡°¼¸FÀCÓ8HÕIä ¤B§F¡F 7¬B¯F©FÑ=°fÑ=‰HˆC�Ü˜C¤§¡¨Q´S¸ÀÓ5EÕFä ¤2§6¡6¬B¯F©F¨7Ñ=°fÑ=‰HˆC�Ü˜C¤"§%¡% ¨a´c¸&À#Ó6FÕGä ¤2§6¡6¬2¯6©6Ñ<°VÑ<‰HˆC�Ü˜C ¨´°V¸SÓ1AÕBä ¤B§F¡F 7¬R¯V©V¨GÑ>°vÑ>‰HˆC�Ü˜C ¨´°V¸SÓ1AÕBä  1¤b§f¡fÑJ°ZÐJÀ6ÑJ‰HˆC�Ü˜C¤§¡ q¡¨q´s¸6À3Ó7G×HðA 	IòD	0ä—‘œŸ™‘œrŸv™v a›yÑ(ˆØˆä! !¤b§f¡f W¬b¯f©f¸DÀuØ)/¸JØ.2ô4‰ˆˆS�$ð �{‰{˜aÒÐÐÜ˜˜U¨´°V¸SÀ3¹YÓ1GÖHr   c                 ó€   — d„ }d}t        j                  g d¢«      }t        |dd|f¬«      \  }}t        ||dd¬«       y )	Nc                 ó>   — | | |z   z  t        j                  d«      z  S r   r   r   s     r   r%   z)TestQuadVec.test_quad_vec_args.<locals>.fk   s   € Ø˜˜A™‘;¤§¡¨1£Ñ-Ð-r   r   ©r   gUUUUUUõ?gUUUUUU@r   r   )Úargsr(   r,   )r   Úarrayr   r   )r8   r%   r   r:   r;   r<   s         r   Útest_quad_vec_argszTestQuadVec.test_quad_vec_argsj   s>   € ò	.àˆÜ—‘šÓ'ˆä˜A˜q !¨1¨$Ô/‰ˆˆSÜ˜˜U¨°Ö6r   r!   c           	      ó¢  — t         }t        |t        j                   t        j                  ddd¬«      \  }}t	        |t        j
                  dd¬«       t        d«      5 }d„ }t        |t        j                   t        j                  dd|j                  ¬«      \  }}t	        |t        j
                  dd¬«       d d d «       y # 1 sw Y   y xY w)	Nr+   r(   é   )r*   r)   Úworkersr   r,   r!   c                 ó   — dd| dz  z   z  S r   r   r   s    r   r%   z)TestQuadVec.test_quad_vec_pool.<locals>.fz   s   € Ø˜A  Q¡™JÑ'Ð'r   )r   r   r   rD   r   rE   r   Úmap)r8   r%   r;   r<   ÚpoolÚ_s         r   Útest_quad_vec_poolzTestQuadVec.test_quad_vec_pools   sš   € äˆÜ˜A¤§¡˜w¬¯©°UÀ4ÐQRÔS‰ˆˆSÜ˜œRŸU™U¨°Õ6ä�"‹Xð 	;˜ò(ä˜a¤"§&¡& ¬"¯&©&°uÀTØ&*§h¡hô0‰FˆC�ä˜C¤§¡¨Q°TÕ:÷	;÷ 	;ñ 	;ús   Á ACÃCÚ
extra_argsr   )r   rR   r   rQ   )Úmarksc                 ó  — t         }t        j                  g d¢«      }t        |dd||¬«      \  }}t	        ||dd¬«       t        |«      5 }t        |dd||j                  ¬«      \  }}t	        ||dd¬«       d d d «       y # 1 sw Y   y xY w)NrL   r   r   )rM   rR   r(   r,   )r   r   rN   r   r   r   rT   )r8   rX   rR   r%   r:   r;   r<   rU   s           r   Útest_quad_vec_pool_argsz#TestQuadVec.test_quad_vec_pool_args€   s�   € ô ˆÜ—‘šÓ'ˆä˜A˜q !¨*¸gÔF‰ˆˆSÜ˜˜U¨°Õ6ä�'‹]ð 	;˜dÜ  1 a¨jÀ$Ç(Á(ÔK‰HˆC�Ü˜C ¨Q°TÕ:÷	;÷ 	;ñ 	;ús   Á-BÂB
c                 óf   ‡— ˆfd„}dgŠt        |dddd|¬«      }|d   j                  ‰d   k(  sJ ‚y )Nc                 ó(   •— ‰dxx   dz  cc<   | dz  S )Nr   r   é   r   )r   Úcounts    €r   r%   z$TestQuadVec.test_num_eval.<locals>.f“   s   ø€ Ø�!‹H˜‰M‹HØ�a‘4ˆKr   r   r   r+   T)r*   r4   r   r   )r   Úneval)r8   r   r%   r;   r_   s       @r   Útest_num_evalzTestQuadVec.test_num_eval‘   s?   ø€ ô	ð �ˆÜ�q˜!˜Q U¸ÈÔTˆØ�1‰v�|‰|˜u Q™xÒ'Ð'Ñ'r   c                 óÆ  — d„ }t        |dddd¬«      \  }}}|j                  du sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dkD  sJ ‚|j
                  j                  d   dk(  sJ ‚|j                  j                  |j
                  j                  d   d	ddfk(  sJ ‚|j                  j                  |j
                  j                  d   fk(  sJ ‚y )
Nc                 ó,   — t        j                  d«      S )N)r   r   r   )r   Úonesr   s    r   r%   z TestQuadVec.test_info.<locals>.fœ   s   € Ü—7‘7˜9Ó%Ð%r   r   r   r+   T)r*   r4   zTarget precision reached.r   r   )	r   ÚsuccessrG   Úmessager`   Ú	intervalsÚshapeÚ	integralsÚerrors)r8   r%   r;   r<   rH   s        r   Ú	test_infozTestQuadVec.test_info›   sß   € ò	&ô " ! Q¨°À4ÔH‰ˆˆS�$à�|‰|˜tÑ#Ð#Ð#Ø�{‰{˜aÒÐÐØ�|‰|Ð:Ò:Ð:Ð:Ø�z‰z˜AŠ~Ðˆ~Ø�~‰~×#Ñ# AÑ&¨!Ò+Ð+Ð+Ø�~‰~×#Ñ#¨¯©×(<Ñ(<¸QÑ(?ÀÀAÀqÐ'IÒIÐIÐIØ�{‰{× Ñ  T§^¡^×%9Ñ%9¸!Ñ%<Ð$>Ò>Ð>Ñ>r   c                 ó    — d„ }d„ }t        |ddd¬«      \  }}}|j                  dk(  sJ ‚t        |ddd¬«      \  }}}|j                  dk(  sJ ‚y )Nc                 ó"   — t         j                  S r#   )r   Únanr   s    r   Úf_nanz'TestQuadVec.test_nan_inf.<locals>.f_nanª   s   € Ü—6‘6ˆMr   c                 ó6   — | dk  rt         j                  S d| z  S )Nr'   r   )r   rD   r   s    r   Úf_infz'TestQuadVec.test_nan_inf.<locals>.f_inf­   s   € Ø šW”2—6‘6Ð-¨!¨A©#Ð-r   r   r   T)r4   r   )r   rG   )r8   ro   rq   r;   r<   rH   s         r   Útest_nan_infzTestQuadVec.test_nan_inf©   s^   € ò	ò	.ô " %¨¨A¸4Ô@‰ˆˆS�$Ø�{‰{˜aÒÐÐä! %¨¨A¸4Ô@‰ˆˆS�$Ø�{‰{˜aÒÐÑr   za,b)r   r   r   c                 ó  ‡‡‡	— d}|t        d„ |D «       «      z  }dŠ	g ŠdŠˆˆˆ	fd„}t        ||||dd¬«       ‰D ]G  }t        j                  t	        |«      t        |«      «      }t        j
                  ||d   k(  «      rŒGJ ‚ y )N)r   g      Ð?r0   g      è?r1   c              3   ó"   K  — | ]  }| –— Œ	 y ­wr#   r   )Ú.0r   s     r   ú	<genexpr>z*TestQuadVec.test_points.<locals>.<genexpr>¿   s   è ø€ Ò+˜q˜œÑ+ùs   ‚é   r   c                 óŒ   •— ‰‰z  dk(  r‰j                  t        «       «       ‰dz  Š‰d   j                  t        | «      «       y)Nr   r   éÿÿÿÿg        )ÚappendÚsetÚaddÚfloat)r   r_   Úinterval_setsÚquadrature_pointss    €€€r   r%   z"TestQuadVec.test_points.<locals>.fÅ   sF   ø€ ð Ð(Ñ(¨AÒ-Ø×$Ñ$¤S£UÔ+à�Q‰JˆEØ˜"Ñ×!Ñ!¤%¨£(Ô+Ør   r   )r2   r   r5   )Útupler   r   ÚsearchsortedÚsortedÚall)
r8   r   Úbr2   r%   ÚpÚjr_   r~   r   s
          @@@r   Útest_pointszTestQuadVec.test_points·   s‹   ú€ ð +ˆØ”%Ñ+ FÔ+Ó+Ñ+ˆàÐØˆØˆö	ô 	��A�q °FÀ!ÕDð ò 	%ˆAÜ—‘¤ v£´°a³Ó9ˆAÜ—6‘6˜!˜q ™t™)Õ$Ð$Ð$ñ	%r   N)Ú__name__Ú
__module__Ú__qualname__Úquadrature_paramsr>   rI   rO   ÚpytestÚmarkÚ	fail_slowrW   ÚparametrizeÚparamÚparallel_threads_limitr[   ra   rk   rr   r   rD   r‡   r   r   r   r   r      sU  „ àñ=ó ð=ð< ñ/Ió ð/Iòd7ð ‡[�[×Ñ˜2Óñ
;ó ð
;ð ‡[�[×Ñ˜2ÓØ‡[�[×Ñ˜\¨A¨t¨9Ó5Ø‡[�[×ÑØØ	
ˆLˆF�L‰L˜ 6§;¡;×#EÑ#EÀaÓ#HÔIÐJóñ	;ó	ó 6ó ð	;ð ñ(ó ð(ò?ò ð ‡[�[×Ñ˜U V¨a°·±¨[¸2¿6¹6À1¸+Ø&(§f¡f W¨b¯f©fÐ$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å &ð —K‘K×+Ñ+ØÒ5ó7Ð òò&ñ �8Ó÷}%ð }%ó ñ}%r   