+
    LV-j¯�  ã                   óF  € ^ RI t ^ RIt^ RIt^ RIt^ RIHtHtHtHtH	t	H
t
 ^ RIHt ^ RIHt ^ RIHtHtHtHtHtHt ]P,                  P.                  tRtR tR tR	 tR
 tR tR tR tR t R t!R t"R t#R t$R t%R t&R t'R t(R t)R t*R t+R t,R t-R t.R t/R t0R t1R  t2]
! ]4       ! R! R"4      4       t3]
! ]4      ]P,                  Pi                  R#R$.4      ]P,                  Pi                  R%R&.4      ]P,                  Pi                  R'. R7O4       ! R( R)4      4       4       4       4       t5 ! R* R+4      t6 ! R, R-4      t7 ! R. R/4      t8]P,                  P/                  R0]R17      ]P,                  P/                  R2]R17       ! R3 R44      4       4       t9 ! R5 R6]4      t:R# )8é    N)Úarray_namespaceÚxp_assert_closeÚxp_sizeÚ	np_compatÚis_array_api_strictÚmake_xp_test_case)Úcubature)Ú_InfiniteLimitsTransform)ÚRuleÚ	FixedRuleÚNestedFixedRuleÚGaussLegendreQuadratureÚGaussKronrodQuadratureÚGenzMalikCubaturez2JAX/Dask arrays do not support boolean assignment.c                 óZ   € VP                  V R4      pVP                  VR4      pW4,          # ©é   )éÿÿÿÿr   r   )r   r   r   ©Úreshape)ÚxÚnÚxpÚ
x_reshapedÚ
n_reshapeds   &&&  Út/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/integrate/tests/test_cubature.pyÚbasic_1d_integrandr   "   s+   € Ø—‘˜A˜zÓ*€JØ—‘˜A˜zÓ*€JàÕ!Ð!ó    c                 ó^   € VP                  ^V ^,           ,          V ^,           ,          R4      # )é   ©r   r   r   ©r   r   s   &&r   Úbasic_1d_integrand_exactr#   )   s#   € à�:‰:�a˜!˜A�#•h  !¥•n gÓ.Ð.r   c                 óv   € VP                  VP                  V RR7      R4      VP                  VR4      ,          # )r   ©Úaxisr   r!   ©r   r   )r   Úsum)r   r   r   s   &&&r   Úbasic_nd_integrandr)   .   s0   € Ø�:‰:�b—f‘f˜Q R�fÓ(¨'Ó2°B·J±J¸qÀ'Ó4JÕJÐJr   c                 ó†   € ^^V ,           ,          ) ^^V ,           ,          ,           ^V ,           ^V ,           ,          ,          # ©r    © r"   s   &&r   Úbasic_nd_integrand_exactr-   2   s0   € à��1•�XˆI˜˜A˜a�C�Õ  A a¥C¨!¨A­#¥;Õ/Ð/r   c                óf  € V P                   ^ ,          V P                   R,          rTVR,          pVP                  W.^.\        VP                   4      ^,
          ,          OVN54      pVP                  ^\        P
                  ,          V,          VP                  Wg,          RR7      ,           4      # )z½
.. math:: f_1(\mathbf x) = \cos\left(2\pi r + \sum^n_{i = 1}\alpha_i x_i\right)

.. code-block:: mathematica

    genzMalik1980f1[x_List, r_, alphas_List] := Cos[2*Pi*r + Total[x*alphas]]
r%   r   ©N.)Úshaper   ÚlenÚcosÚmathÚpir(   )r   ÚrÚalphasr   ÚnpointsÚndimÚalphas_reshapedr   s   &&&&    r   Úgenz_malik_1980_f_1r:   7   s…   € ð —G‘G˜A•J §¡¨¥ˆTà˜YÕ'€OØ—‘˜AÐN¨A¨3´°F·L±LÓ0AÀAÕ0EÕ+FÐNÈÑNÓO€Jà�6‰6�!”D—G‘G•)˜A•+ §¡ Õ'CÈ" Ó MÕMÓNÐNr   c           	      ó~  € \        V 4      pVP                  V . ^.\        VP                  4      ^,
          ,          OVN54      p VP                  V. ^.\        VP                  4      ^,
          ,          OVN54      pRV,          ^,          VP	                  VRR7      ,          VP                  ^\        P                  ,          V,          VP                  W0V,           ,          R,          RR7      ,           4      ,          VP	                  VP                  W0V,
          ,          ^,          4      RR7      ,          # )r   r%   ç      à?éþÿÿÿr   )
r   r   r1   r0   Úprodr2   r3   r4   r(   Úsin)ÚaÚbr5   r6   r   r8   s   &&&&& r   Úgenz_malik_1980_f_1_exactrB   H   sü   € Ü�1‹:€DØ
�
‰
�1Ð<˜!˜œc &§,¡,Ó/°!Õ3Õ4Ð<°tÑ<Ó=€AØ
�
‰
�1Ð<˜!˜œc &§,¡,Ó/°!Õ3Õ4Ð<°tÑ<Ó=€Að 
ˆd�
Ø
õ	Ø�G‰G�F ˆGÓ$õ	%à
�&‰&�”4—7‘7•˜1•˜rŸv™v f°!µ¥n°sÕ&:À˜vÓDÕDÓ
Eõ	Fð �'‰'�"—&‘&˜ Q¥3�¨Õ)Ó*°ˆ'Ó
4õ	5ðr   c                 óä   € VP                  V P                  VR R 4      4      pVP                  V P                  V4      4      p^	pVP                  VRR7      R,          pWT,          V,          pW43# )Nr%   r   ©.N©ÚasarrayÚrandomr(   )Úrngr0   r   r5   r6   Ú
difficultyÚnormalisation_factorss   &&&    r   Úgenz_malik_1980_f_1_random_argsrK   U   si   € Ø
�
‰
�3—:‘:˜e C R˜jÓ)Ó*€AØ�Z‰Z˜Ÿ
™
 5Ó)Ó*€Fà€JØŸF™F 6°˜FÓ3°IÕ>ÐØÕ Ð#8Õ8€Fàˆ;Ðr   c                óL  € V P                   ^ ,          V P                   R,          rTVR,          pVR,          pVP                  W.^.\        VP                   4      ^,
          ,          OVN54      p^VP                  V^,          W‡,
          ^,          ,           RR7      ,          # )zØ
.. math:: f_2(\mathbf x) = \prod^n_{i = 1} (\alpha_i^2 + (x_i - \beta_i)^2)^{-1}

.. code-block:: mathematica

    genzMalik1980f2[x_List, alphas_List, betas_List] :=
        1/Times @@ ((alphas^2 + (x - betas)^2))
