§
    fŠtjõ  ã                   óÈ   — 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                             dg d¢¦  «        Zd„ Zd	„ Z ee¦  «         G d
„ d¦  «        ¦   «         ZdS )é    N)Úassert_allclose)Úquad_vec)Úmake_xp_test_case)ÚPoolÚ
quadrature)NÚgk15Úgk21Ú	trapezoidc                 ó   — dd| dz  z   z  S ©Né   é   © ©Úxs    úb/var/www/html/CA-Chatbot/venv/lib/python3.11/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                   ól  — e Zd Zed„ ¦   «         Zed„ ¦   «         Zd„ Zej         	                    d¦  «        d„ ¦   «         Z
ej         	                    d¦  «        ej                             dddg¦  «        ej                             d	d
 ej        dej                             d¦  «        ¬¦  «        g¦  «        d„ ¦   «         ¦   «         ¦   «         Zed„ ¦   «         Zd„ Zd„ Zej                             dddej        fej        dfej         ej        fej        ej         fg¦  «        d„ ¦   «         ZdS )Ú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                             ||z
  ¦  «        |k     sJ ‚t          |d	dfdddœ|¤Ž\  }}t	          ||d	|¬¦  «         t          |d	dfdddddœ|¤Ž^}}}t	          ||d	|¬¦  «         Œäd S )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�b‰MŒ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—>’> #¨¡+Ñ.Ô.°Ò7Ð7Ð7Ð7å  1 aÐQ¨e¸JÐQÐQÈ&Ð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  ¦  «        ¬	¦  «         d S )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 q™MœM¨QÑ.Ñ.Ñ/Ð/r   r&   r
   r(   r+   )r*   r)   r   r   r   r,   r2   )r1   g       @c                 óB   — 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˜!˜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   sr  € ð	0ð 	0ð 	0ð (ð  	Iñ  	IˆFØ˜[Ò(Ð(¨V°dª]¨]àå˜u¨VÀ
ÐKÑKÔKˆFå  1¥b¤fÐ7Ð7°Ð7Ð7‰HˆC�Ý˜C¥¤ q¡¨qµs¸6À3Ñ7GÔ7GÐHÑHÔHÐHå  1¥r¤v gÐ8Ð8°Ð8Ð8‰HˆC�Ý˜C¥"¤% ¨¡°½¸FÀCÑ8HÔ8HÐIÑIÔIÐIå ¥B¤F 7¨AÐ8Ð8°Ð8Ð8‰HˆC�Ý˜C¥¤ q¡¨qµs¸6À3Ñ7GÔ7GÐHÑHÔHÐHå ¥2¤6¨1Ð7Ð7°Ð7Ð7‰HˆC�Ý˜C¥"¤% ¨¡°½¸FÀCÑ8HÔ8HÐIÑIÔIÐIå ¥B¤F 7­B¬FÐ=Ð=°fÐ=Ð=‰HˆC�Ý˜C¥¤¨QµS¸ÀÑ5EÔ5EÐFÑFÔFÐFå ¥2¤6­B¬F¨7Ð=Ð=°fÐ=Ð=‰HˆC�Ý˜C¥"¤% ¨aµc¸&À#Ñ6FÔ6FÐGÑGÔGÐGå ¥2¤6­2¬6Ð<Ð<°VÐ<Ð<‰HˆC�Ý˜C ¨µ°V¸SÑ1AÔ1AÐBÑBÔBÐBå ¥B¤F 7­R¬V¨GÐ>Ð>°vÐ>Ð>‰HˆC�Ý˜C ¨µ°V¸SÑ1AÔ1AÐBÑBÔBÐBå  1¥b¤fÐJÐJ°ZÐJÀ6ÐJÐJ‰HˆC�Ý˜C¥¤ q¡¨qµs¸6À3Ñ7GÔ7GÐHÑHÔHÐHÑHð	0ð 	0ð 	0å”�œ‘�rœv a™yœyÑ(ˆØˆå! !¥b¤f W­b¬f¸DÀuØ)/¸JØ.2ð4ñ 4ô 4‰ˆˆS�$ð Œ{˜aÒÐÐÐÝ˜˜U¨µ°V¸SÀ3¹YÑ1GÔ1GÐHÑHÔHÐHÐHÐHr   c                 ó�   — d„ }d}t          j        g d¢¦  «        }t          |dd|f¬¦  «        \  }}t          ||dd¬¦  «         d S )	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   sb   € ð	.ð 	.ð 	.àˆÝ”˜˜˜Ñ'Ô'ˆå˜A˜q !¨1¨$Ð/Ñ/Ô/‰ˆˆSÝ˜˜U¨°Ð6Ñ6Ô6Ð6Ð6Ð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 ¦  «         d S # 1 swxY w Y   d S )	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ÔS‰ˆˆSÝ˜�RœU¨°Ð6Ñ6Ô6Ð6å�"‰XŒXð 	;˜ð(ð (ð (å˜a¥"¤& ­"¬&°uÀTØ&*¤hð0ñ 0ô 0‰FˆC�å˜C¥¤¨Q°TÐ:Ñ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð 	;ð 	;s   Á!ACÃCÃCÚ
extra_argsr   )r   rR   r   rQ   )Úmarksc                 óB  — t           }t          j        g d¢¦  «        }t          |dd||¬¦  «        \  }}t	          ||dd¬¦  «         t          |¦  «        5 }t          |dd||j        ¬¦  «        \  }}t	          ||dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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ÑFÔF‰ˆˆSÝ˜˜U¨°Ð6Ñ6Ô6Ð6å�'‰]Œ]ð 	;˜dÝ  1 a¨jÀ$Ä(ÐKÑKÔK‰HˆC�Ý˜C ¨Q°TÐ:Ñ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð 	;ð 	;s   Á0BÂBÂBc                 ót   ‡— ˆfd„}dgŠt          |dddd|¬¦  «        }|d         j        ‰d         k    sJ ‚d S )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ˆHŒH˜‰MˆHˆH‰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ÑTÔTˆØ�1ŒvŒ|˜u QœxÒ'Ð'Ð'Ð'Ð'Ð'r   c                 ób  — d„ }t          |dddd¬¦  «        \  }}}|j        du sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚|j        dk    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 ‚d S )
Nc                 ó*   — t          j        d¦  «        S )N)r   r   r   )r   Úonesr   s    r   r%   z TestQuadVec.test_info.<locals>.fœ   s   € Ý”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ÑHÔH‰ˆˆS�$àŒ|˜tÐ#Ð#Ð#Ð#ØŒ{˜aÒÐÐÐØŒ|Ð:Ò:Ð:Ð:Ð:ØŒz˜AŠ~ˆ~ˆ~ˆ~ØŒ~Ô# AÔ&¨!Ò+Ð+Ð+Ð+ØŒ~Ô#¨¬Ô(<¸QÔ(?ÀÀAÀqÐ'IÒIÐIÐIÐIØŒ{Ô  T¤^Ô%9¸!Ô%<Ð$>Ò>Ð>Ð>Ð>Ð>Ð>r   c                 ó¢   — d„ }d„ }t          |ddd¬¦  «        \  }}}|j        dk    sJ ‚t          |ddd¬¦  «        \  }}}|j        dk    sJ ‚d S )Nc                 ó   — t           j        S r#   )r   Únanr   s    r   Úf_nanz'TestQuadVec.test_nan_inf.<locals>.f_nanª   s	   € Ý”6ˆMr   c                 ó0   — | dk     rt           j        nd| z  S )Nr'   r   )r   rD   r   s    r   Úf_infz'TestQuadVec.test_nan_inf.<locals>.f_inf­   s   € Ø šW˜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                 ó4  ‡‡‡	— d}|t          d„ |D ¦   «         ¦  «        z  }dŠ	g ŠdŠˆˆˆ	fd„}t          ||||dd¬¦  «         ‰D ]Q}t          j        t	          |¦  «        t          |¦  «        ¦  «        }t          j        ||d         k    ¦  «        sJ ‚ŒRd S )N)r   g      Ð?r0   g      è?r1   c              3   ó   K  — | ]}| V — Œd S r#   r   )Ú.0r   s     r   ú	<genexpr>z*TestQuadVec.test_points.<locals>.<genexpr>¿   s$   è è € Ð+Ð+˜q˜˜Ð+Ð+Ð+Ð+Ð+Ð+r   é   r   c                 ó¶   •— ‰‰z  dk    r!‰                      t          ¦   «         ¦  «         ‰dz  Š‰d                              t          | ¦  «        ¦  «         dS )Nr   r   éÿÿÿÿg        )ÚappendÚsetÚaddÚfloat)r   r_   Úinterval_setsÚquadrature_pointss    €€€r   r%   z"TestQuadVec.test_points.<locals>.fÅ   s[   ø€ ð Ð(Ñ(¨AÒ-Ð-Ø×$Ò$¥S¡U¤UÑ+Ô+Ð+à�Q‰JˆEØ˜"Ô×!Ò!¥%¨¡(¤(Ñ+Ô+Ð+Ø�3r   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ÑDÔDÐDð ð 	%ð 	%ˆAÝ”¥ v¡¤µ°a±´Ñ9Ô9ˆAÝ”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      sÄ  € € € € € àð=ð =ñ Ôð=ð< ð/Ið /Iñ Ôð/Iðd7ð 7ð 7ð „[×Ò˜2ÑÔð
;ð 
;ñ Ôð
;ð „[×Ò˜2ÑÔØ„[×Ò˜\¨A¨t¨9Ñ5Ô5Ø„[×ÒØØ	
ˆLˆFŒL˜ 6¤;×#EÒ#EÀaÑ#HÔ#HÐIÑIÔIÐJñô ð	;ð 	;ñ	ô ñ 6Ô5ñ Ôð	;ð ð(ð (ñ Ôð(ð?ð ?ð ?ð ð  ð  ð „[×Ò˜U V¨a°´¨[¸2¼6À1¸+Ø&(¤f W¨b¬fÐ$5¸¼ÀÄÀÐ7Hð%Jñ Kô Kð%ð %ñ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Ð 3Ð 3Ð 3Ð 3Ð 3à &Ð &Ð &Ð &Ð &Ð &ð ”K×+Ò+ØÐ5Ð5Ð5ñ7ô 7Ð ðð ð ð&ð &ð &ð Ð�8ÑÔð}%ð }%ð }%ð }%ð }%ñ }%ô }%ñ Ôð}%ð }%ð }%r   