§
    µ³ÙgXn  ã                   ó¬  — d dl Z d dlZd dlmZmZmZ d dlmZ d dl	m
Z d dlmc mZ d dlmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZmZmZ d dlm Z m!Z! d dl"m#Z# e j$        j%        Z% G d	„ d
¦  «        Z& G d„ d¦  «        Z' G d„ d¦  «        Z(e  G d„ d¦  «        ¦   «         Z) G d„ d¦  «        Z*dddddœd„Z+ G d„ d¦  «        Z, G d„ d¦  «        Z-dS )é    N)Úassert_equalÚassert_almost_equalÚassert_allclose)Úgiven)	ÚrombÚnewton_cotesÚcumulative_trapezoidÚ	trapezoidÚquadÚsimpsonÚ
fixed_quadÚqmc_quadÚcumulative_simpson)Ú%_cumulative_simpson_unequal_intervals)ÚstatsÚspecialÚ	integrate)Úarray_api_compatibleÚskip_xp_invalid_arg)Úxp_assert_closec                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestFixedQuadc                 ór   ‡— dŠdd‰z  z  }t          ˆfd„dd‰¬¦  «        \  }}t          ||d¬¦  «         d S )	Né   é   é   c                 ó   •— | d‰z  dz
  z  S )Nr   r   © )ÚxÚns    €ú[/granary/edev/quantum/lib/python3.11/site-packages/scipy/integrate/tests/test_quadrature.pyú<lambda>z+TestFixedQuad.test_scalar.<locals>.<lambda>   s   ø€  a¨!¨A©#°©'¡l€ ó    r   ©r    çê-�™—q=©Úrtol)r   r   )ÚselfÚexpectedÚgotÚ_r    s       @r!   Útest_scalarzTestFixedQuad.test_scalar   sT   ø€ ØˆØ�a˜‘c‘7ˆÝÐ2Ð2Ð2Ð2°A°q¸AÐ>Ñ>Ô>‰ˆˆQå˜˜X¨EÐ2Ñ2Ô2Ð2Ð2Ð2r#   c                 ó¢   ‡— d}t          j        dd|z  ¦  «        Šd‰dz   z  }t          ˆfd„dd|¬¦  «        \  }}t          ||d¬¦  «         d S )	Nr   r   r   c                 ó"   •— | ‰d d …d f         z  S ©Nr   )r   Úps    €r!   r"   z+TestFixedQuad.test_vector.<locals>.<lambda>"   s   ø€  a¨¨1¨1¨1¨d¨7¬¡m€ r#   r   r$   r%   r&   )ÚnpÚaranger   r   )r(   r    r)   r*   r+   r0   s        @r!   Útest_vectorzTestFixedQuad.test_vector   si   ø€ ØˆÝŒI�a˜˜1™ÑÔˆØ�a˜!‘e‘9ˆÝÐ3Ð3Ð3Ð3°Q¸¸QÐ?Ñ?Ô?‰ˆˆQÝ˜˜X¨EÐ2Ñ2Ô2Ð2Ð2Ð2r#   N)Ú__name__Ú
__module__Ú__qualname__r,   r3   r   r#   r!   r   r      s2   € € € € € ð3ð 3ð 3ð3ð 3ð 3ð 3ð 3r#   r   c                   ó~   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j
                             ddd	g¦  «        d
„ ¦   «         ZdS )ÚTestQuadraturec                 ó   — t           ‚r/   )ÚNotImplementedError)r(   r   ÚaÚbÚargss        r!   r   zTestQuadrature.quad'   s   € Ý!Ð!r#   c                 ód   — t          t          t          j        d¦  «        ¦  «        d¦  «         d S )Né   é€   )r   r   r1   r2   ©r(   s    r!   Ú	test_rombzTestQuadrature.test_romb*   s(   € Ý•T�"œ) B™-œ-Ñ(Ô(¨#Ñ.Ô.Ð.Ð.Ð.r#   c                 ó  — t          j        d¦  «        }t          j        d|z  ¦  «        }t          |¦  «        }t	          d„ |                     ¦   «         |                     ¦   «         ¦  «        \  }}t          ||dd¬¦  «         d S )Nr?   çš™™™™™É?c                 ó0   — t          j        d| z  ¦  «        S )NrD   )r1   Úcos©r   s    r!   r"   z2TestQuadrature.test_romb_gh_3731.<locals>.<lambda>2   s   € ¥2¤6¨#¨a©%¡=¤=€ r#   g:Œ0âŽyE>r   ©r'   Úatol)r1   r2   rF   r   r   ÚminÚmaxr   )r(   r   ÚyÚvalÚval2Úerrs         r!   Útest_romb_gh_3731z TestQuadrature.test_romb_gh_3731-   ss   € åŒI�fÑÔˆÝŒF�3�q‘5‰MŒMˆÝ�1‰gŒgˆÝÐ0Ð0°!·%²%±'´'¸1¿5º5¹7¼7ÑCÔC‰	ˆˆcÝ˜˜T¨°1Ð5Ñ5Ô5Ð5Ð5Ð5r#   c                 ó°  — d}t          |d¦  «        \  }}t          ||t          j        ddg¦  «        z  ¦  «         t	          ||dz   dz  ¦  «         d}t          |d¦  «        \  }}t	          ||t          j        g d¢¦  «        z  dz  ¦  «         t	          ||dz   d	z  ¦  «         d}t          |d¦  «        \  }}t	          ||t          j        g d
¢¦  «        z  dz  ¦  «         t	          ||dz   dz  ¦  «         d}t          |d¦  «        \  }}t	          ||t          j        g d¢¦  «        z  dz  ¦  «         t	          ||dz   dz  ¦  «         dS )z5Test the first few degrees, for evenly spaced points.r   ç      à?é   ç      (@r   )ç      ð?ç      @rU   ç      @é   g     €¦@)rU   ç      @rY   rU   ç       @g     P¹@r   )ç      @ç      @@rT   r\   r[   g     €V@é   g     ˆ=AN)r   r   r1   Úarrayr   )r(   r    ÚwtsÚerrcoffs       r!   Útest_newton_cotesz TestQuadrature.test_newton_cotes5   sq  € àˆÝ# A qÑ)Ô)‰ˆˆWÝ�S˜!�BœH c¨3 ZÑ0Ô0Ñ0Ñ1Ô1Ð1Ý˜G a¨¡d U¨4¡ZÑ0Ô0Ð0àˆÝ# A qÑ)Ô)‰ˆˆWÝ˜C ¥2¤8¨O¨O¨OÑ#<Ô#<Ñ!<¸SÑ!@ÑAÔAÐAÝ˜G a¨¡d U¨6¡\Ñ2Ô2Ð2àˆÝ# A qÑ)Ô)‰ˆˆWÝ˜C ¥2¤8Ð,@Ð,@Ð,@Ñ#AÔ#AÑ!AÀ#Ñ!EÑFÔFÐFÝ˜G a¨¡d U¨6¡\Ñ2Ô2Ð2àˆÝ# A qÑ)Ô)‰ˆˆWÝ˜C ¥2¤8Ð,HÐ,HÐ,HÑ#IÔ#IÑ!IÈ$Ñ!NÑOÔOÐOÝ˜G a¨¡d U¨9¡_Ñ5Ô5Ð5Ð5Ð5r#   c                 óV  — t          j        g d¢¦  «        }|dz  }t          |¦  «        \  }}d}t          j        ||¦  «        }t	          ||¦  «         t          j        g d¢¦  «        }|dz  }t          |¦  «        \  }}d}t          j        ||¦  «        }t	          ||¦  «         dS )z9Test newton_cotes with points that are not evenly spaced.)ç        g      ø?ç       @r   gUUUUUU@)rc   gffffffö?gÍÌÌÌÌÌ @rY   ç      "@N)r1   r^   r   Údotr   )r(   r   rL   r_   r`   Úexact_integralÚnumeric_integrals          r!   Útest_newton_cotes2z!TestQuadrature.test_newton_cotes2K   s¯   € õ ŒH�_�_�_Ñ%Ô%ˆØˆq‰DˆÝ# A‘”‰ˆˆWØˆÝœ6 # q™>œ>ÐÝÐ,¨nÑ=Ô=Ð=åŒHÐ)Ð)Ð)Ñ*Ô*ˆØˆq‰DˆÝ# A‘”‰ˆˆWØˆÝœ6 # q™>œ>ÐÝÐ,¨nÑ=Ô=Ð=Ð=Ð=r#   c           
      óz  — t          j        d¦  «        }t          t          |¦  «        d¦  «         t          t          |d¬¦  «        d¦  «         t          t          |t          j        ddd¦  «        ¬¦  «        d	¦  «         t          j        d
dd¦  «        }d„ }t          t           ||¦  «        |¬¦  «        d¦  «         t          j        d
dd¦  «        }t          t           ||¦  «        d¬¦  «        d¦  «         t          j        d¦  «                             dd¦  «        }t          j        d¦  «                             ddd¦  «        } ||¦  «        }t          d¦  «        D ]Å}t          |||¬¦  «        }t          j        |dg¬¦  «        }|D ]—}t          |j
        ¦  «        }	|	                     |t          d ¦  «        ¦  «         |t          |	¦  «                 d         dz  dz  |t          |	¦  «                 d         dz  dz  z
  }
