Ë
    âQ(h ¯  ã                   ó€  — d dl Z d dlZd dlZd dl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 d dlmZmZmZmZmZ d dlmZmZ d dlmZmZmZ d dlmZ d d	l m!Z! dd
„Z"dd„Z#d„ Z$eejJ                  jM                  d«      ejJ                  jO                  dd¬«      ejJ                  jO                  dd¬«       G d„ d«      «       «       «       «       Z(eejJ                  jM                  d«      ejJ                  jO                  dd¬«      ejJ                  jO                  dd¬«       G d„ d«      «       «       «       «       Z)y)é    N)Úassert_allclose)Úarray_api_compatible)Úxp_assert_closeÚxp_assert_equal)Úarray_namespaceÚxp_sizeÚxp_ravelÚxp_copyÚis_numpy)ÚspecialÚstats)Úquad_vecÚnsumÚtanhsinh)Ú_pair_cache)Ú_gen_harmonic_gt1c                 ó|   — |€t        | «      n|}dd|j                  z  dz  z  |j                  | dz   dz  «      z  S )Né   é   ç      à?)r   ÚpiÚexp©ÚxÚxps     úa/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/integrate/tests/test_tanhsinh.pyÚnorm_pdfr      s@   € Ø!˜zŒ˜Ô	¨r€BØˆa�—‘‰g˜‰^Ñ˜bŸf™f a¨¡d U¨1¡W›oÑ-Ð-ó    c                 ó|   — |€t        | «      n|}dt        j                  d|j                  z  «      z  | dz  dz  z
  S )Ng      à¿r   )r   ÚmathÚlogr   r   s     r   Únorm_logpdfr"      s;   € Ø!˜zŒ˜Ô	¨r€BØ”—‘˜˜2Ÿ5™5™Ó!Ñ! A q¡D¨¡FÑ*Ð*r   c                 ó   — d„ }|S )Nc                 ó   ‡ — ˆ fd„}|S )Nc                  ó   •— | d   j                   }| D �cg c]  }t        |«      ‘Œ } }g }t        t        j                  |«      «      D ](  }| D �cg c]  }||   ‘Œ	 }}|j                   ‰|Ž «       Œ* |S c c}w c c}w )Nr   )Úshaper	   Úranger    ÚprodÚappend)Ú
arg_arraysr&   Ú	arg_arrayÚresÚiÚarg_scalarsÚfs         €r   Úwrappedz._vectorize.<locals>.decorator.<locals>.wrapped    s†   ø€ Ø˜q‘M×'Ñ'ˆEØ?IÖJ°)œ( 9Õ-ÐJˆJÐJØˆCÜœ4Ÿ9™9 UÓ+Ó,ò ,�Ø=GÖH°	˜y¨›|ÐH�ÐHØ—
‘
™1˜k˜?Õ+ð,ð ˆJùò Kùò Is   •A6ÁA;© )r/   r0   s   ` r   Ú	decoratorz_vectorize.<locals>.decorator   s   ø€ ô	ð ˆr   r1   )r   r2   s     r   Ú
_vectorizer3      s   € ò
ð Ðr   Úskip_xp_backendsÚarray_api_strictz)Currently uses fancy indexing assignment.©Úreasonz	jax.numpyz*JAX arrays do not support item assignment.c                   ó€
  — e Zd Zd„ Zde_        de_        d„ Zej                  dz
  d ej                  d«      z  z   dz  e_        de_        d„ Z
 ej                  ej                  dz  «      dz
  dz  e
_        ej                  dz  e
_        d„ Zd	ej                  dz  z  d
z  e_        de_        d„ Zde_        de_        d„ Zej                  dz  e_        de_        d„ Zd ej                   ej                  «      z   ej$                  d«      z   ej$                  d«      z  e_        de_        d„ Zde_        de_        d„ Zej                    ej                  d«      z  dz  e_        ej                  dz  e_        d„ Zej                   ej                   d«      z  dz  e_        ej                  dz  e_        d„ Zej                  dz  e_        ej.                  e_        d„ Z ej                   ej                  «      e_        ej.                  e_        d„ Z ej                   ej                  dz  «      e_        ej.                  e_        d„ Zde_        ej.                  e_        d„ Zej                  dz  e_        ej.                  e_        dPd„Zd„ Zej>                  jA                  dde!j.                  fdge!j.                   dfdge!j.                   e!j.                  fdge!j.                  e!j.                   fd gd!e"jF                  jI                  d «      e"jF                  jI                  d«      z
  gg«      d"„ «       Z%ej>                  jM                  d#d$¬%«      ej>                  jA                  d& e'dd'«      «      d(„ «       «       Z(ej>                  jM                  d#d)¬%«      ej>                  jA                  d*dd+d,gf«      ej>                  jA                  d-e"jR                  jT                  «      d.„ «       «       «       Z+ej>                  jA                  d/ e,«       d0d1d2g«      d3„ «       Z-d4„ Z.d5„ Z/d6„ Z0d7„ Z1d8„ Z2ej>                  jM                  d9d:¬;«      ej>                  jA                  d<d=d>g«      d?„ «       «       Z3d@„ Z4ej>                  jA                  dA e'd«      «      dB„ «       Z5dC„ Z6ej>                  jA                  dDdEe!j.                   dgdFdFgff«      ej>                  jA                  dGdH«      dI„ «       «       Z7dJ„ Z8dK„ Z9dL„ Z:ej>                  jM                  d#¬M«      dN„ «       Z;dO„ Z<y)QÚTestTanhSinhc                 ó8   — |t        j                  d|z   «      z  S ©Nr   ©Únpr!   ©ÚselfÚts     r   Úf1zTestTanhSinh.f19   s   € Ø”2—6‘6˜!˜a™%“=Ñ Ð r   ç      Ð?r   c                 ó8   — |dz  t        j                  |«      z  S ©Nr   )r=   Úarctanr>   s     r   Úf2zTestTanhSinh.f2?   s   € Ø�A‰vœŸ	™	 !›Ñ$Ð$r   r   é   c                 óX   — t        j                  |«      t        j                  |«      z  S ©N©r=   r   Úcosr>   s     r   Úf3zTestTanhSinh.f3E   s   € Ü�v‰v�a‹yœ2Ÿ6™6 !›9Ñ$Ð$r   c                 óz   — t        j                  d|dz  z   «      }t        j                  |«      d|dz  z   |z  z  S )Nr   r   )r=   ÚsqrtrE   )r?   r@   Úas      r   Úf4zTestTanhSinh.f4K   s8   € Ü�G‰G�A˜˜Q™‘JÓˆÜ�y‰y˜‹|  A¨¡F¡
¨aÑ/Ñ0Ð0r   é   é`   c                 óX   — t        j                  |«      t        j                  |«      z  S rI   )r=   rN   r!   r>   s     r   Úf5zTestTanhSinh.f5R   s   € Ü�w‰w�q‹zœBŸF™F 1›IÑ%Ð%r   gÇqÇqÜ¿c                 ó8   — t        j                  d|dz  z
  «      S ©Nr   r   ©r=   rN   r>   s     r   Úf6zTestTanhSinh.f6X   s   € Ü�w‰w�q˜1 ™6‘zÓ"Ð"r   é   c                 ód   — t        j                  |«      t        j                  d|dz  z
  «      z  S rV   rW   r>   s     r   Úf7zTestTanhSinh.f7^   s&   € Ü�w‰w�q‹zœBŸG™G A¨¨Q©¡JÓ/Ñ/Ð/r   g      è?c                 ó2   — t        j                  |«      dz  S rD   r<   r>   s     r   Úf8zTestTanhSinh.f8d   s   € Ü�v‰v�a‹y˜A‰~Ðr   c                 óR   — t        j                  t        j                  |«      «      S rI   )r=   r!   rK   r>   s     r   Úf9zTestTanhSinh.f9j   s   € Ü�v‰v”b—f‘f˜Q“iÓ Ð r   c                 óR   — t        j                  t        j                  |«      «      S rI   )r=   rN   Útanr>   s     r   Úf10zTestTanhSinh.f10p   s   € Ü�w‰w”r—v‘v˜a“yÓ!Ð!r   c                 ó   — dd|dz  z   z  S rV   r1   r>   s     r   Úf11zTestTanhSinh.f11v   s   € Ø�A˜˜Q™‘JÑÐr   c                 óZ   — t        j                  | «      t        j                  |«      z  S rI   )r=   r   rN   r>   s     r   Úf12zTestTanhSinh.f12|   s   € Ü�v‰v�q�b‹zœBŸG™G A›JÑ&Ð&r   c                 ó:   — t        j                  |dz   dz  «      S rD   )r=   r   r>   s     r   Úf13zTestTanhSinh.f13‚   s   € Ü�v‰v�q˜A‘v�g ‘kÓ"Ð"r   c                 óZ   — t        j                  | «      t        j                  |«      z  S rI   rJ   r>   s     r   Úf14zTestTanhSinh.f14ˆ   s   € Ü�v‰v�q�b‹zœBŸF™F 1›IÑ%Ð%r   r   c                 ó2   — t        j                  |«      |z  S rI   )r=   Úsinr>   s     r   Úf15zTestTanhSinh.f15Ž   s   € Ü�v‰v�a‹y˜1‰}Ðr   Nc                 óÀ   — |€t        ||«      n|}t        ||z
  «      }|s|S t        j                  d¬«      5  |j	                  |«      cd d d «       S # 1 sw Y   y xY w)NÚignore©Údivide)r   Úabsr=   ÚerrstateÚlog10)r?   r,   Úrefr!   r   Úerrs         r   ÚerrorzTestTanhSinh.error”   sU   € Ø*,¨*Œ_˜S #Ô&¸"ˆÜ�#˜‘)‹nˆáØˆJä�[‰[ Ô)ñ 	!Ø—8‘8˜C“=÷	!÷ 	!ò 	!ús   ¹AÁAc                 ó‚  — | j                   }|j                  d«      }|j                  |j                  «      }d}t        j                  t
        |¬«      5  t        d||«       d d d «       d}t        j                  t
        |¬«      5  t        |||d¬«       d d d «       d}t        j                  t
        |¬«      5  t        ||j                  d	«      |«       d d d «       t        j                  t
        |¬«      5  t        |||d
¬«       d d d «       t        j                  t
        |¬«      5  t        |||t        ¬«       d d d «       d}t        j                  t
        |¬«      5  t        |||d¬«       d d d «       t        j                  t
        |¬«      5  t        ||||j                  ¬«       d d d «       d}t        j                  t
        |¬«      5  t        ||||j                  d¬«       d d d «       t        j                  t
        |¬«      5  t        ||||j                  d¬«       d d d «       d}t        j                  t
        |¬«      5  t        |||t        «       ¬«       d d d «       t        j                  t
        |¬«      5  t        |||d¬«       d d d «       d}t        j                  t
        |¬«      5  t        |||d¬«       d d d «       t        j                  t
        |¬«      5  t        |||d¬«       d d d «       d}t        j                  t
        |¬«      5  t        |||d¬«       d d d «       d}t        j                  t
        |¬«      5  t        |||d¬«       d d d «       y # 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   �Œ›xY w# 1 sw Y   �ŒqxY w# 1 sw Y   �ŒIx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   �Œ…xY w# 1 sw Y   �Œ_xY w# 1 sw Y   �Œ7xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒèxY w# 1 sw Y   y xY w)Nr   ú`f` must be callable.©Úmatché*   ú...must be True or False.r   ©r!   ú...must be real numbers.ù      ð?      ð?Úekki©Úatol©Úrtolú#...must be non-negative and finite.éÿÿÿÿú ...may not be positive infinity.T)r…   r!   )rƒ   r!   z...must be integers.©Úmaxlevelzmigratory coconut)Úminlevelz...must be non-negative.©Úpreserve_shapez...must be callable.Ú