r%   r   r/   )r0   r   r1   r>   ©	r   r6   Úbetasr   r7   r8   r9   Úbetas_reshapedr   s	   &&&&     r   Úgenz_malik_1980_f_2rP   `   s‰   € ð —G‘G˜A•J §¡¨¥ˆTà˜YÕ'€OØ˜9Õ%€Nà—‘˜AÐN¨A¨3´°F·L±LÓ0AÀAÕ0EÕ+FÐNÈÑNÓO€JàˆR�W‰W�_ aÕ'¨:Õ+DÀqÕ*HÕHÈrˆWÓRÕRÐRr   c                 óú  € \        V 4      pVP                  V . ^.\        VP                  4      ^,
          ,          OVN54      p VP                  V. ^.\        VP                  4      ^,
          ,          OVN54      pRV,          ^,          VP	                  VRR7      ,          VP	                  VP                  W,
          V,          4      VP                  W,
          V,          4      ,
          RR7      ,          # ©r   r%   r   )r   r   r1   r0   r>   Úatan©r@   rA   r6   rN   r   r8   s   &&&&& r   Úgenz_malik_1980_f_2_exactrU   s   sÐ   € Ü�1‹:€DØ
�
‰
�1Ð<˜!˜œc &§,¡,Ó/°!Õ3Õ4Ð<°tÑ<Ó=€AØ
�
‰
�1Ð<˜!˜œc &§,¡,Ó/°!Õ3Õ4Ð<°tÑ<Ó=€Að 
ˆd�
�Q��r—w‘w˜v¨B�wÓ/Õ/Ø
�'‰'Ø�G‰G�Q•Y Õ&Ó'¨"¯'©'°1µ9¸fÕ2DÓ*EÕEØð ó 
õ	
ðr   c                 ó¼  € VR,          pVP                  V P                  V4      4      pVP                  V P                  V4      4      pRpVP                  WBP                  R4      ,          RR7      pWrP                  ^^V,          ,          4      ,          R,          pWH,          \        P                  ! V^^V,          ,          4      ,          pV^
,          pWE3# )r   g      9@r%   r   g       ÀrD   )rF   rG   r>   r3   Úpow)	rH   r0   r   r8   r6   rN   rI   ÚproductsrJ   s	   &&&      r   Úgenz_malik_1980_f_2_random_argsrY   �   s®   € Ø��9€DØ�Z‰Z˜Ÿ
™
 5Ó)Ó*€FØ�J‰J�s—z‘z %Ó(Ó)€Eà€JØ�w‰w�vŸz™z¨$Ó/Õ/°bˆwÓ9€HØ%§z¡z°!°q¸µvµ,Ó'?Õ?ÀÕKÐØÕ+¬d¯hªh°zÀ1ÈÈ$ÍÅ<Ó.PÕP€Fð ˆb…L€Fàˆ=Ðr   c                ó   € V P                   ^ ,          V P                   R,          rCVR,          pVP                  W.^.\        VP                   4      ^,
          ,          OVN54      pVP                  VP	                  WV,          RR7      4      # )z§
.. math:: f_3(\mathbf x) = \exp\left(\sum^n_{i = 1} \alpha_i x_i\right)

.. code-block:: mathematica

    genzMalik1980f3[x_List, alphas_List] := Exp[Dot[x, alphas]]
r%   r   r/   ©r0   r   r1   Úexpr(   ©r   r6   r   r7   r8   r9   r   s   &&&    r   Úgenz_malik_1980_f_3r^   ’   st   € ð —G‘G˜A•J §¡¨¥ˆTà˜YÕ'€OØ—‘˜AÐN¨A¨3´°F·L±LÓ0AÀAÕ0EÕ+FÐNÈÑNÓO€Jà�6‰6�"—&‘&˜Õ5¸B�&Ó?Ó@Ð@r   c                 óÞ  € \        V 4      pVP                  V . ^.\        VP                  4      ^,
          ,          OVN54      p VP                  V. ^.\        VP                  4      ^,
          ,          OVN54      pRV,          ^,          VP	                  VRR7      ,          VP	                  VP                  W ,          4      VP                  W!,          4      ,
          RR7      ,          # rR   )r   r   r1   r0   r>   r\   )r@   rA   r6   r   r8   s   &&&& r   Úgenz_malik_1980_f_3_exactr`   £   sÀ   € Ü�1‹:€DØ
�
‰
�1Ð<˜!˜œc &§,¡,Ó/°!Õ3Õ4Ð<°tÑ<Ó=€AØ
�
‰
�1Ð<˜!˜œc &§,¡,Ó/°!Õ3Õ4Ð<°tÑ<Ó=€Að 
ˆd�
�Q��r—w‘w˜v¨B�wÓ/Õ/Ø
�'‰'�"—&‘&˜�Ó$ r§v¡v¨f­jÓ'9Õ9Àˆ'Ó
Cõ	Dðr   c                 óž   € VP                  V P                  V4      4      pVP                  VRR7      R,          pRpWS,          V,          pV3# )r   r%   g      (@r   rD   rE   )rH   r0   r   r6   rJ   rI   s   &&&   r   Úgenz_malik_1980_f_3_random_argsrb   ®   sL   € Ø�Z‰Z˜Ÿ
™
 5Ó)Ó*€FØŸF™F 6°˜FÓ3°IÕ>ÐØ€JØÕ Ð#8Õ8€Fàˆ9Ðr   c                ó.  € V P                   ^ ,          V P                   R,          rCVR,          pVP                  W.^.\        VP                   4      ^,
          ,          OVN54      p^VP                  WV,          RR7      ,           V) ^,
          ,          # )zÌ
.. math:: f_4(\mathbf x) = \left(1 + \sum^n_{i = 1} \alpha_i x_i\right)^{-n-1}

.. code-block:: mathematica
    genzMalik1980f4[x_List, alphas_List] :=
        (1 + Dot[x, alphas])^(-Length[alphas] - 1)
r%   r   r/   )r0   r   r1   r(   r]   s   &&&    r   Úgenz_malik_1980_f_4rd   ·   s{   € ð —G‘G˜A•J §¡¨¥ˆTà˜YÕ'€OØ—‘˜AÐN¨A¨3´°F·L±LÓ0AÀAÕ0EÕ+FÐNÈÑNÓO€Jà�—‘�Õ3¸"�Ó=Õ=À$ÀÀqÅÕIÐIr   c                 óH   aaa€ \        V 4      oVVV3R  lp\        W@VS4      # )c                 ó:  <€ SP                  V . ^.\        SP                  4      ^,
          ,          OSN54      pRS,          SP                  SRR7      ,          \        P
                  ! S4      ,          ^SP                  SV,          RR7      ,           ,          # rR   )r   r1   r0   r>   r3   Ú	factorialr(   )r   r   r6   r8   r   s   & €€€r   ÚFÚ$genz_malik_1980_f_4_exact.<locals>.FË   sƒ   ø€ Ø—Z‘Z Ð#I q c¬3¨v¯|©|Ó+<¸qÕ+@Õ&AÐ#IÀDÑ#IÓJˆ
ð �$�J�r—w‘w˜v¨B�wÓ/Õ/Ü�nŠn˜TÓ"õ#à�2—6‘6˜& :Õ-°B�6Ó7Õ7õ9ð	
r   )r   Ú_eval_indefinite_integral)r@   rA   r6   r   rh   r8   s   &&ff @r   Úgenz_malik_1980_f_4_exactrk   È   s"   ú€ Ü�1‹:€D÷
ô % Q¨1¨bÓ1Ð1r   c                ó–  € \        V4      pVP                  W.^ R7      p^ p\        P                  ! \	        ^4      VR7       F|  pTP                  \        V\	        V4      4       UU	u. uF  w  r‰\        WXV	3,          4      NK  	  up	p4      p
V\        R\        V4      V,           4      V ! V
4      ,          ,          pK~  	  V# u up	pi )z{
Calculates a definite integral from points `a` to `b` by summing up over the corners
of the corresponding hyperrectangle.
r%   )Úrepeatr   )
r   ÚstackÚ	itertoolsÚproductÚrangerF   ÚzipÚfloatrW   r(   )rh   r@   rA   r   r8   ÚpointsÚoutÚindÚiÚjÚselected_pointss   &&&&       r   rj   rj   ×   s­   € ô �1‹:€DØ�X‰X�q�f 1ˆXÓ%€Fà
€CÜ× Ò ¤ q£°$×7ˆØŸ*™*Ü-0°´e¸D³kÔ-BÔCÑ-B¡T QŒU�6˜Q˜$•<Ö Ñ-BÒCó
ˆð 	Œs�2”s˜3“x $•Ó'©!¨OÓ*<Õ<Õ<Šñ	 8ð €Jùó	 Ds   Á)Cc                 ó¾   € VR,          pVP                  V P                  V4      4      pVP                  VRR7      R,          pRpWc,          V,          V,          pV3# )r   r%   g      ,@r   rD   rE   )rH   r0   r   r8   r6   rJ   rI   s   &&&    r   Úgenz_malik_1980_f_4_random_argsr{   ê   sZ   € Ø��9€Dà�Z‰Z˜Ÿ
™
 5Ó)Ó*€FØŸF™F 6°˜FÓ3°IÕ>ÐØ€JØÕ 6Õ)Ð,AÕA€Fàˆ9Ðr   c                ó^  € V P                   ^ ,          V P                   R,          rTVR,          pVR,          pVP                  W.^.\        VP                   4      ^,
          ,          OVN54      pVP                  VP	                  V^,          W‡,
          ^,          ,          RR7      ) 4      # )zã
