Ë
    ÏÍ:jf|  ã                   óè  — 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  d dl!m"Z"m#Z#m$Z$ d d	l%m&Z&m'Z' d d
l(m)Z* e jV                  jX                  Z, e"e«       G d„ d«      «       Z- e"e«       G d„ d«      «       Z. e"e«       G d„ d«      «       Z/ e"e«       G d„ d«      «       Z0 e"e«       G d„ d«      «       Z1 G d„ d«      Z2 e"e«       G d„ de2«      «       Z3 e"e«       G d„ de2«      «       Z4 e"e«       G d„ d«      «       Z5dddddœd„Z6 e"e«       G d „ d!«      «       Z7 e"ejp                  «       G d"„ d#«      «       Z9y)$é    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)Úskip_xp_invalid_arg)Úmake_xp_test_caseÚxp_default_dtypeÚis_numpy)Úxp_assert_closeÚxp_assert_equal)Úarray_api_extrac                   óš   — e Zd Zd„ Zd„ Zej                  j                  dg d¢«      d„ «       Z e	dd¬«       e	d	d¬«      d
„ «       «       Z
y)ÚTestFixedQuadc                 ó†   ‡— dŠdd‰z  z  }t        ˆfd„dd‰¬«      \  }}t        |t        j                  |«      d¬«       y )	Né   é   é   c                 ó   •— | d‰z  dz
  z  S ©Nr    r   © ©ÚxÚns    €úz/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/scipy/integrate/tests/test_quadrature.pyú<lambda>z+TestFixedQuad.test_scalar.<locals>.<lambda>   ó   ø€  a¨!¨A©#°©'¡l€ ó    r   ©r&   çê-�™—q=©Úrtol)r   r   ÚnpÚasarray)ÚselfÚexpectedÚgotÚ_r&   s       @r'   Útest_scalarzTestFixedQuad.test_scalar   s?   ø€ ØˆØ�a˜‘c‘7ˆÜÓ2°A°q¸AÔ>‰ˆˆQä˜œRŸZ™Z¨Ó1¸Ö>r*   c                 óº   ‡— dŠdd‰z  z  }t        ˆfd„|j                  d«      |j                  d«      ‰¬«      \  }}t        ||j                  |«      d¬	«       y )
Nr   r   r    c                 ó   •— | d‰z  dz
  z  S r"   r#   r$   s    €r'   r(   z'TestFixedQuad.test_0d.<locals>.<lambda>#   r)   r*   ç        ç      ð?r+   r,   r-   )r   r0   r   )r1   Úxpr2   r3   r4   r&   s        @r'   Útest_0dzTestFixedQuad.test_0d    sP   ø€ ØˆØ�a˜‘c‘7ˆÜÓ2°B·J±J¸r³NÀBÇJÁJÈrÃNÐVWÔX‰ˆˆQä˜˜RŸZ™Z¨Ó1¸Ö>r*   Údtype)NÚfloat32Úfloat64c                 óB  ‡— |€|nt        ‰|«      }d}‰j                  dd|z  |¬«      }‰j                  d|¬«      ‰j                  d|¬«      }}d|dz   z  }t        ˆfd„|||f|¬«      \  }}	|‰j                  k(  rd	nd
}
t        |‰j                  |«      |
¬«       y )Nr   r9   r    ©r<   r8   r   c                 ó0   •— | |d d …‰j                   f   z  S ©N)Únewaxis)r%   Úpr:   s     €r'   r(   z+TestFixedQuad.test_vector.<locals>.<lambda>.   s   ø€ ¨¨Aªa°·±¨mÑ,<Ñ)<€ r*   )Úargsr&   r,   gH¯¼šò×Š>r-   )ÚgetattrÚaranger0   r   r>   r   )r1   r<   r:   r&   rD   ÚaÚbr2   r3   r4   r.   s     `        r'   Útest_vectorzTestFixedQuad.test_vector'   s£   ø€ à˜‘¬G°B¸Ó,>ˆØˆØ�I‰I�b˜!˜A™# UˆIÓ+ˆØ�z‰z˜" EˆzÓ*¨B¯J©J°rÀ¨JÓ,Gˆ1ˆØ�a˜!‘e‘9ˆÜÓ<¸aÀÈ!ÈÐQRÔS‰ˆˆQØ §¡Ò+‰u°ˆÜ˜˜RŸZ™Z¨Ó1¸Ö=r*   z	jax.numpyz lazy -> limited input validation©Úreasonz
dask.arrayc                 ó¸  ‡— dŠd}t        j                  t        |¬«      5  t        ˆfd„|j	                  |j
                   «      |j	                  d«      ‰¬«       d d d «       t        j                  t        |¬«      5  t        ˆfd„|j	                  d«      |j	                  |j
                  «      ‰¬«       d d d «       y # 1 sw Y   ŒhxY w# 1 sw Y   y xY w)	Nr   z8Gaussian quadrature is only available for finite limits.©Úmatchc                 ó   •— | d‰z  dz
  z  S r"   r#   r$   s    €r'   r(   z5TestFixedQuad.test_input_validation.<locals>.<lambda>8   ó   ø€   Q q¡S¨1¡W¡€ r*   r9   r+   c                 ó   •— | d‰z  dz
  z  S r"   r#   r$   s    €r'   r(   z5TestFixedQuad.test_input_validation.<locals>.<lambda>:   rQ   r*   r8   )ÚpytestÚraisesÚ
ValueErrorr   r0   Úinf)r1   r:   Úmessager&   s      @r'   Útest_input_validationz#TestFixedQuad.test_input_validation2   s¯   ø€ ð ˆØLˆÜ�]‰]œ:¨WÔ5ñ 	YÜÓ-¨r¯z©z¸2¿6¹6¸'Ó/BÀBÇJÁJÈrÃNÐVWÕX÷	Yä�]‰]œ:¨WÔ5ñ 	XÜÓ-¨r¯z©z¸"«~¸r¿z¹zÈ"Ï&É&Ó?QÐUVÕW÷	Xð 	X÷	Yð 	Yú÷	Xð 	Xús   ¡<CÂ ;CÃCÃCN)Ú__name__Ú
__module__Ú__qualname__r5   r;   rS   ÚmarkÚparametrizerJ   Úskip_xp_backendsrX   r#   r*   r'   r   r      sc   „ ò?ò?ð ‡[�[×Ñ˜WÒ&BÓCñ>ó Dð>ñ �kÐ*LÔMÙ�lÐ+MÔNñXó Oó NñXr*   r   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestRombc                 ó‚   — t        t        |j                  d«      «      |j                  d|j                  ¬«      «       y )Nç      1@ç      `@r@   )r   r   rG   r0   r>   ©r1   r:   s     r'   Ú	test_rombzTestRomb.test_romb?   s*   € Üœ˜RŸY™Y t›_Ó-¨r¯z©z¸%ÀrÇzÁz¨zÓ/RÕSr*   c                 óT  — t        j                  d«      }t        j                  d|z  «      }t        |j	                  |«      «      }t        d„ t        j                  |«      t        j                  |«      «      \  }}t        ||j	                  ||j                  ¬«      dd¬«       y )Né   çš™™™™™É?c                 óX   — t        j                  t        j                  d| z  «      «      S )Nrh   )r/   ÚcosÚarray©r%   s    r'   r(   z,TestRomb.test_romb_gh_3731.<locals>.<lambda>G   s   € ¤R§V¡V¬B¯H©H°S¸±U«OÓ%<€ r*   r@   g:Œ0âŽyE>r   ©r.   Úatol)
r/   rG   rj   r   r0   r   ÚminÚmaxr   r>   )r1   r:   r%   ÚyÚvalr2   r4   s          r'   Útest_romb_gh_3731zTestRomb.test_romb_gh_3731B   sw   € ä�I‰I�fÓˆÜ�F‰F�3�q‘5‹MˆÜ�2—:‘:˜a“=Ó!ˆÜÑ<¼b¿f¹fÀQ»iÌÏÉÐPQËÓS‰ˆ�!Ü˜˜RŸZ™Z¨¸¿
¹
˜ZÓCÈ$ÐUVÖWr*   N)rY   rZ   r[   re   rs   r#   r*   r'   r`   r`   =   s   „ òTóXr*   r`   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestNewtonCotesc                 óV  — 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  «       y)z5Test the first few degrees, for evenly spaced points.r   ç      à?é   ç      (@r    )r9   ç      @r9   ç      @é   g     €¦@)r9   ç      @r}   r9   ç       @g     P¹@r   )ç      @ç      @@ry   r€   r   g     €V@é   g     ˆ=AN)r   r   r/   rk   r   )r1   r&   ÚwtsÚerrcoffs       r'   Útest_newton_cotesz!TestNewtonCotes.test_newton_cotesM   s  € àˆÜ# A qÓ)‰ˆˆWÜ�S˜!œBŸH™H c¨3 ZÓ0Ñ0Ô1Ü˜G a¨¡d U¨4¡ZÔ0àˆÜ# A qÓ)‰ˆˆWÜ˜C ¤2§8¡8ªOÓ#<Ñ!<¸SÑ!@ÔAÜ˜G a¨¡d U¨6¡\Ô2àˆÜ# A qÓ)‰ˆˆWÜ˜C ¤2§8¡8Ò,@Ó#AÑ!AÀ#Ñ!EÔFÜ˜G a¨¡d U¨6¡\Ô2àˆÜ# A qÓ)‰ˆˆWÜ˜C ¤2§8¡8Ò,HÓ#IÑ!IÈ$Ñ!NÔOÜ˜G a¨¡d U¨9¡_Õ5r*   c                 ó<  — t        j                  g d¢«      }|dz  }t        |«      \  }}d}t        j                  ||«      }t	        ||«       t        j                  g d¢«      }|dz  }t        |«      \  }}d}t        j                  ||«      }t	        ||«       y)z9Test newton_cotes with points that are not evenly spaced.)r8   g      ø?ç       @r    gUUUUUU@)r8   gffffffö?gÍÌÌÌÌÌ @r}   ç      "@N)r/   rk   r   Údotr   )r1   r%   rq   r‚   rƒ   Úexact_integralÚnumeric_integrals          r'   Útest_newton_cotes2z"TestNewtonCotes.test_newton_cotes2c   s�   € ô �H‰H’_Ó%ˆØˆq‰DˆÜ# A“‰ˆˆWØˆÜŸ6™6 # q›>ÐÜÐ,¨nÔ=ä�H‰HÒ)Ó*ˆØˆq‰DˆÜ# A“‰ˆˆWØˆÜŸ6™6 # q›>ÐÜÐ,¨nÕ=r*   N)rY   rZ   r[   r„   r‹   r#   r*   r'   ru   ru   K   s   „ ò6ó,>r*   ru   c                   óš   — e Zd Zd„ Zej
                  j                  dd¬«      ej
                  j                  dddg«      d„ «       «       Zy	)