elderberry)Úcallback)	rA   ÚasarrayÚbÚpytestÚraisesÚ
ValueErrorÚ	_tanhsinhÚinfÚobject)r?   r   r/   ÚzeroÚf_bÚmessages         r   Útest_input_validationz"TestTanhSinh.test_input_validationž   sk  € Ø�G‰Gˆà�z‰z˜!‹}ˆØ�j‰j˜Ÿ™‹oˆà)ˆÜ�]‰]œ:¨WÔ5ñ 	%Ü�b˜$ Ô$÷	%ð .ˆÜ�]‰]œ:¨WÔ5ñ 	+Ü�a˜˜s¨Õ*÷	+ð -ˆÜ�]‰]œ:¨WÔ5ñ 	0Ü�a˜Ÿ™ DÓ)¨3Ô/÷	0ä�]‰]œ:¨WÔ5ñ 	1Ü�a˜˜s¨Õ0÷	1ä�]‰]œ:¨WÔ5ñ 	1Ü�a˜˜s¬Õ0÷	1ð 8ˆÜ�]‰]œ:¨WÔ5ñ 	-Ü�a˜˜s¨Õ,÷	-ä�]‰]œ:¨WÔ5ñ 	1Ü�a˜˜s¨¯©Õ0÷	1ð 5ˆÜ�]‰]œ:¨WÔ5ñ 	;Ü�a˜˜s¨¯©°TÕ:÷	;ä�]‰]œ:¨WÔ5ñ 	;Ü�a˜˜s¨¯©°TÕ:÷	;ð )ˆÜ�]‰]œ:¨WÔ5ñ 	7Ü�a˜˜s¬V«XÕ6÷	7ô �]‰]œ:¨WÔ5ñ 	BÜ�a˜˜sÐ-@ÕA÷	Bð -ˆÜ�]‰]œ:¨WÔ5ñ 	1Ü�a˜˜s¨RÕ0÷	1ô �]‰]œ:¨WÔ5ñ 	1Ü�a˜˜s¨RÕ0÷	1ð .ˆÜ�]‰]œ:¨WÔ5ñ 	6Ü�a˜˜s°1Õ5÷	6ð )ˆÜ�]‰]œ:¨WÔ5ñ 	;Ü�a˜˜s¨\Õ:÷	;ð 	;÷a	%ñ 	%ú÷	+ñ 	+ú÷	0ñ 	0ú÷	1ñ 	1ú÷	1ñ 	1ú÷	-ñ 	-ú÷	1ñ 	1ú÷	;ñ 	;ú÷	;ñ 	;ú÷	7ñ 	7ú÷	Bñ 	Bú÷	1ñ 	1ú÷	1ñ 	1ú÷	6ð 	6ú÷	;ð 	;ús´   ÁN Â	NÂ>NÃ>N'Ä1N4Å*OÆOÇOÈO(ÉO5ÊPË
PË=PÌ2P)Í'P5Î N
ÎNÎN$Î'N1Î4N>ÏOÏOÏO%Ï(O2Ï5O?ÐPÐPÐP&Ð)P2Ð5P>zlimits, refr   ç      ð?ç      ð¿)r   r‡   c                 óœ  — |D �cg c]  }|j                  |«      ‘Œ }}|j                  t        |d   «      «      j                  }|j                  ||¬«      }t        t        g|¢­Ž }t        |j                  |«       t        t        g|¢­ddiŽ}t        |j                  |j                  «      |d¬«       t        |Ž }|dkD  r(|j                  |j                  j                  d«      s*J ‚|j                  |j                  j                  d«      sJ ‚t        |j                  |j                  «      |j                  d	d¬
«       y c c}w )Nr   ©Údtyper!   TF)Úcheck_dtypeúreal floatingzcomplex floatingç¼‰Ø—²Òœ<)rƒ   r¡   )r�   Úfloatr    r•   r   r   Úintegralr"   r   r   Úisdtyperw   )	r?   Úlimitsru   r   Úlimitr    r,   ÚlogresÚxp_tests	            r   Útest_integral_transformsz%TestTanhSinh.test_integral_transformsØ   s  € ð 28Ö8¨�"—*‘*˜UÕ#Ð8ˆÐ8Ø—
‘
œ5 ¨¡Ó+Ó,×2Ñ2ˆØ�j‰j˜ EˆjÓ*ˆäœÐ* 6Ò*ˆÜ˜Ÿ™ cÔ*äœ;Ð:¨Ò:°TÑ:ˆÜ˜Ÿ™˜vŸ™Ó/°À%ÕHä! 6Ð*ˆØKNÐQRÊ7�—‘ §¡× 5Ñ 5°ÔGð 	Qð PØ—_‘_ V§_¡_×%:Ñ%:Ð<NÔOð	Qð Pô 	˜Ÿ™˜vŸ|™|Ó,¨c¯i©i¸eÐQVÖWùò 9s   …E	Tz!Cumbersome to convert everything.©Únp_onlyr7   Úf_numberé   c                 ó†  — t        | d|› �«      }d}t        |d|j                  |¬«      }t        |j                  |j
                  |¬«       |dvrMt        | j                  |j                  |j
                  «      |j                  z  «      }||j                  k  sJ ‚|dv ry |j                  sJ ‚|j                  dk(  sJ ‚y )Nr/   g:Œ0âŽyU>r   r„   >   é   >   é   é
   rG   )
Úgetattrr•   r‘   r   r¥   ru   rr   rw   ÚsuccessÚstatus)r?   r®   r   r/   r…   r,   Ú
true_errors          r   Ú
test_basiczTestTanhSinh.test_basicó   sª   € ô �D˜A˜h˜Z˜.Ó)ˆØˆÜ˜˜1˜aŸc™c¨Ô-ˆÜ˜Ÿ™ a§e¡e°$Õ7Ø˜4ÑÜ˜TŸZ™Z¨¯©°a·e±eÓ<¸S¿\¹\ÑIÓJˆJØ §	¡	Ò)Ð)Ð)à�{Ñ"Øà�{Š{Ðˆ{Ø�z‰z˜QŠÐ‰r   z#Distributions aren't xp-compatible.ru   gš™™™™™Ù?g333333ã?Úcasec                 óP  — |\  }}|dv rt        j                  d«       |dv r4t        t        j                  dd«      «      st        j                  d«        t        t        |«      |Ž }|j                  |«      }t        |j                  g|¢­Ž }t        |j                  |«       y )N>   ÚkstwoÚdgammaÚlaplaceÚdweibullz0tanh-sinh is not great for non-smooth integrands>   Úlevy_stableÚstudentized_rangeÚSCIPY_XSLOWr   z%This case passes, but it is too slow.)r’   ÚskipÚintÚosÚgetenvr´   r   Úintervalr•   Úpdfr   r¥   )	r?   ru   r¹   r   ÚdistnameÚparamsÚdistr   r,   s	            r   Útest_accuracyzTestTanhSinh.test_accuracy  s�   € ð
  Ñˆ�&ØÐAÑAä�K‰KÐJÔKØÐ<Ñ<ÜœBŸI™I m°QÓ7Ô8Ü�K‰KÐ?Ô@Ø'Œw”u˜hÓ'¨Ð0ˆØ�M‰M˜#ÓˆÜ˜Ÿ™Ð% 1Ò%ˆÜ˜Ÿ™ cÕ*r   r&   ©rG   ©é   rY   ©rÎ   r   r   c           
      óÚ  ‡‡— t         j                  j                  d«      }|j                  |j                  |«      «      }|j                  |j                  |«      «      }|j                  |j                  |«      «      }t	        j
                  |«      Šˆˆfd„Šd‰_        d‰_        t        |«      d„ «       }t        ‰|||f¬«      } ||||«      }	t        |«      }
g d¢}|D ]i  }|
j                  |	D �cg c]  }t        ||«      ‘Œ c}«      }t        t        ||«      «      }t        ||d¬«       t        ||«      j                  |k(  rŒiJ ‚ |
j!                  |j"                  j$                  d	«      sJ ‚|
j!                  |j&                  j$                  d
«      sJ ‚|
j!                  |j(                  j$                  d
«      sJ ‚|
j!                  |j*                  j$                  d
«      sJ ‚|j-                  |j(                  «      ‰j                  k(  sJ ‚|j-                  |j*                  «      dk\  sJ ‚|j-                  |j*                  «      ‰j                  k(  sJ ‚y c c}w )Nì   F»*ŒBG c                 óº   •— ‰xj                   dz  c_         ‰xj                  t        | «      ‰k(  s| j                  dk  rdn| j                  d   z  c_        | |z  S ©Nr   r‡   )ÚncallÚfevalr   Úndimr&   ©r   Úpr/   Úns     €€r   r/   z*TestTanhSinh.test_vectorization.<locals>.f   sE   ø€ Ø�GŠG�q‰L�GØ�GŠGœW Q›Z¨1š_°·±¸!²‘qÀ!Ç'Á'È"Á+ÑM�GØ�a‘4ˆKr   r   c                 ó$   ‡— t        ˆfd„| |«      S )Nc                 ó   •— | ‰z  S rI   r1   ©r   rØ   s    €r   ú<lambda>zKTestTanhSinh.test_vectorization.<locals>._tanhsinh_single.<locals>.<lambda>)  s   ø€  q¨!¡t€ r   )r•   )rO   r‘   rØ   s     `r   Ú_tanhsinh_singlez9TestTanhSinh.test_vectorization.<locals>._tanhsinh_single'  s   ø€ ä›^¨Q°Ó2Ð2r   ©Úargs©r¥   rw   rµ   r¶   ÚnfevrŠ   çVçž¯Ò<r„   Úboolr¥   r   )r=   ÚrandomÚdefault_rngr�   r    r(   rÔ   rÕ   r3   r•   r   Ústackr´   r	   r   r&   r¦   rµ   r    r¶   râ   rŠ   Úmax)r?   r&   r   ÚrngrO   r‘   rØ   rÞ   r,   Úrefsrª   ÚattrsÚattrru   Úref_attrÚres_attrr/   rÙ   s                   @@r   Útest_vectorizationzTestTanhSinh.test_vectorization  s  ù€ ô �i‰i×#Ñ#Ð$8Ó9ˆØ�J‰J�s—z‘z %Ó(Ó)ˆØ�J‰J�s—z‘z %Ó(Ó)ˆØ�J‰J�s—z‘z %Ó(Ó)ˆÜ�I‰I�eÓˆõ	ð ˆŒØˆŒä	�B‹ñ	3ó 
ð	3ô ˜˜1˜a q dÔ+ˆÙ  1 aÓ(ˆä! !Ó$ˆÚNˆØò 	5ˆDØ—}‘}ÀDÖ%I¸S¤g¨c°4Õ&8Ò%IÓJˆHÜ¤¨¨TÓ 2Ó3ˆHÜ˜H h°UÕ;Ü˜3 Ó%×+Ñ+¨uÓ4Ð4Ð4ð		5ð �‰˜sŸ{™{×0Ñ0°&Ô9Ð9Ð9Ø�‰˜sŸz™z×/Ñ/°Ô<Ð<Ð<Ø�‰˜sŸx™xŸ~™~¨zÔ:Ð:Ð:Ø�‰˜sŸ|™|×1Ñ1°:Ô>Ð>Ð>Ø�v‰v�c—h‘hÓ 1§7¡7Ò*Ð*Ð*à�v‰v�c—l‘lÓ# qÒ(Ð(Ð(Ø�v‰v�c—l‘lÓ# q§w¡wÒ.Ð.Ñ.ùò &Js   Ã9I(
c                 óf  ‡‡— ˆˆfd„Šd‰_         ‰j                  d‰j                  ¬«      f}‰j                  ‰j                  gdz  «      }‰j                  ‰j                   gdz  «      }t        ‰||d|¬«      }‰j                  g d¢‰j                  ¬«      }t        |j                  |«       y )Nc                 ó  •— ‰xj                   dz  c_         ˆfd„ˆfd„ˆfd„g}g }t        t        |«      «      D ]:  }| |df   }t        t	        |«      |   «      }|j                   ||   |«      «       Œ< ‰j                  |«      S )Nr   c                 ó.   •— ‰j                  | dz   «      S rD   ©r   r   s    €r   rÝ   z4TestTanhSinh.test_flags.<locals>.f.<locals>.<lambda>D  s   ø€ ˜rŸv™v q¨!¡t e›}€ r   c                 ó&   •— ‰j                  | «      S rI   ró   r   s    €r   rÝ   z4TestTanhSinh.test_flags.<locals>.f.<locals>.<lambda>E  s   ø€ ˜rŸv™v a›y€ r   c                 ó<   •— ‰j                  | ‰j                  «      S rI   )Ú	full_likeÚnanr   s    €r   rÝ   z4TestTanhSinh.test_flags.<locals>.f.<locals>.<lambda>F  s   ø€ ˜rŸ|™|¨A¨r¯v©vÓ6€ r   .)Únitr'   r   rÃ   r	   r)   rç   )	ÚxsÚjsÚfuncsr,   r-   r   Újr/   r   s	          €€r   r/   z"TestTanhSinh.test_flags.<locals>.fB  s„   ø€ Ø�EŠE�Q‰J�EÛ,Û(Û6ð8ˆEð ˆCÜœ7 2›;Ó'ò (�Ø�q˜#�v‘J�Üœ › Q™Ó(�Ø—
‘
˜8˜5 ™8 A›;Õ'ð(ð —8‘8˜C“=Ð r   r   rÎ   rŸ   rQ   )rŠ   rà   ©r   éþÿÿÿéýÿÿÿ)	rø   ÚarangeÚint64r�   r–   r•   Úint32r   r¶   )r?   r   rà   rO   r‘   r,   Ú	ref_flagsr/   s    `     @r   Ú
test_flagszTestTanhSinh.test_flags?  s’   ù€ õ
	!ð ˆŒà—	‘	˜! 2§8¡8�	Ó,Ð.ˆØ�J‰J˜Ÿ™�x ‘zÓ"ˆØ�J‰J˜Ÿ™˜�y 1‘}Ó%ˆÜ˜˜1˜a¨!°$Ô7ˆØ—J‘Jš{°"·(±(�JÓ;ˆ	Ü˜Ÿ
™
 IÕ.r   c                 ó  ‡— ˆfd„}‰j                  ‰j                  gdz  «      }‰j                  ‰j                   gdz  «      }t        |||dd¬«      }‰j                  g d¢‰j                  ¬«      }t	        |j
                  |«       y )Nc                 óº   •— ‰j                  | d   dz   «      ‰j                  | d   «      ‰j                  | d   ‰j                  «      g}‰j                  |«      S )Nr   r   r   )r   rö   r÷   rç   )r   r,   r   s     €r   r/   z1TestTanhSinh.test_flags_preserve_shape.<locals>.fX  sU   ø€ Ø—6‘6˜1˜Q™4 ™7˜(Ó#Ø—6‘6˜!˜A™$“<Ø—<‘<  !¡ b§f¡fÓ-ð/ˆCð —8‘8˜C“=Ð r   rÎ   rQ   T)rŠ   r�   rý   rŸ   )r�   r–   r•   r  r   r¶   )r?   r   r/   rO   r‘   r,   r  s    `     r   Útest_flags_preserve_shapez&TestTanhSinh.test_flags_preserve_shapeV  sr   ø€ ô	!ð �J‰J˜Ÿ™�x !‘|Ó$ˆØ�J‰J˜Ÿ™˜�y 1‘}Ó%ˆÜ˜˜1˜a¨!¸DÔAˆØ—J‘Jš{°"·(±(�JÓ;ˆ	Ü˜Ÿ
™
 IÕ.r   c                 ó  ‡‡— d„ Št        ˆfd„dd«      }t        ˆˆfd„‰j                  d«      ‰j                  d«      d¬«      }‰j                  d«      j                  }t	        |j
                  ‰j                  |d   |¬	«      «       y )