.. math::

    f_5(\mathbf x) = \exp\left(-\sum^n_{i = 1} \alpha^2_i (x_i - \beta_i)^2\right)

.. code-block:: mathematica

    genzMalik1980f5[x_List, alphas_List, betas_List] :=
        Exp[-Total[alphas^2 * (x - betas)^2]]
r%   r   r/   r[   rM   s	   &&&&     r   Úgenz_malik_1980_f_5r}   õ   s•   € ð —G‘G˜A•J §¡¨¥ˆTà˜YÕ'€OØ˜9Õ%€Nà—‘˜AÐN¨A¨3´°F·L±LÓ0AÀAÕ0EÕ+FÐNÈÑNÓO€Jà�6‰6Ø	�‰� Õ" jÕ&AÀAÕ%EÕEÈBˆÓ	OÐOóð r   c           	      óx  € \        V 4      pVP                  V . ^.\        VP                  4      ^,
          ,          OVN54      p VP                  V. ^.\        VP                  4      ^,
          ,          OVN54      pRV,          ^,          VP	                  VRR7      ,          \
        P                  V^,          ,          ,          VP	                  \        P                  P                  W#V ,
          ,          4      \        P                  P                  W!V,
          ,          4      ,           RR7      ,          # )r   r%   r<   r   )
r   r   r1   r0   r>   r3   r4   ÚscipyÚspecialÚerfrT   s   &&&&& r   Úgenz_malik_1980_f_5_exactr‚     sý   € Ü�1‹:€DØ
�
‰
�1Ð<˜!˜œc &§,¡,Ó/°!Õ3Õ4Ð<°tÑ<Ó=€AØ
�
‰
�1Ð<˜!˜œc &§,¡,Ó/°!Õ3Õ4Ð<°tÑ<Ó=€Að 
ˆt�Ø
õ	Ø�G‰G�F ˆGÓ$õ	%ä�7‰7�T˜!•VÕõ	ð �'‰'Ü�M‰M×Ñ˜f°­	Õ2Ó3Ü�m‰m×Ñ ¨e­)Õ 4Ó5õ6àð ó 
õ	
ð	r   c                 óN  € VP                  V P                  V4      4      pVP                  V P                  V4      4      pR pVP                  VP                  W2P                  R4      ,          RR7      4      R,          pW6,          \        P                  ! V4      ,          pW43# )g      5@g       @r%   r   rD   )rF   rG   Úsqrtr(   r3   )rH   r0   r   r6   rN   rI   rJ   s   &&&    r   Úgenz_malik_1980_f_5_random_argsr…     s   € Ø�Z‰Z˜Ÿ
™
 5Ó)Ó*€FØ�J‰J�s—z‘z %Ó(Ó)€Eà€JØŸG™G B§F¡F¨6·:±:¸c³?Õ+BÈ FÓ$LÓMÈiÕXÐØÕ+¬d¯iªi¸
Ó.CÕC€Fàˆ=Ðr   c                ó0  € V P                   ^ ,          V P                   R,          rCVR,          pVP                  W.^.\        VP                   4      ^,
          ,          OVN54      pVP                  VP	                  WV,          ^,          RR7      ) 4      # )zR
.. math::

    f(\mathbf x) = \exp\left(-\sum^n_{i = 1} (\alpha_i x_i)^2 \right)
r%   r   r/   r[   r]   s   &&&    r   Ú
f_gaussianr‡   )  s|   € ð —G‘G˜A•J §¡¨¥ˆTØ˜YÕ'€OØ—‘˜AÐN¨A¨3´°F·L±LÓ0AÀAÕ0EÕ+FÐNÈÑNÓO€Jà�6‰6�2—6‘6˜?Õ7¸!Õ;À"�6ÓEÐEÓFÐFr   c                 óè  € \        V 4      p^ p^ p\        V4       F„  pVP                  W,          4      '       d)   VP                  W,          4      '       d   V^,          pKH  VP                  W,          4      VP                  W,          4      8w  g   K{  V^,          pK†  	  \        P                  ! \        P
                  4      V,          ^V,          VP                  VRR7      ,          ,          # )r   r%   r   )r   rq   Úisinfr3   r„   r4   r>   )r@   rA   r6   r   r8   Údouble_infinite_countÚsemi_infinite_countrw   s   &&&&    r   Úf_gaussian_exactrŒ   6  s²   € ô �1‹:€DØÐØÐä�4Ž[ˆØ�8‰8�A•D�>Š>˜bŸh™h q¥tŸnšnØ! QÕ&Ò!Ø�X‰X�a•d‹^˜rŸx™x¨­›~Ö-Ø 1Õ$Òñ	 ô �IŠI”d—g‘gÓ $Õ&Ø	ÐÕ §¡¨°b Ó!9Õ9õð r   c                 óZ   € VP                  V P                  V4      4      pV^d,          pV3# )éd   )rF   rG   )rH   r0   r   r6   s   &&& r   Úf_gaussian_random_argsr�   L  s,   € Ø�Z‰Z˜Ÿ
™
 5Ó)Ó*€Fð ˆc…M€Fàˆ9Ðr   c                ó  € V R,          V R,          V R,          V R,          3w  r4rVW1R,          ,          VP                  V4      ,          VP                  V) V^,          ,
          V^,          ,
          4      ,          pVP                  # )z>
.. math::

    f(x, y, z, w) = x^n \sqrt{y} \exp(-y-z^2-w^2)
©ºNNNr   )r’   r   )r’   r    )r’   é   )r’   N)r„   r\   ÚT)Úx_arrr   r   r   ÚyÚzÚwÚress   &&&     r   Úf_modified_gaussianrš   V  sg   € ð �t•˜e D�k¨5°­;¸¸d½ÐC�J€Aˆ!Ø�'•
�?˜bŸg™g a›jÕ
(¨2¯6©6°1°"°Q¸µTµ'¸!¸Q½$µ,Ó+?Õ
?€Cà�5‰5€Lr   c                 óh   € ^^^V,          ,           ,          \         P                  R,          ,          # )r   g      ø?)r3   r4   )r@   rA   r   r   s   &&&&r   Úf_modified_gaussian_exactrœ   b  s$   € ð
 ˆa�!�A•#�g�;œŸ™ SÕ)Õ)Ð)r   c                ó    € V F'  pVP                  W8H  4      '       g   K  \        R4      h	  VP                  V P                  ^ ,          4      # )z�
This emulates a function with a list of singularities given by `points`.

If no `x_arr` are one of the `points`, then this function returns 1.
úcalled with a problematic point)ÚanyÚ
ValueErrorÚonesr0   )r•   rt   r   Úpoints   &&& r   Úf_with_problematic_pointsr£   j  sD   € ó ˆØ�6‰6�%‘.×!Ô!ÜÐ>Ó?Ð?ñ ð �7‰7�5—;‘;˜q•>Ó"Ð"r   c                   ó–   a € ] tR tRt o Rt]P                  P                  R. RO4      R 4       tR t	R t
R tR tR	 tR
 tR tRtV tR# )ÚTestCubatureix  z/