ÚTestSimpsonc           
      óØ
  — |j                  d«      }t        t        |«      |j                  d«      «       t        t        |d¬«      |j                  d«      «       t        t        ||j	                  ddd«      ¬	«      |j                  d
«      «       |j	                  ddd«      }d„ }t        t         ||«      |¬	«      |j                  d«      «       |j	                  ddd«      }t        t         ||«      d¬«      |j                  d«      «       t        j                   d«      j                  dd«      }|j                  |j                  d«      d«      } ||«      }t        d«      D ]¶  }t        |||¬«      }t        j                  |dg¬«      }|D ]‰  }	t        |j                  «      }
|
j                  |t        d «      «       |t        |
«         d   dz  dz  |t        |
«         d   dz  dz  z
  }t        ||j                     |j                  |«      «       Œ‹ Œ¸ |j                  |j                  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        ||j                  |«      «       t        j                   d«      j                  dd«      }|j                  |j                  d«      d«      } ||«      }t        d«      D ]¶  }t        |||¬«      }t        j                  |dg¬«      }|D ]‰  }	t        |j                  «      }
|
j                  |t        d «      «       |t        |
«         d   dz  dz  |t        |
«         d   dz  dz  z
  }t        ||j                     |j                  |«      «       Œ‹ Œ¸ |j                  d g«      }|d!z  }t        t        ||d¬«      |j                  d«      «       t        t        ||d¬«      |j                  d«      «       |j                  g d"¢«      }|d!z  }t        t        ||d¬«      |j                  d«      «       t        t        ||d¬«      |j                  d«      «       |j                  g d#¢g d#¢g d#¢g«      }|d!z  }|j                  g d$¢«      }|j                  d%gdz  «      }t        t        ||d¬«      |«       t        t        ||d¬«      |«       |j                  g d#¢g d#¢g d&¢g«      }|d!z  }|j                  g d'¢«      }|j                  g d(¢«      }t        t        ||d¬«      |«       t        t        ||d¬«      |«       y ))Nrb   rc   rw   ©Údxç      P@r8   rz   rg   rl   r€   r9   r   c                 ó   — | dz  S )Nr    r#   rl   s    r'   Úfz#TestSimpson.test_simpson.<locals>.f€   s   € Ø�a‘4ˆKr*   ç      5@r   r†   g     €\@ç      0@)r   r   r   rx   ©r%   ÚaxisÚmulti_index)Úflagséÿÿÿÿr   )é   r    r   é   r|   g     @_@)r|   r|   r|   r}   r    )r}   r}   r}   r}   )r9   r†   rz   r~   )r8   r8   r8   r8   ç«ªªªªJe@)r9   r~   r•   r€   )r8   g      a@g      ‘@g      Á@)r�   r�   gªªªª*UÅ@)rG   r   r   r0   Úlinspacer   r/   ÚreshapeÚrangeÚnditerÚlistr˜   ÚinsertÚsliceÚtuple)r1   r:   rq   r%   r“   rH   ÚiÚrÚitr4   ÚidxÚintegralÚ	zero_axisÚdefault_axiss                 r'   Útest_simpsonzTestSimpson.test_simpsonx   s©  € Ø�I‰I�c‹NˆÜœ ›
 B§J¡J¨tÓ$4Ô5Üœ  cÔ*¨B¯J©J°s«OÔ<Üœ  R§[¡[°°R¸Ó%<Ô=¸r¿z¹zÈ#»ÔOð �K‰K˜˜B Ó"ˆò	ô 	œ¡ !£¨Ô*¨B¯J©J°tÓ,<Ô=ð �K‰K˜˜B Ó"ˆÜœ¡ !£¨Ô-¨r¯z©z¸$Ó/?Ô@ô �I‰I�c‹N×"Ñ" 1 aÓ(ˆØ�J‰J�r—y‘y “~ yÓ1ˆÙˆa‹DˆÜ�q“ò 	IˆAÜ˜˜Q QÔ'ˆAÜ—‘˜1 ] OÔ4ˆBØò I�Ü˜2Ÿ>™>Ó*�Ø—
‘
˜1œe D›kÔ*ØœU 3›Z™=¨Ñ,¨aÑ/°!Ñ3°a¼¸c»
±mÀAÑ6FÈÑ6IÈAÑ6MÑM�Ü  "§.¡.Ñ 1°2·:±:¸hÓ3GÕHñ	Ið	Ið �J‰J�r—y‘y “~ vÓ.ˆÙˆa‹DˆÜ�A˜ Ô$ˆà˜!šA˜q˜D™' A¢a¨ d¡GÑ+Ñ,°²!°Q°$±¸!ºA¸q¸D¹'Ñ0AÑBˆÜ˜˜2Ÿ:™: hÓ/Ô0ô �I‰I�b‹M×!Ñ! ! QÓ'ˆØ�J‰J�r—y‘y “¨	Ó2ˆÙˆa‹DˆÜ�q“ò 	IˆAÜ˜˜Q QÔ'ˆAÜ—‘˜1 ] OÔ4ˆBØò I�Ü˜2Ÿ>™>Ó*�Ø—
‘
˜1œe D›kÔ*ØœU 3›Z™=¨Ñ,¨aÑ/°!Ñ3°a¼¸c»
±mÀAÑ6FÈÑ6IÈAÑ6MÑM�Ü  "§.¡.Ñ 1°2·:±:¸hÓ3GÕHñ	Ið	Ið �J‰J˜�tÓˆØˆq‰DˆÜœ  Q¨QÔ/°·±¸C³ÔAÜœ  Q¨RÔ0°"·*±*¸S³/ÔBà�J‰JÒ'Ó(ˆØˆq‰DˆÜœ  Q¨QÔ/°·±¸C³ÔAÜœ  Q¨RÔ0°"·*±*¸S³/ÔBà�J‰JÒ(Ò*:Ò<LÐMÓNˆØˆq‰DˆØ—J‘JÒ3Ó4ˆ	Ø—z‘z 9 +°¡/Ó2ˆÜœ  Q¨QÔ/°Ô;äœ  Q¨RÔ0°,Ô?à�J‰JÒ(Ò*:Ò<NÐOÓPˆØˆq‰DˆØ—J‘JÒ;Ó<ˆ	Ø—z‘zÒ"IÓJˆÜœ  Q¨QÔ/°Ô;Üœ  Q¨RÔ0°,Õ?r*   Úarray_api_strictzno int->float promotionrK   ÚdroplastFTc                 óÌ   — |j                  g d¢g d¢g«      }|r|d d …d d…f   }t        |d¬«      }t        |j                  |t        |«      ¬«      d¬«      }t        ||«       y )N)r    r    r   r   r›   r›   éüÿÿÿr|   )r   r   r    r±   é
   é   éþÿÿÿr²   rš   ©r—   r@   )r0   r   r   r   )r1   r¯   r:   rq   Úresultr2   s         r'   Útest_simpson_2d_integer_no_xz(TestSimpson.test_simpson_2d_integer_no_xÅ   sf   € ð
 �J‰JÒ1Ú5ð7ó 8ˆáØ’!�S�b�S�&‘	ˆAÜ˜ Ô$ˆÜ˜2Ÿ:™: aÔ/?ÀÓ/C˜:ÓDÈ2ÔNˆÜ˜ Õ)r*   N)	rY   rZ   r[   r­   rS   r\   r^   r]   r·   r#   r*   r'   r�   r�   u   sR   „ òK@ðZ ‡[�[×!Ñ!Ð"4Ð=VÐ!ÓWØ‡[�[×Ñ˜Z¨%°¨Ó7ñ	*ó 8ó Xñ	*r*   r�   c                   ór   — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  dddg«      d„ «       Z