Nc                 óÞ   — |j                  |j                  | |j                  d| z  «      g«      |j                  |j                  d| z  «      | |j                  d| z  «      z  g«      g«      S )Nr³   é   éd   )rç   rl   rK   r   s     r   r/   z+TestTanhSinh.test_preserve_shape.<locals>.ff  se   € Ø—8‘8˜RŸX™X q¨"¯&©&°°a±«.Ð&9Ó:ØŸX™X r§v¡v¨b°1©f£~°q¸2¿6¹6À#ÈÁ'»?Ñ7JÐ&KÓLðNó Oð Or   c                 ó   •—  ‰| t         «      S rI   )r=   ©r   r/   s    €r   rÝ   z2TestTanhSinh.test_preserve_shape.<locals>.<lambda>j  s   ø€ ¡ 1¤b£€ r   r   r   c                 ó   •—  ‰| ‰«      S rI   r1   )r   r/   r   s    €€r   rÝ   z2TestTanhSinh.test_preserve_shape.<locals>.<lambda>k  s   ø€ ¡! A r£(€ r   TrŒ   ç        rŸ   )r   r•   r�   r    r   r¥   )r?   r   ru   r,   r    r/   s    `   @r   Útest_preserve_shapez TestTanhSinh.test_preserve_shaped  sp   ù€ ò	Oô Ó)¨1¨aÓ0ˆÜÔ*¨B¯J©J°q«M¸2¿:¹:Àa»=Ø'+ô-ˆà—
‘
˜2“×$Ñ$ˆÜ˜Ÿ™ b§j¡j°°Q±¸u jÓ&EÕFr   c                 ó>  ‡— ‰j                   }ˆfd„}‰j                  d|¬«      }‰j                  d|¬«      ‰j                  d|¬«      }}d}t        d«      D ]B  }t        |||d|¬«      }	| j	                  |	j
                  |d	‰¬
«      }
|
|dz  k  s|
dk  sJ ‚|
}ŒD y )Nc                 ó2   •— | ‰j                  d| z   «      z  S r;   r~   )r@   r   s    €r   r/   z(TestTanhSinh.test_convergence.<locals>.fs  s   ø€ Ø�r—v‘v˜a !™e“}Ñ$Ð$r   rB   rŸ   r  rœ   r   rY   ©r‹   rŠ   T)r!   r   r   g      /À)Úfloat64r�   r'   r•   rw   r¥   )r?   r   r    r/   ru   rO   r‘   Úlast_logerrr-   r,   Úlogerrs    `         r   Útest_convergencezTestTanhSinh.test_convergencep  s§   ø€ à—
‘
ˆô	%à�j‰j˜ UˆjÓ+ˆØ�z‰z˜" EˆzÓ*¨B¯J©J°rÀ¨JÓ,Gˆ1ˆàˆÜ�q“ò 	!ˆAÜ˜A˜q !¨a¸!Ô<ˆCØ—Z‘Z §¡¨c°tÀ�ZÓCˆFØ˜[¨1™_Ò,°¸²Ð?Ð>Ø ‰Kñ		!r   c                 óp  ‡‡‡— t        ‰j                  d«      «      Šˆˆˆfd„Š‰j                  t        j                  dz
  dt        j                  d«      z  z   dz  ‰j
                  ¬«      ‰_        d}‰j                  |z  }‰j                  d‰j
                  ¬«      }‰j                  d‰j
                  ¬«      }d\  ‰_        ‰_        t        ‰||«      }| j                  |j                  ‰j                  «      |j                  cxk  r|k  sJ ‚ J ‚|j                  ‰j                  k(  sJ ‚‰j                  |_        |j                  sJ ‚|j                  d	k(  sJ ‚d\  ‰_        ‰_        t        |j                   «      }t        ‰|||¬
«      }‰j                  |_        ||k(  sJ ‚d\  ‰_        ‰_        |dz  }|dk\  sJ ‚t        ‰|||¬
«      }| j                  |j                  ‰j                  «      |j                  cxk  r|kD  sJ ‚ J ‚|j                  ‰j                  cxk(  r|j                  k  sJ ‚ J ‚‰j                  |j                  dz
  k(  sJ ‚|j                  rJ ‚|j                  t"        j$                  k(  sJ ‚|}‰j                  |_        d\  ‰_        ‰_        t'        j(                  t+        |j                  «      t&        j,                  «      }	t        ‰||d	|	¬«      }|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚|j                  ‰j                  cxk(  r|j                  k(  sJ ‚ J ‚‰j                  |j                  k(  sJ ‚|j                  sJ ‚|j                  d	k(  sJ ‚d\  ‰_        ‰_        t'        j(                  t+        |j                  «      t&        j,                   «      }	t        ‰||d	|	¬«      }| j                  |j                  ‰j                  «      |j                  cxk  r|	k  sJ ‚ J ‚|j                  ‰j                  cxk(  r|j                  kD  sJ ‚ J ‚‰j                  |j                  kD  sJ ‚|j                  sJ ‚|j                  d	k(  sJ ‚d\  ‰_        ‰_        t'        j(                  t+        |j                  |j                  z  «      t&        j,                  «      }
t        ‰|||
¬«      }|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚|j                  ‰j                  cxk(  r|j                  k(  sJ ‚ J ‚‰j                  |j                  k(  sJ ‚|j                  sJ ‚|j                  d	k(  sJ ‚d\  ‰_        ‰_        t'        j(                  t+        |j                  |j                  z  «      t&        j,                   «      }
t        ‰|||
¬«      }| j                  |j                  ‰j                  «      ‰j                  z  |j                  |j                  z  cxk  r|
k  sJ ‚ J ‚|j                  ‰j                  cxk(  r|j                  kD  sJ ‚ J ‚‰j                  |j                  kD  sJ ‚|j                  sJ ‚|j                  d	k(  sJ ‚y )Nrœ   c                 ó¶   •— ‰xj                   dz  c_         ‰xj                  t        ‰j                  | «      «      z  c_        | dz  ‰j	                  | «      z  S rV   )ÚcallsrÕ   r   r�   Úatan©r   r/   r   rª   s    €€€r   r/   z:TestTanhSinh.test_options_and_result_attributes.<locals>.f„  sB   ø€ Ø�GŠG�q‰L�GØ�GŠG”w˜rŸz™z¨!›}Ó-Ñ-�GØ�a‘4˜'Ÿ,™, q›/Ñ)Ð)r   r   rG   rŸ   çê-�™—q=r  )r   r   r   r‰   r   ©r…   rƒ   r„   )r   r�   r    r   r!   r  ru   rÕ   r  r•   rw   r¥   râ   rµ   r¶   rÃ   rŠ   ÚeimÚ	_ECONVERRr=   Ú	nextafterr¤   r–   )r?   r   Údefault_rtolÚdefault_atolrO   r‘   ru   rŠ   r,   rƒ   r…   r/   rª   s    `         @@r   Ú"test_options_and_result_attributesz/TestTanhSinh.test_options_and_result_attributes  sn  ú€ ô " "§*¡*¨R£.Ó1ˆö	*ð
 —
‘
œDŸG™G a™K¨!¬d¯h©h°q«k©/Ñ9¸RÑ?ÀrÇzÁz�
ÓRˆŒàˆØ—u‘u˜|Ñ+ˆð �J‰J�r §¡ˆJÓ,ˆØ�J‰J�r §¡ˆJÓ,ˆð  ÑˆŒ�”Ü˜˜1˜aÓ ˆØ�z‰z˜#Ÿ,™,¨¯©Ó.°·±ÔI¸\ÒIÐIÑIÐIÐIØ�x‰x˜1Ÿ7™7Ò"Ð"Ð"Ø—G‘GˆŒ	Ø�{Š{Ðˆ{Ø�z‰z˜QŠÐˆð  ÑˆŒ�”Ü�s—|‘|Ó$ˆÜ˜˜1˜a¨(Ô3ˆØ—G‘GˆŒ	Ø�cŠzÐˆzð  ÑˆŒ�”Ø�A‰ˆØ˜1Š}Ðˆ}Ü˜˜1˜a¨(Ô3ˆØ�z‰z˜#Ÿ,™,¨¯©Ó.°·±ÔI¸\ÒIÐIÑIÐIÐIØ�x‰x˜1Ÿ7™7Ô- S§X¡XÒ-Ð-Ñ-Ð-Ð-Ø�w‰w˜#Ÿ)™) a™-Ò'Ð'Ð'Ø—;’;ÐˆØ�z‰zœSŸ]™]Ò*Ð*Ð*ð, ˆØ—G‘GˆŒ	ð  ÑˆŒ�”ä�|‰|œE #§)¡)Ó,¬b¯f©fÓ5ˆÜ˜˜1˜a a¨dÔ3ˆØ�|‰|˜sŸ|™|Ò+Ð+Ð+Ø�y‰y˜CŸI™IÒ%Ð%Ð%Ø�x‰x˜1Ÿ7™7Ô. c§h¡hÒ.Ð.Ñ.Ð.Ð.Ø�w‰w˜#Ÿ)™)Ò#Ð#Ð#à�{Š{Ðˆ{Ø�z‰z˜QŠÐˆàÑˆŒ�”ä�|‰|œE #§)¡)Ó,¬r¯v©v¨gÓ6ˆÜ˜˜1˜a a¨dÔ3ˆØ�z‰z˜#Ÿ,™,¨¯©Ó.°·±ÔA¸TÒAÐAÑAÐAÐAØ�x‰x˜1Ÿ7™7Ô- S§X¡XÒ-Ð-Ñ-Ð-Ð-Ø�w‰w˜Ÿ™Ò"Ð"Ð"Ø�{Š{Ðˆ{Ø�z‰z˜QŠÐˆð  ÑˆŒ�”ä�|‰|œE #§)¡)¨C¯L©LÑ"8Ó9¼2¿6¹6ÓBˆÜ˜˜1˜a dÔ+ˆØ�|‰|˜sŸ|™|Ò+Ð+Ð+Ø�y‰y˜CŸI™IÒ%Ð%Ð%Ø�x‰x˜1Ÿ7™7Ô. c§h¡hÒ.Ð.Ñ.Ð.Ð.Ø�w‰w˜#Ÿ)™)Ò#Ð#Ð#à�{Š{Ðˆ{Ø�z‰z˜QŠÐˆàÑˆŒ�”ä�|‰|œE #§)¡)¨C¯L©LÑ"8Ó9¼B¿F¹F¸7ÓCˆÜ˜˜1˜a dÔ+ˆØ�z‰z˜#Ÿ,™,¨¯©Ó.¨q¯u©uÑ4°s·y±yÀÇÁÑ7MÔTÐPTÒTÐTÑTÐTÐTØ�x‰x˜1Ÿ7™7Ô- S§X¡XÒ-Ð-Ñ-Ð-Ð-Ø�w‰w˜Ÿ™Ò"Ð"Ð"Ø�{Š{Ðˆ{Ø�z‰z˜QŠÐ‰r   ÚtorchzAhttps://github.com/scipy/scipy/pull/21149#issuecomment-2330477359r6   r…   g-Cëâ6?g›+¡†›„=c           	      ó@  ‡— t        dd¬«      }‰j                  d‰j                  ¬«      }‰j                  d‰j                  ¬«      }t        t        ||dt        j                  |«      ¬«      }t        t        |||¬	«      }t        ‰j                  |j                  «      |j                  fi |¤Ž t        ‰j                  |j                  «      |j                  fi |¤Ž |j                  |j                  k(  sJ ‚d
„ }ˆfd„}	‰j                  ‰j                   ‰j                  ¬«      }‰j                  ‰j                  ‰j                  ¬«      }t        |	||d¬«      }t        |||«      }t        j                  d¬«      5  t        ‰j                  |j                  «      |j                  fi |¤ddi¤Ž t        ‰j                  |j                  «      |j                  fi |¤ddi¤Ž d d d «       |j                  |j                  k(  sJ ‚y # 1 sw Y   Œ%xY w)Ng¬CÒÑ]r2<rã   )rƒ   r…   r�   rŸ   g       @T)r!   r…   r„   c                 ó2   — t        | «       t        | «      z  S rI   )r"   r   ©r   s    r   r/   z TestTanhSinh.test_log.<locals>.f  s   € Ü “N�?¤8¨A£;Ñ.Ð.r   c                 óv   •— ‰j                  t        | «      dz   «      t        | «      z   ‰j                  dz  z   S )Ny                ù              ð?)r!   r"   r   r   s    €r   Úlogfz#TestTanhSinh.test_log.<locals>.logf	  s1   ø€ Ø—6‘6œ+ a›.¨2Ñ-Ó.´¸Q³Ñ?À"Ç%Á%È"Á*ÑLÐLr   r~   ro   ©Úallr¡   F)Údictr�   r  r•   r"   r    r!   r   r   r   r¥   rw   râ   r–   r=   rs   )
r?   r…   r   Ú	test_tolsrO   r‘   r,   ru   r/   r+  s
     `       r   Útest_logzTestTanhSinh.test_logô  s³  ø€ ô ˜e¨%Ô0ˆ	ð �J‰J�s "§*¡*ˆJÓ-ˆØ�J‰J�r §¡ˆJÓ,ˆÜœ Q¨¨t¼$¿(¹(À4».ÔIˆÜœ ! Q¨TÔ2ˆÜ˜Ÿ™˜sŸ|™|Ó,¨c¯l©lÑH¸iÒHÜ˜Ÿ™˜sŸy™yÓ)¨3¯9©9ÑB¸	ÒBØ�x‰x˜3Ÿ8™8Ò#Ð#Ð#ò	/ô	Mð �J‰J˜Ÿ™�w b§j¡jˆJÓ1ˆØ�J‰J�r—v‘v R§Z¡ZˆJÓ0ˆÜ˜˜a ¨Ô-ˆÜ˜˜1˜aÓ ˆô �[‰[˜XÔ&ñ 	/Ü˜BŸF™F 3§<¡<Ó0°#·,±,ñ /À)ñ /Ø(-ó/ä˜BŸF™F 3§9¡9Ó-¨s¯y©yñ /¸Iñ /Ø(-ó/÷	/ð
 �x‰x˜3Ÿ8™8Ò#Ð#Ñ#÷	/ð 	/ús   ÆA)HÈHc                 ó  ‡— ˆfd„}‰j                  d«      ‰j                  ‰j                  dz  «      }}t        |||«      }t        j                  d«      dz  dt        j                  d«      dz  z
  dz  z   }t        |j                  ‰j                  |«      «       d„ }‰j                  ‰j                  «      ‰j                  ‰j                   «      }}t        |||«      }t        |j                  ‰j                  d«      «       y )	Nc                 ó,   •— ‰j                  d| z  «      S ©Nr*  ró   r   s    €r   r/   z$TestTanhSinh.test_complex.<locals>.f  s   ø€ Ø—6‘6˜"˜q™&“>Ð!r   r  rY   r   r   r*  c                 ó<   — t        | «      dt        | dz  «      z  z   S )Nù              à?r   )r   r(  s    r   r/   z$TestTanhSinh.test_complex.<locals>.f&  s   € Ü˜A“; ¤h¨q°©s£mÑ!3Ñ3Ð3r   y      ð¿      ð¿)r�   r   r•   r    rN   r   r¥   r–   ©r?   r   r/   rO   r‘   r,   ru   s    `     r   Útest_complexzTestTanhSinh.test_complex  sÍ   ø€ ô	"ð �z‰z˜"‹~˜rŸz™z¨"¯%©%°©'Ó2ˆ1ˆÜ˜˜1˜aÓ ˆÜ�i‰i˜‹l˜1‰n ¤$§)¡)¨A£,¨q¡.Ñ 0°"Ñ4Ñ4ˆÜ˜Ÿ™ b§j¡j°£oÔ6ò	4ð �z‰z˜"Ÿ&™&Ó! 2§:¡:¨r¯v©v¨gÓ#6ˆ1ˆÜ˜˜1˜aÓ ˆÜ˜Ÿ™ b§j¡j°Ó&9Õ:r   rŠ   c                 óØ  ‡‡
‡— t        ‰j                  d«      «      Šˆ
ˆˆfd„Š
dd‰j                  g «      c‰
_        ‰
_        ‰
_        ‰j                  d‰j
                  ¬«      }‰j                  d‰j
                  ¬«      }t        ‰