t          ||j
                 |
¦  «         Œ˜ŒÆt          j        d¦  «                             dd¦  «        } ||¦  «        }t          ||d¬¦  «        }d|d d …d
f         |d d …df         z   z  |d d …d
f         |d d …df         z
  z  }
t          ||
¦  «         t          j        d¦  «                             dd¦  «        }t          j        d¦  «                             ddd¦  «        } ||¦  «        }t          d¦  «        D ]Å}t          |||¬¦  «        }t          j        |dg¬¦  «        }|D ]—}t          |j
        ¦  «        }	|	                     |t          d ¦  «        ¦  «         |t          |	¦  «                 d         dz  dz  |t          |	¦  «                 d         dz  dz  z
  }
t          ||j
                 |
¦  «         Œ˜ŒÆt          j        dg¦  «        }t          j        |d¦  «        }t          t          ||d¬¦  «        d¦  «         t          t          ||d¬¦  «        d¦  «         t          j        g d¢¦  «        }t          j        |d¦  «        }t          t          ||d¬¦  «        d¦  «         t          t          ||d¬¦  «        d¦  «         t          j        g d¢g d¢g d¢g¦  «        }t          j        |d¦  «        }g d¢}d gdz  }t          t          ||d¬¦  «        |¦  «         t          t          ||d¬¦  «        |¦  «         t          j        g d¢g d¢g d!¢g¦  «        }t          j        |d¦  «        }g d"¢}g d#¢}t          t          ||d¬¦  «        |¦  «         t          t          ||d¬¦  «        |¦  «         d S )$Nr?   r@   rR   ©Údxé@   r   r   rG   é    r   c                 ó   — | dz  S )Nr   r   rG   s    r!   Úfz&TestQuadrature.test_simpson.<locals>.fd   s   € Ø�a‘4ˆKr#   ç      5@r]   rd   ér   é   ç      P@rS   ©r   ÚaxisÚmulti_index)Úflagséÿÿÿÿé   r   é   rX   é}   rc   )rS   rS   rS   rS   )r   r   r   rz   )rc   rc   rc   rc   ç«ªªªªJe@)r   rz   rs   rn   )rc   g      a@g      ‘@g      Á@)r}   r}   gªªªª*UÅ@)r1   r2   r   r   Úlinspacer   ÚreshapeÚrangeÚnditerÚlistrw   ÚinsertÚsliceÚtupler^   Úpower)r(   rL   r   rp   r;   ÚiÚrÚitr+   ÚidxÚintegralÚ	zero_axisÚdefault_axiss                r!   Útest_simpsonzTestQuadrature.test_simpson\   s“  € ÝŒI�b‰MŒMˆÝ•W˜Q‘Z”Z Ñ%Ô%Ð%Ý•W˜Q 3Ð'Ñ'Ô'¨Ñ,Ô,Ð,Ý•W˜Q¥"¤+¨a°°BÑ"7Ô"7Ð8Ñ8Ô8¸"Ñ=Ô=Ð=õ ŒK˜˜1˜aÑ Ô ˆð	ð 	ð 	õ 	�   !¡¤¨Ð*Ñ*Ô*¨DÑ1Ô1Ð1õ ŒK˜˜1˜aÑ Ô ˆÝ�   !¡¤¨Ð-Ñ-Ô-¨sÑ3Ô3Ð3õ ŒI�b‰MŒM×!Ò! ! QÑ'Ô'ˆÝŒI�c‰NŒN×"Ò" 1 a¨Ñ+Ô+ˆØˆAˆa‰DŒDˆÝ�q‘”ð 	=ð 	=ˆAÝ˜˜Q QÐ'Ñ'Ô'ˆAÝ”˜1 ] OÐ4Ñ4Ô4ˆBØð =ð =�Ý˜2œ>Ñ*Ô*�Ø—
’
˜1�e D™kœkÑ*Ô*Ð*Ø�U 3™ZœZœ=¨Ô,¨aÑ/°!Ñ3°a½¸c¹
¼
´mÀAÔ6FÈÑ6IÈAÑ6MÑM�Ý  "¤.Ô 1°8Ñ<Ô<Ð<Ð<ð	=õ ŒI�b‰MŒM×!Ò! ! QÑ'Ô'ˆØˆAˆa‰DŒDˆÝ�A˜ Ð$Ñ$Ô$ˆà˜!˜A˜A˜A˜q˜Dœ' A a a a¨ d¤GÑ+Ñ,°°!°!°!°Q°$´¸!¸A¸A¸A¸q¸D¼'Ñ0AÑBˆÝ˜˜8Ñ$Ô$Ð$õ ŒI�b‰MŒM×!Ò! ! QÑ'Ô'ˆÝŒI�c‰NŒN×"Ò" 1 a¨Ñ+Ô+ˆØˆAˆa‰DŒDˆÝ�q‘”ð 	=ð 	=ˆAÝ˜˜Q QÐ'Ñ'Ô'ˆAÝ”˜1 ] OÐ4Ñ4Ô4ˆBØð =ð =�Ý˜2œ>Ñ*Ô*�Ø—
’
˜1�e D™kœkÑ*Ô*Ð*Ø�U 3™ZœZœ=¨Ô,¨aÑ/°!Ñ3°a½¸c¹
¼
´mÀAÔ6FÈÑ6IÈAÑ6MÑM�Ý  "¤.Ô 1°8Ñ<Ô<Ð<Ð<ð	=õ ŒH�a�S‰MŒMˆÝŒH�Q˜‰NŒNˆÝ�  Q¨QÐ/Ñ/Ô/°Ñ5Ô5Ð5Ý�  Q¨RÐ0Ñ0Ô0°#Ñ6Ô6Ð6åŒH�\�\�\Ñ"Ô"ˆÝŒH�Q˜‰NŒNˆÝ�  Q¨QÐ/Ñ/Ô/°Ñ5Ô5Ð5Ý�  Q¨RÐ0Ñ0Ô0°#Ñ6Ô6Ð6åŒH�l�l�l L L L°,°,°,Ð?Ñ@Ô@ˆÝŒH�Q˜‰NŒNˆØ(Ð(Ð(ˆ	Ø!�{ Q‘ˆÝ�  Q¨QÐ/Ñ/Ô/°Ñ;Ô;Ð;å�  Q¨RÐ0Ñ0Ô0°,Ñ?Ô?Ð?åŒH�l�l�l L L L°.°.°.ÐAÑBÔBˆÝŒH�Q˜‰NŒNˆØ0Ð0Ð0ˆ	Ø>Ð>Ð>ˆÝ�  Q¨QÐ/Ñ/Ô/°Ñ;Ô;Ð;Ý�  Q¨RÐ0Ñ0Ô0°,Ñ?Ô?Ð?Ð?Ð?r#   ÚdroplastFTc                 óú   — t          j        g d¢g d¢g¦  «        }|r|d d …d d…f         }t          |d¬¦  «        }t          t          j        |t           j        ¬¦  «        d¬¦  «        }t	          ||¦  «         d S )N)r   r   r   r   rz   rz   éüÿÿÿrX   )r   r   r   r‘   é
   é   éþÿÿÿr’   ry   ©rv   ©Údtype)r1   r^   r   Úfloat64r   )r(   r�   rL   Úresultr)   s        r!   Útest_simpson_2d_integer_no_xz+TestQuadrature.test_simpson_2d_integer_no_xª   s”   € õ ŒHÐ/Ð/Ð/Ø3Ð3Ð3ð5ñ 6ô 6ˆàð 	Ø�!�!�!�S�b�S�&”	ˆAÝ˜ Ð$Ñ$Ô$ˆÝ�2œ8 A­R¬ZÐ8Ñ8Ô8¸rÐBÑBÔBˆÝ�V˜XÑ&Ô&Ð&Ð&Ð&r#   N)r4   r5   r6   r   rB   rP   ra   ri   rŽ   ÚpytestÚmarkÚparametrizerš   r   r#   r!   r8   r8   &   s§   € € € € € ð"ð "ð "ð/ð /ð /ð6ð 6ð 6ð6ð 6ð 6ð,>ð >ð >ð"K@ð K@ð K@ð\ „[×Ò˜Z¨%°¨Ñ7Ô7ð	'ð 	'ñ 8Ô7ð	'ð 	'ð 	'r#   r8   c                   óx   — e Zd Zd„ Zd„ Zd„ Zd„ Zej         	                    dddg¦  «        d„ ¦   «         Z