d	„ Zy
)ÚTestCumulative_trapezoidc                 óÄ   — |j                  ddd¬«      }|}t        ||d¬«      }|j                  g d¢«      }t        ||«       t        ||d ¬«      }t        ||dd  «       y )	Nr´   r    r|   ©Únumr   ©Úinitial)r8   ç      ø¿ç       Àr¿   r8   r   ©rž   r	   r0   r   )r1   r:   r%   rq   Úy_intÚ
y_expecteds         r'   Útest_1dz TestCumulative_trapezoid.test_1dÕ   s`   € Ø�K‰K˜˜A 1ˆKÓ%ˆØˆÜ$ Q¨°1Ô5ˆØ—Z‘ZÒ 9Ó:ˆ
Ü˜˜zÔ*ä$ Q¨°4Ô8ˆÜ˜˜z¨!¨"˜~Õ.r*   c                 ó”  — |j                  |j                  dt        |«      ¬«      d«      }|}t        ||d¬«      }|j	                  g d¢g d¢gg d¢g d	¢gg d
¢g d¢gg«      }t        ||«       g d¢}t        g d¢|«      D ]E  \  }}t        ||d|¬«      }|j                  dk(  sJ ‚t        ||d |¬«      }|j                  |k(  rŒEJ ‚ y )Né   r@   ©rx   r    r   r   r½   )r8   rw   r†   ç      @)r8   rÈ   ç      $@ç     €0@)r8   ç      !@ç      2@g     €<@)r8   ç      )@g      :@ç     @D@)r8   rÊ   g      A@g     @J@)r8   ç     €4@g      E@g      P@))r    r    r   )rx   r   r   )rx   r    rx   ©r   r   r    )r¾   r—   )rŸ   rG   r   r	   r0   r   ÚzipÚshape)	r1   r:   r%   rq   rÂ   rÃ   Úshapesr—   rÒ   s	            r'   Útest_y_nd_x_ndz'TestCumulative_trapezoid.test_y_nd_x_ndß   sÝ   € Ø�J‰J�r—y‘y Ô2BÀ2Ó2F�yÓGÈÓSˆØˆÜ$ Q¨°1Ô5ˆØ—Z‘ZÒ"4Ú"6ð"8â"6Ú"7ð"9â"7Ú"7ð"9ð	!:ó ;ˆ
ô 	˜˜zÔ*ò 3ˆÜšy¨&Ó1ò 	(‰KˆD�%Ü(¨¨A°q¸tÔDˆEØ—;‘; )Ò+Ð+Ð+Ü(¨¨A°tÀ$ÔGˆEØ—;‘; %Ó'Ð'Ð'ñ		(r*   c           	      óÞ  — |j                  |j                  dt        |«      ¬«      d«      }|j                  dt        |«      ¬«      dz  }|j                  g d¢g d¢gg d¢g d	¢gg«      |j                  g d
¢gg d¢gg d¢gg«      |j                  g d¢g d¢gg d¢g d¢gg d¢g d¢gg«      f}t	        g d¢|«      D ]0  \  }}t        ||d |j                  |    |d ¬«      }t        ||«       Œ2 y )NrÆ   r@   rÇ   r   r    )rz   ç      @r{   r   )r~   r‡   rÉ   ç      &@)g      D@g      F@g      H@g      J@)g      L@g      N@r‘   g      Q@)r†   r}   rz   rÖ   )rÉ   r×   ry   ç      *@)rÌ   g      3@ç      4@r”   )rw   rÖ   g     €1@)rÈ   r”   g     ÀJ@)rË   g     €B@g     `V@)rÍ   g     €J@g     `_@)rÊ   g     @Q@g     0d@)rÏ   g     @U@g     °h@rÐ   )r%   r—   r¾   )rŸ   rG   r   r0   rÑ   r	   rÒ   r   )r1   r:   rq   r%   Úys_expectedr—   rÃ   rÂ   s           r'   Útest_y_nd_x_1dz'TestCumulative_trapezoid.test_y_nd_x_1dô   s  € Ø�J‰J�r—y‘y Ô2BÀ2Ó2F�yÓGÈÓSˆØ�I‰I�aÔ/°Ó3ˆIÓ4°aÑ7ˆð �J‰JÒ)Ú+ð-â-Ú-ð/ð0ó 1ð �J‰JÒ)Ð*Ú-Ð.Ú-Ð.ð0ó 1ð �J‰JšÚ)ð+â)Ú+ð-â+Ú+ð-ð	.ó /ð0ˆô !$¢I¨{Ó ;ò 	/ÑˆD�*Ü(¨¨a°°·±¸±Ð.?ÀdØ15ô7ˆEä˜E :Õ.ñ	/r*   c                 óŠ  — |j                  ddd¬«      }t        |«      }|j                  g d¢«      }t        ||«       t        |d¬«      }|j                  g d¢«      }t        ||«       t        |d	¬
«      }|j                  g d¢«      }t        ||«       t        |d	d¬«      }|j                  g d¢«      }t        ||«       y )Nr´   r    r|   r»   )r¿   rÀ   r¿   r8   r   r½   )r   r¿   rÀ   r¿   r8   rx   r�   )ç      Àç      ÀrÝ   r8   )r�   r¾   )r   rÝ   rÞ   rÝ   r8   rÁ   )r1   r:   rq   rÂ   rÃ   s        r'   Útest_x_nonez$TestCumulative_trapezoid.test_x_none  sª   € Ø�K‰K˜˜A 1ˆKÓ%ˆä$ QÓ'ˆØ—Z‘ZÒ 5Ó6ˆ
Ü˜˜zÔ*ä$ Q°Ô2ˆØ—Z‘ZÒ 8Ó9ˆ
Ü˜˜zÔ*ä$ Q¨1Ô-ˆØ—Z‘ZÒ 5Ó6ˆ
Ü˜˜zÔ*ä$ Q¨1°aÔ8ˆØ—Z‘ZÒ 8Ó9ˆ
Ü˜˜zÕ*r*   r¾   r   rw   c                 ó¦   — |j                  ddd¬«      }t        j                  t        d¬«      5  t	        ||¬«       ddd«       y# 1 sw Y   yxY w)z4If initial is not None or 0, a ValueError is raised.r   r²   r»   z	`initial`rN   r½   N)rž   rS   rT   rU   r	   )r1   r¾   r:   rq   s       r'   Útest_initial_errorz+TestCumulative_trapezoid.test_initial_error  sE   € ð
 �K‰K˜˜2 2ˆKÓ&ˆÜ�]‰]œ:¨[Ô9ñ 	5Ü  ¨GÕ4÷	5÷ 	5ñ 	5ús   °AÁAc                 óš   — t        j                  t        d¬«      5  t        |j	                  g «      ¬«       d d d «       y # 1 sw Y   y xY w)NúAt least one point is requiredrN   ©rq   )rS   rT   rU   r	   r0   rd   s     r'   Útest_zero_len_yz(TestCumulative_trapezoid.test_zero_len_y(  s6   € Ü�]‰]œ:Ð-MÔNñ 	3Ü  2§:¡:¨b£>Õ2÷	3÷ 	3ñ 	3ús   œAÁA
N)rY   rZ   r[   rÄ   rÔ   rÛ   rß   rS   r\   r]   rá   rå   r#   r*   r'   r¹   r¹   Ó   sG   „ ò/ò(ò*/ò0+ð& ‡[�[×ÑØ�A�s�8óñ5óð5ó3r*   r¹   c                   ó   — e Zd Zd„ Zd„ Zy)ÚCommonTrapezoidSimpsonTestsc           	      ó  — |j                  ddd«      }| j                  |j                  d|dz  z  «      |j                  d|j	                  |j
                  «      z  «      z  d¬«      }t        ||j	                  d«      «       y )Néöÿÿÿr²   gš™™™™™¹?ç      à¿r    r�   r9   )rG   Úquadrature_funcÚexpÚsqrtr0   Úpir   )r1   r:   r%   r§   s       r'   Útest_simplez'CommonTrapezoidSimpsonTests.test_simple.  ss   € Ø�I‰I�c˜2˜rÓ"ˆØ× Ñ  §¡¨¨a°1©f©Ó!5¸¿¹ÀÀBÇJÁJÈrÏuÉuÓDUÑ@UÓ8VÑ!VØ$'ð !ó )ˆô 	˜˜2Ÿ:™: c›?Õ+r*   c                 óœ  — |j                  ddd«      }|j                  ddd«      }|j                  ddd«      }|j                  |«      |d   |d   z
  z  }t        j                  |«      d   j	                  d«      }t        j                  |«      d   j	                  d«      }|j                  |«      |d   |d   z
  z  }t        j                  |«      d   j	                  d«      }t        j                  |«      d   j	                  d«      }|j                  |«      |d   |d   z
  z  }t        j                  |«      d   j	                  d«      }t        j                  |«      d   j	                  d«      }|d d …d d f   |d d d …d f   z   |d d d d …f   z   }|j                  ||d d …d d f   z  d¬«      }	|j                  ||d d d …d f   z  d¬«      }