||d|¬«      }‰j                  ‰
j                  «      }t        d|dz   «      D �])  }dd‰j                  g «      c‰
_        ‰
_        ‰
_        t        ||¬«      }t        ‰
||fi |¤Ž}	t        |	j                  |j                  d¬«       t        |	j                  |j                  d|j                  z  ¬	«       |	j                  ‰
j                  cxk(  r‰
j                  j                  d   k(  sJ ‚ J ‚‰
j                  ||z
  dz   dz   k(  sJ ‚|	j                  |j                  k(  sJ ‚t!        |‰j                  ‰
j                  «      «       �Œ, y )
Nrœ   c                 ó  •— ‰xj                   dz  c_         ‰xj                  t        ‰j                  | «      «      z  c_        ‰j	                  ‰j
                  t        | «      f«      ‰_        | dz  ‰j                  | «      z  S rV   )r  rÕ   r   r�   Úconcatr   r	   r  r  s    €€€r   r/   z%TestTanhSinh.test_minlevel.<locals>.f6  s_   ø€ Ø�GŠG�q‰L�GØ�GŠG”w˜rŸz™z¨!›}Ó-Ñ-�GØ—.‘. !§#¡#¤x°£{Ð!3Ó4ˆAŒCØ�a‘4˜'Ÿ,™, q›/Ñ)Ð)r   r   rŸ   r   r  g¼‰Ø—²Ò¼<r„   r‚   )r   r�   rÕ   r  r   r  r•   Úsortr'   r.  r   r¥   rw   râ   r&   r¶   r   )r?   rŠ   r   rO   r‘   ru   Úref_xr‹   Úoptionsr,   r/   rª   s     `       @@r   Útest_minlevelzTestTanhSinh.test_minlevel-  s�  ú€ ô " "§*¡*¨R£.Ó1ˆö	*ð !" 1 b§j¡j°£nÐˆŒ�”˜!œ#à�J‰J�q §
¡
ˆJÓ+ˆØ�J‰J�q §
¡
ˆJÓ+ˆÜ˜˜1˜a¨!°hÔ?ˆØ—‘˜QŸS™SÓ!ˆä˜a ¨A¡Ó.ó 	6ˆHØ$% q¨"¯*©*°R«.Ð!ˆAŒG�Q”W˜aœcÜ H°xÔ@ˆGÜ˜A˜q !Ñ/ wÑ/ˆCä˜CŸL™L¨#¯,©,¸UÕCä˜CŸI™I s§y¡y°u¸s¿|¹|Ñ7KÕLØ—8‘8˜qŸw™wÔ6¨!¯#©#¯)©)°A©,Ò6Ð6Ñ6Ð6Ð6Ø—7‘7˜h¨Ñ1°AÑ5¸Ñ9Ò9Ð9Ð9Ø—:‘: §¡Ò+Ð+Ð+Ü˜E 7§<¡<°·±Ó#4Ö5ñ	6r   c           	      óâ  ‡— ˆfd„}‰j                  ‰j                   d‰j                   ‰j                  d‰j                   dg«      }‰j                  ‰j                  ‰j                  d‰j                   dd‰j                  g«      }t        j                  t        j                  «      }‰j                  ||dz  |dz  | |||g«      }t        |||«      }t        |j                  |«       y )Nc                 ój   •— ‰j                   | ‰j                  | «      <   ‰j                  | dz   «      S rD   )r÷   Úisinfr   r   s    €r   r/   z/TestTanhSinh.test_improper_integrals.<locals>.fR  s,   ø€ ØŸV™VˆAˆb�h‰h�q‹k‰NØ—6‘6˜1˜a™4˜%“=Ð r   r   iìÿÿÿé   r   )r�   r–   r    rN   r   r•   r   r¥   )r?   r   r/   rO   r‘   ru   r,   s    `     r   Útest_improper_integralsz$TestTanhSinh.test_improper_integralsP  sÁ   ø€ ô	!ð �J‰J˜Ÿ™˜  R§V¡V G¨R¯V©V°S¸2¿6¹6¸'À3ÐGÓHˆØ�J‰J˜Ÿ™ §¡¨¨B¯F©F¨7°B¸¸B¿F¹FÐCÓDˆÜ�i‰iœŸ™Ó ˆØ�j‰j˜#˜s 1™u c¨!¡e¨c¨T°3¸¸SÐAÓBˆÜ˜˜1˜aÓ ˆÜ˜Ÿ™ cÕ*r   r§   ©r   rÎ   rÎ   r    )Úfloat32r  c                 ó°  ‡‡— t        ‰‰«      Š‰j                  |‰¬«      \  }}ˆˆfd„}‰‰j                  k(  rdnd}t        ||||¬«      }|j                  j
                  ‰k(  sJ ‚|j                  j
                  ‰k(  sJ ‚‰j                  |j                  «      sJ ‚t        |j                  ‰j                  |«      ‰j                  |«      z
  «       y )NrŸ   c                 óH   •— | j                   ‰k(  sJ ‚‰j                  | «      S rI   )r    r   )r   r    r   s    €€r   r/   z"TestTanhSinh.test_dtype.<locals>.fc  s#   ø€ Ø—7‘7˜eÒ#Ð#Ð#Ø—6‘6˜!“9Ðr   r  çñhãˆµøä>r„   )r´   r�   r  r•   r¥   r    rw   r-  rµ   r   r   )	r?   r§   r    r   rO   r‘   r/   r…   r,   s	     ``     r   Ú
test_dtypezTestTanhSinh.test_dtype\  s·   ù€ ô ˜˜EÓ"ˆØ�z‰z˜&¨ˆzÓ.‰ˆˆ1õ	ð  §¡Ò+‰u°ˆÜ˜˜1˜a dÔ+ˆØ�|‰|×!Ñ! UÒ*Ð*Ð*Ø�y‰y�‰ %Ò'Ð'Ð'Ø�v‰v�c—k‘kÔ"Ð"Ð"Ü˜Ÿ™ b§f¡f¨Q£i°·±°q³	Ñ&9Õ:r   c                 ó  ‡‡‡— ‰j                  ‰j                   «      ‰j                  ‰j                  «      }}ˆfd„}d\  }}||z
  dz   Št        ||d¬«      }t        |||fi |¤Ž}|j                  rJ ‚|j
                  |k(  sJ ‚ˆˆfd„Šd‰_        d ‰_        |d= t        |||fi |¤d	‰i¤Ž}	|j                  «       D ]?  }
|
d
k(  r||
   dk(  sJ ‚|	|
   dk(  rŒJ ‚|	|
   ‰j                  |
   cxk(  r
||
   k(  rŒ<J ‚ J ‚ y )Nc                 ó.   •— ‰j                  |  | z  «      S rI   ró   r   s    €r   r/   z-TestTanhSinh.test_maxiter_callback.<locals>.fq  ó   ø€ Ø—6‘6˜1˜"˜Q™$“<Ðr   )r   r   r   rã   )r‹   rŠ   r…   c                 ó¦   •— ‰xj                   dz  c_         | ‰_        t        | d«      sJ ‚| j                  dk(  sJ ‚‰j                   ‰k(  rt        ‚y )Nr   r¥   )Úiterr,   Úhasattrr¶   ÚStopIteration)r,   r�   Úmaxiters    €€r   r�   z4TestTanhSinh.test_maxiter_callback.<locals>.callback{  sO   ø€ Ø�MŠM˜QÑ�MØˆHŒLÜ˜3 
Ô+Ð+Ð+Ø—:‘: ’?Ð"�?Ø�}‰} Ò'Ü#Ð#ð (r   r‡   rŠ   r�   r¶   rþ   éüÿÿÿ)	r�   r–   r.  r•   rµ   rŠ   rN  r,   Úkeys)r?   r   rO   r‘   r/   r‹   rŠ   Úkwargsr,   Úres2Úkeyr�   rQ  s    `         @@r   Útest_maxiter_callbackz"TestTanhSinh.test_maxiter_callbackn  s&  ú€ à�z‰z˜2Ÿ6™6˜'Ó" B§J¡J¨r¯v©vÓ$6ˆ1ˆô	 ð "Ñˆ�(Ø˜XÑ%¨Ñ)ˆÜ˜x°(ÀÔGˆÜ˜˜1˜aÑ* 6Ñ*ˆØ—;’;ÐˆØ�|‰|˜xÒ'Ð'Ð'õ	$ð ˆŒØˆŒà�:ÐÜ˜˜A˜qÑ> FÑ>°XÒ>ˆð —8‘8“:ò 	BˆCØ�hŠØ˜3‘x 2’~Ð%�~Ø˜C‘y B“Ð&�à˜C‘y H§L¡L°Ñ$5ÔA¸¸S¹ÓAÐAÑAÐAÐAñ	Br   c                 óä  ‡‡— ‰j                  ‰j                   ‰j                  ¬«      }‰j                  ‰j                  ‰j                  ¬«      }ˆfd„}ˆfd„Šg ‰_        g ‰_        d}t        |||d|‰¬«       t        |dz   «      D ]c  }t        |||||¬«      }t        ‰j                  d|z      |j                  d	¬
«       t        ‰j                  d|z      |j                  d	d¬«       Œe y )NrŸ   c                 ó.   •— ‰j                  |  | z  «      S rI   ró   r   s    €r   r/   z&TestTanhSinh.test_jumpstart.<locals>.f–  rL  r   c                 óÊ   •— ‰j                   j                  t        | j                  «      d   «       ‰j                  j                  t        | j
                  «      d   «       y )Nr1   )Ú	integralsr)   r
   r¥   Úerrorsrw   )r,   r�   s    €r   r�   z-TestTanhSinh.test_jumpstart.<locals>.callback™  sE   ø€ Ø×Ñ×%Ñ%¤g¨c¯l©lÓ&;¸BÑ&?Ô@Ø�O‰O×"Ñ"¤7¨3¯9©9Ó#5°bÑ#9Õ:r   rY   r   )r‹   rŠ   r�   r   r  rã   r„   r£   r  )