Tests related to the interface of `cubature`.
Úrule_strc                ó(  € VP                  ^VP                  R7      pVP                  ^ ^ .VP                  R7      pVP                  ^^.VP                  R7      p\        \        WEWV3R7      p\        VP                  \        W24      R^ R7       R# )é   ©Údtype)ÚruleÚargsç:Œ0âŽyE>©ÚrtolÚatolN)ÚarangeÚfloat64rF   r	   r)   r   Úestimater-   )Úselfr¦   r   r   r@   rA   r™   s   &&&    r   Útest_pass_strÚTestCubature.test_pass_str~  s~   € ð �I‰I�a˜rŸz™zˆIÓ*ˆØ�J‰J˜˜1�v R§Z¡ZˆJÓ0ˆØ�J‰J˜˜1�v R§Z¡ZˆJÓ0ˆäÔ)¨1°hÈÀWÔMˆäØ�L‰LÜ$ QÓ+ØØ÷		
r   c                óÞ   € \         P                  ! ^\         P                  R7      p^ .p^.p\        \        VVV\         3R7      p\        VP                  \        V\         4      R^ R7       R# ©r¨   r©   ©r¬   r­   r®   N)r   r±   r²   r	   r   r   r³   r#   )r´   r   r@   rA   r™   s   &    r   Útest_pass_array_like_not_arrayÚ+TestCubature.test_pass_array_like_not_array’  sc   € Ü×Ò˜Q¤i×&7Ñ&7Ô8ˆØˆCˆØˆCˆäÜØØØ”Y�ô	
ˆô 	Ø�L‰LÜ$ Q¬	Ó2ØØ÷		
r   c                ó  € VP                  ^ .4      pVP                  ^.4      p\        4       p\        \        VVV^
VP	                  ^VP
                  R7      V3R7      pVP                  ^
8X  g   Q hVP                  R8X  g   Q hR# )r   r©   )r«   Úmax_subdivisionsr¬   Únot_convergedN)rF   ÚBadErrorRuler	   r   r±   r²   ÚsubdivisionsÚstatus)r´   r   r@   rA   r«   r™   s   &&    r   Ú!test_stops_after_max_subdivisionsÚ.TestCubature.test_stops_after_max_subdivisions¥  s�   € Ø�J‰J˜�s‹OˆØ�J‰J˜�s‹OˆÜ‹~ˆäÜØØØØØ—)‘)˜A R§Z¡Z�)Ó0°"Ð5ô
ˆð ×Ñ 2Ô%Ð%Ð%Ø�z‰z˜_Ô,Ð,Ò,r   c           	     ó*  € VP                  ^ ..VP                  R7      pVP                  ^..VP                  R7      p\        P                  ! \        RR7      ;_uu_ 4        \        \        W#V3R7       RRR4       R#   + '       g   i     R# ; i)r   r©   z`a` and `b` must be 1D arrays©Úmatchr¹   N)rF   r²   ÚpytestÚraisesÚ	Exceptionr	   r   ©r´   r   r@   rA   s   &&  r   Útest_a_and_b_must_be_1dÚ$TestCubature.test_a_and_b_must_be_1d¶  sg   € Ø�J‰J˜˜�u B§J¡JˆJÓ/ˆØ�J‰J˜˜�u B§J¡JˆJÓ/ˆä�]Š]œ9Ð,K×LÖLÜÔ'¨°R°EÕ:÷ M×L×LÒLús   Á#BÂB	c           	     óò   € VP                  . 4      pVP                  . 4      p\        P                  ! \        R R7      ;_uu_ 4        \	        \
        W#V3R7       RRR4       R#   + '       g   i     R# ; i)z`a` and `b` must be nonemptyrÅ   r¹   N)rF   rÇ   rÈ   rÉ   r	   r   rÊ   s   &&  r   Útest_a_and_b_must_be_nonemptyÚ*TestCubature.test_a_and_b_must_be_nonempty½  sM   € Ø�J‰J�r‹NˆØ�J‰J�r‹Nˆä�]Š]œ9Ð,J×KÖKÜÔ'¨°R°EÕ:÷ L×K×KÒKús   ÁA%Á%A6	c           
     ó\  € VP                  ^VP                  R7      pVP                  ^ .VP                  R7      pVP                  ^ .VP                  R7      p\        \        VVW!3R7      p\        VP                  VP                  ^ .^ .^ .^ .^ ..VP                  R7      R^ R7       R# r¸   )r±   r²   rF   r	   r   r   r³   ©r´   r   r   r@   rA   r™   s   &&    r   Útest_zero_width_limitsÚ#TestCubature.test_zero_width_limitsÄ  s    € Ø�I‰I�a˜rŸz™zˆIÓ*ˆà�J‰J˜�s "§*¡*ˆJÓ-ˆØ�J‰J˜�s "§*¡*ˆJÓ-ˆäÜØØØ�ô	
ˆô 	Ø�L‰LØ�J‰J˜˜˜a˜S 1 #¨ s¨Q¨CÐ0¸¿
¹
ˆJÓCØØ÷		
r   c                ó&  € VP                  ^VP                  R7      pVP                  ^.VP                  R7      pVP                  ^ .VP                  R7      p\        \        VVW!3R7      p\        VP                  \        W!4      ) R^ R7       R# r¸   )r±   r²   rF   r	   r   r   r³   r#   rÑ   s   &&    r   Útest_limits_other_way_aroundÚ)TestCubature.test_limits_other_way_aroundØ  s‚   € Ø�I‰I�a˜rŸz™zˆIÓ*ˆà�J‰J˜�s "§*¡*ˆJÓ-ˆØ�J‰J˜�s "§*¡*ˆJÓ-ˆäÜØØØ�ô	
ˆô 	Ø�L‰LÜ% aÓ,Ð,ØØ÷		
r   c                óf  € \        \        VP                  ^ .VP                  R7      VP                  ^.VP                  R7      . VP                  ^.VP                  R7      V3R7      P                  P
                  pW!P                  8X  g   Q h\        \        VP                  ^ .VP                  R7      VP                  ^.VP                  R7      . VP                  ^.VP                  R7      V3R7      P                  P
                  pW!P                  8X  g   Q h\        \        VP                  ^ .VP                  R7      VP                  ^.VP                  R7      . VP                  ^.VP                  R7      V3R7      P                  P
                  pW!P                  8X  g   Q hR# )r   r©   )rt   r¬   N)r	   r   rF   r²   r³   rª   Úfloat32)r´   r   Úresult_dtypes   && r   Ú$test_result_dtype_promoted_correctlyÚ1TestCubature.test_result_dtype_promoted_correctlyì  sg  € ÜÜØ�J‰J˜�s "§*¡*ˆJÓ-Ø�J‰J˜�s "§*¡*ˆJÓ-ØØ—*‘*˜a˜S¨¯
©
�*Ó3°RÐ8ô
÷ ‰(—5‘5ð 	ð Ÿz™zÔ)Ð)Ð)äÜØ�J‰J˜�s "§*¡*ˆJÓ-Ø�J‰J˜�s "§*¡*ˆJÓ-ØØ—*‘*˜a˜S¨¯
©
�*Ó3°RÐ8ô
÷ ‰(—5‘5ð 	ð Ÿz™zÔ)Ð)Ð)äÜØ�J‰J˜�s "§*¡*ˆJÓ-Ø�J‰J˜�s "§*¡*ˆJÓ-ØØ—*‘*˜a˜S¨¯
©
�*Ó3°RÐ8ô
÷ ‰(—5‘5ð 	ð Ÿz™zÔ)Ð)Ò)r   r,   N)zgauss-kronrodú
genz-malikÚgk21Úgk15)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rÇ   ÚmarkÚparametrizerµ   rº   rÂ   rË   rÎ   rÒ   rÕ   rÚ   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r¥   r¥   x  s\   ø‡ € ñð ‡[�[×Ñ˜Zò *ó ñ
óð
ò
ò&-ò";ò;ò
ò(
÷(*ð *r   r¥   r¯   g-Cëâ6?r°   gñhãˆµøä>r«   c                   ó¨
  a € ] tR tRt o Rt]! RRR7      ]P                  P                  R]	]
^ .^
.R^.33]	]
^ ^ .^^.R^^.33]	]
^ ^ .^^.R^^.33]	]
. R"O. R#OR. R$O33]]R%.^.^.^.33]]^ ^ .^
^2.R&^.R'^.33]]. R"O. R$O. R$O. R$O33]]. R"O. R$O. R(O. R(O33]]. R)O. R$O. R$O. R*O33]]. R+O. R,O. R,O. R,O33]]R%.^.R.33]]^ R%.^^.^^.33]]. R)O. R$O. R$O33]]^ .^.^.33]]^ ^ .^^.^^.33]]. R"O. R$O. R$O33]]R%.^.R'.^.33]]R%R%.^^.^^.^^.33]]R%R%.^^.R%^.^ ^ .33]]. R)O. R$O. R$O. R$O33.4      R 4       4       t]! RRR7      ]P                  P                  R]	]
]3]]]3]]]3]]]3]]]3.4      ]P                  P                  R. R.O4      R	 4       4       4       t]P                  P                  RR
 R.^ .^