d	„ Zd
S )ÚTestCumulative_trapezoidc                 óØ   — t          j        ddd¬¦  «        }|}t          ||d¬¦  «        }g d¢}t          ||¦  «         t          ||d ¬¦  «        }t          ||dd …         ¦  «         d S )	Nr”   r   rX   ©Únumr   ©Úinitial)rc   ç      ø¿ç       Àr¥   rc   r   ©r1   r~   r	   r   )r(   r   rL   Úy_intÚ
y_expecteds        r!   Útest_1dz TestCumulative_trapezoid.test_1d¸   s~   € ÝŒK˜˜A 1Ð%Ñ%Ô%ˆØˆÝ$ Q¨°1Ð5Ñ5Ô5ˆØ.Ð.Ð.ˆ
Ý˜˜zÑ*Ô*Ð*å$ Q¨°4Ð8Ñ8Ô8ˆÝ˜˜z¨!¨"¨"œ~Ñ.Ô.Ð.Ð.Ð.r#   c                 óÊ  — t          j        d¦  «                             ddd¦  «        }|}t          ||d¬¦  «        }t          j        g d¢g d¢gg d	¢g d
¢gg d¢g d¢gg¦  «        }t          ||¦  «         g d¢}t          g d¢|¦  «        D ]U\  }}t          ||d|¬¦  «        }t          |j        d¦  «         t          ||d |¬¦  «        }t          |j        |¦  «         ŒVd S )Né   rS   r   r   r   r£   )rc   rR   rd   ç      @)rc   r­   ç      $@ç     €0@)rc   ç      !@ç      2@g     €<@)rc   ç      )@g      :@ç     @D@)rc   r¯   g      A@g     @J@)rc   ç     €4@g      E@g      P@))r   r   r   )rS   r   r   )rS   r   rS   ©r   r   r   )r¤   rv   )rS   r   r   )	r1   r2   r   r	   r^   r   Úzipr   Úshape)r(   r   rL   r¨   r©   Úshapesrv   r·   s           r!   Útest_y_nd_x_ndz'TestCumulative_trapezoid.test_y_nd_x_ndÂ   s4  € ÝŒI�iÑ Ô ×(Ò(¨¨A¨qÑ1Ô1ˆØˆÝ$ Q¨°1Ð5Ñ5Ô5ˆÝ”XÐ 2Ð 2Ð 2Ø 4Ð 4Ð 4ð 6à 4Ð 4Ð 4Ø 5Ð 5Ð 5ð 7à 5Ð 5Ð 5Ø 5Ð 5Ð 5ð 7ð	8ñ 9ô 9ˆ
õ 	˜˜zÑ*Ô*Ð*ð 3Ð2Ð2ˆÝ˜y˜y˜y¨&Ñ1Ô1ð 	-ð 	-‰KˆD�%Ý(¨¨A°q¸tÐDÑDÔDˆEÝ˜œ iÑ0Ô0Ð0Ý(¨¨A°tÀ$ÐGÑGÔGˆEÝ˜œ eÑ,Ô,Ð,Ð,ð		-ð 	-r#   c           	      óö  — t          j        d¦  «                             ddd¦  «        }t          j        d¦  «        dz  }t          j        g d¢g d¢gg d¢g d¢gg¦  «        t          j        g d	¢gg d
¢gg d¢gg¦  «        t          j        g d¢g d¢gg d¢g d¢gg d¢g d¢gg¦  «        f}t	          g d¢|¦  «        D ];\  }}t          ||d |j        |         …         |d ¬¦  «        }t          ||¦  «         Œ<d S )Nr¬   rS   r   r   )rV   ç      @rW   r[   )rZ   re   r®   ç      &@)g      D@g      F@g      H@g      J@)g      L@g      N@rt   g      Q@)rd   rY   rV   r»   )r®   r¼   rT   ç      *@)r±   g      3@ç      4@rq   )rR   r»   g     €1@)r­   rq   g     ÀJ@)r°   g     €B@g     `V@)r²   g     €J@g     `_@)r¯   g     @Q@g     0d@)r´   g     @U@g     °h@rµ   )r   rv   r¤   )r1   r2   r   r^   r¶   r	   r·   r   )r(   rL   r   Úys_expectedrv   r©   r¨   s          r!   Útest_y_nd_x_1dz'TestCumulative_trapezoid.test_y_nd_x_1d×   s~  € ÝŒI�iÑ Ô ×(Ò(¨¨A¨qÑ1Ô1ˆÝŒI�a‰LŒL˜!‰Oˆõ ŒHÐ'Ð'Ð'Ø)Ð)Ð)ð+à+Ð+Ð+Ø+Ð+Ð+ð-ð.ñ /ô /õ ŒHÐ'Ð'Ð'Ð(Ø+Ð+Ð+Ð,Ø+Ð+Ð+Ð,ð.ñ /ô /õ ŒH���Ø'Ð'Ð'ð)à'Ð'Ð'Ø)Ð)Ð)ð+à)Ð)Ð)Ø)Ð)Ð)ð+ð	,ñ -ô -ð.ˆõ !$ I I I¨{Ñ ;Ô ;ð 	/ð 	/ÑˆD�*Ý(¨¨a°°´¸´°Ô.?ÀdØ15ð7ñ 7ô 7ˆEå˜E :Ñ.Ô.Ð.Ð.ð	/ð 	/r#   c                 óZ  — t          j        ddd¬¦  «        }t          |¦  «        }g d¢}t          ||¦  «         t          |d¬¦  «        }g d¢}t          ||¦  «         t          |d	¬
¦  «        }g d¢}t          ||¦  «         t          |d	d¬¦  «        }g d¢}t          ||¦  «         d S )Nr”   r   rX   r¡   )r¥   r¦   r¥   rc   r   r£   )r   r¥   r¦   r¥   rc   rS   rk   )ç      Àç      ÀrÂ   rc   )rl   r¤   )r   rÂ   rÃ   rÂ   rc   r§   )r(   rL   r¨   r©   s       r!   Útest_x_nonez$TestCumulative_trapezoid.test_x_noneï   sÏ   € ÝŒK˜˜A 1Ð%Ñ%Ô%ˆå$ QÑ'Ô'ˆØ*Ð*Ð*ˆ
Ý˜˜zÑ*Ô*Ð*å$ Q°Ð2Ñ2Ô2ˆØ-Ð-Ð-ˆ
Ý˜˜zÑ*Ô*Ð*å$ Q¨1Ð-Ñ-Ô-ˆØ*Ð*Ð*ˆ
Ý˜˜zÑ*Ô*Ð*å$ Q¨1°aÐ8Ñ8Ô8ˆØ-Ð-Ð-ˆ
Ý˜˜zÑ*Ô*Ð*Ð*Ð*r#   r¤   r   rR   c                 ó¾   — t          j        ddd¬¦  «        }t          j        t          d¬¦  «        5  t          ||¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z4If initial is not None or 0, a ValueError is raised.r   r’   r¡   z	`initial`©Úmatchr£   N)r1   r~   r›   ÚraisesÚ
ValueErrorr	   )r(   r¤   rL   s      r!   Útest_initial_errorz+TestCumulative_trapezoid.test_initial_error  s¦   € õ
 ŒK˜˜2 2Ð&Ñ&Ô&ˆÝŒ]�:¨[Ð9Ñ9Ô9ð 	5ð 	5Ý  ¨GÐ4Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð 	5ð 	5s   ³AÁAÁAc                 óŽ   — t          j        t          d¬¦  «        5  t          g ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NúAt least one point is requiredrÆ   ©rL   )r›   rÈ   rÉ   r	   rA   s    r!   Útest_zero_len_yz(TestCumulative_trapezoid.test_zero_len_y  s�   € ÝŒ]�:Ð-MÐNÑNÔNð 	'ð 	'Ý  2Ð&Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð 	'ð 	's   œ:º>Á>N)r4   r5   r6   rª   r¹   rÀ   rÄ   r›   rœ   r�   rÊ   rÎ   r   r#   r!   rŸ   rŸ   ·   s˜   € € € € € ð/ð /ð /ð-ð -ð -ð*/ð /ð /ð0+ð +ð +ð& „[×ÒØ�A�s�8ñô ð5ð 5ñô ð5ð'ð 'ð 'ð 'ð 'r#   rŸ   c                   ót  — e Zd Zd„ Z eddg¬¦  «        ej                             d¦  «        d„ ¦   «         ¦   «         Z eddg¬¦  «        ej                             d¦  «        d„ ¦   «         ¦   «         Z	e
d„ ¦   «         Z ed	d
g¬¦  «        ej                             d¦  «        d„ ¦   «         ¦   «         ZdS )ÚTestTrapezoidc           	      ó0  — |                      ddd¦  «        }t          |                     d|dz  z  ¦  «        |                     d|                     |j        ¦  «        z  ¦  «        z  d¬¦  «        }t          ||                     d¦  «        ¦  «         d S )Néöÿÿÿr’   gš™™™™™¹?g      à¿r   rk   rU   )r2   r
   ÚexpÚsqrtÚasarrayÚpir   )r(   Úxpr   rˆ   s       r!   Útest_simplezTestTrapezoid.test_simple  s‚   € Ø�IŠI�c˜2˜rÑ"Ô"ˆÝ�b—f’f˜S 1¨¡6™\Ñ*Ô*¨R¯WªW°Q¸¿ºÀBÄEÑ9JÔ9JÑ5JÑ-KÔ-KÑKÐPSÐTÑTÔTˆå˜˜2Ÿ:š: c™?œ?Ñ+Ô+Ð+Ð+Ð+r#   z	jax.numpyz)JAX arrays do not support item assignment)ÚreasonsÚskip_xp_backendsc                 óD  — |                      ddd¦  «        }|                      ddd¦  «        }|                      ddd¦  «        }|                     |¦  «        |d         |d         z
  z  }|dxx         dz  cc<   |dxx         dz  cc<   |                     |¦  «        |d         |d         z
  z  }|dxx         dz  cc<   |dxx         dz  cc<   |                     |¦  «        |d         |d         z
  z  }|dxx         dz  cc<   |dxx         dz  cc<   |d d …d d f         |d d d …d f         z   |d d d d …f         z   }|                     ||d d …d d f         z  d¬¦  «        }	|                     ||d d d …d f         z  d¬¦  «        }