r�   r–   r  r[  r\  r•   r'   r   r¥   rw   )	r?   r   rO   r‘   r/   rŠ   r-   r,   r�   s	    `      @r   Útest_jumpstartzTestTanhSinh.test_jumpstart�  s×   ù€ ð �J‰J˜Ÿ™�w b§j¡jˆJÓ1ˆØ�J‰J�r—v‘v R§Z¡ZˆJÓ0ˆô	 ô	;ð  ˆÔØˆŒàˆÜ�!�Q˜ A°À8ÕLä�x !‘|Ó$ò 	UˆAÜ˜A˜q !¨a¸!Ô<ˆCÜ˜H×.Ñ.¨q°©sÑ3°S·\±\ÈÕNÜ˜HŸO™O¨A¨a©CÑ0°#·)±)À%ÈeÖTñ	Ur   c           	      ój  ‡‡
— ‰j                  d«      ‰j                  d«      }}t        ||«      Š
ˆ
fd„}t        |||«      }|j                  sJ ‚t	        |j
                  ‰j                  d«      «       t        |||d¬«      }|j
                  dkD  sJ ‚t        |j                  ‰j                  ‰j                  «      «       t        |||d¬«      }|j
                  dkD  sJ ‚t        |j                  ‰j                  ‰j                  «      «       t        |||«      }|j                  sJ ‚|j                  dk(  sJ ‚t	        |j
                  ‰j                  d«      «       d„ }t        |||d	¬
«      }t	        |j
                  ‰j                  d«      «       ‰j                  ‰j                  dddg«      }‰j                  d‰j                  ddg«      }‰j                  dd‰j                  dg«      }t        ||||f¬
«      }t	        |j
                  ‰j                  ‰j                  ‰j                  ‰j                  dg«      «       t        |j                  d d ‰j                  d‰j                  «      «       t        |j                  ‰j                  g d¢‰j                  ¬«      «       t        |j                  ‰j                  g d¢«      «       t        |j                  d d ‰j                  dd‰j                  ¬«      «       ‰j                  d«      t        _        ‰j                  d«      t        _        dgt        _        d t        _        ‰j                  d«      ‰j                  d«      }}t        ˆfd„||«      }t	        |j
                  ‰j                  d«      «       t        d„ ||«      }t	        |j
                  ‰j                  d«      «       d}t        d„ ‰j                  d«      ‰j)                  |«      «      }g d¢}|D ]  }	||	   j*                  |k(  rŒJ ‚ y )Nr   r   c                 óD   •— ‰j                  | j                  d«      sJ ‚| S )Nr¢   )r¦   r    )r   rª   s    €r   r/   z*TestTanhSinh.test_special_cases.<locals>.f¬  s    ø€ Ø—?‘? 1§7¡7¨OÔ<Ð<Ð<ØˆHr   r   r‰   r‡   r  c                 ó   — | |z  S rI   r1   )r   Úcs     r   r/   z*TestTanhSinh.test_special_cases.<locals>.fÃ  s   € Ø�a‘4ˆKr   é   rß   g¡?rÎ   ©rÎ   )rÿ   rÿ   rÿ   r   rŸ   ©FFFTc                 ó,   •— ‰j                  | dz  «      S r3  ©r�   r   s    €r   rÝ   z1TestTanhSinh.test_special_cases.<locals>.<lambda>Þ  s   ø€  "§*¡*¨Q¨r©TÓ"2€ r   r5  c                 ó   — | S rI   r1   r(  s    r   rÝ   z1TestTanhSinh.test_special_cases.<locals>.<lambda>à  ó   €  !€ r   rD  c                 ó   — | S rI   r1   r(  s    r   rÝ   z1TestTanhSinh.test_special_cases.<locals>.<lambda>å  rh  r   rá   )r�   r   r•   rµ   r   r¥   r   rw   r÷   rŠ   Úfullr¶   r  râ   Úemptyr   ÚxjcÚwjÚindicesÚh0Úzerosr&   )r?   r   rO   r‘   r/   r,   ra  r&   rë   rì   rª   s    `        @r   Útest_special_caseszTestTanhSinh.test_special_cases§  sB  ù€ à�z‰z˜!‹}˜bŸj™j¨›mˆ1ˆÜ! ! QÓ'ˆô	ô ˜˜1˜aÓ ˆØ�{Š{Ðˆ{Ü˜Ÿ™ b§j¡j°£oÔ6ô ˜˜1˜a¨!Ô,ˆØ�|‰|˜aÒÐÐÜ˜Ÿ	™	 2§:¡:¨b¯f©fÓ#5Ô6Ü˜˜1˜a¨!Ô,ˆØ�|‰|˜aÒÐÐÜ˜Ÿ	™	 2§:¡:¨b¯f©fÓ#5Ô6ô ˜˜1˜aÓ ˆØ�{Š{Ðˆ{Ø�|‰|˜rÒ!Ð!Ð!Ü˜Ÿ™ b§j¡j°£nÔ5ò	ô ˜˜1˜a bÔ)ˆÜ˜Ÿ™ b§j¡j°Ó&6Ô7ð �J‰J˜Ÿ™  1 aÐ(Ó)ˆØ�J‰J˜˜2Ÿ6™6 1 aÐ(Ó)ˆØ�J‰J˜˜1˜bŸf™f aÐ(Ó)ˆÜ˜˜1˜a q dÔ+ˆÜ˜Ÿ™ b§j¡j°"·&±&¸"¿&¹&À"Ç&Á&È#Ð1NÓ&OÔPÜ˜Ÿ	™	 " 1˜ r§w¡w¨t°R·V±VÓ'<Ô=Ü˜Ÿ
™
 B§J¡JªÀbÇhÁh JÓ$OÔPÜ˜Ÿ™ R§Z¡ZÒ0KÓ%LÔMÜ˜Ÿ™  !˜ b§g¡g¨d°A¸R¿X¹X gÓ&FÔGð Ÿ(™( 1›+ŒŒØŸ™ !›ŒŒØ ˜cŒÔØŒŒØ�z‰z˜!‹}˜bŸj™j¨›mˆ1ˆÜÓ2°A°qÓ9ˆÜ˜Ÿ™ b§j¡j°Ó&8Ô9Ü™ Q¨Ó*ˆÜ˜Ÿ™ b§j¡j°£oÔ6ð ˆÜ™ R§Z¡Z°£]°B·H±H¸U³OÓDˆÚNˆØò 	,ˆDØ�t‘9—?‘? eÓ+Ð+Ð+ñ	,r   )r­   c                 óp   — t        j                  dd«      }d|d<   t        t         j                  d|«       y )NéA   rÎ   éè  r‡   r   )r=   rj  r•   rl   )r?   r   r   s      r   Ú#test_compress_nodes_weights_gh21496z0TestTanhSinh.test_compress_nodes_weights_gh21496ê  s,   € ô �G‰G�B˜‹NˆØˆˆ"‰Ü”"—&‘&˜!˜QÕr   c                 óà   ‡‡‡— t        dd«      Št        dd«      Šˆˆˆfd„}t        |‰j                  d«      ‰j                  d«      ddd¬	«      }‰j                  |j                  «      sJ ‚y )
NrG   iöÿÿÿé'   c                 ó>   •— ‰j                  ‰d| z
  z  ‰| z  z   «      S r;   )rl   )r@   rO   r‘   r   s    €€€r   r/   z2TestTanhSinh.test_gh_22681_finite_error.<locals>.fù  s#   ø€ Ø—6‘6˜!˜q 1™u™+¨¨A©Ñ-Ó.Ð.r   r  rœ   r   r³   )rƒ   r…   rŠ   )Úcomplexr•   r�   Úisfiniterw   )r?   r   r/   r,   rO   r‘   s    `  @@r   Útest_gh_22681_finite_errorz'TestTanhSinh.test_gh_22681_finite_errorô  s\   ú€ ô �B˜ÓˆÜ�B˜‹Oˆö	/ä˜˜2Ÿ:™: b›>¨2¯:©:°b«>ÀÈÐTVÔWˆØ�{‰{˜3Ÿ9™9Ô%Ð%Ñ%r   )FN)=Ú__name__Ú
__module__Ú__qualname__rA   ru   r‘   rF   r=   r   r!   rL   r   rP   rT   rX   r[   rN   r   Úgammar]   r_   rb   rd   r–   rf   rh   rj   rm   rw   r›   r’   ÚmarkÚparametrizer    r   ÚnormÚcdfr«   r4   r'   r¸   Ú_distr_paramsÚdistcontrË   Útuplerï   r  r  r  r  r$  r0  r7  r>  rC  rI  rW  r]  rq  ru  r{  r1   r   r   r9   r9   .   s.  „ ò!ð €B„FØ€B„Dò%ð �e‰e�a‰i˜!˜f˜bŸf™f Q›i™-Ñ'¨2Ñ-€B„FØ€B„Dò%ð ˆb�f‰f�R—U‘U˜Q‘YÓ !Ñ# qÑ(€B„FØ�5‰5�1‰9€B„Dò1ð �—‘˜!‘‰^˜bÑ €B„FØ€B„Dò&ð €B„FØ€B„Dò#ð �U‰U�Q‰Y€B„FØ€B„Dò0ð ��—‘˜Ÿ™“Ñ - '§-¡-°Ó"6Ñ6¸¸¿¹ÀuÓ9MÑM€B„FØ€B„Dòð €B„FØ€B„Dò!ð �e‰eˆV�f�b—f‘f˜Q“iÑ !Ñ#€B„FØ�5‰5�1‰9€B„Dò"ð �e‰e�g�b—g‘g˜a“jÑ  1Ñ$€C„GØ�E‰E�A‰I€C„Eò ð �e‰e�a‰i€C„GØ�F‰F€C„Eò'ð ˆb�g‰g�b—e‘e‹n€C„GØ�F‰F€C„Eò#ð ˆb�g‰g�b—e‘e˜a‘iÓ €C„GØ�F‰F€C„Eò&ð €C„GØ�F‰F€C„Eòð �e‰e�a‰i€C„GØ�F‰F€C„Eó!ò8;ðt ‡[�[×Ñ˜]Ø
ˆT�X‰Xˆ˜ÐØ�8‰8ˆ)�Qˆ˜ÐØ�8‰8ˆ)�T—X‘XÐ	 Ð#Ø
�(‰(�T—X‘X�IÐ	 Ð$Ø	�%—*‘*—.‘. Ó%¨¯©¯©¸Ó);Ñ;Ð<ð-ó ñXóðXð( ‡[�[×!Ñ!¨$Ø)Lð "ó Nà‡[�[×Ñ˜Z©¨q°"«Ó6ñó 7óNðð ‡[�[×!Ñ!¨$Ø)Nð "ó Pà‡[�[×Ñ˜U S¨3°¨*Ð$5Ó6Ø‡[�[×Ñ˜V U×%8Ñ%8×%AÑ%AÓBñ+ó Có 7óPð+ð ‡[�[×Ñ˜W¡u£w°°v¸yÐ&IÓJñ&/ó Kð&/òP/ò./ò
Gò!òsðj ‡[�[×!Ñ! 'ØOð "ó ð ‡[�[×Ñ˜V d¨E ]Ó3ñ $ó 4óð $òD;ð& ‡[�[×Ñ˜Z©¨q«Ó2ñ 6ó 3ð 6òD
+ð ‡[�[×Ñ˜X¨°4·8±8°)¸Q°À!ÀQÀÐ0HÐ'IÓJØ‡[�[×Ñ˜WÐ&<Ó=ñ;ó >ó Kð;ò  BòDUò.A,ðF ‡[�[×!Ñ!¨$Ð!Ó/ñ ó 0ð ó&r   r9   zNo fancy indexing.zNo mutation.c                   ó0  — e Zd Zej                  j                  d«      Zej                  ddd¬«      j                  «       Z	d„ Z
ej                  dz  dz  e
_        de
_        ej                  e
_         e«       e
_        d„ Z ej(                  e	d«      e_        d	e_        ej                  e_        e	fe_        d
„ Zde_        ej-                  ddd¬«      e_         eej                  e	«      e_        e	fe_        d„ Zej4                  j7                  d edd«      «      d„ «       Zej4                  j7                  dg d¢«      d„ «       Zej4                  j7                  d e«       dddg«      d„ «       Zd„ Z d„ Z!d„ Z"ej4                  j7                  dddg«      d „ «       Z#d!„ Z$d"„ Z%ej4                  j7                  d#d$d%g«      d&„ «       Z&ej4                  j7                  d'd(d)g«      d*„ «       Z'ej4                  jQ                  dd+¬,«      d-„ «       Z)y.)/ÚTestNSuml   ºQ º[† r   r³   ©Úsizec                 ó   — |dz  S ©Nrþ   r1   )r?   Úks     r   rA   zTestNSum.f1  s   € ð �2‰wˆr   r   é   c                 ó   — d||z  z  S r;   r1   ©r?   r�  rØ   s      r   rF   zTestNSum.f2  ó   € Ø�1�a‘4‰xˆr   rœ   c                 ó   — d||z  z  S r;   r1   r�  s      r   rL   zTestNSum.f3  r‘  r   rQ   r¯   )rÎ   r   c                 ó(  — | j                   }|j                  |j                  «      |j                  |j                  «      }}d}t	        j
                  t        |¬«      5  t        d||«       d d d «       d}t	        j
                  t        |¬«      5  t        |||d¬«       d d d «       d}t	        j
                  t        |¬«      5  t        ||j                  d«      |«       d d d «       t	        j
                  t        |¬«      5  t        |||j                  d«      «       d d d «       t	        j
                  t        |¬«      5  t        ||||j                  d«      ¬	«       d d d «       t	        j
                  t        |¬«      5  t        |||t        d
¬«      ¬«       d d d «       t	        j
                  t        |¬«      5  t        |||t        t        ¬«      ¬«       d d d «       t        j                  d¬«      5  t        ||j                  t        j                  t        j                  g«      |j                  d«      «      }|j                  |j                  dk(  |j                  |j                   «      z  |j                  |j"                  «      z  |j$                   z  |j&                  z  dk(  «      sJ ‚t        ||j                  d«      |j                  t        j                  dg«      «      }|j                  |j                  dk(  |j                  |j                   «      z  |j                  |j"                  «      z  |j$                   z  |j&                  z  dk(  «      sJ ‚t        ||j                  d«      |j                  d«      |j                  |j                  |j                   |j                  ddg«      ¬	«      }|j                  |j                  dk(  |j                  |j                   «      z  |j                  |j"                  «      z  |j$                   z  |j&                  z  dk(  «      sJ ‚	 d d d «       d}t	        j
                  t        |¬«      5  t        |||t        d¬«      ¬«       d d d «       t	        j
                  t        |¬«      5  t        |||t        t        j                  ¬«      ¬«       d d d «       d}t	        j
                  t        |¬«      5  t        |||t        t        j                  ¬«      d¬«       d d d «       t	        j
                  t        |¬«      5  t        |||t        t        j                  ¬«      d¬«       d d d «       d}t	        j
                  t        |¬«      5  t        |||d¬«       d d d «       t	        j
                  t        |¬«      5  t        |||d¬«       d d d «       y # 1 sw Y   �ŒtxY w# 1 sw Y   �ŒLx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   �ŒxY w# 1 sw Y   �ŒKx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   �ŒAxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÙxY w# 1 sw Y   y xY w)Nry   rz   r|   r}   r   r~   r   r€   )Ústepr�   r‚   ©Ú
tolerancesr„   ro   r,  rœ   r‡   r   g      $@r   r†   rˆ   T)r–  r!   z"...must be a non-negative integer.g      @©Úmaxtermsrþ   )rA   r�   rO   r‘   r’   r“   r”   r   r.  r=   rs   r÷   r–   r-  r¶   ÚisnanÚsumrw   rµ   râ   )r?   r   r/   rO   r‘   rš   r,   s          r   r›   zTestNSum.test_input_validation!  s-  € Ø�G‰GˆØ�z‰z˜!Ÿ#™#‹ §
¡
¨1¯3©3£ˆ1ˆà)ˆÜ�]‰]œ:¨WÔ5ñ 	Ü��Q˜ŒN÷	ð .ˆÜ�]‰]œ:¨WÔ5ñ 	!Ü��A�q˜aÕ ÷	!ð -ˆÜ�]‰]œ:¨WÔ5ñ 	)Ü��B—J‘J˜tÓ$ aÔ(÷	)ä�]‰]œ:¨WÔ5ñ 	)Ü��A�r—z‘z $Ó'Ô(÷	)ä�]‰]œ:¨WÔ5ñ 	1Ü��A�q˜rŸz™z¨$Ó/Õ0÷	1ä�]‰]œ:¨WÔ5ñ 	8Ü��A�q¤T¨vÔ%6Õ7÷	8ä�]‰]œ:¨WÔ5ñ 	8Ü��A�q¤T¬vÔ%6Õ7÷	8ô �[‰[˜XÔ&ñ 
	PÜ�q˜"Ÿ*™*¤b§f¡f¬b¯f©fÐ%5Ó6¸¿