.R3R R.R%.^.R..3R R.. R"O. R$O. R/O.3R R.. R"O. R$O. R0O. R/O.3R R.. R"O. R$O. R1O. R0O. R/O.3.4      R 4       t]P                  P                  R]R7      ]P                  P                  R]R7      ]P                  P                  R]]]R2]P@                  ) .]P@                  .3]]]R3]P@                  ) ]P@                  ) .]P@                  ]P@                  .3]]]R2^ .]P@                  .3]]]R2]P@                  ) .^ .3]]]R3^ ^ .]P@                  ]P@                  .3]]]R3^ ]P@                  ) .]P@                  ]P@                  .3]]]R-^ ^ ]P@                  ) ]P@                  ) .]P@                  ]P@                  ]P@                  ]P@                  .3]]]R-]P@                  ) ]P@                  ) ]P@                  ) ]P@                  ) .^ ^ ]P@                  ]P@                  .3R R R ]!! 4       ^]P@                  ) ^.]P@                  R']P@                  .3]PD                  ! ]#]$R ]!! 4       ^ ^ ]P@                  ) ]P@                  ) .^]P@                  ]P@                  ]P@                  .3]P                  PJ                  R7      .
4      R 4       4       4       t&]P                  P                  R]R7      ]P                  P                  R]R7      ]P                  P                  RR R4]PN                  ,          .]P@                  ) .]P@                  .^ ..3R R4]PN                  ,          ]P@                  ) ^ .]P@                  ^.^ R..3.4      R  4       4       4       t(R!t)V t*R# )5ÚTestCubatureProblemsi  z1
Tests that `cubature` gives the correct answer.
ú
dask.arrayz0Dask hangs/takes a long time for some test cases©ÚreasonÚproblemc           
     ó"  a€ Vw  rgr‰p
SP                  VSP                  R 7      pSP                  V	SP                  R 7      p	\        ;QJ d    . V3R lV
 4       F  NK  	  5M! V3R lV
 4       4      p
\        V4      pVR8X  d   V^8  d   \        P
                  ! R4       \        VVV	VVV. V