|j                  ||d d d d …f   z  d¬«      }| j                  ||d d …d d f   d¬	«      }t        ||	«       | j                  ||d d d …d f   d¬	«      }t        ||
«       | j                  ||d d d d …f   d¬	«      }t        ||«       | j                  ||d¬	«      }t        ||	«       | j                  ||d¬	«      }t        ||
«       | j                  ||d¬	«      }t        ||«       y )
Nr   r   rx   r    r›   é   rš   rµ   r–   )rž   Ú	ones_likeÚxpxÚatÚdivideÚsumrë   r   )r1   r:   r%   rq   ÚzÚwxÚwyÚwzÚqÚqxÚqyÚqzr§   s                r'   Ú	test_ndimz%CommonTrapezoidSimpsonTests.test_ndim5  s·  € Ø�K‰K˜˜1˜aÓ ˆØ�K‰K˜˜1˜aÓ ˆØ�K‰K˜˜1˜bÓ!ˆà�\‰\˜!‹_  !¡ q¨¡t¡Ñ,ˆÜ�V‰V�B‹Z˜‰]×!Ñ! !Ó$ˆÜ�V‰V�B‹Z˜‰^×"Ñ" 1Ó%ˆØ�\‰\˜!‹_  !¡ q¨¡t¡Ñ,ˆÜ�V‰V�B‹Z˜‰]×!Ñ! !Ó$ˆÜ�V‰V�B‹Z˜‰^×"Ñ" 1Ó%ˆØ�\‰\˜!‹_  !¡ q¨¡t¡Ñ,ˆÜ�V‰V�B‹Z˜‰]×!Ñ! !Ó$ˆÜ�V‰V�B‹Z˜‰^×"Ñ" 1Ó%ˆàŠa��tˆmÑ˜q ¢a¨ ™Ñ.°°4¸ºa°<±Ñ@ˆà�V‰V�A˜š1˜d D˜=Ñ)Ñ)°ˆVÓ2ˆØ�V‰V�A˜˜4¢ D˜=Ñ)Ñ)°ˆVÓ2ˆØ�V‰V�A˜˜4 ¢q˜=Ñ)Ñ)°ˆVÓ2ˆð × Ñ   aª¨4°¨Ñ&6¸QÐ Ó?ˆÜ˜˜2ÔØ× Ñ   a¨ªQ°¨¡o¸AÐ Ó>ˆÜ˜˜2ÔØ× Ñ   a¨¨d²1¨¡o¸AÐ Ó>ˆÜ˜˜2Ôð × Ñ   a¨aÐ Ó0ˆÜ˜˜2ÔØ× Ñ   a¨aÐ Ó0ˆÜ˜˜2ÔØ× Ñ   a¨aÐ Ó0ˆÜ˜˜2Õr*   N)rY   rZ   r[   rï   rÿ   r#   r*   r'   rç   rç   -  s   „ ò,ó#r*   rç   c                   ó   — e Zd Zd„ Zy)ÚTestSimpson2c                 ó   — t        |i |¤ŽS rB   )r   ©r1   rE   Úkwargss      r'   rë   zTestSimpson2.quadrature_func]  s   € Ü˜Ð' Ñ'Ð'r*   N)rY   rZ   r[   rë   r#   r*   r'   r  r  Z  s   „ ó(r*   r  c                   ó.   — e Zd Zd„ Zd„ Zed„ «       Zd„ Zy)ÚTestTrapezoidc                 ó   — t        |i |¤ŽS rB   )r
   r  s      r'   rë   zTestTrapezoid.quadrature_funcb  s   € Ü˜$Ð) &Ñ)Ð)r*   c           
      óè  — |j                  |j                  ddd«      d«      }|j                  |j                  ddd«      d«      }|j                  ddd«      }t        t        ||d¬«      |«       t        t        ||j	                  g d	¢«      d¬«      |«       t        t        ||j	                  g d	¢«      d d …d f   d¬«      |«       t        j                  t        «      5  t        ||j	                  g d	¢«      d d d …f   d¬«       d d d «       |j	                  g d
¢«      }t        t        ||d¬«      |«       t        t        ||j                  ddd«      d¬«      |«       y # 1 sw Y   Œ^xY w)Nr   é   é   )rx   r²   éÈ   i|  r²   r–   )r   rÉ   rÙ   )rÎ   g     P`@g     �k@r   é	   )rŸ   rž   r   r
   r0   rS   rT   Ú	Exception)r1   r:   r%   rq   Úout0Úout1s         r'   Útest_gh21908zTestTrapezoid.test_gh21908e  s3  € à�J‰J�r—{‘{ 1 b¨"Ó-¨wÓ7ˆØ�J‰J�r—{‘{ 1 b¨"Ó-¨wÓ7ˆà�{‰{˜3  RÓ(ˆÜœ	 ! q¨qÔ1°4Ô8Üœ	 ! r§z¡z²-Ó'@ÀqÔIÈ4ÔPäÜ�a˜2Ÿ:™:¢mÓ4²Q¸°WÑ=ÀAÔFØô	