¹
À2»ÓGˆCØ—6‘6˜3Ÿ:™:¨Ñ+¨r¯x©x¸¿¹Ó/@Ñ@ØŸH™H S§Y¡YÓ/ñ0Ø36·;±;°,ñ?ØADÇÁñJØMNñOô Pð Pð Pä�q˜"Ÿ*™* S›/¨2¯:©:´r·v±v¸q°kÓ+BÓCˆCØ—6‘6˜3Ÿ:™:¨Ñ+¨r¯x©x¸¿¹Ó/@Ñ@ØŸH™H S§Y¡YÓ/ñ0Ø36·;±;°,ñ?ØADÇÁñJØMNñOô Pð Pð Pä�q˜"Ÿ*™* R›.¨"¯*©*°S«/ØŸJ™J¨¯©°·±°¸¿¹ÀÀQÐ'GÓHôJˆCà—6‘6˜3Ÿ:™:¨Ñ+¨r¯x©x¸¿¹Ó/@Ñ@ØŸH™H S§Y¡YÓ/ñ0Ø36·;±;°,ñ?ØADÇÁñJØMNñOô Pð Pñ P÷
	Pð 8ˆÜ�]‰]œ:¨WÔ5ñ 	4Ü��A�q¤T¨r¤]Õ3÷	4ä�]‰]œ:¨WÔ5ñ 	8Ü��A�q¤T¬r¯v©vÔ%6Õ7÷	8ð 5ˆÜ�]‰]œ:¨WÔ5ñ 	BÜ��A�q¤T¬r¯v©vÔ%6¸DÕA÷	Bä�]‰]œ:¨WÔ5ñ 	BÜ��A�q¤T¬r¯v©vÔ%6¸DÕA÷	Bð 7ˆÜ�]‰]œ:¨WÔ5ñ 	(Ü��A�q 3Õ'÷	(ä�]‰]œ:¨WÔ5ñ 	'Ü��A�q 2Õ&÷	'ð 	'÷]	ñ 	ú÷	!ñ 	!ú÷	)ñ 	)ú÷	)ñ 	)ú÷	1ñ 	1ú÷	8ñ 	8ú÷	8ñ 	8ú÷
	Pñ 
	Pú÷	4ñ 	4ú÷	8ñ 	8ú÷	Bñ 	Bú÷	Bñ 	Bú÷	(ð 	(ú÷	'ð 	'ús©   Á W ÂW-ÃW:ÄXÅXÆ
X!ÇX.ÈIX;Ñ0YÒ-(YÓ:)Y"Õ)Y/ÖY<×Z× W*×-W7×:XØXØXØ!X+Ø.X8Ø;YÙYÙYÙ"Y,Ù/Y9Ù<ZÚZr®   rY   c                 óH  ‡‡— ‰j                  d«      j                  }t        | d|› �«      Š‰j                  ‰j                  «      ‰j                  ‰j                  «      }}t        ˆfd„‰j                  D «       «      }‰j                  ‰j                  |¬«      }t        ‰|||¬«      }t        |j                  |«       t        |j                  ‰j                  |j                  ‰j                  ¬«      «       t!        |«      }	t        |j"                  ‰j%                  |j                  |	j&                  ¬«      «       t)        j*                  d¬«      5  t        ˆˆfd„||d	|¬
«      }
d d d «       t        ‰j-                  
j                  «      |j                  «       t        ‰j-                  |
j.                  «      |j.                  d¬«       t        |
j                  |j                  «       t        |
j"                  |j"                  «       y # 1 sw Y   ŒªxY w)Nrœ   r/   c              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wrI   rf  )Ú.0Úargr   s     €r   ú	<genexpr>z&TestNSum.test_basic.<locals>.<genexpr>\  s   øè ø€ Ò7¨�R—Z‘Z —_Ñ7ùs   ƒrŸ   rß   ro   rp   c                  ó,   •— ‰j                   ‰| Ž «      S rI   r~   )rà   r/   r   s    €€r   rÝ   z%TestNSum.test_basic.<locals>.<lambda>e  s   ø€ ¨¯©©q°$¨xÓ(8€ r   T)r!   rà   rã   r‚   )r�   r    r´   rO   r‘   r†  rà   ru   r   r   rš  r   r¶   rp  r&   r  r   rµ   Úonesrä   r=   rs   r   rw   )r?   r®   r   r    rO   r‘   rà   ru   r,   rª   r©   r/   s     `        @r   r¸   zTestNSum.test_basicW  sv  ù€ à—
‘
˜2“×$Ñ$ˆÜ�D˜A˜h˜Z˜.Ó)ˆØ�z‰z˜!Ÿ#™#‹ §
¡
¨1¯3©3£ˆ1ˆÜÓ7°·±Ô7Ó7ˆØ�j‰j˜Ÿ™ eˆjÓ,ˆÜ�1�a˜ Ô&ˆÜ˜Ÿ™ Ô%Ü˜Ÿ
™
 B§H¡H¨S¯Y©Y¸b¿h¹h HÓ$GÔHÜ! !Ó$ˆÜ˜Ÿ™ R§W¡W¨S¯Y©Y¸g¿l¹l WÓ%KÔLä�[‰[ Ô)ñ 	6ÜÔ8Ø˜a T°ô6ˆF÷	6ô 	˜Ÿ™˜vŸz™zÓ*¨C¯G©GÔ4Ü˜Ÿ™˜vŸ|™|Ó,¨c¯i©i¸eÕDÜ˜Ÿ™ s§z¡zÔ2Ü˜Ÿ™¨¯©Õ4÷	6ð 	6ús   ÅHÈH!r˜  )r   r   r³   rB  r  c                 óÆ  ‡— | j                   }ˆfd„}d„ }‰j                  ddg‰j                  ¬«      d d …‰j                  f   }‰j                  dd‰j                  g‰j                  ¬«      d d …‰j                  ‰j                  f   }‰j                  g d¢‰j                  ¬«      j                  d	«      }‰j                  ||z
  |z  «      }	|}
||	|z  z   }|||z  z   }‰j                   ||‰j                  |«      |z  z   «      d
d¬«      } ||«       ||«      z
  |z  }||z    ||«      z   }||z    ||«      z   }||z   dz  }||z
  dz  }t        |«      }|j                  |||«      \  }}}t        j                  |j                  «      D ]¢  }t        ||   «      t        ||   «      t        ||   «      }}}||z
  |z  dz   |k  sŒ<‰j                   |‰j                  |||z   |‰j                  ¬«      «      «      }|||<   |‰j                  |j                   «      j"                  z  ||<   Œ¤ d}t%        |||
||t'        |¬«      ¬«      }t)        |j                  |d|z  ¬«       t)        |j*                  |d|z  ¬«       |
|z
  |z  dz   |k  }t)        |j                  |   ||   d¬«       t)        |j*                  |   ||   d¬«       t%        |||