OSN5R7      pVP                  R8X  g   Q hVP                  pV! W‰.V
OSN5!  p\        VVVVRVP                   RVP                   2R7       R	# )
r©   c              3   ó^   <"  € T F"  pSP                  VSP                  R 7      x € K$  	  R# 5i)r©   N©rF   r²   )Ú.0Úargr   s   & €r   Ú	<genexpr>Ú:TestCubatureProblems.test_scalar_output.<locals>.<genexpr>ó  s%   øé € ÐGÁ$¸3�R—Z‘Z ¨2¯:©:�Z×6Ð6Ã$ùs   ƒ*-rÜ   ú1Genz-Malik cubature does not support 1D integrals©r«   r¯   r°   r¬   Ú	convergedúestimate_error=ú, subdivisions=©r¯   r°   Úerr_msgN)rF   r²   Útupler   rÇ   Úskipr	   rÁ   r³   r   ÚerrorrÀ   )r´   rï   r«   r¯   r°   r   ÚfÚexactr@   rA   r¬   r8   r™   ÚestÚ	exact_sols   &&&&&f         r   Útest_scalar_outputÚ'TestCubatureProblems.test_scalar_output  s  ø€ ðl  'Ñˆ�!˜à�J‰J�q §
¡
ˆJÓ+ˆØ�J‰J�q §
¡
ˆJÓ+ˆßŒuÔGÁ$ÓG�u‰uÔGÁ$ÓGÓGˆä�q‹zˆà�<Ô D¨1¤HÜ�KŠKÐKÔLäØØØØØØØ�4�˜‘ô
ˆð �z‰z˜[Ô(Ð(Ð(à�l‰lˆÙ˜!Ð* Ð* rÓ*ˆ	äØØØØØ% c§i¡i [°À×@PÑ@PÐ?QÐR÷	
r   r0   c           
     óH  € \         P                  P                  ^4      pVR,          pVR8X  d   V^8  d   \        P                  ! R4       VR8X  d'   V^8¼  d    \        P
                  P                  R4       Vw  ršpV! WsV4      pVP                  ^ .V,          VP                  R7      pVP                  ^.V,          VP                  R7      p\        V	VVVVV. VOVN5R7      pVP                  pV
! WÞ.VOVN5!  p\        VVVVRVP                   RVP                   2R7       RVP                   R	VP                   R
VP                  VP                  V,
          4       2pVP                  R8X  g   Q V4       hVP                  P                   VRR 8X  g   Q hR# )r   rÜ   r÷   ú!Gauss-Kronrod is slow in >= 5 dimr©   rø   rú   rû   rü   ú, subdivisions= ú, true_error=rù   Nr   )r   rG   Údefault_rngrÇ   rÿ   rä   ÚslowrF   r²   r	   r³   r   r   rÀ   ÚabsrÁ   r0   )r´   rï   r«   r0   r¯   r°   r   rH   r8   r  r  Úrandom_argsr¬   r@   rA   r™   r  r  rý   s   &&&&&&&            r   Útest_array_outputÚ&TestCubatureProblems.test_array_output  s�  € ô\ ×Ñ×*Ñ*¨1Ó-ˆØ�R�yˆà�<Ô D¨1¤HÜ�KŠKÐKÔLà�<Ô D¨A¤IÜ�K‰K×ÑÐ@ÔAà 'Ñˆ�+Ù˜3 rÓ*ˆà�J‰J˜�s˜T•z¨¯©ˆJÓ4ˆØ�J‰J˜�s˜T•z¨¯©ˆJÓ4ˆäØØØØØØØ�4�˜‘ô
ˆð �l‰lˆÙ˜!Ð* Ð* rÓ*ˆ	äØØØØØ% c§i¡i [°À×@PÑ@PÐ?QÐRõ	
ð % S§Y¡Y Kð 0$Ø$'×$4Ñ$4Ð#5ð 6!Ø!#§¡¨¯©°yÕ(@Ó!AÐ BðDˆð �z‰z˜[Ô(Ð1¨'Ó1Ð(à�|‰|×!Ñ! U¨3¨B ZÔ/Ð/Ò/r   c                ó   € V # ©Nr,   ©r   r   s   &&r   Ú<lambda>ÚTestCubatureProblems.<lambda>m  s   € ™!r   g      I@Nc                ó2   € VP                  V 4      V ,          # r  ©r?   r  s   &&r   r  r  |  s   € ˜"Ÿ&™& ›) Až+r   gB¾sÂvi@g        c                óJ   € VP                  V P                  ^ ,          ^34      # ©r   ©r¡   r0   r  s   &&r   r  r  …  ó   € ˜"Ÿ'™' 1§7¡7¨1¥:¨q /Ô2r   g      ð?r<   c                óJ   € VP                  V P                  ^ ,          ^34      # r  r  r  s   &&r   r  r  Ž  r  r   ç      Ð?c                óJ   € VP                  V P                  ^ ,          ^34      # r  r  r  s   &&r   r  r  ˜  r  r   c                ó  € Vw  rgr‰p
VP                  W…P                  R 7      pVP                  W•P                  R 7      p	VP                  WuP                  R 7      pV
e+   V
 Uu. uF  qµP                  WµP                  R 7      NK   	  p
p\        V4      pVR8X  d   V^8  d   \        P                  ! R4       VR8X  d'   V^8¼  d    \        P
                  P                  R4       \        VVV	VVVV
V3R7      p\        VP                  VVVRVP                   RVP                   2RR	7       RVP                   R
VP                   RVP                  VP                  V,
          4       2pVP                  R8X  g   Q V4       hR# u upi )r©   NrÜ   r÷   r  ©r«   r¯   r°   rt   r¬   rú   rû   F)r¯   r°   rý   Úcheck_dtyper	  r
  rù   )rF   r²   r   rÇ   rÿ   rä   r  r	   r   r³   r   rÀ   r  rÁ   )r´   rï   r«   r¯   r°   r   r  r  r@   rA   rt   r¢   r8   r™   rý   s   &&&&&&         r   Útest_break_pointsÚ&TestCubatureProblems.test_break_pointsj  sx  € ðt ")Ñˆ�!˜à�J‰J�q§
¡
ˆJÓ+ˆØ�J‰J�q§
¡
ˆJÓ+ˆØ—
‘
˜5¯
©
�
Ó3ˆàÒÙGMÓNÁv¸e—j‘j ¯j©j�jÖ9ÁvˆFÐNä�q‹zˆà�<Ô D¨1¤HÜ�KŠKÐKÔLà�<Ô D¨A¤IÜ�K‰K×ÑÐ@ÔAäØØØØØØØØ�ô	
ˆô 	Ø�L‰LØØØØ% c§i¡i [°À×@PÑ@PÐ?QÐRØõ	
ð % S§Y¡Y Kð 0$Ø$'×$4Ñ$4Ð#5ð 6!Ø!#§¡¨¯©°uÕ(<Ó!=Ð >ð@ˆð �z‰z˜[Ô(Ð1¨'Ó1Ò(ùòC Os   Á#$Fú	jax.numpyc                óD   € ^VP                  V RR7      ^,          ,          # rR   )r>   r  s   &&r   r  r    s   € ˜!˜BŸG™G A¨B˜GÓ/°Õ2Ö2r   c                ó<   € VP                  RVP                  R7      # )r   r©   gUUUUUUÅ?rò   )r@   rA   r   s   &&&r   r  r    s   € ˜RŸZ™Z¨°2·:±:˜ZÔ>r   c                ó   € \        4       # r  )rþ   ©rH   r0   r   s   &&&r   r  r    s   € ¤5¤7r   c                óB   € VP                  . ROVP                  R7      3# )r   r©   )r   r   r    r“   é   rò   r(  s   &&&r   r  r  0  s   € ¨¯
©
²?È"Ï*É*¨
Ó(UÑ'Wr   )Úmarksc           
     óØ  € \         P                  P                  ^4      pVw  rxršr¼VP                  WµP                  R7      pVP                  WÅP                  R7      pV	! WjV4      p\        V4      pVR8X  d   V^8  d   \        P                  ! R4       VR8X  d'   V^8¼  d    \        P                  P                  R4       VR8X  d8   V^8¼  d1   \        V4      '       d    \        P                  P                  R4       \        VVVVVV. VOVN5R7      pVP                  R8X  g   Q h\        VP                  V! W¼.VOVN5!  VVRVP                    R	VP"                   2R
R7       R# )r   r©   rÜ   r÷   zGenz-Malik is slow in >= 5 dimz5Genz-Malik very slow for array_api_strict in >= 4 dimrø   rù   úerror_estimate=rû   F©r¯   r°   rý   Úcheck_0dN)r   rG   r  rF   r²   r   rÇ   rÿ   rä   r  r   Úxslowr	   rÁ   r   r³   r   rÀ   )r´   rï   r«   r¯   r°   r   rH   r  r  Úrandom_args_funcÚrandom_args_shaper@   rA   r¬   r8   r™   s   &&&&&&          r   Útest_infinite_limitsÚ)TestCubatureProblems.test_infinite_limitsÎ  sM  € ôZ ×Ñ×*Ñ*¨1Ó-ˆØ>EÑ;ˆÐ"°qà�J‰J�q§
¡
ˆJÓ+ˆØ�J‰J�q§
¡
ˆJÓ+ˆÙ ¸Ó;ˆä�q‹zˆà�<Ô D¨1¤HÜ�KŠKÐKÔLà�<Ô D¨A¤IÜ�K‰K×ÑÐ=Ô>à�<Ô D¨A¤IÔ2EÀb×2IÒ2IÜ�K‰K×ÑÐUÔVäØØØØØØØ�4�˜‘ô
ˆð �z‰z˜[Ô(Ð(Ð(äØ�L‰LÙ�!Ð"˜Ð"˜rÓ"ØØØ% c§i¡i [°À×@PÑ@PÐ?QÐRØ÷	
r   c                ó@   € VP                  V 4      V ,          ^,          # )é   r  r  s   &&r   r  r  g  s   € ˜2Ÿ6™6 !›9 q�=¨1Ö,r   c                ó\   € VP                  V R,          4      V R,          ,          ^,          # )r’   r‘   r  r  s   &&r   r  r  v  s   € ˜2Ÿ6™6 ! D¥'›?¨Q¨t­WÕ4°qÖ8r   c                ó6  € Vw  rgr‰p
VP                  W…P                  R 7      pVP                  W•P                  R 7      p	VP                  WuP                  R 7      p\        V4      pVR8X  d   V^8  d   \        P                  ! R4       V
e+   V
 Uu. uF  qÅP                  WÅP                  R 7      NK   	  p
p\        VVV	VVVV
V3R7      pVP                  R8X  g   Q h\        VP                  VVVRVP                   RVP                   2RR	7       R# u upi )
r©   rÜ   r÷   Nr   rù   r-  rû   Fr.  )rF   r²   r   rÇ   rÿ   r	   rÁ   r   r³   r   rÀ   )r´   rï   r«   r¯   r°   r   r  r  r@   rA   rt   r8   r¢   r™   s   &&&&&&        r   Ú%test_infinite_limits_and_break_pointsÚ:TestCubatureProblems.test_infinite_limits_and_break_pointsb  s  € ðF ")Ñˆ�!˜à�J‰J�q§
¡
ˆJÓ+ˆØ�J‰J�q§
¡
ˆJÓ+ˆØ—
‘
˜5¯
©
�
Ó3ˆä�q‹zˆà�<Ô D¨1¤HÜ�KŠKÐKÔLàÒÙGMÓNÁv¸e—j‘j ¯j©j�jÖ9ÁvˆFÐNäØØØØØØØØ�ô	
ˆð �z‰z˜[Ô(Ð(Ð(äØ�L‰LØØØØ% c§i¡i [°À×@PÑ@PÐ?QÐRØ÷	
ùò Os   Â$Dr,   )r   r   r   )r¨   r¨   r¨   ©r   r   r   r   éýÿÿÿr=   )r    r“   r*  )r   r   r   )r    r    r    )r   r   r   r   )r   r   r   r   ©r   r*  )	r+   ©r“   )r*  )r   r    )r   r“   r=  )r“   r    )r“   r*  r    )r    r   r“   )r<   r<   r<   )r  r  r  )gš™™™™™¹?r  r<   )r   r   )r    r    gßê­Þê­Þ?)+rß   rà   rá   râ   rã   Úskip_xp_backendsrÇ   rä   rå   r:   rB   rP   rU   r^   r`   rd   rk   r}   r‚   r  rK   rY   rb   r{   r…   r  r"  Úboolean_index_skip_reasonr‡   rŒ   r�   r3   Úinfrþ   Úparamrš   rœ   r0  r3  r4   r9  ræ   rç   rè   s   @r   rë   rë     s+  ø‡ € ññ �lØOôQà‡[�[×Ñ˜Yð  ð &ð ˆCð ˆDð Ø�ðð	
ð(  Ø%Ø�ˆFØ�ˆFàØ�A�ðð		
ð  Ø%Ø�ˆFØ�ˆFàØ�A�ðð		
ð  Ø%ÚÚàÚðð		
ð  Ø%ØˆDØˆCà�Ø�ðð		
ð  Ø%à�ˆFØ�ˆHà�Q�Ø�Q�ðð
	
ð  Ø%ÚÚâÚðð		
ð  Ø%ÚÚâÚðð		
ð  Ø%ÚÚâÚðð		
ð  Ø%ÚÚâÚðð		
ð  Ø%ØˆDØˆCà�ðð	
ð  Ø%Ø�ˆGØ�ˆFà�A�ðð	
ð  Ø%ÚÚâðð	
ð  Ø%ØˆCØˆCà�ðð	
ð  Ø%Ø�ˆFØ�ˆFØ�ˆVˆIð	
ð  Ø%ÚÚÚˆLð	
ð  Ø%ØˆDØˆCà�Ø�ðð		
ð  Ø%Ø�ˆHØ�ˆFà�A�Ø�A�ðð		
ð  Ø%Ø�ˆHØ�ˆFà�Q�Ø�A�ðð		
ð  Ø%ÚÚâÚðð		
ðQR)ó Rñf!
ógRóQðj!
ñF �lØOôQà‡[�[×Ñ˜Yð  ð &ð ,ð		
ð  Ø%Ø+ð	
ð  Ø%Ø+ð	
ð  Ø%Ø+ð	
ð  Ø%Ø+ð	
ð5)ó ð@ ‡[�[×Ñ˜Wò 
'ó 
ñ*0ó
óAóQðZ*0ðX ‡[�[×Ñ˜Yñ ð ˆFð ˆCð ˆDð ð	
ñ" &ØÐØˆDØˆCà�ðð	
ñ 3ØˆEÚÚâðð	
ñ 3ØˆEÚÚâ"Úðð		
ñ 3ØˆEÚÚâ Ú"Úðð
	
ð[8)ó 8ñr)2ós8ðr)2ðV ‡[�[×!Ñ! +Ð6OÐ!ÓPØ‡[�[×!Ñ! ,Ð7PÐ!ÓQØ‡[�[×Ñ˜Yð ð ð #Øð �h‰hˆYˆKØ�X‰XˆJð	
ð  ØØ"ØØ�h‰hˆY˜Ÿ™˜	Ð"Ø�X‰X�t—x‘xÐ ð	
ð ØØ"ØØˆCØ�X‰XˆJð	
ð ØØ"ØØ�h‰hˆYˆKØˆCð	
ð ØØ"ØØ�ˆFØ�X‰X�t—x‘xÐ ð	
ð ØØ"ØØ�—‘�	ˆNØ�X‰X�t—x‘xÐ ð	
ð ØØ"ØØ��D—H‘H�9˜tŸx™x˜iÐ(Ø�X‰X�t—x‘x §¡¨4¯8©8Ð4ð	
ð ØØ"ØØ�h‰hˆY˜Ÿ™˜	 D§H¡H 9¨t¯x©x¨iÐ8Ø��4—8‘8˜TŸX™XÐ&ð	
ñ 3ñ ?ñ +Ù‹Gà�—‘�	˜1ÐØ�X‰X�r˜4Ÿ8™8Ð$ð	
ð 	�Šð $ð *ñ XÙ“à�A˜Ÿ™�y 4§8¡8 )Ð,Ø�D—H‘H˜dŸh™h¨¯©Ð1ðð —+‘+×#Ñ#ô!	
ðoi)ó iñT&
óUió Ró QðX&
ðP ‡[�[×!Ñ! +Ð6OÐ!ÓPØ‡[�[×!Ñ! ,Ð7PÐ!ÓQØ‡[�[×Ñ˜Yñ -ð �t—w‘wÕÐð �h‰hˆYˆKØ�X‰XˆJð ˆSˆEð	
ñ" 9ð �d—g‘gÕð �h‰hˆY˜ˆNØ�X‰X�qˆMð �ˆXˆJð	
ð!)ó ñ@#
óAó Ró QöD#
r   rë   c                   óŽ   a € ] tR tRt o Rt]P                  P                  R^ ^ .^^.]R3^ .^.]	R	3.4      R 4       t
R tRtV tR# )
Ú	TestRulesiª  zB
Tests related to the general Rule interface (currently private).
rï   c           	     óD  € Vw  r4rVV! VR V/ pVP                  W2P                  R7      pVP                  WBP                  R7      p\        P                  ! \        RR7      ;_uu_ 4        VP                  \        W4V3R7       RRR4       R#   + '       g   i     R# ; i)r   r©   zincompatible dimensionrÅ   r¹   N)rF   r²   rÇ   rÈ   rÉ   r³   r   )r´   rï   r   r@   rA   Ú
quadratureÚquadrature_argsr«   s   &&&     r   Ú(test_incompatible_dimension_raises_errorÚ2TestRules.test_incompatible_dimension_raises_error¯  s|   € ð" -4Ñ)ˆˆjÙ˜?Ð2¨rÑ2ˆà�J‰J�q§
¡
ˆJÓ+ˆØ�J‰J�q§
¡
ˆJÓ+ˆä�]Š]œ9Ð,D×EÖEØ�M‰MÔ,¨a¸"¸ˆMÔ?÷ F×E×EÒEús   Á*BÂB	c           
     ó4  € VP                  ^ .4      pVP                  ^.4      p\        4       \        4       3 FG  p\        P                  ! \
        4      ;_uu_ 4        VP                  \        W#V3R7       RRR4       KI  	  R#   + '       g   i     K^  ; i)r   r¹   N)rF   r   r   rÇ   rÈ   rÉ   r³   r   )r´   r   r@   rA   Ú
base_classs   &&   r   Ú+test_estimate_with_base_classes_raise_errorÚ5TestRules.test_estimate_with_base_classes_raise_errorÉ  sl   € Ø�J‰J˜�s‹OˆØ�J‰J˜�s‹Oˆä›6¤9£;Ó/ˆJÜ—’œy×)Õ)Ø×#Ñ#Ô$6¸ÀBÀ5Ð#ÔI÷ *Ñ)ó 0ß)×)Ð)ús   ÁBÂBr,   N©é   r+   )rß   rà   rá   râ   rã   rÇ   rä   rå   r   r   rH  rL  ræ   rç   rè   s   @r   rD  rD  ª  st   ø‡ € ñð ‡[�[×Ñ˜Yð �ˆFØ�ˆFØ"Øð	
ð ˆCØˆCØØð	
ð)ó ñ @ó!ð @÷Jð Jr   rD  c            	       ó  a € ] tR tRt o Rt]P                  P                  R	]R
3]R3]R3]	R3]	R3.4      R 4       t
]P                  P                  R]]3R3.4      R 4       t]P                  P                  R].4      R 4       tRtV tR# )ÚTestRulesQuadratureiÒ  z0
Tests underlying quadrature rules (ndim == 1).
c                óx  aa
€ V! VR S/ pSP                  ^SP                  R7      o
V
V3R lpSP                  ^ .SP                  R7      pSP                  ^.SP                  R7      pSP                  ^S
^,           ,          S
^,           ,          R4      pVP	                  WVV4      p	\        V	VR^ R7       R# )r   r©   c                 ó\   <€ SP                  V R4      pSP                  SR4      pW,          # r   r   )r   r   r   r   r   s   &  €€r   r  Ú>TestRulesQuadrature.test_base_1d_quadratures_simple.<locals>.fã  s,   ø€ ØŸ™ A zÓ2ˆJØŸ™ A zÓ2ˆJàÕ)Ð)r   r­   r®   Nr!   )r±   r²   rF   r   r³   r   )r´   r«   Ú	rule_argsr   rF  r  r@   rA   r  r³   r   s   &&&f      @r   Útest_base_1d_quadratures_simpleÚ3TestRulesQuadrature.test_base_1d_quadratures_simple×  s§   ù€ ñ ˜9Ð,¨Ñ,ˆ
à�I‰I�a˜rŸz™zˆIÓ*ˆö	*ð �J‰J˜�s "§*¡*ˆJÓ-ˆØ�J‰J˜�s "§*¡*ˆJÓ-ˆà—
‘
˜1˜q �s�8 Q q¥S�>¨7Ó3ˆØ×&Ñ& q¨QÓ/ˆäØØØØ÷		
r   c           	     óœ  € VP                  ^VP                  R7      pVP                  ^ .VP                  R7      pVP                  ^.VP                  R7      pV^ ,          ! V^ ,          VR7      pV^,          ! V^,          VR7      p\        Wx4      p	\	        \
        WVV	RWC3R7      p
\        V
P                  \        WC4      R^ R7       R# )r¨   r©   ©r   r­   )r«   r¯   r¬   r®   N)	r±   r²   rF   r   r	   r   r   r³   r#   )r´   Ú	rule_pairÚrule_pair_argsr   r   r@   rA   ÚhigherÚlowerr«   r™   s   &&&&       r   Ú.test_base_1d_quadratures_error_from_differenceÚBTestRulesQuadrature.test_base_1d_quadratures_error_from_differenceö  s¸   € ð
 �I‰I�a˜rŸz™zˆIÓ*ˆØ�J‰J˜�s "§*¡*ˆJÓ-ˆØ�J‰J˜�s "§*¡*ˆJÓ-ˆà˜1–˜n¨QÕ/°BÔ7ˆØ˜!–˜^¨AÕ.°2Ô6ˆä˜vÓ-ˆÜÜØØØØ�ô
ˆô 	Ø�L‰LÜ$ QÓ+ØØ÷		
r   rF  c                ó˜   € \         P                  ! \        4      ;_uu_ 4        V! ^VR7       RRR4       R#   + '       g   i     R# ; i)r   rY  N)rÇ   rÈ   rÉ   )r´   rF  r   s   &&&r   Ú$test_one_point_fixed_quad_impossibleÚ8TestRulesQuadrature.test_one_point_fixed_quad_impossible  s,   € ô �]Š]œ9×%Õ%Ù�q˜RÕ ÷ &×%×%Ò%ús	   £8¸A		r,   N)r«   rU  r>  )r¨   )é
   )é   rN  )rZ  r[  )rc  r¨   )rß   rà   rá   râ   rã   rÇ   rä   rå   r   r   rV  r^  ra  ræ   rç   rè   s   @r   rQ  rQ  Ò  sÃ   ø‡ € ñð ‡[�[×ÑÐ2Ø	  $Ð'Ø	  $Ð'Ø	  %Ð(Ø	 Ð'Ø	 Ð'ð5ó ñ
óð
ð0 ‡[�[×ÑÐ<Ø
!Ð#:Ð	;¸WÐEð?ó ñ
óð
ð2 ‡[�[×Ñ˜\Øð,ó ñ!óö!r   rQ  c                   ó|   a € ] tR tRt o Rt]P                  P                  R]! ^^4      4      R 4       t	R t
RtV tR# )ÚTestRulesCubaturei  z.
Tests underlying cubature rules (ndim >= 2).
r8   c                óÌ   € \        WR7      P                  w  r4VP                  ^ ,          ^V,          ^V^,          ,          ,           ^V,          ,           ^,           8X  g   Q hR# )z{
Tests that the number of function evaluations required for Genz-Malik cubature
matches the number in Genz and Malik 1980.
rY  N)r   Únodes_and_weightsr0   )r´   r8   r   ÚnodesÚ_s   &&&  r   Ú test_genz_malik_func_evaluationsÚ2TestRulesCubature.test_genz_malik_func_evaluations  sK   € ô % TÔ1×CÑC‰ˆà�{‰{˜1�~ ! T¥'¨Q¨t°Q­w­YÕ!6¸¸4½Õ!?À!Õ!CÔCÐCÒCr   c                ó¢   € \         P                  ! \        R R7      ;_uu_ 4        \        ^VR7       RRR4       R#   + '       g   i     R# ; i)zonly defined for ndim >= 2rÅ   rY  N)rÇ   rÈ   rÉ   r   )r´   r   s   &&r   Útest_genz_malik_1d_raises_errorÚ1TestRulesCubature.test_genz_malik_1d_raises_error*  s.   € Ü�]Š]œ9Ð,H×IÖIÜ˜a BÕ'÷ J×I×IÒIús	   ¥=½A	r,   N)rß   rà   rá   râ   rã   rÇ   rä   rå   rq   rk  rn  ræ   rç   rè   s   @r   rf  rf    sA   ø‡ € ñð ‡[�[×Ñ˜V¡U¨1¨b£\Ó2ñDó 3ðD÷(ð (r   rf  r$  rí   rì   c                   óÂ   a € ] tR tRt o ]P
                  P                  R^ ^]P                  ) .^]P                  ]P                  .. RO. RO.3.4      R 4       t	Rt
V tR# )ÚTestTransformationsi/  c           	     óè  aa€ S Uu. uF   pSP                  VSP                  R7      NK"  	  upo\        VV3R lSP                  VSP                  R7      SP                  VSP                  R7      SR7      pS FY  pVP                  SP	                  VR4      4      p\
        P                  ! \        RR7      ;_uu_ 4        V! V4       RRR4       K[  	  R# u upi   + '       g   i     Ku  ; i)z`