ô �]‰]œ9Ó%ñ 	Gä�a˜2Ÿ:™:¢mÓ4°Tº1°WÑ=ÀAÕF÷	Gð �z‰zÒ/Ó0ˆÜœ	 ! q¨qÔ1°4Ô8ÜÜ�a˜2Ÿ;™; q¨!¨RÓ0°qÔ9Øõ	
÷	Gð 	Gús   Ã$'E(Å(E1c                 ó�  — t        j                  d«      }||z  }|dk(  }t         j                  j                  ||¬«      }d}t	        t        ||«      |«       t         j                  j                  ||¬«      }t	        t        ||«      |«       t         j                  j                  ||¬«      }t	        t        ||«      |«       y )Nr|   r    )ÚmaskrØ   )r/   rG   Úmark   r   r
   )r1   r:   r%   rq   r  Úymr§   Úxms           r'   Útest_maskedzTestTrapezoid.test_masked}  s�   € ô �I‰I�a‹LˆØ�‰EˆØ�A‰vˆÜ�U‰U�[‰[˜ ˆ[Ó&ˆØˆÜœ	 " aÓ(¨!Ô,ä�U‰U�[‰[˜ ˆ[Ó&ˆÜœ	 " bÓ)¨1Ô-ä�U‰U�[‰[˜ ˆ[Ó&ˆÜœ	 ! RÓ(¨!Õ,r*   c                 ó6  — t        t        d«      «      }|D �cg c]  }||z  ‘Œ	 }}t        j                  |t        j                  ¬«      }t        j                  |t        j                  ¬«      }t        ||«      }t        ||«      }t        ||«       y c c}w )Nr|   r@   )r¢   r    r/   r0   r>   r
   r   )r1   r%   Útrq   ÚxarrÚyarrÚresÚresarrs           r'   Útest_array_likezTestTrapezoid.test_array_likeŽ  st   € Ü”�q“‹NˆØÖ�qˆQ�‹UÐˆÐÜ�z‰z˜!¤2§:¡:Ô.ˆÜ�z‰z˜!¤2§:¡:Ô.ˆÜ˜˜1‹oˆÜ˜4 Ó&ˆÜ˜˜VÕ$ùò s   ™BN)rY   rZ   r[   rë   r  r   r  r  r#   r*   r'   r  r  `  s%   „ ò*ò
ð0 ñ-ó ð-ó %r*   r  c                   óN  — e Zd Zd„ Zdd„Zej                  j                  dddg«      ej                  j                  ddd	g«      d
„ «       «       Zej                  j                  dddgddgddgddgg«      d„ «       Z	ej                  j                  dddg«      d„ «       Z
d„ Zy)ÚTestQMCQuadc           	      óD  ‡— ‰j                  ddg«      }‰j                  ddg«      }d}t        j                  t        |¬«      5  t	        d||«       d d d «       d}t        j                  t
        |¬«      5  t	        d„ ||«       d d d «       ˆfd„}d	}t        ‰«      r2t        j                  t        |¬«      5  t	        |||«       d d d «       n1t        j                  t
        |¬«      5  t	        |||«       d d d «       d
}t        j                  t        |¬«      5  t	        d„ ||d¬«       d d d «       d}t        j                  t        |¬«      5  t	        d„ ||d¬«       d d d «       d}t        j                  t        |¬«      5  t	        d„ ||d¬«       d d d «       d}t        j                  t
        |¬«      5  t	        d„ ||t        j                  j                  d«      ¬«       d d d «       d}t        j                  t        |¬«      5  t	        d„ ||d¬«       d d d «       y # 1 sw Y   �ŒßxY w# 1 sw Y   �Œ¸xY w# 1 sw Y   �ŒPxY w# 1 sw Y   �Œ]xY w# 1 sw Y   �Œ4xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒáxY w# 1 sw Y   ŒšxY w# 1 sw Y   y xY w)Nr8   r9   z`func` must be callable.rN   za duckz/`func` must evaluate the integrand at points...c                   ó   — y©Nr   r#   r#   r*   r'   r(   z3TestQMCQuad.test_input_validation.<locals>.<lambda>¤  ó   � r*   c                 óH   •— | j                   dk(  sJ ‚‰j                  | «      S r"  )Úndimrö   ©r%   r:   s    €r'   Úfuncz/TestQMCQuad.test_input_validation.<locals>.func¦  s!   ø€ Ø—6‘6˜Q’;Ð�;Ø—6‘6˜!“9Ðr*   z8Exception encountered when attempting vectorized call...z`n_points` must be an integer.c                  ó   — yr"  r#   rl   s    r'   r(   z3TestQMCQuad.test_input_validation.<locals>.<lambda>³  r#  r*   g     �@)Ún_pointsz!`n_estimates` must be an integer.c                  ó   — yr"  r#   rl   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                  ó   — yr"  r#   rl   s    r'   r(   z3TestQMCQuad.test_input_validation.<locals>.<lambda>»  r#  r*   )Úqrngz8`qrng` must be initialized with dimensionality equal to c                  ó   — yr"  r#   rl   s    r'   r(   z3TestQMCQuad.test_input_validation.<locals>.<lambda>¿  r#  r*   r   z,`log` must be boolean \(`True` or `False`\).c                  ó   — yr"  r#   rl   s    r'   r(   z3TestQMCQuad.test_input_validation.<locals>.<lambda>Ã  r#  r*   r²   ©Úlog)r0   rS   rT   Ú	TypeErrorr   rU   r   ÚwarnsÚUserWarningr   ÚqmcÚSobol)r1   r:   rH   rI   rW   r'  s    `    r'   rX   z!TestQMCQuad.test_input_validationš  s=  ø€ Ø�J‰J˜˜B�xÓ ˆØ�J‰J˜˜B�xÓ ˆà,ˆÜ�]‰]œ9¨GÔ4ñ 	%Ü�X˜q !Ô$÷	%ð DˆÜ�]‰]œ:¨WÔ5ñ 	&Ü‘Y  1Ô%÷	&ô	ð MˆÜ�BŒ<Ü—‘œk°Ô9ñ %Ü˜˜q !Ô$÷%ð %ô —‘œz°Ô9ñ %Ü˜˜q !Ô$÷%ð 3ˆÜ�]‰]œ9¨GÔ4ñ 	9Ü‘[ ! Q°Õ8÷	9ð 6ˆÜ�]‰]œ9¨GÔ4ñ 	9Ü‘[ ! Q°CÕ8÷	9ð MˆÜ�]‰]œ9¨GÔ4ñ 	7Ü‘[ ! Q¨XÕ6÷	7ð MˆÜ�]‰]œ:¨WÔ5ñ 	AÜ‘[ ! Q¬U¯Y©Y¯_©_¸QÓ-?Õ@÷	Að BˆÜ�]‰]œ9¨GÔ4ñ 	0Ü‘[ ! Q¨BÕ/÷	0ð 	0÷G	%ñ 	%ú÷	&ñ 	&ú÷%ñ %ú÷%ñ %ú÷	9ñ 	9ú÷	9ñ 	9ú÷	7ð 	7ú÷	Að 	Aú÷	0ð 	0úsl   ÁH0Á8H=Â<I
Ã.IÄ!I$ÅI1ÆI>Ç.J
ÈJÈ0H:È=IÉ
IÉI!É$I.É1I;É>JÊ
JÊJé   r›   Nc           	      óÖ  ‡‡— t        ‰«      }|€t        j                  d«      }d}t        j                  |«      }t        j                  |«      }ˆfd„Št        j
                  j                  d«      }	t        j                  j                  ||	¬«      }
t        j                  |«      }t        j                  |«      |z  }t        ‰‰j                  ||¬«      ‰j                  ||¬«      |||
¬«      }t        j                  j                  ||||¬«      }t        j                  |dz
  d	«      |j                   z  }t#        |j$                  ‰j                  ||¬«      |¬
«       t        j&                  |«      |j$                  z  dkD  sJ ‚t        j
                  j                  d«      }	t        j                  j                  ||	¬«      }