|dt'        t-        j.                  |«      ¬«      |¬«      }t)        ‰j1                  |j                  «      |j                  «       t)        ‰j1                  |j*                  «      |j*                  «       y )Nc                 ó,   •— d‰j                  | «      z  S rŒ  r~   r   s    €r   r+  z$TestNSum.test_integral.<locals>.logfq  s   ø€ Ø�b—f‘f˜Q“i‘<Ðr   c                 ó   — d| z  S )Nr‡   r1   r(  s    r   ÚFz!TestNSum.test_integral.<locals>.Ft  s   € Ø˜‘6ˆMr   r   rQ   rŸ   rB  r  )r   r   r   )r‡   r   r   r   r‡   T)ÚaxisÚkeepdimsr   r  r„   )r”  r˜  r–  r³   rã   )r”  r!   r–  r˜  )rA   r�   r  Únewaxisr–   ÚreshapeÚfloorrš  r   r   Úbroadcast_arraysr=   Úndindexr&   r¤   Úfinfor    Úepsr   r.  r   rw   r    r!   r   )r?   r˜  r   r/   r+  r¥  rO   r‘   r”  ÚnstepsÚ
b_originalr�  Údirectr¥   ÚlowÚhighÚref_sumÚref_errrª   r-   ÚaiÚbiÚstepir…   r,   r©   s     `                       r   Útest_integralzTestNSum.test_integrall  s  ø€ ð �G‰Gˆô	 ò	ð �J‰J˜˜1�v R§Z¡ZˆJÓ0²°B·J±J°Ñ?ˆØ�J‰J˜˜C §¡Ð(°·
±
ˆJÓ;ºA¸r¿z¹zÈ2Ï:É:Ð<UÑVˆØ�z‰zš+¨R¯Z©ZˆzÓ8×@Ñ@ÀÓOˆØ—‘˜1˜q™5 $™,Ó'ˆØˆ
Ø��t‘‰Oˆà�˜‘Ñˆà—‘™˜!˜bŸi™i¨Ó1°$Ñ6Ñ6Ó7¸bÈ4�ÓPˆÙ�a“D™1˜Q›4‘K Ñ%ˆØ�xÑ¡! A£$Ñ&ˆØ˜Ñ ¡1 Q£4Ñ'ˆØ˜‘:˜q‘.ˆØ˜#‘:˜q‘.ˆô " !Ó$ˆØ×-Ñ-¨a°°DÓ9‰
ˆˆ1ˆdÜ—‘˜AŸG™GÓ$ò 	AˆAÜ! ! A¡$›K¬¨q°©t«´e¸DÀ¹G³n�E�ˆBØ�R‘˜‰ Ñ" hÓ.ØŸ™¡ "§)¡)¨B°°5±¸%ÀrÇzÁz )Ó"RÓ SÓT�Ø#�˜‘
Ø# b§h¡h¨v¯|©|Ó&<×&@Ñ&@Ñ@�˜’
ð	Að ˆÜ�1�a˜¨$¸Ü"¨œoô/ˆä˜Ÿ™ ¨r°$©wÕ7Ü˜Ÿ	™	 7°°T±Õ:à˜1‰n˜dÑ" QÑ&¨(Ñ2ˆÜ˜Ÿ™ ™
 G¨A¡J°UÕ;Ü˜Ÿ	™	 !™ g¨a¡j°uÕ=ä�d˜A˜z°¸$Ü!%¬4¯8©8°D«>Ô!:ÀXôOˆä˜Ÿ™˜vŸz™zÓ*¨C¯G©GÔ4Ü˜Ÿ™˜vŸ|™|Ó,¨c¯i©iÕ8r   r&   rÌ   rÍ   rÏ   c           
      ón  ‡‡— t         j                  j                  d«      }|j                  dd|¬«      }t         j                  }|j                  |«      dz   }t        j                  |«      Šˆˆfd„Šd‰_        t         j                  d„ «       }t        ‰|j                  |«      |j                  |«      d|j                  |«      f¬	«      } ||||d¬
«      j                  «       }	g d¢}
|
D ]m  }|	D �cg c]  }|j                  t        ||«      «      ‘Œ }}t        ||«      }t        t        |«      |j                  |«      d¬«       |j                  |k(  rŒmJ ‚ t!        |j                  d«      «      }|j#                  |j$                  j&                  d«      sJ ‚|j#                  |j(                  j&                  d«      sJ ‚|j#                  |j*                  j&                  d«      sJ ‚t-        |«      r4t/        |j1                  |j*                  «      «      ‰j                  k(  sJ ‚y y c c}w )NrÑ   r   r³   r‰  c                 ó˜   •— ‰xj                   | j                  ‰k(  s| j                  dk  rdn| j                  d   z  c_         d| |z  z  S rÓ   )rÕ   rŠ  rÖ   r&   r×   s     €€r   r/   z&TestNSum.test_vectorization.<locals>.f­  s=   ø€ Ø�GŠG˜QŸV™V qš[¨A¯F©F°aªK‘q¸a¿g¹gÀb¹kÑI�GØ�q˜A‘v‘:Ðr   r   c                 ó(   ‡— t        ˆfd„| ||¬«      S )Nc                 ó   •— d| ‰z  z  S r;   r1   rÜ   s    €r   rÝ   zBTestNSum.test_vectorization.<locals>.nsum_single.<locals>.<lambda>µ  s   ø€  ! a¨¡d¡(€ r   r—  )r   )rO   r‘   rØ   r˜  s     ` r   Únsum_singlez0TestNSum.test_vectorization.<locals>.nsum_single³  s   ø€ äÓ*¨A¨q¸8ÔDÐDr   rt  )r˜  rà   r—  )rš  rw   rµ   r¶   râ   rã   r„   rœ   rä   r¥   )r=   rå   ræ   Úintegersr–   r    r(   rÕ   Ú	vectorizer   r�   Úravelr´   r   r	   r&   r   r¦   rµ   r    r¶   râ   r   rÃ   rè   )r?   r&   r   ré   rO   r‘   rØ   r¾  r,   rê   rë   rì   ru   rí   rî   rª   r/   rÙ   s                   @@r   rï   zTestNSum.test_vectorization   sÜ  ù€ ô �i‰i×#Ñ#Ð$8Ó9ˆØ�L‰L˜˜B UˆLÓ+ˆô �F‰FˆØ�J‰J�uÓ Ñ!ˆÜ�I‰I�eÓˆõ	ð ˆŒä	�‰ñ	Eó 
ð	Eô �1�b—j‘j “m R§Z¡Z°£]¸TØŸ™ A›Ð(ô*ˆá˜1˜a ¨TÔ2×8Ñ8Ó:ˆâ=ˆØò 	+ˆDØBFÖG¸3˜Ÿ
™
¤7¨3°Ó#5Õ6ÐGˆHÐGÜ˜s DÓ)ˆHÜœH XÓ.°·
±
¸8Ó0DÈ5ÕQØ—>‘> UÓ*Ð*Ð*ð		+ô " "§*¡*¨R£.Ó1ˆØ�‰˜sŸ{™{×0Ñ0°&Ô9Ð9Ð9Ø�‰˜sŸz™z×/Ñ/°Ô<Ð<Ð<Ø�‰˜sŸx™xŸ~™~¨zÔ:Ð:Ð:Ü�BŒ<Ü�r—v‘v˜cŸh™hÓ'Ó(¨A¯G©GÒ3Ð3Ñ3ð ùò Hs   Ã7"H2c                 ón  — | j                   }g d¢}|j                  dddddt        j                  g|j                  ¬«      }|j                  dt        j
                  t        j
                  t        j
                  t        j
                  t        j
                  g|j                  ¬«      }t        j                  |d«      }|j                  ||j                  ¬«      }t        j                  d¬«      5  t        ||||f¬«      }d d d «       |j                  g d	¢«      }|j                  g d
¢|j                  ¬«      }	t        j                  |«       t        |j                  |	«       t        |j                  |j                     |j                  |«      |j                     «       y # 1 sw Y   Œ§xY w)N)r   r   gÍÌÌÌÌÌì?gš™™™™™ñ?r   r   r   r   rŸ   r³   ro   rp   rß   )FFFFTF)rÿ   rÿ   rþ   rR  r   r‡   )rF   r�   r=   r÷   r  r–   r   Úzetars   r   r  r   rµ   r¶   r   rš  )
r?   r   r/   rØ   rO   r‘   ru   r,   Úref_successÚ
ref_statuss
             r   Útest_statuszTestNSum.test_statusÉ  s3  € Ø�G‰Gˆâ"ˆØ�J‰J˜˜1˜a  A¤r§v¡vÐ.°b·j±jˆJÓAˆØ�J‰J˜œBŸF™F¤B§F¡F¬B¯F©F´B·F±F¼B¿F¹FÐCÈ2Ï:É:ˆJÓVˆÜ�l‰l˜1˜aÓ ˆØ�J‰J�q §
¡
ˆJÓ+ˆä�[‰[ Ô)ñ 	+Ü�q˜!˜Q a TÔ*ˆC÷	+ð —j‘jÒ!JÓKˆØ—Z‘ZÒ 7¸r¿x¹x�ZÓHˆ
Ü˜Ÿ™ [Ô1Ü˜Ÿ
™
 JÔ/Ü˜Ÿ™ §¡Ñ,¨b¯j©j¸«o¸c¿k¹kÑ.JÕK÷	+ð 	+ús   Ã4F+Æ+F4c                 óp  ‡— ˆfd„Šd‰_         t        ‰|j                  d«      |j                  d«      «      }|j                   ‰j                   k(  sJ ‚d‰_         t        ‰|j                  d«      |j                  |j                  «      t	        d¬«      ¬«      }|j                   ‰j                   k(  sJ ‚y )Nc                 óP   •— ‰xj                   t        | «      z  c_         d| dz  z  S rV   )râ   r   r  s    €r   r/   zTestNSum.test_nfev.<locals>.fÜ  s"   ø€ Ø�FŠF”g˜a“jÑ �FØ�q˜!‘t‘8ˆOr   r   r   r³   ç�íµ ÷Æ°>r‚   r•  )râ   r   r�   r–   r.  )r?   r   r,   r/   s      @r   Ú	test_nfevzTestNSum.test_nfevÛ  s‹   ø€ ô	ð ˆŒÜ�1�b—j‘j “m R§Z¡Z°£^Ó4ˆØ�x‰x˜1Ÿ6™6Ò!Ð!Ð!àˆŒÜ�1�b—j‘j “m R§Z¡Z°·±Ó%7ÄDÈdÄOÔTˆØ�x‰x˜1Ÿ6™6Ò!Ð!Ñ!r   c           	      óŽ  — |j                  ddg«      }|j                  |j                  «      }t        d„ ||dt        d¬«      ¬«      }t        d„ ||«      }|j	                  |j
                  |j
                  |j                  z
  kD  «      sJ ‚|j	                  |j
                  |j
                  |j                  z   k  «      sJ ‚y )	Nr   rY   c                 ó   — d| dz  z  S rV   r1   ©r�  s    r   rÝ   z)TestNSum.test_inclusive.<locals>.<lambda>í  ó   € ˜Q  a¡™Z€ r   iô  gš™™™™™¹?r‚   )r˜  r–  c                 ó   — d| dz  z  S rV   r1   rÍ  s    r   rÝ   z)TestNSum.test_inclusive.<locals>.<lambda>ï  rÎ  r   )r�   r–   r   r.  r-  rš  rw   )r?   r   rO   r‘   r,   ru   s         r   Útest_inclusivezTestNSum.test_inclusiveè  s¡   € ð �J‰J˜˜1�vÓˆØ�J‰J�r—v‘vÓˆÜÑ'¨¨AØ¬D°c¬Nô<ˆäÑ'¨¨AÓ.ˆØ�v‰v�c—g‘g §¡¨3¯9©9Ñ!4Ñ5Ô6Ð6Ð6Ø�v‰v�c—g‘g §¡¨3¯9©9Ñ!4Ñ5Ô6Ð6Ñ6r   r!   TFc                 ób  ‡‡— ‰j                  dt        j                   t        j                   g«      }‰j                  t        j                  dt        j                  g«      }‰j                  g d¢«      }ˆˆfd„}t        ||||f‰¬«      }‰j                  t        j
                  j                  dd«      t        j
                  j                  dd«      dg«      }‰r‰j                  |«      n|}‰r|j                  ‰j                  k(  rdnd	nd}	t        |j                  ‰j                  ||j                  ¬