Test that break points are correctly mapped under the _InfiniteLimitsTransform
transformation.
r©   c                 ó   <€ \        V SS4      # r  )r£   )r   rt   r   s   &€€r   r  ÚKTestTransformations.test_infinite_limits_maintains_points.<locals>.<lambda>F  s   ø€ Ô/°°6¸2Ô>r   rY  rž   rÅ   Nr'   )rF   r²   r
   Úinvr   rÇ   rÈ   rÉ   )	r´   r@   rA   rt   r   ÚpÚf_transformedr¢   Útransformed_points	   &&&ff    r   Ú%test_infinite_limits_maintains_pointsÚ9TestTransformations.test_infinite_limits_maintains_points2  sÂ   ù€ ñ  <BÓB¹6°a�"—*‘*˜Q b§j¡j�*Ö1¹6ÑBˆä0å>Ø�J‰J�q §
¡
ˆJÓ+Ø�J‰J�q §
¡
ˆJÓ+Øô
ˆó ˆEØ -× 1Ñ 1°"·*±*¸UÀGÓ2LÓ MÐä—’œyÐ0Q×RÖRÙÐ/Ô0÷ SÑRó ùò C÷ S×RÐRús   ‡&CÃ	C Ã C1r,   N)r@   rA   rt   r;  )r<   rc  rc  )rß   rà   rá   râ   rÇ   rä   rå   r3   rA  ry  ræ   rç   rè   s   @r   rq  rq  /  sb   ø‡ € ð ‡[�[×ÑÐ1à��D—H‘H�9ÐØ�—‘˜$Ÿ(™(Ð#âÚðð	
ð	4ó 	ñ1ó	ö1r   rq  c                   ó8   a € ] tR tRt o RtRR ltRR ltRtV tR# )r¿   iS  zH
A rule with fake high error so that cubature will keep on subdividing.
c                óV   € \        W#4      p\        ^
VR7      pVP                  WW44      # )rc  rY  )r   r   r³   )r´   r  r@   rA   r¬   r   Ú
underlyings   &&&&&  r   r³   ÚBadErrorRule.estimateX  s+   € Ü˜QÓ"ˆÜ,¨R°BÔ7ˆ
à×"Ñ" 1¨Ó1Ð1r   c                óR   € \        W#4      pVP                  R VP                  R7      # )g    €„.Ar©   )r   rF   r²   )r´   r  r@   rA   r¬   r   s   &&&&& r   Úestimate_errorÚBadErrorRule.estimate_error^  s#   € Ü˜QÓ"ˆØ�z‰z˜# R§Z¡ZˆzÓ0Ð0r   r,   N)r,   )	rß   rà   rá   râ   rã   r³   r€  ræ   rç   rè   s   @r   r¿   r¿   S  s   ø‡ € ñô2÷1ò 1r   r¿   )rÞ   rÝ   rÜ   );r3   r   ro   rÇ   Úscipy._lib._array_apir   r   r   r   r   r   Úscipy.integrater	   Úscipy.integrate._cubaturer
   Úscipy.integrate._rulesr   r   r   r   r   r   rä   r?  r@  r   r#   r)   r-   r:   rB   rK   rP   rU   rY   r^   r`   rb   rd   rk   rj   r{   r}   r‚   r…   r‡   rŒ   r�   rš   rœ   r£   r¥   rå   rë   rD  rQ  rf  rq  r¿   r,   r   r   Ú<module>r†     sã  ðÛ Û Û ã ÷÷ õ %Ý >÷÷ ð —;‘;×/Ñ/Ð ØPÐ ò"ò/ò
Kò0ò
Oò"
òòSò&òò"Aò"òòJò"2òò&òò0ò"ò
Gòò,ò	ò*ò#ñ �8Ó÷P*ð P*ó ðP*ñf �8ÓØ‡�×Ñ˜ $ Ó(Ø‡�×Ñ˜ $ Ó(Ø‡�×Ñ˜ò "ó ÷
S

ð S

óó )ó )ó ðS

÷l%Jñ %J÷PE!ñ E!÷P(ñ (ð* ‡�×Ñ˜kÐ2KÐÓLØ‡�×Ñ˜lÐ3LÐÓM÷1ð 1ó Nó Mð1ôD1�4ö 1r   