|                     ||d d d d …f         z  d¬¦  «        }t          ||d d …d d f         d¬	¦  «        }t	          ||	¦  «         t          ||d d d …d f         d¬	¦  «        }t	          ||
¦  «         t          ||d d d d …f         d¬	¦  «        }t	          ||¦  «         t          ||d¬	¦  «        }t	          ||	¦  «         t          ||d¬	¦  «        }t	          ||
¦  «         t          ||d¬	¦  «        }t	          ||¦  «         d S )
Nr   r   rS   r   rz   é   ry   r•   ru   )r~   Ú	ones_likeÚsumr
   r   )r(   r×   r   rL   ÚzÚwxÚwyÚwzÚqÚqxÚqyÚqzrˆ   s                r!   Ú	test_ndimzTestTrapezoid.test_ndim  sã  € ð �KŠK˜˜1˜aÑ Ô ˆØ�KŠK˜˜1˜aÑ Ô ˆØ�KŠK˜˜1˜bÑ!Ô!ˆà�\Š\˜!‰_Œ_  !¤ q¨¤t¡Ñ,ˆØ
ˆ1ˆˆŒ�‰
ˆˆ‰Ø
ˆ2ˆˆŒ�!‰ˆˆ‰Ø�\Š\˜!‰_Œ_  !¤ q¨¤t¡Ñ,ˆØ
ˆ1ˆˆŒ�‰
ˆˆ‰Ø
ˆ2ˆˆŒ�!‰ˆˆ‰Ø�\Š\˜!‰_Œ_  !¤ q¨¤t¡Ñ,ˆØ
ˆ1ˆˆŒ�‰
ˆˆ‰Ø
ˆ2ˆˆŒ�!‰ˆˆ‰àˆaˆaˆa��tˆmÔ˜q  a a a¨ œÑ.°°4¸¸a¸a¸a°<´Ñ@ˆà�VŠV�A˜˜1˜1˜1˜d D˜=Ô)Ñ)°ˆVÑ2Ô2ˆØ�VŠV�A˜˜4    D˜=Ô)Ñ)°ˆVÑ2Ô2ˆØ�VŠV�A˜˜4  q q q˜=Ô)Ñ)°ˆVÑ2Ô2ˆõ �a˜1˜Q˜Q˜Q  d˜]Ô+°!Ð4Ñ4Ô4ˆÝ˜˜2ÑÔÐÝ�a˜1˜T ! ! ! T˜\œ?°Ð3Ñ3Ô3ˆÝ˜˜2ÑÔÐÝ�a˜1˜T 4¨¨¨˜\œ?°Ð3Ñ3Ô3ˆÝ˜˜2ÑÔÐõ �a˜1 1Ð%Ñ%Ô%ˆÝ˜˜2ÑÔÐÝ�a˜1 1Ð%Ñ%Ô%ˆÝ˜˜2ÑÔÐÝ�a˜1 1Ð%Ñ%Ô%ˆÝ˜˜2ÑÔÐÐÐr#   c           
      ó¤  — |                      |                     ddd¦  «        d¦  «        }|                      |                     ddd¦  «        d¦  «        }|                     ddd¦  «        }t          t          ||d¬¦  «        |¦  «         t          t          ||                     g d	¢¦  «        d¬¦  «        |¦  «         t          t          ||                     g d	¢¦  «        d d …d f         d¬¦  «        |¦  «         t          j        t          ¦  «        5  t          ||                     g d	¢¦  «        d d d …f         d¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                     g d