«      |	¬«       ˆˆfd„}‰j                  dt        j                   g«      }‰j                  t        j                  dg«      }‰j                  ddg«      }
t        ||||
f‰¬«      }‰r(t        j                  t        j                  d«      «      nt        j                  d«      }t        |j                  ‰j                  |j                  ||j                  ¬
«      «       y )Nr   r‡   )r   r   rÎ   c                 óê   •— ‰r8‰j                  ‰j                  |dz  «      «      |‰j                  | «      z  z
  S ‰j                  |dz  «      ‰j                  | ‰j                  | «      z  «      z  S rD   )r!   Útanhrr   r   )r   rO   r!   r   s     €€r   r/   z(TestNSum.test_infinite_bounds.<locals>.fù  sc   ø€ Ù<?�B—F‘F˜2Ÿ7™7 1 q¡5›>Ó*¨Q¨r¯v©v°a«y©[Ñ8ð >ØŸ™  1¡›¨¯©°¨r°"·&±&¸³)©|Ó(<Ñ<ð>r   )rà   r!   r   r   g»½×Ùß|Û=rH  rŸ   r‚   c                 óL   •— ‰rd‰j                  || z  «      z  S d|| z  dz  z  S )Nrÿ   r   rÎ   r~   )r   ra  r!   r   s     €€r   r/   z(TestNSum.test_infinite_bounds.<locals>.f  s,   ø€ Ù%(�2�b—f‘f˜Q˜q™S“k‘>Ð:¨a°1°Q±3¸±(©lÐ:r   rÎ   )r�   r=   r–   r   r   ÚdlaplaceÚsfr!   r    r  r   rš  r   rÃ  rj  r&   )r?   r!   r   rO   r‘   ra  r/   r,   ru   rƒ   rž  s    ``        r   Útest_infinite_boundszTestNSum.test_infinite_boundsó  s�  ù€ à�J‰J˜œBŸF™F˜7¤R§V¡V GÐ,Ó-ˆØ�J‰JœŸ™ ¤B§F¡FÐ+Ó,ˆØ�J‰J’yÓ!ˆõ	>ô �1�a˜ ! ¨3Ô/ˆØ�j‰jœ%Ÿ.™.×+Ñ+¨A¨qÓ1´5·>±>×3DÑ3DÀQÈÓ3JÈAÐNÓOˆÙ ˆb�f‰f�SŒk cˆÙ;>˜Ÿ™ "§*¡*Ò,‘±$ÀAˆÜ˜Ÿ™ §¡¨C°q·w±w Ó!?ÀdÕKõ	;ð �J‰J˜œBŸF™F˜7�|Ó$ˆØ�J‰JœŸ™ �|Ó$ˆØ�j‰j˜!˜R˜Ó!ˆÜ�1�a˜ # ¨SÔ1ˆÙ),Œb�f‰f”W—\‘\ !“_Ô%´'·,±,¸q³/ˆÜ˜Ÿ™ §¡¨¯©°#¸Q¿W¹W Ó!EÕFr   c                 ó$  ‡— ˆfd„}‰j                  d‰j                  ¬«      ‰j                  t        j                  ‰j                  ¬«      }}t	        |||«      }‰j                  d‰j                  ¬«      }t        |j                  |d¬«       y )Nc                 ó.   •— ‰j                  | dz   «      S rD   ró   r   s    €r   r/   z)TestNSum.test_decreasing_check.<locals>.f  s   ø€ Ø—6‘6˜1 ™6˜'“?Ð"r   içÿÿÿrŸ   gtfÔ¸\ü?rã   r„   )r�   r  r=   r–   r   r   rš  r6  s    `     r   Útest_decreasing_checkzTestNSum.test_decreasing_check  so   ø€ ô	#ð �z‰z˜# R§Z¡ZˆzÓ0°"·*±*¼R¿V¹VÈ2Ï:É:°*Ó2Vˆ1ˆÜ�1�a˜‹mˆð �j‰jÐ*°"·*±*ˆjÓ=ˆä˜Ÿ™ ¨5Ö1r   c           	      ó¼  — | j                   }|j                  d«      x}}t        |||«      }t        |j                  |j                   |d«      «      «       t        | j
                  |j                  d«      |j                  t        j                  «      |j                  d«      ¬«      }t        |j                  |j                  | j                   j                  «      «       |j                  d«      }|j                  d«      }|j                  d«      }t        j                  |j                  |j                  |j                  «      }t        | j
                  |||f¬«      }|j                  j                  |k(  sJ ‚|j                  j                  |k(  sJ ‚|j                  j                  |k(  sJ ‚d„ }t        ||j                  d«      |j                  d	«      d¬
«      }|j                  |j                  «      sJ ‚|j                  |j                   «      sJ ‚|j                  dk(  sJ ‚t        ||j                  d«      |j                  d	«      d¬
«      }|j                  |j                  «      sJ ‚|j                  |j                   «      sJ ‚|j                  dk(  sJ ‚|j                  |j"                  dddg«      }|j                  |j                  |j"                  |j                  |j                  g«      }|j                  dd|j"                  dg«      }t        | j
                  |||f¬«      }t        |j                  |j                  |j"                  |j"                  |j"                  | j                   j                  g«      «       t        |j                   d d |j%                  d|j"                  «      «       t        |j                  |j                  g d¢|j&                  ¬«      «       t        |j(                  |j                  g d¢«      «       t        |j                  d d |j%                  dd|j&                  ¬«      «       y )Nr   r   rß   )rÎ   r   r   )r   r   rY   c                 ód   — t        j                  d¬«      5  d| z  cd d d «       S # 1 sw Y   y xY w)Nro   rp   r   )r=   rs   r(  s    r   r/   z%TestNSum.test_special_case.<locals>.f:  s*   € Ü—‘ HÔ-ñ Ø˜1‘u÷÷ ò ús   —&¦/r   r³   r—  rþ   rÿ   rÎ   rc  )r‡   r‡   rÿ   r   rŸ   rd  )r   )rA   r�   r   r   rš  rF   r=   r–   r   ru   rk  Úbroadcast_shapesr&   r¶   râ   r™  rw   r÷   rj  r  rµ   )r?   r   r/   rO   r‘   r,   rØ   r&   s           r   Útest_special_casezTestNSum.test_special_case$  s)  € à�G‰GˆØ—
‘
˜1“ÐˆˆAÜ�1�a˜‹mˆÜ˜Ÿ™ §¡©A¨a«DÓ!1Ô2ô �4—7‘7˜BŸJ™J q›M¨2¯:©:´b·f±fÓ+=ÀBÇJÁJÈqÃMÔRˆÜ˜Ÿ™ §¡¨D¯G©G¯K©KÓ!8Ô9ð �H‰H�YÓˆØ�H‰H�VÓˆØ�H‰H�Q‹KˆÜ×#Ñ# A§G¡G¨Q¯W©W°a·g±gÓ>ˆÜ�4—7‘7˜A˜q¨ tÔ,ˆØ�w‰w�}‰} Ò%Ð%Ð%Ø�z‰z×Ñ 5Ò(Ð(Ð(Ø�x‰x�~‰~ Ò&Ð&Ð&ò	ô �1�b—j‘j “m R§Z¡Z°£^¸aÔ@ˆØ�x‰x˜Ÿ™Ô Ð Ð Ø�x‰x˜Ÿ	™	Ô"Ð"Ð"Ø�z‰z˜RÒÐÐä�1�b—j‘j “m R§Z¡Z°£^¸aÔ@ˆØ�x‰x˜Ÿ™Ô Ð Ð Ø�x‰x˜Ÿ	™	Ô"Ð"Ð"Ø�z‰z˜RÒÐÐð �J‰J˜Ÿ™  1 aÐ(Ó)ˆØ�J‰J˜Ÿ™ §¡¨¯©°·±Ð7Ó8ˆØ�J‰J˜˜1˜bŸf™f aÐ(Ó)ˆÜ�4—7‘7˜A˜q¨ tÔ,ˆÜ˜Ÿ™ §¡¨R¯V©V°R·V±V¸R¿V¹VÀTÇWÁWÇ[Á[Ð,QÓ!RÔSÜ˜Ÿ	™	 " 1˜ r§w¡w¨t°R·V±VÓ'<Ô=Ü˜Ÿ
™
 B§J¡JªÀbÇhÁh JÓ$OÔPÜ˜Ÿ™ R§Z¡ZÒ0KÓ%LÔMä˜Ÿ™  !˜ b§g¡g¨d°A¸R¿X¹X gÓ&FÕGr   r    rE  r  c                 óä  ‡‡— t        ‰‰«      Šˆˆfd„}‰j                  d‰¬«      }‰j                  d‰j                  g‰¬«      }t        |||«      }|j                  j
                  ‰k(  sJ ‚|j                  j
                  ‰k(  sJ ‚‰‰j                  k(  rdnd}t        t        j                  d‰j                  g«      d«      }t        |j                  ‰j                  |‰¬«      |¬«       y )	Nc                 óX   •— | j                   ‰k(  sJ ‚d| ‰j                  d‰¬«      z  z  S )Nr   r   rŸ   )r    r�   )r�  r    r   s    €€r   r/   zTestNSum.test_dtype.<locals>.fY  s2   ø€ Ø—7‘7˜eÒ#Ð#Ð#Ø�q˜BŸJ™J q°˜JÓ6Ñ6Ñ6Ð6r   r   rŸ   r³   r  rÉ  r   r„   )r´   r�   r–   r   rš  r    rw   r  r   r=   r   )	r?   r    r   r/   rO   r‘   r,   r…   ru   s	    ``      r   rI  zTestNSum.test_dtypeU  sÇ   ù€ ä˜˜EÓ"ˆõ	7ð �J‰J�q ˆJÓ&ˆØ�J‰J˜˜BŸF™F�|¨5ˆJÓ1ˆÜ�1�a˜‹mˆØ�w‰w�}‰} Ò%Ð%Ð%Ø�y‰y�‰ %Ò'Ð'Ð'à §¡Ò+‰u°ˆÜ¤§
¡
¨B°·±¨<Ó 8¸!Ó<ˆÜ˜Ÿ™ §¡¨C°u Ó!=ÀDÖIr   r¹   )r³   r  )r  r³   c                 óì  — |\  }}d„ }t         j                  }d}|||z  z   }t        j                  dd«      }	||	t        j                  |«      z  z   }
t        j                  |
|z
  |z  «      }t        t        |«      «      dk(  sJ ‚|j                  ||j                  ¬«      |j                  |
|j                  ¬«      }
}|j                  ||j                  ¬«      |j                  ||j                  ¬«      }}t        |||
||¬«      }t        |j                  |«      dkD  |j                  |j                  «      dkD  «       t        |j                  d	   |j                  d    ||«      z   «       y )
Nc                 ó   — d| dz  z  S rV   r1   rÍ  s    r   r/   z.TestNSum.test_nondivisible_interval.<locals>.fn  s   € Ø�q˜A‘v‘:Ðr   gUUUUUUÕ?rþ   rÎ   r   rŸ   )r”  r˜  r   r‡   )r=   Úer   Úspacingrª  ÚlenÚsetr�   r  r   r   Údiffrš  r   )r?   r¹   r   rÙ   r˜  r/   rO   r”  Úb0r-   r‘   Únsr,   s                r   Útest_nondivisible_intervalz#TestNSum.test_nondivisible_intervalg  s5  € ð
 ‰ˆˆ8ò	ô �D‰DˆØˆØ��T‘‰\ˆÜ�I‰I�b˜!ÓˆØ�”R—Z‘Z “^Ñ#Ñ#ˆÜ�X‰X�q˜1‘u ‘nÓ%ˆÜ”3�r“7‹|˜qÒ Ð Ð à�z‰z˜! 2§:¡:ˆzÓ.°·
±
¸1ÀBÇJÁJ°
Ó0Oˆ1ˆØ—:‘:˜d¨"¯*©*�:Ó5°r·z±zÀ"ÈBÏJÉJ°zÓ7WˆbˆÜ�1�a˜ °Ô9ˆÜ˜Ÿ™ › a™¨¯©°·±Ó)9¸AÑ)=Ô>Ü˜Ÿ™ ™ S§W¡W¨Q¡Z±!°B³%Ñ%7Õ8r   zNeeds beta function.r¬   c                 óZ  — t         j                  j                  dd«      }d„ }t        j                  d¬«      5  t        j
                   |t        j                  «      «      sJ ‚	 d d d «       t        |dt        j                  «      }t        |j                  |«       y # 1 sw Y   Œ;xY w)NrY   rQ   c                 óN   — t         j                  j                  | d«      | dz  z  S )NrQ   rY   )r   Ú	yulesimonÚ_pmfr(  s    r   r/   z0TestNSum.test_logser_kurtosis_gh20648.<locals>.f„  s"   € Ü—?‘?×'Ñ'¨¨1Ó-°°1±Ñ4Ð4r   ro   )Úinvalidr   )
r   rí  Úmomentr=   rs   r™  r–   r   r   rš  )r?   r   ru   r/   r,   s        r   Útest_logser_kurtosis_gh20648z%TestNSum.test_logser_kurtosis_gh20648  s~   € ô �o‰o×$Ñ$ Q¨Ó*ˆò	5ô �[‰[ Ô*ñ 	'Ü—8‘8™AœbŸf™f›IÔ&Ð&Ñ&÷	'ô �1�aœŸ™Ó ˆÜ˜Ÿ™ Õ%÷		'ð 	'ús   º,B!Â!B*N)*r|  r}  r~  r=   rå   ræ   ré   ÚuniformÚtolistrØ   rA   r   ru   rO   r–   r‘   r†  rà   rF   r   rÃ  rL   r¿  r   r›   r’   r€  r�  r'   r¸   r¹  rï   rÆ  rÊ  rÐ  r×  rÚ  rÞ  rI  rê  r4   rñ  r1   r   r   rˆ  rˆ  ÿ  s1  „ ð
 �)‰)×
Ñ
Ð 3Ó
4€CØ�‰�A�r ˆÓ#×*Ñ*Ó,€Aòð
 �U‰U�A‰X�a‰Z€B„FØ€B„DØ�6‰6€B„DÙ‹g€B„Gòð ˆW�\‰\˜!˜QÓ€B„FØ€B„DØ�6‰6€B„DØˆd€B„Gòð €B„DØ�<‰<˜˜2 Fˆ<Ó+€B„DÙ˜rŸt™t QÓ'€B„FØˆd€B„Gò4'ðl ‡[�[×Ñ˜Z©¨q°!«Ó5ñ5ó 6ð5ð( ‡[�[×Ñ˜ZÒ)<Ó=ñ19ó >ð19ðf ‡[�[×Ñ˜W¡u£w°°v¸yÐ&IÓJñ&4ó Kð&4òPLò$"ò	7ð ‡[�[×Ñ˜U T¨5 MÓ2ñGó 3ðGò42ò,/Hðb ‡[�[×Ñ˜W y°)Ð&<Ó=ñJó >ðJð" ‡[�[×Ñ˜V i°Ð%;Ó<ñ9ó =ð9ð. ‡[�[×!Ñ!¨$Ð7MÐ!ÓNñ&ó Oñ&r   rˆ  rI   )*rÄ   r’   r    Únumpyr=   Únumpy.testingr   Úscipy.conftestr   Ú(scipy._lib._elementwise_iterative_methodÚ_libÚ_elementwise_iterative_methodr  Úscipy._lib._array_api_no_0dr   r   Úscipy._lib._array_apir   r   r	   r
   r   Úscipyr   r   Úscipy.integrater   r   r   r•   Úscipy.integrate._tanhsinhr   Úscipy.stats._discrete_distnsr   r   r"   r3   r€  Úusefixturesr4   r9   rˆ  r1   r   r   ú<module>r     s/  ðã 	Û Û ã Ý )å /ß 6Ð 6ß Hß WÕ Wß  ß AÑ AÝ 1Ý :ó.ó+ò
ð$ Ø‡�×ÑÐ+Ó,Ø‡�×ÑØÐJð ó ð ‡�×ÑØÐDð ó ÷F&ð F&óóó -ó ðF&ðR Ø‡�×ÑÐ+Ó,Ø‡�×ÑÐ0Ð9MÐÓNØ‡�×Ñ˜k°.ÐÓA÷H&ð H&ó Bó Oó -ó ñH&r   