t        ˆˆfd„‰j                  ||¬«      ‰j                  ||¬«      ||d|
¬«      }|j$                  j(                  ‰j*                  k(  rdnd}t#        ‰j-                  ‰j/                  |j$                  «      «      |j$                  |¬«       ‰j1                  |j$                  dz   «      t        j&                  |«      dk  r‰j2                  ndk(  sJ ‚t#        ‰j/                  |j                   «      |j                   ||dz  ¬«       y )Nr    c                 ót   •— ‰j                  d‰j                  | | z  d¬«      z  «      d‰j                  z  z  S )Nrê   r   rµ   r    )rì   rö   rî   r&  s    €r'   r'  z$TestQMCQuad.basic_test.<locals>.funcÍ  s5   ø€ à—6‘6˜$ §¡¨¨!©°! Ó!4Ñ4Ó5¸¸R¿U¹U¹ÑCÐCr*   l   é^^@E9®? )Úseedr@   )r)  r+  r-  )Úlower_limitr   g×£p=
×ï?©rn   r   c                  ó,   •— ‰j                   ‰| Ž «      S rB   r0  )rE   r'  r:   s    €€r'   r(   z(TestQMCQuad.basic_test.<locals>.<lambda>Þ  s   ø€ ¨¯©©t°T¨{Ó(;€ r*   T)r)  r+  r1  r-  ç›+¡†›„=g�íµ ÷ÆÀ>r-   y                éd   rm   )r   r/   ÚonesÚzerosÚeyeÚrandomÚdefault_rngr   r5  r6  r   r0   Úmultivariate_normalÚcdfr   ÚstdtritÚstandard_errorr   rª   Úprodr<   r>   Úrealrì   Úimagrî   )r1   r)  r+  Úsignsr:   r<   r%  ÚmeanÚcovÚrngr-  rH   rI   r  Úrefrn   Úlogresr.   r'  s       `             @r'   Ú
basic_testzTestQMCQuad.basic_testÅ  sB  ù€ Ü  Ó$ˆØˆ=Ü—G‘G˜A“JˆEØˆÜ�x‰x˜‹~ˆÜ�f‰f�T‹lˆô	Dô �i‰i×#Ñ#Ð$7Ó8ˆÜ�y‰y�‰˜t¨#ˆÓ.ˆÜ�H‰H�T‹NˆÜ�G‰G�D‹M˜EÑ!ˆÜ�t˜RŸZ™Z¨°˜ZÓ7¸¿¹ÀAÈU¸Ó9SØ (°kÈôNˆä×'Ñ'×+Ñ+¨A¨t°SÀaÐ+ÓHˆÜ�‰˜{¨1™}¨eÓ4°s×7IÑ7IÑIˆÜ˜Ÿ™ b§j¡j°¸E jÓ&BÈÕNÜ�w‰w�u‹~˜cŸl™lÑ*¨QÒ.Ð.Ð.ä�i‰i×#Ñ#Ð$7Ó8ˆÜ�y‰y�‰˜t¨#ˆÓ.ˆÜÔ;ØŸ*™* Q¨e˜*Ó4°b·j±jÀÈ%°jÓ6PØ#+¸Ø"¨ô/ˆð Ÿ™×*Ñ*¨b¯j©jÒ8‰u¸dˆÜ˜Ÿ™ §¡ v§¡Ó 7Ó8¸#¿,¹,ÈTÕRØ�w‰w�v—‘¨Ñ+Ó,¼"¿'¹'À%».È1Ò:L°·²ÐRSÒTÐTÐTÜ˜Ÿ™˜v×4Ñ4Ó5Ø×*Ñ*°¸DÀ¹Hö	Fr*   r)  i   r+  é   c                 ó,   — | j                  |||¬«       y )N)r:   ©rR  )r1   r)  r+  r:   s       r'   Ú
test_basiczTestQMCQuad.test_basicè  s   € ð 	�‰˜ +°"ˆÕ5r*   rL  r9   g      ð¿c                 ó*   — | j                  ||¬«       y )N)rL  r:   rU  )r1   rL  r:   s      r'   Ú	test_signzTestQMCQuad.test_signí  s   € à�‰˜e¨ˆÕ+r*   r1  FTc           	      ó.  — d}t        j                  t        |¬«      5  t        d„ |j	                  ddg«      |j	                  ddg«      |¬«      }d d d «       j
                  |r|j                   ndk(  sJ ‚|j                  dk(  sJ ‚y # 1 sw Y   Œ;xY w)Nz-A lower limit was equal to an upper limit, sorN   c                  ó   — yr"  r#   rl   s    r'   r(   z'TestQMCQuad.test_zero.<locals>.<lambda>õ  r#  r*   r   r   r0  )rS   r3  r4  r   r0   rª   rV   rH  )r1   r1  r:   rW   r  s        r'   Ú	test_zerozTestQMCQuad.test_zeroñ  s‰   € àAˆÜ�\‰\œ+¨WÔ5ñ 	YÜ™;¨¯
©
°A°q°6Ó(:¸B¿J¹JÈÈ1ÀvÓ<NÐTWÔXˆC÷	Yà�|‰|©3 §¡¡°AÒ6Ð6Ð6Ø×!Ñ! QÒ&Ð&Ñ&÷	Yð 	Yús   ž3BÂBc                 óØ   — d„ }t        |dd«      }t        j                  j                  dd¬«      t        j                  j                  dd¬«      z
  }t	        |j
                  |d«       y )Nc                 óD   — t         j                  j                  | d¬«      S )Nr    ©Úscale)r   ÚnormÚpdfrl   s    r'   r'  z-TestQMCQuad.test_flexible_input.<locals>.funcü  s   € Ü—:‘:—>‘> !¨1�>Ó-Ð-r*   r   r   r    r^  g{®Gáz„?)r   r   r`  rF  r   rª   )r1   r'  r  rP  s       r'   Útest_flexible_inputzTestQMCQuad.test_flexible_inputù  sS   € ò	.ô �t˜Q Ó"ˆÜ�j‰j�n‰n˜Q aˆnÓ(¬5¯:©:¯>©>¸!À1¨>Ó+EÑEˆÜ˜Ÿ™ c¨4Õ0r*   )r7  r›   NN)rY   rZ   r[   rX   rR  rS   r\   r]   rV  rX  r[  rb  r#   r*   r'   r  r  ˜  sÂ   „ ò)0óV!FðF ‡[�[×Ñ˜Z¨$°¨Ó7Ø‡[�[×Ñ˜]¨Q°¨GÓ4ñ6ó 5ó 8ð6ð ‡[�[×Ñ˜W¨¨B x°#°s°¸cÀ2¸YÈÈSÈ	Ð&RÓSñ,ó Tð,ð ‡[�[×Ñ˜U U¨D MÓ2ñ'ó 3ð'ó1r*   r  rš   ©r%   r�   r¾   r—   c                ót  ‡	— | j                   |   dk  r%|€t        | |||d ¬«      S |t        | |||d¬«      z   S t        j                  | |d«      } t        j                  |«      dkD  rt        j                  ||d«      n|}t        j                  |«      dkD  rt        j                  ||d«      n|}t        j                  |«      dkD  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 )
Nrx   )r%   r�   r—   r¾   r   rš   r   )r   rµ   c                 ó>   •— t        | d ‰ | ‰d‰z   | d‰z  d  ¬«      S )Nr    )r%   r¾   )r   )r÷   r&   s    €r'   r“   z*cumulative_simpson_nd_reference.<locals>.f  s,   ø€ Ü! ! B Q %¨1¨Q¨q°©s¨8¸Q¸qÀ¹s¸t¸WÔEÐEr*   .)	rÒ   r	   r/   Úmoveaxisr%  rG   Úbroadcast_toÚconcatenateÚapply_along_axis)
rq   r%   r�   r¾   r—   Úinitial_was_noner÷   r“   r  r&   s
            @r'   Úcumulative_simpson_nd_referencerk    sŒ  ø€ à‡w�wˆt�}�qÒØˆ?Ü'¨¨Q°2¸DÈ$ÔOÐOàÔ1°!°q¸RÀdÐTUÔVÑVÐVô 	�‰�A�t˜RÓ €AÜ$&§G¡G¨A£J°¢NŒ�‰�A�t˜RÔ ¸€AÜ&(§g¡g¨b£k°A¢oŒ�‰�R˜˜rÔ	"¸2€BÜ02·±¸Ó0@À1Ò0DŒb�k‰k˜' 4¨Ô,È'€Gð 	
�‰�‰€AØ˜^ˆŒR�Y‰Y�q‹\Ò°€Aà $�ÐÙ#‰a¨€Gô 	�‰˜˜1Ÿ7™7Ó#€AÜ�o‰o˜g q§w¡w¨s° |°dÑ':Ó;€GÜ
�‰˜˜1˜g�¨RÔ0€AôFä
×
Ñ
˜a  QÓ
'€Cñ +ˆ#ˆc�1‘2ˆgŠ,°€CÜ
�+‰+�c˜2˜tÓ
$€CØ€Jr*   c                   ó  — e Zd Z ej                  d«      Zedz  Zej                  j                  dd«      ej                  j                  dd«      d„ «       «       Z
 ed¬«      ej                  j                  d	 ej                  d
d«      «      ej                  j                  dd«      ej                  j                  dd«      ej                  j                  dd«      ej                  j                  dd«      d„ «       «       «       «       «       «       Zej                  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#                  d*«      ej                  j$                   e ej*                  ej,                   ej.                  ddd*¬+«       ej2                  d,d*d-¬.«      j5                  d/„ «      ¬0«      ¬1«      d2„ «       «       «       Zej                  j#                  d*«      ej                  j$                   e ej*                  ej,                   ej.                  ddd*¬+«       ej2                  d,d*d-¬.«      j5                  d3„ «      ¬0«      ¬1«      d4„ «       «       «       Zy%)5ÚTestCumulativeSimpsonr   r    Úuse_dx)FTÚuse_initialc                 ó¤  — t         j                  j                  d«      }d}|rdnd}|j                  |j                  «       «      }|dk(  r4|j                  t        j                  |j                  |«      «      «      }n@|j                  ||j                  ¬«      |z  |j                  |j                  «       «      z   }|j                  |dz   |j                  ¬«      d d …|j                  f   }	|j                  |j                  |dz   «      «      d d …|j                  f   }
|j                  |
||	z  z  d¬«      }|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¬«       y |rdnd}t        ||d¬«       t        ||d d…   ||d d…   d¬«       y )Nì   F»*ŒBG r²   rx   r    r@   r   r   rµ   r�   r%   r¾   gVçž¯â<r-   g{®Gázd?)r/   rC  rD  r0   ÚsortrG   r>   rC   rö   r   r   )r1   rn  ro  r:   rO  r&   Úorderr�   r%   r¦   Úcrq   ÚYrP  r¾   Úkwargr  Úi0s                     r'   rÄ   zTestCumulativeSimpson.test_1d.  s³  € ô
 �i‰i×#Ñ#Ð$8Ó9ˆØˆñ ‘ ˆØ�Z‰Z˜Ÿ
™
›Ó%ˆØ�AŠ:Ø—
‘
œ2Ÿ7™7 3§:¡:¨a£=Ó1Ó2‰Aà—	‘	˜! 2§:¡:�	Ó.¨rÑ1°B·J±J¸s¿z¹z»|Ó4LÑLˆAØ�I‰I�e˜a‘i r§z¡zˆIÓ2²1°b·j±j°=ÑAˆØ�J‰J�s—z‘z %¨!¡)Ó,Ó-ªa°·±¨mÑ<ˆØ�F‰F�1�Q˜‘T‘6 ˆFÓ"ˆØ�F‰F�1�Q˜˜Q™‘Z‘<  Q¡Ñ'¨aˆFÓ0ˆÙ‰a Q q¨¡t¡V¨Q¨R Lˆñ &�!�A’$¨4ˆÙ$��r‘
¨3°¨(ˆÜ  Ñ= eÑ=°WÒ=ˆñ Ü˜C ¨5Ö1á!‘ qˆBä˜C ¨6Õ2ä˜C   A ™J¨¨B¨E°¨E©
¸Ö?r*   T)Úcpu_onlyr—   éýÿÿÿrx   Úx_ndim)r   rx   Úx_len)r   r    r�   Úi_ndim)Nr   rx   r�   )NTc                 ó¢  — t         j                  j                  d«      }dd|g}|d   ||   c||<   |d<   |j                  «       }	d|	|<   |dk(  r|	nd}
|j	                  |j                  |¬«      «      }d	\  }}|r9|dkD  r|j                  |	¬«      n|j                  «       }|j	                  |«      }ne|dkD  r't        j
                  |j                  |¬«      |¬
«      n't        j
                  |j                  ||   ¬«      «      }|j	                  |«      }|€d n |j	                  |j                  |
¬«      «      }t        |||||¬«      }t        t        j                  |«      t        j                  |«      |€d nt        j                  |«      |€d nt        j                  |«      |¬«      }t        ||j	                  |«      d¬«       y )Nrq  r|   é   rš   r   rx   r#   ©Úsize)NNrµ   rc  çVçž¯Ò<r-   )	r/   rC  rD  Úcopyr0   rr  r   rk  r   )r1   r—   rz  r{  r|  r�   r:   rO  rÒ   Úshape_len_1Úi_shaperq   r%   r¾   r  rP  s                   r'   Útest_ndzTestCumulativeSimpson.test_ndS  s‘  € ô �i‰i×#Ñ#Ð$8Ó9ˆð �A�u�ˆØ!& r¡¨E°$©KÐˆˆd‰�U˜2‘YØ—j‘j“lˆØˆ�DÑØ!'¨1¢‘+°"ˆð �J‰J�s—z‘z u�zÓ-Ó.ˆØ‰ˆˆ2ÙØ17¸!²�—‘ �Ô-ÀÇÁÃˆBØ—‘˜B“‰Bà?EÈºz”—‘˜Ÿ™¨˜Ó/°dÕ;Ü—g‘g˜cŸj™j¨e°D©k˜jÓ:Ó;ð à—
‘
˜1“ˆAØ ˜.‘$¨b¯j©j¸¿¹È¸Ó9QÓ.Rˆô !  a¨B¸ÀdÔKˆô .Ü�J‰J�q‹MœRŸZ™Z¨›]°r°z©tÄrÇzÁzÐRTÃ~Ø#˜O‘D´·±¸GÓ1DÈ4ô
ˆô 	˜˜RŸZ™Z¨›_°5Ö9r*   )rW   Úkwarg_updatezx must be strictly increasing)r    r    rx   r   rl   )r    r    r   r›   )r%   rq   r   )r%   rq   r—   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-Dr|   z'`initial` must either be a scalar or...r½   z"`dx` must either be a scalar or...N)r%   r�   c           
      óÌ  — t        |j                  | j                  «      |j                  | j                  «      d d d¬«      }|j	                  «       D ��ci c]<  \  }}|t        |t        «      r$|j                  t        j                  |«      «      n|“Œ> }}}t        j                  t        |¬«      5  t        di t        |fi |¤Ž¤Ž d d d «       y c c}}w # 1 sw Y   y xY w)Nrš   )rq   r%   r�   r¾   r—   rN   r#   )Údictr0   Úy0Úx0ÚitemsÚ
isinstancer¢   r/   rS   rT   rU   r   )r1   rW   r†  r:   Úkwargs0ÚkÚvs          r'   Útest_simpson_exceptionsz-TestCumulativeSimpson.test_simpson_exceptionsz  sÈ   € ô ˜Ÿ™ D§G¡GÓ,°·
±
¸4¿7¹7Ó0CÈØ#¨"ô.ˆð %1×$6Ñ$6Ó$8÷:Ù ˜A˜qð ¼
À1ÄdÔ8K˜2Ÿ:™:¤b§j¡j°£mÔ4ÐQRÑRð :ˆñ :ä�]‰]œ:¨WÔ5ñ 	@ÜÑ?¤ gÑ!>°Ñ!>Ò?÷	@ð 	@ùó:÷	@ð 	@ús   ÁACÂ5CÃC#c                 óì   — t         j                  j                  d«      }|j                  |j                  d¬«      «      }t	        |d¬«      }t        ||j                  d|j                  ¬«      «       y )Nrq  r²   r  r8   r�   r  r@   )r/   rC  rD  r0   r   r   rA  r>   )r1   r:   rO  rq   r  s        r'   Útest_special_casesz(TestCumulativeSimpson.test_special_casesŒ  sW   € ä�i‰i×#Ñ#Ð$8Ó9ˆØ�J‰J�s—z‘z r�zÓ*Ó+ˆÜ   rÔ*ˆÜ˜˜RŸX™X a¨r¯z©z˜XÓ:Õ;r*   c                 ór  — 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‘­}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`.
        rš   rµ   .Nr   r8   r    )r/   Údiffr   rÒ   rh  rA  )r1   rq   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‰G�A˜BÔˆÜ@ÀÀAÓFÐÜ@Øˆc‘4�R�4ˆi‰L˜!˜C¡ 2 ˜I™,ó