¢¦  «        }t          t          ||d¬¦  «        |¦  «         t          t          ||                     ddd¦  «        d¬¦  «        |¦  «         d S )Nr   é   é   )rS   r’   éÈ   i|  r’   ru   )r   r®   r¾   )r³   g     P`@g     �k@r   é	   )r   r~   r   r
   rÕ   r›   rÈ   Ú	Exception)r(   r×   r   rL   Úout0Úout1s         r!   Útest_gh21908zTestTrapezoid.test_gh21908@  s  € ð
 �JŠJ�r—{’{ 1 b¨"Ñ-Ô-¨wÑ7Ô7ˆØ�JŠJ�r—{’{ 1 b¨"Ñ-Ô-¨wÑ7Ô7ˆà�{Š{˜3  RÑ(Ô(ˆÝ�	 ! q¨qÐ1Ñ1Ô1°4Ñ8Ô8Ð8Ý�	 ! r§z¢z°-°-°-Ñ'@Ô'@ÀqÐIÑIÔIÈ4ÑPÔPÐPåÝ�a˜2Ÿ:š: m m mÑ4Ô4°Q°Q°Q¸°WÔ=ÀAÐFÑFÔFØñ	
ô 	
ð 	
õ Œ]�9Ñ%Ô%ð 	Gð 	Gå�a˜2Ÿ:š: m m mÑ4Ô4°T¸1¸1¸1°WÔ=ÀAÐFÑFÔFÐFð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gð �zŠzÐ/Ð/Ð/Ñ0Ô0ˆÝ�	 ! q¨qÐ1Ñ1Ô1°4Ñ8Ô8Ð8ÝÝ�a˜2Ÿ;š; q¨!¨RÑ0Ô0°qÐ9Ñ9Ô9Øñ	
ô 	
ð 	
ð 	
ð 	
s   Ä2EÅEÅ Ec                 óÂ  — t          j        d¦  «        }||z  }|dk    }t           j                             ||¬¦  «        }d}t	          t          ||¦  «        |¦  «         t           j                             ||¬¦  «        }t	          t          ||¦  «        |¦  «         t           j                             ||¬¦  «        }t	          t          ||¦  «        |¦  «         d S )NrX   r   )Úmaskr½   )r1   r2   Úmar^   r   r
   )r(   r×   r   rL   rò   Úymrˆ   Úxms           r!   Útest_maskedzTestTrapezoid.test_masked[  sÁ   € õ ŒI�a‰LŒLˆØ�‰EˆØ�AŠvˆÝŒU�[Š[˜ ˆ[Ñ&Ô&ˆØˆÝ�	 " aÑ(Ô(¨!Ñ,Ô,Ð,åŒU�[Š[˜ ˆ[Ñ&Ô&ˆÝ�	 " bÑ)Ô)¨1Ñ-Ô-Ð-åŒU�[Š[˜ ˆ[Ñ&Ô&ˆÝ�	 ! RÑ(Ô(¨!Ñ,Ô,Ð,Ð,Ð,r#   Tz,array-likes only supported for NumPy backend)Únp_onlyrÙ   c                 ó&  — t          t          d¦  «        ¦  «        }d„ |D ¦   «         }|                     ||j        ¬¦  «        }|                     ||j        ¬¦  «        }t	          ||¦  «        }t	          ||¦  «        }t          ||¦  «         d S )NrX   c                 ó   — g | ]}||z  ‘ŒS r   r   )Ú.0Úts     r!   ú
<listcomp>z1TestTrapezoid.test_array_like.<locals>.<listcomp>q  s   € ÐÐÐ�qˆQ�‰UÐÐÐr#   r–   )r‚   r€   rÕ   r˜   r
   r   )r(   r×   r   rL   ÚxarrÚyarrÚresÚresarrs           r!   Útest_array_likezTestTrapezoid.test_array_likel  sˆ   € õ •�q‘”‰NŒNˆØÐ˜AÐÑÔˆØ�zŠz˜! 2¤:ˆzÑ.Ô.ˆØ�zŠz˜! 2¤:ˆzÑ.Ô.ˆÝ˜˜1‰oŒoˆÝ˜4 Ñ&Ô&ˆÝ˜˜VÑ$Ô$Ð$Ð$Ð$r#   N)r4   r5   r6   rØ   rÚ   r›   rœ   Úusefixturesrç   rð   r   rö   r  r   r#   r!   rÐ   rÐ     sK  € € € € € ð,ð ,ð ,ð Ð�kØJÐKðMñ Mô Mà„[×ÒÐ/Ñ0Ô0ð#ð #ñ 1Ô0ñMô Mð#ðJ Ð�kØJÐKðMñ Mô Mà„[×ÒÐ/Ñ0Ô0ð
ð 
ñ 1Ô0ñMô Mð
ð0 ð-ð -ñ Ôð-ð  Ð˜dØMÐNðPñ Pô Pà„[×ÒÐ/Ñ0Ô0ð%ð %ñ 1Ô0ñPô Pð%ð %ð %r#   rÐ   c                   ó¨  — e Zd Zej        j        d„ ¦   «         Zdd„Zej                             dddg¦  «        ej                             ddd	g¦  «        d
„ ¦   «         ¦   «         Z	ej                             dddgddgddgddgg¦  «        d„ ¦   «         Z
ej        j        ej                             dddg¦  «        d„ ¦   «         ¦   «         Zd„ ZdS )ÚTestQMCQuadc           	      ó  — d}t          j        t          |¬¦  «        5  t          dddgddg¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          d„ ddgddg¦  «         d d d ¦  «         n# 1 swxY w Y   d„ }d	}t          j        t          |¬¦  «        5  t          |ddgddg¦  «         d d d ¦  «         n# 1 swxY w Y   d
}t          j        t          |¬¦  «        5  t          d„ ddgddgd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          d„ ddgddgd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          d„ ddgddgd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          d„ ddgddgt          j         	                    d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          d„ ddgddgd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz`func` must be callable.rÆ   za duckr   r   z/`func` must evaluate the integrand at points...c                  ó   — dS ©Nr   r   r   r#   r!   r"   z3TestQMCQuad.test_input_validation.<locals>.<lambda>‚  s   € ˜Q€ r#   c                 óD   — | j         dk    sJ ‚t          j        | ¦  «        S r  )Úndimr1   rÞ   rG   s    r!   Úfuncz/TestQMCQuad.test_input_validation.<locals>.func„  s   € Ø”6˜Q’;�;�;�;Ý”6˜!‘9”9Ðr#   z8Exception encountered when attempting vectorized call...z`n_points` must be an integer.c                 ó   — dS r  r   rG   s    r!   r"   z3TestQMCQuad.test_input_validation.<locals>.<lambda>�  ó   € ˜q€ r#   g     �@)Ún_pointsz!`n_estimates` must be an integer.c                 ó   — dS r  r   rG   s    r!   r"   z3TestQMCQuad.test_input_validation.<locals>.<lambda>‘  r  r#   r°   )Ún_estimatesz8`qrng` must be an instance of scipy.stats.qmc.QMCEngine.c                 ó   — dS r  r   rG   s    r!   r"   z3TestQMCQuad.test_input_validation.<locals>.<lambda>•  r  r#   )Úqrngz8`qrng` must be initialized with dimensionality equal to c                 ó   — dS r  r   rG   s    r!   r"   z3TestQMCQuad.test_input_validation.<locals>.<lambda>™  r  r#   z,`log` must be boolean \(`True` or `False`\).c                 ó   — dS r  r   rG   s    r!   r"   z3TestQMCQuad.test_input_validation.<locals>.<lambda>�  r  r#   r’   ©Úlog)
r›   rÈ   Ú	TypeErrorr   rÉ   ÚwarnsÚUserWarningr   ÚqmcÚSobol)r(   Úmessager
  s      r!   Útest_input_validationz!TestQMCQuad.test_input_validationz  sò  € à,ˆÝŒ]�9¨GÐ4Ñ4Ô4ð 	/ð 	/Ý�X  1˜v¨¨1 vÑ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð DˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	0ð 	0Ý�Y�Y  A ¨¨A¨Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð	ð 	ð 	ð MˆÝŒ\�+¨WÐ5Ñ5Ô5ð 	+ð 	+Ý�T˜A˜q˜6 A q 6Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 3ˆÝŒ]�9¨GÐ4Ñ4Ô4ð 	Cð 	CÝ�[�[ 1 a &¨1¨a¨&¸6ÐBÑBÔBÐBð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cð 6ˆÝŒ]�9¨GÐ4Ñ4Ô4ð 	Cð 	CÝ�[�[ 1 a &¨1¨a¨&¸cÐBÑBÔBÐBð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cð MˆÝŒ]�9¨GÐ4Ñ4Ô4ð 	Að 	AÝ�[�[ 1 a &¨1¨a¨&°xÐ@Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að MˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	Kð 	KÝ�[�[ 1 a &¨1¨a¨&µu´y·²ÀqÑ7IÔ7IÐJÑJÔJÐJð	Kð 	Kð 	Kñ 	Kô 	Kð 	Kð 	Kð 	Kð 	Kð 	Kð 	Køøøð 	Kð 	Kð 	Kð 	Kð BˆÝŒ]�9¨GÐ4Ñ4Ô4ð 	:ð 	:Ý�[�[ 1 a &¨1¨a¨&°bÐ9Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:s�   žA Á AÁAÁ(BÂBÂBÂ6CÃCÃCÄ D%Ä%D)Ä,D)ÅE2Å2E6Å9E6ÆF?Æ?GÇGÇ'6H)È)H-È0H-ÉI7É7I;É>I;é   rz   Nc           	      ó‚  ‡‡‡— |€t          j        d¦  «        }d}t          j        |¦  «        Št          j        |¦  «        Šˆˆfd„Št           j                             d¦  «        }t          j                             ||¬¦  «        }t          j        |¦  «        }t          j        |¦  «        |z  }t          ‰|||||¬¦  «        }	t          j
                             |‰‰|¬¦  «        }
t          j        |dz
  d¦  «        |	j        z  }t          |	j        |
|¬	¦  «         t          j        |¦  «        |	j        z  d
k    sJ ‚t           j                             d¦  «        }t          j                             ||¬¦  «        }t          ˆfd„||||d|¬¦  «        }t          t          j        |j        ¦  «        |	j        d¬¦  «         t          j        |j        ¦  «        t          j        |¦  «        d
k     rt           j        nd
k    sJ ‚t          t          j        |j        ¦  «        |	j        dd¬¦  «         d S )Nr   c                 óP   •— t           j                             | j        ‰‰¦  «        S r/   )r   Úmultivariate_normalÚpdfÚT)r   ÚcovÚmeans    €€r!   r
  z$TestQMCQuad.basic_test.<locals>.func¦  s    ø€ ÝÔ,×0Ò0°´°d¸CÑ@Ô@Ð@r#   l   é^^@E9®? )Úseed)r  r  r  )Úlower_limitr   g×£p=
×ï?©rI   r   c                  ó2   •— t          j         ‰| Ž ¦  «        S r/   )r1   r  )r=   r
  s    €r!   r"   z(TestQMCQuad.basic_test.<locals>.<lambda>¶  s   ø€ ­¬¨t¨t°T¨{Ñ(;Ô(;€ r#   T)r  r  r  r  ç›+¡†›„=r&   ç¼‰Ø—²Òœ<rH   )r1   ÚonesÚzerosÚeyeÚrandomÚdefault_rngr   r  r  r   r   Úcdfr   ÚstdtritÚstandard_errorr   r‹   ÚprodrÓ   ÚimagrÖ   )r(   r  r  Úsignsr	  Úrngr  r;   r<   rÿ   ÚrefrI   Úlogresr#  r
  r$  s                @@@r!   Ú
basic_testzTestQMCQuad.basic_testŸ  s1  øøø€ Øˆ=Ý”G˜A‘J”JˆEØˆÝŒx˜‰~Œ~ˆÝŒf�T‰lŒlˆð	Að 	Að 	Að 	Að 	Að 	Aõ Œi×#Ò#Ð$7Ñ8Ô8ˆÝŒy�Š˜t¨#ˆÑ.Ô.ˆÝŒH�T‰NŒNˆÝŒG�D‰MŒM˜EÑ!ˆÝ�t˜Q ¨HØ#.°Tð;ñ ;ô ;ˆåÔ'×+Ò+¨A¨t°SÀaÐ+ÑHÔHˆÝŒ˜{¨1™}¨eÑ4Ô4°sÔ7IÑIˆÝ˜œ c°Ð5Ñ5Ô5Ð5ÝŒw�u‰~Œ~˜cœlÑ*¨QÒ.Ð.Ð.Ð.åŒi×#Ò#Ð$7Ñ8Ô8ˆÝŒy�Š˜t¨#ˆÑ.Ô.ˆÝÐ;Ð;Ð;Ð;¸QÀØ#+¸Ø"¨ð/ñ /ô /ˆõ 	�œ˜vœÑ/Ô/°´ÀEÐJÑJÔJÐJÝŒw�v”Ñ'Ô'µR´W¸U±^´^ÀaÒ5GÐ5G­B¬E¨EÈQÒOÐOÐOÐOÝ�œ˜vÔ4Ñ5Ô5ØÔ*°¸Uð	Dñ 	Dô 	Dð 	Dð 	Dð 	Dr#   r  i   r  rs   c                 ó2   — |                       ||¦  «         d S r/   ©r9  )r(   r  r  s      r!   Ú
test_basiczTestQMCQuad.test_basic¾  s   € ð 	�Š˜ +Ñ.Ô.Ð.Ð.Ð.r#   r5  r   ry   c                 ó2   — |                       |¬¦  «         d S )N)r5  r;  )r(   r5  s     r!   Ú	test_signzTestQMCQuad.test_signÃ  s   € à�Š˜eˆÑ$Ô$Ð$Ð$Ð$r#   r  FTc                 óò   — d}t          j        t          |¬¦  «        5  t          d„ ddgddg|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |j        |rt
          j         ndk    sJ ‚|j        dk    sJ ‚d S )Nz-A lower limit was equal to an upper limit, sorÆ   c                 ó   — dS r  r   rG   s    r!   r"   z'TestQMCQuad.test_zero.<locals>.<lambda>Ì  s   €  Q€ r#   r   r   r  )r›   r  r  r   r‹   r1   Úinfr2  )r(   r  r  rÿ   s       r!   Ú	test_zerozTestQMCQuad.test_zeroÇ  sß   € ð BˆÝŒ\�+¨WÐ5Ñ5Ô5ð 	Að 	AÝ˜;˜;¨¨A¨°°A°¸CÐ@Ñ@Ô@ˆCð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	AàŒ|¨3Ð 5¥¤  °AÒ6Ð6Ð6Ð6ØÔ! QÒ&Ð&Ð&Ð&Ð&Ð&s   žAÁAÁ
Ac                 óà   — d„ }t          |dd¦  «        }t          j                             dd¬¦  «        t          j                             dd¬¦  «        z
  }t	          |j        |d¦  «         d S )Nc                 óD   — t           j                             | d¬¦  «        S )Nr   ©Úscale)r   Únormr!  rG   s    r!   r
  z-TestQMCQuad.test_flexible_input.<locals>.funcÓ  s   € Ý”:—>’> !¨1�>Ñ-Ô-Ð-r#   r   r   r   rE  g{®Gáz„?)r   r   rG  r0  r   r‹   )r(   r
  rÿ   r7  s       r!   Útest_flexible_inputzTestQMCQuad.test_flexible_inputÐ  sl   € ð	.ð 	.ð 	.õ �t˜Q Ñ"Ô"ˆÝŒj�nŠn˜Q aˆnÑ(Ô(­5¬:¯>ª>¸!À1¨>Ñ+EÔ+EÑEˆÝ˜œ c¨4Ñ0Ô0Ð0Ð0Ð0r#   )r  rz   N)r4   r5   r6   r›   rœ   Úthread_unsafer  r9  r�   r<  r>  rB  rH  r   r#   r!   r  r  y  s8  € € € € € Ø„[Ôð":ð ":ñ Ôð":ðHDð Dð Dð Dð> „[×Ò˜Z¨$°¨Ñ7Ô7Ø„[×Ò˜]¨Q°¨GÑ4Ô4ð/ð /ñ 5Ô4ñ 8Ô7ð/ð „[×Ò˜W¨¨1 v°°B¨x¸"¸a¸À1ÀbÀ'Ð&JÑKÔKð%ð %ñ LÔKð%ð „[ÔØ„[×Ò˜U U¨D MÑ2Ô2ð'ð 'ñ 3Ô2ñ Ôð'ð1ð 1ð 1ð 1ð 1r#   r  ry   ©r   rl   r¤   rv   c                óf  ‡	— | j         |         dk     r-|€t          | |||d ¬¦  «        S |t          | |||d¬¦  «        z   S t          j        | |d¦  «        } t          j        |¦  «        dk    rt          j        ||d¦  «        n|}t          j        |¦  «        dk    rt          j        ||d¦  «        n|}t          j        |¦  «        dk    rt          j        ||d¦  «        n|}| j         d         Š	|�|t          j        ‰	¦  «        z  n|}|d u }|rdn|}t          j        || j         ¦  «        }t          j        || j         d d…         dz   ¦  «        }t          j        | ||fd¬¦  «        }ˆ	fd„}t          j        |d|¦  «        }|r|d	dd …f         n|}t          j        |d|¦  «        }|S )
NrS   )r   rl   rv   r¤   r   ry   r   )r   r•   c                 ód   •— t          | d ‰…         | ‰d‰z  …         | d‰z  d …         ¬¦  «        S )Nr   )r   r¤   )r   )rß   r    s    €r!   rp   z*cumulative_simpson_nd_reference.<locals>.fö  s8   ø€ Ý! ! B Q B¤%¨1¨Q¨q°©s¨U¬8¸Q¸qÀ¹s¸t¸t¼WÐEÑEÔEÐEr#   .)	r·   r	   r1   Úmoveaxisr	  r2   Úbroadcast_toÚconcatenateÚapply_along_axis)
rL   r   rl   r¤   rv   Úinitial_was_nonerß   rp   rÿ   r    s
            @r!   Úcumulative_simpson_nd_referencerR  Û  sØ  ø€ à„wˆt„}�qÒÐØˆ?Ý'¨¨Q°2¸DÈ$ÐOÑOÔOÐOàÕ1°!°q¸RÀdÐTUÐVÑVÔVÑVÐVõ 	Œ�A�t˜RÑ Ô €AÝ$&¤G¨A¡J¤J°¢N N�Œ�A�t˜RÑ Ô Ð ¸€AÝ&(¤g¨b¡k¤k°A¢o o�Œ�R˜˜rÑ	"Ô	"Ð	"¸2€BÝ02´¸Ñ0@Ô0@À1Ò0DÐ0D�bŒk˜' 4¨Ñ,Ô,Ð,È'€Gð 	
Œ�Œ€AØ˜^ˆ�RŒY�q‰\Œ\ÑÐ°€Aà $�ÐØ#Ð0ˆaˆa¨€Gõ 	Œ˜˜1œ7Ñ#Ô#€AÝŒo˜g q¤w¨s°¨s¤|°dÑ':Ñ;Ô;€GÝ
Œ˜˜1˜g�¨RÐ0Ñ0Ô0€AðFð Fð Fð Fð Få
Ô
˜a  QÑ
'Ô
'€Cð +Ð
3ˆ#ˆc�1�2�2ˆgŒ,ˆ,°€CÝ
Œ+�c˜2˜tÑ
$Ô
$€CØ€Jr#   c                   óâ  — e Zd Z ej        d¦  «        Zedz  Zej         	                    dd¦  «        ej         	                    dd¦  «        d„ ¦   «         ¦   «         Z
ej         	                    d ej        dd	¦  «        ¦  «        ej         	                    d
d¦  «        ej         	                    dd¦  «        ej         	                    dd¦  «        ej         	                    dd¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Zej         	                    dd eg d¢¬¦  «        fd eeg d¢geeg¬¦  «        fd eeeegeeegd¬¦  «        fd eg g ¬¦  «        fd ed¬¦  «        fd e ej        d¦  «        ¬¦  «        fd  e ej        d¦  «        ¬!¦  «        fd" ed# ej        d¦  «        ¬$¦  «        fg¦  «        d%„ ¦   «         Zd&„ Zd'„ Zej        j        ej        j         e ej        ej         ej        dd	d(¬)¦  «         ej        d*d(d+¬,¦  «                             d-„ ¦  «        ¬.¦  «        ¬/¦  «        d0„ ¦   «         ¦   «         ¦   «         Zej        j        ej        j         e ej        ej         ej        dd	d(¬)¦  «         ej        d*d(d+¬,¦  «                             d1„ ¦  «        ¬.¦  «        ¬/¦  «        d2„ ¦   «         ¦   «         ¦   «         Zd#S )3ÚTestCumulativeSimpsonr   r   Úuse_dx)FTÚuse_initialc                 ó~  — t           j                             d¦  «        }d}|rdnd}|                     ¦   «         }|dk    r't          j        |                     |¦  «        ¦  «        n+t          j        |¦  «        |z  |                     ¦   «         z   }t          j        |dz   ¦  «        d d …t           j        f         }|                     |dz   ¦  «        d d …t           j        f         }	t          j        |	||z  z  d¬¦  «        }
t          j        |	||dz   z  z  |dz   z  d¬¦  «        }|r|n||d         z
  dd …         }|r|d         nd }|rd|ind	|i}t          |
fi |¤d
|i¤Ž}|st          ||d¬¦  «         d S |rdnd}t          ||d¬¦  «         t          ||d d…         ||d d…         d¬¦  «         d S )Nì   F»*ŒBG r’   rS   r   r   r   r•   rl   r   r¤   gVçž¯â<r&   g{®Gázd?)	r1   r.  r/  Úsortr2   ÚnewaxisrÞ   r   r   )r(   rU  rV  r6  r    Úorderrl   r   r‡   ÚcrL   ÚYr7  r¤   Úkwargrÿ   Úi0s                    r!   rª   zTestCumulativeSimpson.test_1d  sê  € õ
 Œi×#Ò#Ð$8Ñ9Ô9ˆØˆð Ð"�� ˆØ�ZŠZ‰\Œ\ˆØ',°¢z z�RŒW�S—Z’Z ‘]”]Ñ#Ô#Ð#Ý”)˜A‘,”,˜r‘/ C§J¢J¡L¤LÑ0ð 	
åŒI�e˜a‘iÑ Ô    ¥B¤J Ô/ˆØ�JŠJ�u˜q‘yÑ!Ô! ! ! !¥R¤Z -Ô0ˆÝŒF�1�Q˜‘T‘6 Ð"Ñ"Ô"ˆÝŒF�1�Q˜˜Q™‘Z‘<  Q¡Ñ'¨aÐ0Ñ0Ô0ˆØÐ0ˆaˆa Q q¨¤t¡V¨Q¨R¨R¤Lˆð &Ð/�!�A”$�$¨4ˆØ$Ð2��r�
�
¨3°¨(ˆÝ  Ð=Ð= eÐ=Ð=°WÐ=Ð=Ð=ˆð ð 	@Ý˜C ¨5Ð1Ñ1Ô1Ð1Ð1Ð1à!Ð(�� qˆBå˜C ¨6Ð2Ñ2Ô2Ð2å˜C   A œJ¨¨B¨E°¨E¬
¸Ð?Ñ?Ô?Ð?Ð?Ð?r#   rv   éýÿÿÿrS   Úx_ndim)r   rS   Úx_len)r   r   r]   Úi_ndim)Nr   rS   rl   )NTc                 óâ  — t           j                             d¦  «        }dd|g}|d         ||         c||<   |d<   |                     ¦   «         }d||<   |dk    r|nd}	|                     |¬¦  «        }
d	\  }}|r1|dk    r|                     |¬¦  «        n|                     ¦   «         }n^|dk    r*t          j        |                     |¬¦  «        |¬
¦  «        n-t          j        |                     ||         ¬¦  «        ¦  «        }|€d n|                     |	¬¦  «        }t          |
||||¬¦  «        }t          |
||||¬¦  «        }t           j                             ||d¬¦  «         d S )NrX  rX   é   ry   r   rS   r   ©Úsize)NNr•   rJ  çVçž¯Ò<r&   )	r1   r.  r/  ÚcopyrY  r   rR  Útestingr   )r(   rv   ra  rb  rc  rl   r6  r·   Úshape_len_1Úi_shaperL   r   r¤   rÿ   r7  s                  r!   Útest_ndzTestCumulativeSimpson.test_nd'  s{  € õ Œi×#Ò#Ð$8Ñ9Ô9ˆð �A�u�ˆØ!& r¤¨E°$¬KÐˆˆd‰�U˜2‘YØ—j’j‘l”lˆØˆ�DÑØ!'¨1¢ �+�+°"ˆð �JŠJ˜EˆJÑ"Ô"ˆØ‰ˆˆ2Øð 	=Ø17¸!²°�—’ �Ñ-Ô-Ð-ÀÇÂÁÄˆBˆBà?EÈºz¸z•”˜Ÿš¨˜Ñ/Ô/°dÐ;Ñ;Ô;Ð;Ý”g˜cŸjšj¨e°D¬k˜jÑ:Ô:Ñ;Ô;ð à ˜.�$�$¨c¯jªj¸g¨jÑ.FÔ.Fˆõ !  a¨B¸ÀdÐKÑKÔKˆÝ-¨a°1¸ÀWÐSWÐXÑXÔXˆÝ
Œ
×"Ò" 3¨°%Ð"Ñ8Ô8Ð8Ð8Ð8r#   )r  Úkwarg_updatezx must be strictly increasing)r   r   rS   r   rG   )r   r   r   rz   )r   rL   r   )r   rL   rv   rÌ   z-`axis=4` is not valid for `y` with `y.ndim=1`r•   z+shape of `x` must be the same as `y` or 1-DrX   z'`initial` must either be a scalar or...r£   z"`dx` must either be a scalar or...N)r   rl   c           
      óØ   — t          | j        | j        d d d¬¦  «        }t          j        t
          |¬¦  «        5  t          di t          |fi |¤Ž¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )Nry   )rL   r   rl   r¤   rv   rÆ   r   )ÚdictÚy0Úx0r›   rÈ   rÉ   r   )r(   r  rn  Úkwargs0s       r!   Útest_simpson_exceptionsz-TestCumulativeSimpson.test_simpson_exceptionsF  sÑ   € õ ˜œ D¤G°¸dÈÐLÑLÔLˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	@ð 	@ÝÐ?Ð?¥ gÐ!>Ð!>°Ð!>Ð!>Ð?Ð?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@ð 	@ð 	@s   ºAÁA#Á&A#c                 ó²   — t           j                             d¦  «        }|                     d¬¦  «        }t          |d¬¦  «        }t	          |d¦  «         d S )NrX  r’   rf  r   rk   )r1   r.  r/  r   r   )r(   r6  rL   rÿ   s       r!   Útest_special_casesz(TestCumulativeSimpson.test_special_casesU  sS   € åŒi×#Ò#Ð$8Ñ9Ô9ˆØ�JŠJ˜BˆJÑÔˆÝ   qÐ)Ñ)Ô)ˆÝ�S˜!ÑÔÐÐÐr#   c                 ó˜  — t          j        |d¬¦  «        }t          ||¦  «        }t          |dddd…f         |dddd…f         ¦  «        dddd…f         }g |j        dd…         ¢d‘R }t          j        t          j        |¦  «        |ddd…f         |ddd…f         z
  t          j        |¦  «        gd¬¦  «        }d|dddd…f<   |S )aj  `cumulative_simpson` and `simpson` can be tested against other to verify
        they give consistent results. `simpson` will iteratively be called with
        successively higher upper limits of integration. This function calculates
        the theoretical correction required to `simpson` at even intervals to match
        with `cumulative_simpson`.
        ry   r•   .Nr   rc   r   )r1   Údiffr   r·   rO  r,  )r(   rL   r   ÚdÚsub_integrals_h1Úsub_integrals_h2Úzeros_shapeÚtheoretical_differences           r!   Ú1_get_theoretical_diff_between_simps_and_cum_simpszGTestCumulativeSimpson._get_theoretical_diff_between_simps_and_cum_simps`  s  € õ ŒG�A˜BÐÑÔˆÝ@ÀÀAÑFÔFÐÝ@Øˆc�4�4�R�4ˆiŒL˜!˜C   2 ˜Iœ,ñ
ô 
à
ˆtˆt�ˆtˆ)ôÐð
 )˜œ   œÐ( aÐ(Ð(ˆÝ!#¤å”˜Ñ%Ô%Ø! # q r r 'Ô*Ð-=¸cÀ3ÀBÀ3¸hÔ-GÑGÝ”˜Ñ%Ô%ðð
 ð"
ñ "
ô "
Ðð -0Ð˜s A D q D˜yÑ)ð &Ð%r#   r’   )Úmax_dimsÚmin_sideÚmax_siderÒ   F)Ú	allow_nanc                 ó(   — t          | ¦  «        dk    S ©NgH¯¼šò×z>©ÚabsrG   s    r!   r"   zTestCumulativeSimpson.<lambda>„  ó   € Í#ÈaÉ&Ì&ÐSWÊ-€ r#   )ÚelementsrÍ   c                 ó2  — d„ }t          |d¬¦  «        } ||¦  «        }|                      |t          j        |j        d         ¦  «        ¬¦  «        }t          j                             |ddd…f         |ddd…f         |ddd…f         z   d	¬
¦  «         dS )áe  Theoretically, the output of `cumulative_simpson` will be identical
        to `simpson` at all even indices and in the last index. The first index
        will not match as `simpson` uses the trapezoidal rule when there are only two
        data points. Odd indices after the first index are shown to match with
        a mathematically-derived correction.c                 ó€   ‡ — t          j        ˆ fd„t          d‰ j        d         dz   ¦  «        D ¦   «         d¬¦  «        S )Nc                 óF   •— g | ]}t          ‰d d|…f         d¬¦  «        ‘ŒS ).NrU   rk   ©r   )rú   r‡   rL   s     €r!   rü   z|TestCumulativeSimpson.test_cumulative_simpson_against_simpson_with_default_dx.<locals>.simpson_reference.<locals>.<listcomp>‘  s2   ø€ ÐNÐNÐN°•˜˜3   ˜7œ¨Ð,Ñ,Ô,ÐNÐNÐNr#   r   ry   r   r•   ©r1   Ústackr€   r·   rÍ   s   `r!   Úsimpson_referencezhTestCumulativeSimpson.test_cumulative_simpson_against_simpson_with_default_dx.<locals>.simpson_reference�  sJ   ø€ Ý”8ØNÐNÐNÐNµe¸A¸q¼wÀr¼{È1¹}Ñ6MÔ6MÐNÑNÔNÐUWðñ ô ð r#   rU   rk   ry   rG   .r   Nr*  r'  )r   r~  r1   r2   r·   rj  r   )r(   rL   r�  rÿ   r7  r}  s         r!   Ú7test_cumulative_simpson_against_simpson_with_default_dxzMTestCumulativeSimpson.test_cumulative_simpson_against_simpson_with_default_dx~  sÃ   € ð"	ð 	ð 	õ
 !  sÐ+Ñ+Ô+ˆØÐ Ñ"Ô"ˆØ!%×!WÒ!WØ•”˜1œ7 2œ;Ñ'Ô'ð "Xñ "