à
‰t�ˆtˆ)ñÐð
 )˜Ÿ™  ˜Ð( aÑ(ˆÜ!#§¡ä—‘˜Ó%Ø! # q¡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kD  S ©NgH¯¼šò×z>©Úabsrl   s    r'   r(   zTestCumulativeSimpson.<lambda>»  ó   € Ì#ÈaË&ÐSWÉ-€ r*   )Úelementsrä   c           
      ó"  — d„ }t        |j                  |«      d¬«      } ||«      }| j                  |t        j                  |j
                  d   «      ¬«      }t        |ddd…f   |j                  |ddd…f   |ddd…f   z   «      d	¬
«       y)á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                  t        d| j                  d   dz   «      D �cg c]  }t	        | dd |…f   d¬«      ‘Œ c}d¬«      S c c}w )Nr    rš   r   .r9   r�   rµ   ©r/   Ústackr    rÒ   r   )rq   r¦   s     r'   Úsimpson_referencezhTestCumulativeSimpson.test_cumulative_simpson_against_simpson_with_default_dx.<locals>.simpson_referenceÆ  sM   € Ü—8‘8Ü6;¸A¸q¿w¹wÀr¹{È1¹}Ó6MÖN°”˜˜3   ˜7™¨Ö,ÒNÐUWôð ùÚNs   ®Ar9   r�   rš   rl   .r   Ng¼‰Ø—²Òœ<r<  )r   r0   rš  r/   rG   rÒ   r   )r1   rq   r:   rª  r  rP  r™  s          r'   Ú7test_cumulative_simpson_against_simpson_with_default_dxzMTestCumulativeSimpson.test_cumulative_simpson_against_simpson_with_default_dxµ  s–   € ò"	ô
 ! §¡¨A£°3Ô7ˆÙ Ó"ˆØ!%×!WÑ!WØ”—‘˜1Ÿ7™7 2™;Ó'ð "Xó "