ô "
Ðõ 	Œ
×"Ò"Ø��Q�R�R�ŒL˜#˜c 1 2 2˜gœ,Ð)?ÀÀQÀRÀRÀÔ)HÑHÈuð 	#ñ 	
ô 	
ð 	
ð 	
ð 	
r#   c                 ó(   — t          | ¦  «        dk    S r„  r…  rG   s    r!   r"   zTestCumulativeSimpson.<lambda>£  r‡  r#   c           	      óì  — d|j         d         dz
  z  }t          j        dd|j         d         ¬¦  «        }|dd…         d|z  t          j                             ddt          |¦  «        dz
  ¦  «        z  z   |dd…<   d„ }t          ||¬	¦  «        } |||¦  «        }|                      ||¦  «        }t          j         	                    |d
dd…f         |d
dd…f         |d
dd…f         z   ¦  «         dS )rŠ  r’   ry   r   r   r¡   NrD   c                 ó„   ‡ ‡— t          j        ˆˆ fd„t          d‰ j        d         dz   ¦  «        D ¦   «         d¬¦  «        S )Nc           	      óZ   •— g | ]'}t          ‰d d|…f         ‰d d|…f         ¬¦  «        ‘Œ(S ).NrG   r�  )rú   r‡   r   rL   s     €€r!   rü   zlTestCumulativeSimpson.test_cumulative_simpson_against_simpson.<locals>.simpson_reference.<locals>.<listcomp>´  s>   ø€ ÐTÐTÐT°q•˜˜3   ˜7œ q¨¨b¨q¨b¨¤zÐ2Ñ2Ô2ÐTÐTÐTr#   r   ry   r   r•   rŽ  )rL   r   s   ``r!   r�  zXTestCumulativeSimpson.test_cumulative_simpson_against_simpson.<locals>.simpson_reference²  sO   øø€ Ý”8ØTÐTÐTÐTÐT½EÀ!ÀQÄWÈRÄ[ÐQRÁ]Ñ<SÔ<SÐTÑTÔTØðñ ô ð r#   rG   .)
r·   r1   r~   r.  ÚuniformÚlenr   r~  rj  r   )r(   rL   Úintervalr   r�  rÿ   r7  r}  s           r!   Ú'test_cumulative_simpson_against_simpsonz=TestCumulativeSimpson.test_cumulative_simpson_against_simpson�  s  € ð" �q”w˜r”{ Q‘Ñ'ˆÝŒK˜˜2 1¤7¨2¤;Ð/Ñ/Ô/ˆØ�!�"�"”˜˜H™¥R¤Y×%6Ò%6°r¸1½cÀ!¹f¼fÀq¹jÑ%IÔ%IÑIÑIˆˆ!ˆ"ˆ"‰ð	ð 	ð 	õ !  aÐ(Ñ(Ô(ˆØÐ  1Ñ%Ô%ˆØ!%×!WÒ!WØˆqñ"
ô "
Ðõ 	Œ
×"Ò"Ø��Q�R�R�ŒL˜#˜c 1 2 2˜gœ,Ð)?ÀÀQÀRÀRÀÔ)HÑHñ	
ô 	
ð 	
ð 	
ð 	
r#   )r4   r5   r6   r1   r2   rr  rq  r›   rœ   r�   rª   rm  rp  rt  rv  r~  rI  Úslowr   Úhyp_numÚarraysr˜   Úarray_shapesÚstÚfloatsÚfilterr‘  r™  r   r#   r!   rT  rT     s¿  € € € € € Ø	ˆŒ�1‰Œ€BØ	ˆQ‰€Bà„[×Ò˜X }Ñ5Ô5Ø„[×Ò˜]¨MÑ:Ô:ð@ð @ñ ;Ô:ñ 6Ô5ð@ðB „[×Ò˜V Y R¤Y¨r°1Ñ%5Ô%5Ñ6Ô6Ø„[×Ò˜X vÑ.Ô.Ø„[×Ò˜W iÑ0Ô0Ø„[×Ò˜X }Ñ5Ô5Ø„[×Ò˜T <Ñ0Ô0ð9ð 9ñ 1Ô0ñ 6Ô5ñ 1Ô0ñ /Ô.ñ 7Ô6ð
9ð4 „[×ÒÐ8Ø	(¨$¨$°°°Ð*>Ñ*>Ô*>Ð?Ø	(¨$¨$°"°l°l°lÐ1CÈÈBÀxÐ*PÑ*PÔ*PÐQØ	(¨$¨$°"°b¸"°À"ÀbÈ"ÀÐTUÐ*VÑ*VÔ*VÐWØ	)¨4¨4°"¸Ð+;Ñ+;Ô+;Ð<Ø	8¸$¸$ÀA¸,¹,¼,ÐGØ	6¸¸¸y¸r¼yÈ¹|¼|Ð8LÑ8LÔ8LÐMØ	2°D°DÀÀÄÈ1ÁÄÐ4NÑ4NÔ4NÐOØ	-¨t¨t°d¸y¸r¼yÈ¹|¼|Ð/LÑ/LÔ/LÐMð	;ñ 	ô 	ð@ð @ñ	ô 	ð@ð
ð ð ð&ð &ð &ð< „[ÔØ„[ÔØ
€UØ
ˆ'Œ.ØŒJØ ˆGÔ ¨!°aÀ"ÐEÑEÔEØ�R”Y˜s B°%Ð8Ñ8Ô8×?Ò?Ð@WÐ@WÑXÔXð
ñ 
ô 
ðñ ô ð
ð 
ñô ñ Ôñ Ôð
ð, „[ÔØ„[ÔØ
€UØ
ˆ'Œ.ØŒJØ ˆGÔ ¨!°aÀ"ÐEÑEÔEØ�R”Y˜s B°%Ð8Ñ8Ô8×?Ò?Ð@WÐ@WÑXÔXð
ñ 
ô 
ðñ ô ð
ð 
ñô ñ Ôñ Ôð
ð 
ð 
r#   rT  c                   ó¸   — e Zd Zd„ Zd„ Zej                             d e e	ddd¦  «        ¦  «         e e	ddd	¦  «        ¦  «        z   ¦  «        d
„ ¦   «         Z
dS )ÚTestLebedevc                 óš   — d}t          j        t          |¬¦  «        5  t          j        d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzOrder n=-1 not available...rÆ   ry   )r›   rÈ   r:   r   Úlebedev_rule)r(   r  s     r!   r  z!TestLebedev.test_input_validationÂ  s’   € à/ˆÝŒ]Õ.°gÐ>Ñ>Ô>ð 	'ð 	'ÝÔ" 2Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð 	'ð 	's   žA Á AÁAc                 óÜ   — d„ }t          j        d¦  «        \  }}| ||¦  «        z  }d}t          ||d¬¦  «         t          t          j        |¦  «        dt          j        z  ¦  «         d S )Nc                 ó6   — t          j        | d         ¦  «        S )Nr   )r1   rÓ   rG   s    r!   rp   z&TestLebedev.test_quadrature.<locals>.fË  s   € Ý”6˜!˜Aœ$‘<”<Ðr#   é   gá9‰-@r)  r&   r   )r   r¤  r   r1   rÞ   rÖ   )r(   rp   r   Úwrÿ   r7  s         r!   Útest_quadraturezTestLebedev.test_quadratureÈ  sv   € ð	 ð 	 ð 	 õ Ô% bÑ)Ô)‰ˆˆ1Ø�!�!�A‘$”$‰hˆØˆÝ˜˜S uÐ-Ñ-Ô-Ð-Ý�œ˜q™	œ	 1¥r¤u¡9Ñ-Ô-Ð-Ð-Ð-r#   r[  rS   rn   r   é#   é„   re  c                 óR  — t          j        |¦  «        \  }}t          j        dd¬¦  «        5  t	          j        |j        d¬¦  «        }t          |j        dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          j	        |¦  «        dt          j
        z  ¦  «         d S )NÚignore)ÚdivideÚinvalidr   r•   rh  r'  r   )r   r¤  r1   Úerrstater   Údirectional_statsr"  r   Úmean_resultant_lengthrÞ   rÖ   )r(   r[  r   r¨  rÿ   s        r!   Útest_propertieszTestLebedev.test_propertiesÔ  sæ   € åÔ% eÑ,Ô,‰ˆˆ1åŒ[ °(Ð;Ñ;Ô;ð 	Fð 	FÝÔ)¨!¬#°AÐ6Ñ6Ô6ˆCÝ˜CÔ5°q¸uÐEÑEÔEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fõ 	�œ˜q™	œ	 1¥R¤U¡7Ñ+Ô+Ð+Ð+Ð+s   ®3A-Á-A1Á4A1N)r4   r5   r6   r  r©  r›   rœ   r�   r‚   r€   r³  r   r#   r!   r¢  r¢  Á  s•   € € € € € ð'ð 'ð 'ð
.ð 
.ð 
.ð „[×Ò˜W d d¨5¨5°°B¸©?¬?Ñ&;Ô&;¸d¸dÀ5À5ÈÈSÐRSÑCTÔCTÑ>UÔ>UÑ&UÑVÔVð,ð ,ñ WÔVð,ð ,ð ,r#   r¢  ).r›   Únumpyr1   Únumpy.testingr   r   r   Ú
hypothesisr   Úhypothesis.strategiesÚ
strategiesrž  Úhypothesis.extra.numpyÚextrar›  Úscipy.integrater   r   r	   r
   r   r   r   r   r   Úscipy.integrate._quadraturer   Úscipyr   r   r   Úscipy.conftestr   r   Úscipy._lib._array_api_no_0dr   rœ   rÚ   r   r8   rŸ   rÐ   r  rR  rT  r¢  r   r#   r!   ú<module>rÀ     sÎ  ðà €€€Ø Ð Ð Ð Ø LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LØ Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (ð;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð NÐ MÐ MÐ MÐ MÐ Mà +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ 7Ð 7Ð 7Ð 7Ð 7Ð 7à”;Ô/Ð ð3ð 3ð 3ð 3ð 3ñ 3ô 3ð 3ð N'ð N'ð N'ð N'ð N'ñ N'ô N'ð N'ðbV'ð V'ð V'ð V'ð V'ñ V'ô V'ð V'ðr ðe%ð e%ð e%ð e%ð e%ñ e%ô e%ñ Ôðe%ðP_1ð _1ð _1ð _1ð _1ñ _1ô _1ð _1ðD -1°TÀ4Èbð "ð "ð "ð "ð "ðJ
ð 
ð 
ð 
ð 
ñ 
ô 
ð 
ðB,ð ,ð ,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,r#   