Ðô 	Ø��Q‘R�‰L˜"Ÿ*™* S¨¨a©b¨¡\Ð4JÈ3ÐPQÑPRÈ7Ñ4SÑ%SÓTØö	
r*   c                 ó   — t        | «      dkD  S r   r¡  rl   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                  j	                  ddt        |«      dz
  «      z  z   |dd d„ }t        |j                  |«      |j                  |«      ¬	«      } |||«      }| j                  ||«      }t        |d
dd…f   |j                  |d
dd…f   |d
dd…f   z   «      «       y)r¦  r²   rš   r   r   r»   Nrh   c                 ó¼   — t        j                  t        d| j                  d   dz   «      D �cg c]  }t	        | dd |…f   |dd |…f   ¬«      ‘Œ c}d¬«      S c c}w )Nr    rš   r   .rl   rµ   r¨  )rq   r%   r¦   s      r'   rª  zXTestCumulativeSimpson.test_cumulative_simpson_against_simpson.<locals>.simpson_referenceê  sZ   € Ü—8‘8Ü<AÀ!ÀQÇWÁWÈRÁ[ÐQRÁ]Ó<SÖT°q”˜˜3   ˜7™ q¨¨b¨q¨b¨¡zÖ2ÒTØôð ùÚTs   ®"Arl   .)
rÒ   r/   rž   rC  ÚuniformÚlenr   r0   rš  r   )	r1   rq   r:   Úintervalr%   rª  r  rP  r™  s	            r'   Ú'test_cumulative_simpson_against_simpsonz=TestCumulativeSimpson.test_cumulative_simpson_against_simpsonÕ  sò   € ð" �q—w‘w˜r‘{ Q‘Ñ'ˆÜ�K‰K˜˜2 1§7¡7¨2¡;Ô/ˆØ�!�"�˜˜H™¤R§Y¡Y×%6Ñ%6°r¸1¼cÀ!»fÀq¹jÓ%IÑIÑIˆˆ!ˆ"ˆò	ô ! §¡¨A£°"·*±*¸Q³-Ô@ˆÙ  1Ó%ˆØ!%×!WÑ!WØˆqó"
Ðô 	Ø��Q‘R�‰L˜"Ÿ*™* S¨¨a©b¨¡\Ð4JÈ3ÐPQÑPRÈ7Ñ4SÑ%SÓTõ	
r*   )rY   rZ   r[   r/   rG   rŠ  r‰  rS   r\   r]   rÄ   r^   r…  rˆ  r�  r’  rš  Ú	fail_slowÚslowr   Úhyp_numÚarraysr>   Úarray_shapesÚstÚfloatsÚfilterr«  r²  r#   r*   r'   rm  rm  )  së  „ à	ˆ�‰�1‹€BØ	ˆQ‰€Bà‡[�[×Ñ˜X }Ó5Ø‡[�[×Ñ˜]¨MÓ:ñ!@ó ;ó 6ð!@ñF ˜tÔ$Ø‡[�[×Ñ˜V Y R§Y¡Y¨r°1Ó%5Ó6Ø‡[�[×Ñ˜X vÓ.Ø‡[�[×Ñ˜W iÓ0Ø‡[�[×Ñ˜X }Ó5Ø‡[�[×Ñ˜T <Ó0ñ:ó 1ó 6ó 1ó /ó 7ó %ð:ðB ‡[�[×ÑÐ8Ø	(©$²Ô*>Ð?Ø	(©$°"²lÐ1CÈÈBÀxÔ*PÐQØ	(©$°"°b¸"°À"ÀbÈ"ÀÐTUÔ*VÐWØ	)©4°"¸Ô+;Ð<Ø	8¹$ÀA¼,ÐGØ	6¹¸y¸r¿y¹yÈ»|Ô8LÐMØ	2±DÀÀÇÁÈ1ÃÔ4NÐOØ	-©t°d¸y¸r¿y¹yÈ»|Ô/LÐMð	;ó 	ñ@ó	ð@ò<ò&ð< ‡[�[×Ñ˜2ÓØ‡[�[×ÑÙ
Ø
ˆ'�.‰.Ø�J‰JØ ˆG× Ñ ¨!°aÀ"ÔEØ�R—Y‘Y˜s B°%Ô8×?Ñ?Ñ@WÓXô
ôñ
óó ó ð
ð. ‡[�[×Ñ˜2ÓØ‡[�[×ÑÙ
Ø
ˆ'�.‰.Ø�J‰JØ ˆG× Ñ ¨!°aÀ"ÔEØ�R—Y‘Y˜s B°%Ô8×?Ñ?Ñ@WÓXô
ôñ
óó ó ñ
r*   rm  c                   óš   — e Zd Zd„ Zd„ Zej                  j                  d e e	ddd«      «       e e	ddd	«      «      z   «      d
„ «       Z
y)ÚTestLebedevc                 ó’   — d}t        j                  t        |¬«      5  t        j                  d«       d d d «       y # 1 sw Y   y xY w)NzOrder n=-1 not available...rN   rš   )rS   rT   ÚNotImplementedErrorr   Úlebedev_rule)r1   rW   s     r'   rX   z!TestLebedev.test_input_validationü  s9   € à/ˆÜ�]‰]Ô.°gÔ>ñ 	'Ü×"Ñ" 2Ô&÷	'÷ 	'ñ 	'ús	   ž=½Ac                 óÐ   — d„ }t        j                  d«      \  }}| ||«      z  }d}t        ||d¬«       t        t        j                  |«      dt        j
                  z  «       y )Nc                 ó2   — t        j                  | d   «      S )Nr   )r/   rì   rl   s    r'   r“   z&TestLebedev.test_quadrature.<locals>.f  s   € Ü—6‘6˜!˜A™$“<Ðr*   é   gá9‰-@r>  r-   r   )r   r¿  r   r/   rö   rî   )r1   r“   r%   Úwr  rP  s         r'   Útest_quadraturezTestLebedev.test_quadrature  sU   € ò	 ô ×%Ñ% bÓ)‰ˆˆ1Ø‘!�A“$‰hˆØˆÜ˜˜S uÕ-ÜœŸ™˜q›	 1¤r§u¡u¡9Õ-r*   rs  rx   é    r    é#   é„   r~  c                 ó^  — t        j                  |«      \  }}t        j                  dd¬«      5  t	        j
                  |j                  d¬«      }t        |j                  dd¬«       d d d «       t        t        j                  |«      dt        j                  z  «       y # 1 sw Y   Œ:xY w)NÚignore)rõ   Úinvalidr   rµ   r�  r<  r   )r   r¿  r/   Úerrstater   Údirectional_statsÚTr   Úmean_resultant_lengthrö   rî   )r1   rs  r%   rÃ  r  s        r'   Útest_propertieszTestLebedev.test_properties  s�   € ä×%Ñ% eÓ,‰ˆˆ1ä�[‰[ °(Ô;ñ 	FÜ×)Ñ)¨!¯#©#°AÔ6ˆCÜ˜C×5Ñ5°q¸uÕE÷	Fô 	œŸ™˜q›	 1¤R§U¡U¡7Õ+÷		Fð 	Fús   °:B#Â#B,N)rY   rZ   r[   rX   rÄ  rS   r\   r]   r¢   r    rÏ  r#   r*   r'   r¼  r¼  ú  sS   „ ò'ò
.ð ‡[�[×Ñ˜W¡d©5°°B¸«?Ó&;¹dÁ5ÈÈSÐRSÓCTÓ>UÑ&UÓVñ,ó Wñ,r*   r¼  ):rS   Únumpyr/   Ú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   Úscipy._lib._array_apir   r   r   Úscipy._lib._array_api_no_0dr   r   Úscipy._externalr   ró   r\   r^   r   r`   ru   r�   r¹   rç   r  r  r  rk  rm  r¿  r¼  r#   r*   r'   ú<module>rÞ     sÄ  ðã Û ß LÑ LÝ Ý "ß (Ð (÷;÷ ;õ ;õ Nç +Ñ +Ý .ß OÑ Oß HÝ 2à—;‘;×/Ñ/Ð á�:Ó÷"Xð "Xó ð"XñJ �4Ó÷
Xð 
Xó ð
Xñ �<Ó ÷&>ð &>ó !ð&>ñR �7Ó÷Z*ð Z*ó ðZ*ñz Ð'Ó(÷V3ð V3ó )ðV3÷r+ñ +ñZ �7Óô(Ð.ó (ó ð(ñ
 �9Óô4%Ð/ó 4%ó ð4%ñn �8Ó÷h1ð h1ó ðh1ðV -1°TÀ4Èbô "ñJ Ð%Ó&÷M
ð M
ó 'ðM
ñ` �9×)Ñ)Ó*÷,ð ,ó +ñ,r*   