§
    ¢éUgV†  ã                   ó°   — d dl Z d dlZd dlZd dlmZmZ d dlmc m	Z
 d dlmZmZ d dlmZ d dlmZmZmZ d dlmZ  G d„ d¦  «        Z G d	„ d
¦  «        ZdS )é    N)Úassert_allcloseÚassert_equal)ÚspecialÚstats)Úquad_vec)Ú	_tanhsinhÚ_pair_cacheÚ_nsum)Ú_gen_harmonic_gt1c                   ó†  — 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_        dEd„Zd„ Zej                              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!j"         #                    d¦  «        e!j"         #                    d¦  «        z
  gg¦  «        d!„ ¦   «         Z$ej                              d" e%dd#¦  «        ¦  «        d$„ ¦   «         Z&ej                              d%dd&d'gf¦  «        ej                              d(e!j'        j(        ¦  «        d)„ ¦   «         ¦   «         Z)ej                              d* e*¦   «         d+d,d-g¦  «        d.„ ¦   «         Z+d/„ Z,d0„ Z-d1„ Z.d2„ Z/d3„ Z0ej                              d4d5d6g¦  «        d7„ ¦   «         Z1d8„ Z2ej                              d9 e%d¦  «        ¦  «        d:„ ¦   «         Z3d;„ Z4ej                              d<d=ej         dgd>d>gff¦  «        ej                              d?ej5        ej6        f¦  «        d@„ ¦   «         ¦   «         Z7dA„ Z8dB„ Z9dC„ Z:dDS )FÚTestTanhSinhc                 ó6   — |t          j        d|z   ¦  «        z  S ©Né   ©ÚnpÚlog©ÚselfÚts     úb/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/integrate/tests/test_tanhsinh.pyÚf1zTestTanhSinh.f1   s   € Ø•2”6˜!˜a™%‘=”=Ñ Ð ó    g      Ð?r   c                 ó6   — |dz  t          j        |¦  «        z  S ©Né   )r   Úarctanr   s     r   Úf2zTestTanhSinh.f2   s   € Ø�A‰v�œ	 !™œÑ$Ð$r   r   é   c                 óT   — t          j        |¦  «        t          j        |¦  «        z  S ©N©r   ÚexpÚcosr   s     r   Úf3zTestTanhSinh.f3   s   € ÝŒv�a‰yŒy�2œ6 !™9œ9Ñ$Ð$r   c                 óv   — t          j        d|dz  z   ¦  «        }t          j        |¦  «        d|dz  z   |z  z  S )Nr   r   )r   Úsqrtr   )r   r   Úas      r   Úf4zTestTanhSinh.f4#   s9   € ÝŒG�A˜˜Q™‘JÑÔˆÝŒy˜‰|Œ|  A¨¡F¡
¨aÑ/Ñ0Ð0r   é   é`   c                 óT   — t          j        |¦  «        t          j        |¦  «        z  S r!   )r   r'   r   r   s     r   Úf5zTestTanhSinh.f5*   s   € ÝŒw�q‰zŒz�BœF 1™IœIÑ%Ð%r   gÇqÇqÜ¿c                 ó6   — t          j        d|dz  z
  ¦  «        S ©Nr   r   ©r   r'   r   s     r   Úf6zTestTanhSinh.f60   s   € ÝŒw�q˜1 ™6‘zÑ"Ô"Ð"r   é   c                 ó`   — t          j        |¦  «        t          j        d|dz  z
  ¦  «        z  S r/   r0   r   s     r   Úf7zTestTanhSinh.f76   s'   € ÝŒw�q‰zŒz�BœG A¨¨Q©¡JÑ/Ô/Ñ/Ð/r   g      è?c                 ó0   — t          j        |¦  «        dz  S r   r   r   s     r   Úf8zTestTanhSinh.f8<   s   € ÝŒv�a‰yŒy˜A‰~Ðr   c                 óN   — t          j        t          j        |¦  «        ¦  «        S r!   )r   r   r$   r   s     r   Úf9zTestTanhSinh.f9B   s   € ÝŒv•b”f˜Q‘i”iÑ Ô Ð r   c                 óN   — t          j        t          j        |¦  «        ¦  «        S r!   )r   r'   Útanr   s     r   Úf10zTestTanhSinh.f10H   s   € ÝŒw•r”v˜a‘y”yÑ!Ô!Ð!r   c                 ó   — dd|dz  z   z  S r/   © r   s     r   Úf11zTestTanhSinh.f11N   s   € Ø�A˜˜Q™‘JÑÐr   c                 óV   — t          j        | ¦  «        t          j        |¦  «        z  S r!   )r   r#   r'   r   s     r   Úf12zTestTanhSinh.f12T   s   € ÝŒv�q�b‰zŒz�BœG A™JœJÑ&Ð&r   c                 ó8   — t          j        |dz   dz  ¦  «        S r   ©r   r#   r   s     r   Úf13zTestTanhSinh.f13Z   s   € ÝŒv�q˜A‘v�g ‘kÑ"Ô"Ð"r   c                 óV   — t          j        | ¦  «        t          j        |¦  «        z  S r!   r"   r   s     r   Úf14zTestTanhSinh.f14`   s   € ÝŒv�q�b‰zŒz�BœF 1™IœIÑ%Ð%r   ç      à?c                 ó0   — t          j        |¦  «        |z  S r!   )r   Úsinr   s     r   Úf15zTestTanhSinh.f15f   s   € ÝŒv�a‰yŒy˜1‰}Ðr   Fc                 ó´   — t          ||z
  ¦  «        }|s|S t          j        d¬¦  «        5  t          j        |¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )NÚignore©Údivide)Úabsr   ÚerrstateÚlog10)r   ÚresÚrefr   Úerrs        r   ÚerrorzTestTanhSinh.errorl   s    € Ý�#˜‘)‰nŒnˆàð 	ØˆJåŒ[ Ð)Ñ)Ô)ð 	!ð 	!Ý”8˜C‘=”=ð	!ð 	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!s   ¬AÁAÁAc                 óŠ
  — | j         }d}t          j        t          |¬¦  «        5  t	          dd|j        ¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          |d|j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          |d	|j        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          |d|j        d
¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          |d|j        t          ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          |d|j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          |d|j        t          j        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          |d|j        t          j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          |d|j        t          j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          |d|j        t          ¦   «         ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          |d|j        d	¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          |d|j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          |d|j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          |d|j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          |d|j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          |d|j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          |d|j        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nú`f` must be callable.©Úmatché*   r   ú...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©rb   r   ©r`   r   z...must be integers.©Úmaxlevel)Úmaxfunzmigratory coconut)Úminlevelz...must be non-negative.©Úpreserve_shapez...must be callable.Ú
elderberry)Úcallback)	r   ÚpytestÚraisesÚ
ValueErrorr   Úbr   ÚinfÚobject)r   ÚfÚmessages      r   Útest_input_validationz"TestTanhSinh.test_input_validationu   s	  € ØŒGˆà)ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	"ð 	"Ý�b˜!˜QœSÑ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð .ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	(ð 	(Ý�a˜˜AœC QÐ'Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð -ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	$ð 	$Ý�a˜˜qœsÑ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$åŒ]�:¨WÐ5Ñ5Ô5ð 	.ð 	.Ý�a˜˜AœC fÐ-Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.åŒ]�:¨WÐ5Ñ5Ô5ð 	.ð 	.Ý�a˜˜AœC¥fÐ-Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 8ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	*ð 	*Ý�a˜˜AœC bÐ)Ñ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*åŒ]�:¨WÐ5Ñ5Ô5ð 	.ð 	.Ý�a˜˜AœC¥b¤fÐ-Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 5ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	8ð 	8Ý�a˜˜AœC¥b¤f°$Ð7Ñ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8åŒ]�:¨WÐ5Ñ5Ô5ð 	8ð 	8Ý�a˜˜AœC¥b¤f°$Ð7Ñ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð )ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	4ð 	4Ý�a˜˜AœC­&©(¬(Ð3Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4åŒ]�:¨WÐ5Ñ5Ô5ð 	.ð 	.Ý�a˜˜AœC¨Ð-Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.åŒ]�:¨WÐ5Ñ5Ô5ð 	?ð 	?Ý�a˜˜AœCÐ*=Ð>Ñ>Ô>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?ð -ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	.ð 	.Ý�a˜˜AœC¨"Ð-Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.åŒ]�:¨WÐ5Ñ5Ô5ð 	,ð 	,Ý�a˜˜AœC¨Ð+Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,åŒ]�:¨WÐ5Ñ5Ô5ð 	.ð 	.Ý�a˜˜AœC¨"Ð-Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð .ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	3ð 	3Ý�a˜˜AœC°Ð2Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð )ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	8ð 	8Ý�a˜˜AœC¨,Ð7Ñ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð 	8ð 	8s1  ¥AÁAÁAÁ0BÂBÂBÂ=C Ã C$Ã'C$ÄD+Ä+D/Ä2D/ÅE;Å;E?ÆE?Æ#GÇGÇGÇ.#HÈH!È$H!É$I5É5I9É<I9Ê$KËKËKË3%L$Ì$L(Ì+L(Í
M/Í/M3Í6M3ÎN:Î:N>ÏN>Ï"PÐPÐPÐ-QÑQÑQÑ8RÒR!Ò$R!ÓS*Ó*S.Ó1S.ÔT8Ô8T<Ô?T<zlimits, refr   rd   )r   rd   c                 ó  — t          j        ¦   «         }t          |j        g|¢R Ž }t	          |j        |¦  «         t          |j        g|¢R ddiŽ}t	          t          j        |j        ¦  «        |¦  «         |dk    r*t          j	        |j        j
        t          j        ¦  «        s,n)t          j	        |j        j
        t          j        ¦  «        sJ ‚t	          t          j        |j        ¦  «        |j        d¬¦  «         d S )Nr   Tr   ç¼‰Ø—²Òœ<r_   )r   Únormr   Úpdfr   ÚintegralÚlogpdfr   r#   Ú
issubdtypeÚdtypeÚfloatingÚcomplexfloatingrT   )r   ÚlimitsrR   ÚdistrQ   Úlogress         r   Útest_integral_transformsz%TestTanhSinh.test_integral_transforms¬   sâ   € õ Œz‰|Œ|ˆå˜œÐ* 6Ð*Ð*Ð*ˆÝ˜œ cÑ*Ô*Ð*å˜4œ;Ð:¨Ð:Ð:Ð:°TÐ:Ð:ˆÝ�œ˜vœÑ/Ô/°Ñ5Ô5Ð5àEHÈ1ÂWÀW•”˜fœoÔ3µR´[ÑAÔAÀWÀWÝ”] 6¤?Ô#8½"Ô:LÑMÔMð FMÀWÀWõ 	�œ˜vœ|Ñ,Ô,¨c¬i¸eÐDÑDÔDÐDÐDÐDr   Úf_numberé   c                 ó\  — t          | d|› �¦  «        }d}t          |d|j        |¬¦  «        }t          |j        |j        |¬¦  «         |dvrBt          |                      |j        |j        ¦  «        |j        z  ¦  «        }||j        k     sJ ‚|dv rd S |j        sJ ‚|j	        dk    sJ ‚d S )Nrv   g:Œ0âŽyU>r   ra   >   é   >   é   é
   r   )
Úgetattrr   rs   r   r}   rR   rN   rT   ÚsuccessÚstatus)r   r‡   rv   rb   rQ   Ú
true_errors         r   Ú
test_basiczTestTanhSinh.test_basicÄ   sÂ   € å�D˜.˜h˜.˜.Ñ)Ô)ˆØˆÝ˜˜1˜aœc¨Ð-Ñ-Ô-ˆÝ˜œ a¤e°$Ð7Ñ7Ô7Ð7Ø˜4ÐÐÝ˜TŸZšZ¨¬°a´eÑ<Ô<¸S¼\ÑIÑJÔJˆJØ ¤	Ò)Ð)Ð)Ð)à�{Ð"Ð"ØˆFàŒ{ÐÐÐØŒz˜QŠˆˆˆˆˆr   rR   gš™™™™™Ù?g333333ã?Úcasec                 ó\  — |\  }}|dv rt          j        d¦  «         |dv r6t          t          j        dd¦  «        ¦  «        st          j        d¦  «          t          t          |¦  «        |Ž }|                     |¦  «        }t          |j	        g|¢R Ž }t          |j        |¦  «         d S )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.)rp   ÚskipÚintÚosÚgetenvr�   r   Úintervalr   r|   r   r}   )r   rR   r’   ÚdistnameÚparamsr„   ÚxrQ   s           r   Útest_accuracyzTestTanhSinh.test_accuracyÔ   sº   € ð  Ñˆ�&ØÐAÐAÐAåŒKÐJÑKÔKÐKØÐ<Ð<Ð<Ý�BœI m°QÑ7Ô7Ñ8Ô8ð =åŒKÐ?Ñ@Ô@Ð@Ø'�w•u˜hÑ'Ô'¨Ð0ˆØ�MŠM˜#ÑÔˆÝ˜œÐ% 1Ð%Ð%Ð%ˆÝ˜œ cÑ*Ô*Ð*Ð*Ð*r   Úshape©r   ©é   r2   ©r§   r   r   c                 ó®  ‡‡‡— t           j                             d¦  «        }|                     |¦  «        }|                     |¦  «        }|                     |¦  «        }t          j        |¦  «        Šˆˆfd„Šd‰_        d‰_        t           j        d„ ¦   «         }t          ‰|||f¬¦  «        } ||||¦  «                             ¦   «         }g d¢}	|	D ]YŠˆfd„|D ¦   «         }
t          |‰¦  «        }t          |                     ¦   «         |
d¬	¦  «         t          |j        |¦  «         ŒZt          j        |j        j        t           j        ¦  «        sJ ‚t          j        |j        j        t           j        ¦  «        sJ ‚t          j        |j        j        t           j        ¦  «        sJ ‚t          j        |j        j        t           j        ¦  «        sJ ‚t          t          j        |j        ¦  «        ‰j        ¦  «         t          j        |j        ¦  «        d
k    sJ ‚t          t          j        |j        ¦  «        ‰j        ¦  «         d S )Nì   F»*ŒBG c                 ó”   •— ‰xj         dz  c_         ‰xj        | j        ‰k    s| j        dk    rdn| j        d         z  c_        | |z  S ©Nr   rd   )ÚncallÚfevalÚsizeÚndimr¤   ©r¢   Úprv   Úns     €€r   rv   z*TestTanhSinh.test_vectorization.<locals>.fí   sI   ø€ ØˆGŒG�q‰LˆGŒGØˆGŒG˜QœV qš[˜[¨A¬F°QªJ¨J�q�q¸Q¼WÀR¼[ÑHˆGŒGØ�a‘4ˆKr   r   c                 ó,   ‡— t          ˆfd„| |¦  «        S )Nc                 ó   •— | ‰z  S r!   r=   ©r¢   r²   s    €r   ú<lambda>zKTestTanhSinh.test_vectorization.<locals>._tanhsinh_single.<locals>.<lambda>ö   s   ø€  q¨!¡t€ r   )r   )r(   rs   r²   s     `r   Ú_tanhsinh_singlez9TestTanhSinh.test_vectorization.<locals>._tanhsinh_singleô   s   ø€ å˜^˜^˜^˜^¨Q°Ñ2Ô2Ð2r   ©Úargs©r}   rT   rŽ   r�   Únfevri   c                 ó0   •— g | ]}t          |‰¦  «        ‘ŒS r=   ©r�   ©Ú.0rR   Úattrs     €r   ú
<listcomp>z3TestTanhSinh.test_vectorization.<locals>.<listcomp>ý   ó#   ø€ Ð;Ð;Ð;¨s�  TÑ*Ô*Ð;Ð;Ð;r   çVçž¯Ò<ra   r   )r   ÚrandomÚdefault_rngÚprodr­   r®   Ú	vectorizer   Úravelr�   r   r   r¤   r   rŽ   r€   Úbool_r�   Úintegerr¼   ri   Úmax)r   r¤   Úrngr(   rs   r²   r¸   rQ   ÚrefsÚattrsÚref_attrÚres_attrrÁ   rv   r³   s               @@@r   Útest_vectorizationzTestTanhSinh.test_vectorizationã   s0  øøø€ õ Œi×#Ò#Ð$8Ñ9Ô9ˆØ�JŠJ�uÑÔˆØ�JŠJ�uÑÔˆØ�JŠJ�uÑÔˆÝŒG�E‰NŒNˆð	ð 	ð 	ð 	ð 	ð 	ð ˆŒØˆŒå	Œð	3ð 	3ñ 
Œð	3õ ˜˜1˜a q dÐ+Ñ+Ô+ˆØÐ  1 aÑ(Ô(×.Ò.Ñ0Ô0ˆàNÐNÐNˆØð 	0ð 	0ˆDØ;Ð;Ð;Ð;°dÐ;Ñ;Ô;ˆHÝ˜s DÑ)Ô)ˆHÝ˜HŸNšNÑ,Ô,¨h¸UÐCÑCÔCÐCÝ˜œ¨Ñ/Ô/Ð/Ð/åŒ}˜Sœ[Ô.µ´Ñ9Ô9Ð9Ð9Ð9ÝŒ}˜SœZÔ-­r¬zÑ:Ô:Ð:Ð:Ð:ÝŒ}˜SœXœ^­R¬ZÑ8Ô8Ð8Ð8Ð8ÝŒ}˜Sœ\Ô/µ´Ñ<Ô<Ð<Ð<Ð<Ý•R”V˜CœHÑ%Ô% q¤wÑ/Ô/Ð/åŒv�c”lÑ#Ô# qÒ(Ð(Ð(Ð(Ý•R”V˜CœLÑ)Ô)¨1¬7Ñ3Ô3Ð3Ð3Ð3r   c                 ó  ‡— ˆfd„Šd‰_         t          j        dt          j        ¬¦  «        f}t	          ‰t          j        gdz  t          j         gdz  d|¬¦  «        }t          j        g d¢¦  «        }t          |j        |¦  «         d S )Nc                 ó–   •‡— ‰xj         dz  c_         d„ d„ d„ gŠˆfd„t          | |                     ¦   «         ¦  «        D ¦   «         }|S )Nr   c                 ó2   — t          j        | dz   ¦  «        S r   rB   ©r¢   s    r   r·   z4TestTanhSinh.test_flags.<locals>.f.<locals>.<lambda>  s   € �rœv q¨!¡t e™}œ}€ r   c                 ó*   — t          j        | ¦  «        S r!   rB   rÖ   s    r   r·   z4TestTanhSinh.test_flags.<locals>.f.<locals>.<lambda>  s   € �rœv a™yœy€ r   c                 óL   — t          j        | t           j        ¦  «        d         S )Nr=   )r   Ú	full_likeÚnanrÖ   s    r   r·   z4TestTanhSinh.test_flags.<locals>.f.<locals>.<lambda>  s   € �rœ|¨A­r¬vÑ6Ô6°rÔ:€ r   c                 ó8   •— g | ]\  }} ‰|         |¦  «        ‘ŒS r=   r=   )rÀ   r¢   ÚjÚfuncss      €r   rÂ   z6TestTanhSinh.test_flags.<locals>.f.<locals>.<listcomp>  s)   ø€ Ð?Ð?Ð?¡4 1 a�8�5˜”8˜A‘;”;Ð?Ð?Ð?r   )ÚnitÚziprÉ   )ÚxsÚjsrQ   rÝ   rv   s      @€r   rv   z"TestTanhSinh.test_flags.<locals>.f  s_   øø€ ØˆEŒE�Q‰JˆEŒEØ,Ð,Ø(Ð(Ø:Ð:ð<ˆEð @Ð?Ð?Ð?­3¨r°2·8²8±:´:Ñ+>Ô+>Ð?Ñ?Ô?ˆCØˆJr   r   r§   ©r€   r*   )ri   rº   ©r   éþÿÿÿéýÿÿÿ)	rÞ   r   ÚarangeÚint64r   rt   Úarrayr   r�   )r   rº   rQ   Ú	ref_flagsrv   s       @r   Ú
test_flagszTestTanhSinh.test_flags  s“   ø€ ð	ð 	ð 	ð 	ð 	ð ˆŒå”	˜!¥2¤8Ð,Ñ,Ô,Ð.ˆÝ˜�BœF˜8 A™:­¬¨ y°¡{¸QÀTÐJÑJÔJˆÝ”H˜[˜[˜[Ñ)Ô)ˆ	Ý�S”Z Ñ+Ô+Ð+Ð+Ð+r   c                 óÄ   — d„ }t          |t          j        gdz  t          j         gdz  dd¬¦  «        }t          j        g d¢¦  «        }t	          |j        |¦  «         d S )Nc                 óÆ   — t          j        | d         dz   ¦  «        t          j        | d         ¦  «        t          j        | d         t           j        ¦  «        d         gS )Nr   r   r   r=   )r   r#   rÙ   rÚ   rÖ   s    r   rv   z1TestTanhSinh.test_flags_preserve_shape.<locals>.f  sL   € Ý”F˜A˜aœD !™G˜8Ñ$Ô$Ý”F˜1˜Qœ4‘L”LÝ”L  1¤¥r¤vÑ.Ô.¨rÔ2ð4ð 4r   r§   r*   T)ri   rm   rã   )r   r   rt   rè   r   r�   )r   rv   rQ   ré   s       r   Útest_flags_preserve_shapez&TestTanhSinh.test_flags_preserve_shape  sh   € ð	4ð 	4ð 	4õ
 ˜�BœF˜8 A™:­¬¨ y°¡{¸QÈtÐTÑTÔTˆÝ”H˜[˜[˜[Ñ)Ô)ˆ	Ý�S”Z Ñ+Ô+Ð+Ð+Ð+r   c                 óŠ   — d„ }t          |dd¦  «        }t          |ddd¬¦  «        }t          |j        |d         ¦  «         d S )Nc           	      óº   — t          j        | t          j        d| z  ¦  «        gt          j        d| z  ¦  «        | t          j        d| z  ¦  «        z  gg¦  «        S )NrŒ   é   éd   )r   ÚasarrayrH   r$   rÖ   s    r   rv   z+TestTanhSinh.test_preserve_shape.<locals>.f)  sW   € Ý”: ¥2¤6¨"¨q©&¡>¤>Ð2Ý "¤ r¨A¡v¡¤°µB´F¸3À¹7±O´OÑ0CÐDðFñ Gô Gð Gr   r   r   Trl   )r   r   r   r}   )r   rv   rR   rQ   s       r   Útest_preserve_shapez TestTanhSinh.test_preserve_shape'  sY   € ð	Gð 	Gð 	Gõ �q˜!˜QÑÔˆÝ˜˜1˜a°Ð5Ñ5Ô5ˆÝ˜œ c¨!¤fÑ-Ô-Ð-Ð-Ð-r   c                 óØ   — | j         }d}t          d¦  «        D ]P}t          |d|j        d|¬¦  «        }|                      |j        |j        d¬¦  «        }||dz  k     s|dk     sJ ‚|}ŒQd S )Nr   r2   ©rk   ri   Tr[   r   g      /À)r   Úranger   rs   rT   r}   rR   )r   rv   Úlast_logerrÚirQ   Úlogerrs         r   Útest_convergencezTestTanhSinh.test_convergence1  s„   € àŒGˆØˆÝ�q‘”ð 	!ð 	!ˆAÝ˜A˜q !¤#°¸AÐ>Ñ>Ô>ˆCØ—Z’Z ¤¨a¬e¸�ZÑ>Ô>ˆFØ˜[¨1™_Ò,Ð,°¸²°°°Ø ˆKˆKð		!ð 	!r   c                 óæ	  ‡ ‡— ˆˆ fd„Š‰ j         j        ‰_        ‰ j         j        ‰_        d}‰j        |z  }d\  ‰_        ‰_        t          ‰d‰j        ¦  «        }‰                      |j        ‰j        ¦  «        |j        cxk     r|k     sn J ‚|j        ‰j        k    sJ ‚‰j        |_        |j	        sJ ‚|j
        dk    sJ ‚d\  ‰_        ‰_        |j        }t          ‰d‰j        |¬¦  «        }‰j        |_        ||k    sJ ‚d\  ‰_        ‰_        |dz  }|dk    sJ ‚t          ‰d‰j        |¬¦  «        }‰                      |j        ‰j        ¦  «        |j        cxk     r|k    sn J ‚|j        ‰j        cxk    r|j        k     sn J ‚‰j        |j        dz
  k    sJ ‚|j	        rJ ‚|j
        t          j        k    sJ ‚|}‰j        |_        d\  ‰_        ‰_        t          j        |j        t          j        ¦  «        }t          ‰d‰j        d|¬¦  «        }|j        |j        k    sJ ‚|j        |j        k    sJ ‚|j        ‰j        cxk    r|j        k    sn J ‚‰j        |j        k    sJ ‚|j	        sJ ‚|j
        dk    sJ ‚d\  ‰_        ‰_        t          j        |j        t          j         ¦  «        }t          ‰d‰j        d|¬¦  «        }‰                      |j        ‰j        ¦  «        |j        cxk     r|k     sn J ‚|j        ‰j        cxk    r|j        k    sn J ‚‰j        |j        k    sJ ‚|j	        sJ ‚|j
        dk    sJ ‚d\  ‰_        ‰_        t          j        |j        |j        z  t          j        ¦  «        }t          ‰d‰j        |¬	¦  «        }|j        |j        k    sJ ‚|j        |j        k    sJ ‚|j        ‰j        cxk    r|j        k    sn J ‚‰j        |j        k    sJ ‚|j	        sJ ‚|j
        dk    sJ ‚d\  ‰_        ‰_        t          j        |j        |j        z  t          j         ¦  «        }t          ‰d‰j        |¬	¦  «        }‰                      |j        ‰j        ¦  «        ‰j        z  |j        |j        z  cxk     r|k     sn J ‚|j        ‰j        cxk    r|j        k    sn J ‚‰j        |j        k    sJ ‚|j	        sJ ‚|j
        dk    sJ ‚d S )
Nc                 ó’   •— ‰xj         dz  c_         ‰xj        t          j        | ¦  «        z  c_        ‰                     | ¦  «        S r   )Úcallsr®   r   r¯   r   ©r¢   rv   r   s    €€r   rv   z:TestTanhSinh.test_options_and_result_attributes.<locals>.f>  s:   ø€ ØˆGŒG�q‰LˆGŒGØˆGŒG•r”w˜q‘z”zÑ!ˆGŒGØ—7’7˜1‘:”:Ðr   çê-�™—q=)r   r   r   rh   r   r   ©rb   r`   ra   )r   rR   rs   r®   rý   r   rT   r}   r¼   rŽ   r�   ri   ÚeimÚ	_ECONVERRr   Ú	nextafterrt   )	r   Údefault_rtolÚdefault_atolrR   ri   rQ   r`   rb   rv   s	   `       @r   Ú"test_options_and_result_attributesz/TestTanhSinh.test_options_and_result_attributes;  sh  øø€ ð	ð 	ð 	ð 	ð 	ð 	ð ””ˆŒØŒgŒiˆŒØˆØ”u˜|Ñ+ˆð  ÑˆŒ�”Ý˜˜1˜aœcÑ"Ô"ˆØ�zŠz˜#œ,¨¬Ñ.Ô.°´ÐIÐIÒIÐI¸\ÒIÐIÐIÐIÐIÐIØŒx˜1œ7Ò"Ð"Ð"Ð"Ø”GˆŒ	ØŒ{ÐÐÐØŒz˜QŠˆˆˆð  ÑˆŒ�”Ø”<ˆÝ˜˜1˜aœc¨HÐ5Ñ5Ô5ˆØ”GˆŒ	Ø�cŠzˆzˆzˆzð  ÑˆŒ�”Ø�A‰ˆØ˜1Š}ˆ}ˆ}ˆ}Ý˜˜1˜aœc¨HÐ5Ñ5Ô5ˆØ�zŠz˜#œ,¨¬Ñ.Ô.°´ÐIÐIÒIÐI¸\ÒIÐIÐIÐIÐIÐIØŒx˜1œ7Ð-Ð-Ò-Ð- S¤XÒ-Ð-Ð-Ð-Ð-Ð-ØŒw˜#œ) a™-Ò'Ð'Ð'Ð'Ø”;ÐÐÐØŒz�Sœ]Ò*Ð*Ð*Ð*ð, ˆØ”GˆŒ	ð  ÑˆŒ�”åŒ|˜CœI¥r¤vÑ.Ô.ˆÝ˜˜1˜aœc¨°Ð5Ñ5Ô5ˆØŒ|˜sœ|Ò+Ð+Ð+Ð+ØŒy˜CœIÒ%Ð%Ð%Ð%ØŒx˜1œ7Ð.Ð.Ò.Ð. c¤hÒ.Ð.Ð.Ð.Ð.Ð.ØŒw˜#œ)Ò#Ð#Ð#Ð#àŒ{ÐÐÐØŒz˜QŠˆˆˆàÑˆŒ�”åŒ|˜CœI­¬ wÑ/Ô/ˆÝ˜˜1˜aœc¨°Ð5Ñ5Ô5ˆØ�zŠz˜#œ,¨¬Ñ.Ô.°´ÐAÐAÒAÐA¸TÒAÐAÐAÐAÐAÐAØŒx˜1œ7Ð-Ð-Ò-Ð- S¤XÒ-Ð-Ð-Ð-Ð-Ð-ØŒw˜œÒ"Ð"Ð"Ð"ØŒ{ÐÐÐØŒz˜QŠˆˆˆð  ÑˆŒ�”åŒ|˜CœI c¤lÑ2µB´FÑ;Ô;ˆÝ˜˜1˜aœc¨Ð-Ñ-Ô-ˆØŒ|˜sœ|Ò+Ð+Ð+Ð+ØŒy˜CœIÒ%Ð%Ð%Ð%ØŒx˜1œ7Ð.Ð.Ò.Ð. c¤hÒ.Ð.Ð.Ð.Ð.Ð.ØŒw˜#œ)Ò#Ð#Ð#Ð#àŒ{ÐÐÐØŒz˜QŠˆˆˆàÑˆŒ�”åŒ|˜CœI c¤lÑ2µR´V°GÑ<Ô<ˆÝ˜˜1˜aœc¨Ð-Ñ-Ô-ˆØ�zŠz˜#œ,¨¬Ñ.Ô.¨q¬uÑ4°s´yÀÄÑ7MÐTÐTÒTÐTÐPTÒTÐTÐTÐTÐTÐTØŒx˜1œ7Ð-Ð-Ò-Ð- S¤XÒ-Ð-Ð-Ð-Ð-Ð-ØŒw˜œÒ"Ð"Ð"Ð"ØŒ{ÐÐÐØŒz˜QŠˆˆˆˆˆr   rb   g-Cëâ6?g›+¡†›„=c           	      óx  ‡— t          j        ¦   «         Št          dd¬¦  «        }t          ‰j        dddt          j        |¦  «        ¬¦  «        }t          ‰j        dd|¬¦  «        }t          t          j	        |j
        ¦  «        |j
        fi |¤Ž t          t          j	        |j        ¦  «        |j        fi |¤Ž |j        |j        k    sJ ‚ˆfd	„}ˆfd
„}t          |t
          j         t
          j        d¬¦  «        }t          |t
          j         t
          j        ¦  «        }t          j        d¬¦  «        5  t          t          j	        |j
        ¦  «        |j
        fi |¤Ž t          t          j	        |j        ¦  «        |j        fi |¤Ž d d d ¦  «         n# 1 swxY w Y   |j        |j        k    sJ ‚d S )Ng¬CÒÑ]r2<rÄ   )r`   rb   rd   r   T)r   rb   ra   c                 ó\   •— ‰                      | ¦  «         ‰                     | ¦  «        z  S r!   )r~   r|   ©r¢   r„   s    €r   rv   z TestTanhSinh.test_log.<locals>.f·  s$   ø€ Ø—K’K ‘N”N�? 4§8¢8¨A¡;¤;Ñ.Ð.r   c                 ó¤   •— t          j        ‰                     | ¦  «        dz   ¦  «        ‰                     | ¦  «        z   t           j        dz  z   S )Ny                ù              ð?)r   r   r~   Úpir	  s    €r   Úlogfz#TestTanhSinh.test_log.<locals>.logfº  s<   ø€ Ý”6˜$Ÿ+š+ a™.œ.¨2Ñ-Ñ.Ô.°·²¸Q±´Ñ?Å"Ä%È"Á*ÑLÐLr   r[   rK   ©Úall)r   r{   Údictr   r~   r   r   r|   r   r#   r}   rT   r¼   rt   rO   )r   rb   Ú	test_tolsrQ   rR   rv   r  r„   s          @r   Útest_logzTestTanhSinh.test_log¨  s  ø€ õ Œz‰|Œ|ˆå˜e¨%Ð0Ñ0Ô0ˆ	õ ˜œ R¨°½2¼6À$¹<¼<ÐHÑHÔHˆÝ˜œ " a¨dÐ3Ñ3Ô3ˆÝ�œ˜sœ|Ñ,Ô,¨c¬lÐHÐH¸iÐHÐHÐHÝ�œ˜sœyÑ)Ô)¨3¬9ÐBÐB¸	ÐBÐBÐBØŒx˜3œ8Ò#Ð#Ð#Ð#ð	/ð 	/ð 	/ð 	/ð 	/ð	Mð 	Mð 	Mð 	Mð 	Mõ ˜�rœv˜g¥r¤v°4Ð8Ñ8Ô8ˆÝ˜�BœF˜7¥B¤FÑ+Ô+ˆõ Œ[˜XÐ&Ñ&Ô&ð 	Gð 	GÝ�BœF 3¤<Ñ0Ô0°#´,ÐLÐLÀ)ÐLÐLÐLÝ�BœF 3¤9Ñ-Ô-¨s¬yÐFÐF¸IÐFÐFÐFð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gð Œx˜3œ8Ò#Ð#Ð#Ð#Ð#Ð#s   Ä<AFÆF!Æ$F!c                 ó¶  ‡‡— d„ }t          |dt          j        dz  ¦  «        }t          j        d¦  «        dz  dt          j        d¦  «        dz  z
  dz  z   }t	          |j        |¦  «         t          j        d¬¦  «        Št          j        d¬¦  «        Šˆˆfd„}t          |t          j        t          j         ¦  «        }t	          |j        d	¦  «         d S )
Nc                 ó0   — t          j        d| z  ¦  «        S ©Nr  rB   rÖ   s    r   rv   z$TestTanhSinh.test_complex.<locals>.fÊ  s   € Ý”6˜"˜q™&‘>”>Ð!r   r   r2   r   r   r  )Úscalec                 ó`   •— ‰                      | ¦  «        d‰                      | ¦  «        z  z   S r  )r|   )r¢   Údist1Údist2s    €€r   rv   z$TestTanhSinh.test_complex.<locals>.fÔ  s&   ø€ Ø—9’9˜Q‘<”< " U§Y¢Y¨q¡\¤\¡/Ñ1Ð1r   y      ð¿      ð¿)	r   r   r  r'   r   r}   r   r{   rt   )r   rv   rQ   rR   r  r  s       @@r   Útest_complexzTestTanhSinh.test_complexÇ  sÞ   øø€ ð	"ð 	"ð 	"õ ˜˜1�bœe A™gÑ&Ô&ˆÝŒg�a‰jŒj˜‰l˜a¥¤¨¡
¤
¨1¡™n¨bÑ0Ñ0ˆÝ˜œ cÑ*Ô*Ð*õ ”
 Ð#Ñ#Ô#ˆÝ”
 Ð#Ñ#Ô#ˆð	2ð 	2ð 	2ð 	2ð 	2ð 	2õ ˜�2œ6¥B¤F 7Ñ+Ô+ˆÝ˜œ gÑ.Ô.Ð.Ð.Ð.r   ri   c                 ó   ‡ ‡— ˆˆ fd„Šddt          j        g ¦  «        c‰_        ‰_        ‰_        t          ‰d‰ j        j        d|¬¦  «        }t          j        ‰j        ¦  «        }t          d|dz   ¦  «        D �]}ddt          j        g ¦  «        c‰_        ‰_        ‰_        t          ||¬¦  «        }t          ‰d‰ j        j        fi |¤Ž}t          |j        |j        d¬¦  «         t          |j        |j        d|j        z  ¬¦  «         |j        ‰j        cxk    rt          ‰j        ¦  «        k    sn J ‚‰j        ||z
  dz   dz   k    sJ ‚|j        |j        k    sJ ‚t#          |t          j        ‰j        ¦  «        ¦  «         �Œd S )Nc                 óö   •— ‰xj         dz  c_         ‰xj        t          j        | ¦  «        z  c_        t          j        ‰j        |                      ¦   «         f¦  «        ‰_        ‰                     | ¦  «        S r   )rý   r®   r   r¯   Úconcatenater¢   rÉ   r   rþ   s    €€r   rv   z%TestTanhSinh.test_minlevel.<locals>.fß  sZ   ø€ ØˆGŒG�q‰LˆGŒGØˆGŒG•r”w˜q‘z”zÑ!ˆGŒGÝ”. !¤# q§w¢w¡y¤yÐ!1Ñ2Ô2ˆAŒCØ—7’7˜1‘:”:Ðr   r   rõ   r   g¼‰Ø—²Ò¼<ra   r_   )r   rè   r®   rý   r¢   r   r   rs   Úsortrö   r  r   r}   rT   r¼   Úlenr�   r   )r   ri   rR   Úref_xrk   ÚoptionsrQ   rv   s   `      @r   Útest_minlevelzTestTanhSinh.test_minlevelÚ  sŸ  øø€ ð
	ð 	ð 	ð 	ð 	ð 	ð
 !" 1¥b¤h¨r¡l¤lÐˆŒ�”˜!œ#å˜˜1˜dœgœi°!¸hÐGÑGÔGˆÝ”˜œ‘”ˆå˜a ¨A¡Ñ.Ô.ð 	.ñ 	.ˆHØ$% q­"¬(°2©,¬,Ð!ˆAŒG�Q”W˜aœcÝ H°xÐ@Ñ@Ô@ˆGÝ˜A˜q $¤'¤)Ð7Ð7¨wÐ7Ð7ˆCå˜CœL¨#¬,¸UÐCÑCÔCÐCå˜CœI s¤y°u¸s¼|Ñ7KÐLÑLÔLÐLØ”8˜qœwÐ2Ð2Ò2Ð2­#¨a¬c©(¬(Ò2Ð2Ð2Ð2Ð2Ð2Ø”7˜h¨Ñ1°AÑ5¸Ñ9Ò9Ð9Ð9Ð9Ø”: ¤Ò+Ð+Ð+Ð+Ý˜¥¤¨¬¡¤Ñ-Ô-Ð-Ñ-ð	.ð 	.r   c           
      ó|  — d„ }t           j         dt           j         t           j        dt           j         dg}t           j        t           j        dt           j         ddt           j        g}t          j        t           j        ¦  «        }t	          |||¦  «        }t          |j        ||dz  |dz  | |||g¦  «         d S )Nc                 ót   — t           j        | t          j        | ¦  «        <   t          j        | dz   ¦  «        S r   )r   rÚ   Úisinfr#   rÖ   s    r   rv   z/TestTanhSinh.test_improper_integrals.<locals>.fø  s)   € ÝœVˆA�bŒh�q‰kŒk‰NÝ”6˜1˜a™4˜%‘=”=Ð r   r   iìÿÿÿé   r   )r   rt   r'   r  r   r   r}   )r   rv   r(   rs   rR   rQ   s         r   Útest_improper_integralsz$TestTanhSinh.test_improper_integralsö  s¤   € ð	!ð 	!ð 	!õ ŒfˆW�a�"œ&˜¥"¤&¨#µ´¨w¸Ð<ˆÝŒV•R”V˜Q¥¤ ¨¨Rµ´Ð8ˆÝŒg•b”e‰nŒnˆÝ˜˜1˜aÑ Ô ˆÝ˜œ s¨C°©E°3°q±5¸3¸$ÀÀSÈ#Ð&NÑOÔOÐOÐOÐOr   rƒ   ©r   r§   r§   r€   c                 ó˜  ‡— t          j        |‰¬¦  «        d         \  }}ˆfd„}‰t           j        k    rdnd}t          ||||¬¦  «        }|j        j        ‰k    sJ ‚|j        j        ‰k    sJ ‚t          j        |j        ¦  «        sJ ‚t          |j        t          j
        |¦  «        t          j
        |¦  «        z
  |¬¦  «         d S )Nrâ   r=   c                 óF   •— | j         ‰k    sJ ‚t          j        | ¦  «        S r!   )r€   r   r#   )r¢   r€   s    €r   rv   z"TestTanhSinh.test_dtype.<locals>.f  s$   ø€ Ø”7˜eÒ#Ð#Ð#Ð#Ý”6˜!‘9”9Ðr   rÿ   gñhãˆµøä>ra   )r   rò   Úfloat64r   r}   r€   rT   r  rŽ   r   r#   )r   rƒ   r€   r(   rs   rv   rb   rQ   s     `     r   Ú
test_dtypezTestTanhSinh.test_dtype  sÝ   ø€ õ Œz˜&¨Ð.Ñ.Ô.¨rÔ2‰ˆˆ1ð	ð 	ð 	ð 	ð 	ð ¥¤Ò+Ð+ˆuˆu°ˆÝ˜˜1˜a dÐ+Ñ+Ô+ˆØŒ|Ô! UÒ*Ð*Ð*Ð*ØŒyŒ %Ò'Ð'Ð'Ð'ÝŒv�c”kÑ"Ô"Ð"Ð"Ð"Ý˜œ¥b¤f¨Q¡i¤iµ´°q±	´	Ñ&9ÀÐEÑEÔEÐEÐEÐEr   c                 ó  ‡
‡— t           j         t           j        }}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¤Ž}|                     ¦   «         D ]`}	|	d
k    r0‰
j        |	         dk    sJ ‚||	         dk    sJ ‚||	         dk    sJ ‚Œ8||	         ‰
j        |	         cxk    r||	         k    sn J ‚Œad S )Nc                 ó2   — t          j        |  | z  ¦  «        S r!   rB   rÖ   s    r   rv   z-TestTanhSinh.test_maxiter_callback.<locals>.f  ó   € Ý”6˜1˜"˜Q™$‘<”<Ðr   )r   r   r   rÄ   )rk   ri   rb   c                 ó˜   •— ‰xj         dz  c_         | ‰_        t          | d¦  «        sJ ‚| j        dk    sJ ‚‰j         ‰k    rt          ‚d S )Nr   r}   )ÚiterrQ   Úhasattrr�   ÚStopIteration)rQ   ro   Úmaxiters    €€r   ro   z4TestTanhSinh.test_maxiter_callback.<locals>.callback  sZ   ø€ ØˆMŒM˜QÑˆMŒMØˆHŒLÝ˜3 
Ñ+Ô+Ð+Ð+Ð+Ø”: ’?�?�?�?ØŒ} Ò'Ð'Ý#Ð#ð (Ð'r   rd   ri   ro   r�   rä   éüÿÿÿ)	r   rt   r  r   rŽ   ri   r1  rQ   Úkeys)r   r(   rs   rv   rk   ri   ÚkwargsrQ   Úres2Úkeyro   r4  s             @@r   Útest_maxiter_callbackz"TestTanhSinh.test_maxiter_callback  sˆ  øø€ å”ˆw�œˆ1ˆð	 ð 	 ð 	 ð "Ñˆ�(Ø˜XÑ%¨Ñ)ˆÝ˜x°(ÀÐGÑGÔGˆÝ˜˜1˜aÐ*Ð* 6Ð*Ð*ˆØ”;ÐÐÐØŒ|˜xÒ'Ð'Ð'Ð'ð	$ð 	$ð 	$ð 	$ð 	$ð 	$ð ˆŒØˆŒà�:ÐÝ˜˜A˜qÐ>Ð> FÐ>Ð>°XÐ>Ð>Ð>ˆð —8’8‘:”:ð 	Bð 	BˆCØ�hŠˆØ”| CÔ(¨AÒ-Ð-Ð-Ð-Ø˜3”x 2’~�~�~�~Ø˜C”y B’����à˜C”y H¤L°Ô$5ÐAÐAÒAÐA¸¸S¼ÒAÐAÐAÐAÐAÐAÐAð	Bð 	Br   c                 óÔ  ‡	— t           j         t           j        }}d„ }ˆ	fd„Š	g ‰	_        g ‰	_        d}t	          |||d|‰	¬¦  «         g }g }t          |dz   ¦  «        D ]J}t	          |||||¬¦  «        }|                     |j        ¦  «         |                     |j        ¦  «         ŒKt          ‰	j        dd …         |d¬	¦  «         t          ‰	j        dd …         |dd
¬¦  «         d S )Nc                 ó2   — t          j        |  | z  ¦  «        S r!   rB   rÖ   s    r   rv   z&TestTanhSinh.test_jumpstart.<locals>.f9  r/  r   c                 ó„   •— ‰j                              | j        ¦  «         ‰j                             | j        ¦  «         d S r!   )Ú	integralsÚappendr}   ÚerrorsrT   )rQ   ro   s    €r   ro   z-TestTanhSinh.test_jumpstart.<locals>.callback<  s:   ø€ ØÔ×%Ò% c¤lÑ3Ô3Ð3ØŒO×"Ò" 3¤9Ñ-Ô-Ð-Ð-Ð-r   r2   r   )rk   ri   ro   r   rõ   rÄ   ra   rz   r   )
r   rt   r>  r@  r   rö   r?  r}   rT   r   )
r   r(   rs   rv   ri   r>  r@  rø   rQ   ro   s
            @r   Útest_jumpstartzTestTanhSinh.test_jumpstart5  s   ø€ õ ”ˆw�œˆ1ˆð	 ð 	 ð 	 ð	.ð 	.ð 	.ð 	.ð 	.ð  ˆÔØˆŒàˆÝ�!�Q˜ A°À8ÐLÑLÔLÐLàˆ	ØˆÝ�x !‘|Ñ$Ô$ð 	%ð 	%ˆAÝ˜A˜q !¨a¸!Ð<Ñ<Ô<ˆCØ×Ò˜Sœ\Ñ*Ô*Ð*Ø�MŠM˜#œ)Ñ$Ô$Ð$Ð$å˜Ô*¨1¨2¨2Ô.°	ÀÐFÑFÔFÐFÝ˜œ¨¨¨Ô+¨V¸%ÀeÐLÑLÔLÐLÐLÐLr   c                 óè  — d„ }t          |dd¦  «        }|j        sJ ‚t          |j        d¦  «         t          |ddd¬¦  «        }|j        dk    sJ ‚t	          |j        t          j        ¦  «         t          |ddd¬¦  «        }|j        dk    sJ ‚t	          |j        t          j        ¦  «         t          |dd¦  «        }|j        sJ ‚|j        dk    sJ ‚t          |j        d¦  «         d„ }t          |ddd¬	¦  «        }t          |j        d¦  «         t          j        dddg}dt          j        ddg}ddt          j        dg}t          ||||f¬	¦  «        }t          |j        t          j        t          j        t          j        d
g¦  «         t          |j        d d…         t          j        ¦  «         t	          |j	        g d¢¦  «         t	          |j        g d¢¦  «         t	          |j
        d d…         d¦  «         t          j        d¦  «        t          _        t          j        d¦  «        t          _        dgt          _        d t          _        t          d„ dd¦  «        }t          |j        d¦  «         t          d„ dd¦  «        }t          |j        d
¦  «         d}t          d„ dt          j        |¦  «        ¦  «        }g d¢}|D ]}t	          ||         j        |¦  «         Œd S )Nc                 óX   — t          j        | j        t           j        ¦  «        sJ ‚| dz  S )Néc   )r   r   r€   r�   rÖ   s    r   rv   z*TestTanhSinh.test_special_cases.<locals>.fT  s'   € Ý”= ¤­"¬+Ñ6Ô6Ð6Ð6Ð6Ø˜‘7ˆNr   r   r   g{®Gáz„?rh   rd   c                 ó   — | |z  S r!   r=   )r¢   Úcs     r   rv   z*TestTanhSinh.test_special_cases.<locals>.fk  s   € Ø�a‘4ˆKr   rD  r¹   rF   r§   )rå   rå   rå   r   ©FFFTc                 ó   — | dz  S r  r=   rÖ   s    r   r·   z1TestTanhSinh.test_special_cases.<locals>.<lambda>…  s
   €  ! B¡$€ r   y              à?c                 ó   — | S r!   r=   rÖ   s    r   r·   z1TestTanhSinh.test_special_cases.<locals>.<lambda>‡  ó   €  !€ r   r(  c                 ó   — | S r!   r=   rÖ   s    r   r·   z1TestTanhSinh.test_special_cases.<locals>.<lambda>Œ  rJ  r   r»   )r   rŽ   r   r}   r   rT   r   rÚ   ri   r�   r¼   Úemptyr	   ÚxjcÚwjÚindicesÚh0Úzerosr¤   )	r   rv   rQ   r(   rs   rF  r¤   rÏ   rÁ   s	            r   Útest_special_caseszTestTanhSinh.test_special_casesO  sé  € ð
	ð 	ð 	õ ˜˜1˜aÑ Ô ˆØŒ{ÐÐÐÝ˜œ eÑ,Ô,Ð,õ ˜˜1˜a¨!Ð,Ñ,Ô,ˆØŒ|˜aÒÐÐÐÝ�S”Y¥¤Ñ'Ô'Ð'Ý˜˜1˜a¨!Ð,Ñ,Ô,ˆØŒ|˜aÒÐÐÐÝ�S”Y¥¤Ñ'Ô'Ð'õ ˜˜1˜aÑ Ô ˆØŒ{ÐÐÐØŒ|˜rÒ!Ð!Ð!Ð!Ý˜œ aÑ(Ô(Ð(ð	ð 	ð 	õ ˜˜1˜a bÐ)Ñ)Ô)ˆÝ˜œ eÑ,Ô,Ð,õ ŒV�Q˜˜1ÐˆØ•”˜˜1ÐˆØ�•2”6˜1ÐˆÝ˜˜1˜a q dÐ+Ñ+Ô+ˆÝ˜œ¥r¤v­r¬vµr´v¸sÐ&CÑDÔDÐDÝ˜œ	 " 1 "œ¥r¤vÑ.Ô.Ð.Ý�S”Z   Ñ1Ô1Ð1Ý�S”[Ð"=Ð"=Ð"=Ñ>Ô>Ð>Ý�S”X˜b˜q˜b”\ 1Ñ%Ô%Ð%õ œ( 1™+œ+�ŒÝœ !™œ�ŒØ ˜c�ÔØ�ŒÝ˜˜¨¨1Ñ-Ô-ˆÝ˜œ fÑ-Ô-Ð-Ý˜˜ Q¨Ñ*Ô*ˆÝ˜œ cÑ*Ô*Ð*ð ˆÝ˜˜ Q­¬°©¬Ñ8Ô8ˆØNÐNÐNˆØð 	1ð 	1ˆDÝ˜˜Tœœ¨%Ñ0Ô0Ð0Ð0ð	1ð 	1r   N)F);Ú__name__Ú
__module__Ú__qualname__r   rR   rs   r   r   r  r   r%   r#   r)   r-   r1   r4   r'   r   Úgammar6   r8   r;   r>   rt   r@   rC   rE   rI   rT   rx   rp   ÚmarkÚparametrizer   r{   Úcdfr†   rö   r‘   Ú_distr_paramsÚdistcontr£   ÚtuplerÒ   rê   rí   ró   rú   r  r  r  r"  r'  Úfloat32r+  r,  r:  rA  rR  r=   r   r   r   r      sø  € € € € € ð!ð !ð !ð €B„FØ€B„Dð%ð %ð %ð Œe�a‰i˜!˜f˜bœf Q™iœi™-Ñ'¨2Ñ-€B„FØ€B„Dð%ð %ð %ð ˆbŒf�R”U˜Q‘YÑÔ !Ñ# qÑ(€B„FØŒ5�1‰9€B„Dð1ð 1ð 1ð �”˜!‘‰^˜bÑ €B„FØ€B„Dð&ð &ð &ð €B„FØ€B„Dð#ð #ð #ð ŒU�Q‰Y€B„FØ€B„Dð0ð 0ð 0ð ��”˜œ‘”Ñ - '¤-°Ñ"6Ô"6Ñ6¸¸¼ÀuÑ9MÔ9MÑM€B„FØ€B„Dðð ð ð €B„FØ€B„Dð!ð !ð !ð ŒeˆV�f�b”f˜Q‘i”iÑ !Ñ#€B„FØŒ5�1‰9€B„Dð"ð "ð "ð Œe�g�b”g˜a‘j”jÑ  1Ñ$€C„GØŒE�A‰I€C„Eð ð  ð  ð Œe�a‰i€C„GØŒF€C„Eð'ð 'ð 'ð ˆbŒg�b”e‰nŒn€C„GØŒF€C„Eð#ð #ð #ð ˆbŒg�b”e˜a‘iÑ Ô €C„GØŒF€C„Eð&ð &ð &ð €C„GØŒF€C„Eðð ð ð Œe�a‰i€C„GØŒF€C„Eð!ð !ð !ð !ð58ð 58ð 58ðn „[×Ò˜]Ø
ˆRŒVˆ�cÐØŒ6ˆ'�1ˆ�sÐØŒ6ˆ'�2”6Ð	˜AÐØ
Œ&�2”6�'Ð	˜BÐØ	�%”*—.’. Ñ$Ô$¨¬
¯ª°qÑ(9Ô(9Ñ9Ð:ð-ñ ô ðEð Eñô ðEð" „[×Ò˜Z¨¨¨q°"©¬Ñ6Ô6ðð ñ 7Ô6ðð „[×Ò˜U S¨3°¨*Ð$5Ñ6Ô6Ø„[×Ò˜V UÔ%8Ô%AÑBÔBð+ð +ñ CÔBñ 7Ô6ð+ð „[×Ò˜W u u¡w¤w°°v¸yÐ&IÑJÔJð%4ð %4ñ KÔJð%4ðN,ð ,ð ,ð"	,ð 	,ð 	,ð.ð .ð .ð!ð !ð !ðkð kð kðZ „[×Ò˜V d¨E ]Ñ3Ô3ð$ð $ñ 4Ô3ð$ð</ð /ð /ð& „[×Ò˜Z¨¨¨q©¬Ñ2Ô2ð.ð .ñ 3Ô2ð.ð6	Pð 	Pð 	Pð „[×Ò˜X¨°2´6°'¸1°ÀÀ1¸vÐ0FÐ'GÑHÔHØ„[×Ò˜W r¤z°2´:Ð&>Ñ?Ô?ðFð Fñ @Ô?ñ IÔHðFð!Bð !Bð !BðFMð Mð Mð4@1ð @1ð @1ð @1ð @1r   r   c                   óX  — e Zd Zej                             d¦  «        Ze                     ddd¬¦  «        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                     d
dd¬¦  «        e_         eej        e¦  «        e_        efe_        d„ Zej                             d edd¦  «        ¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zej                             d e¦   «         dddg¦  «        d„ ¦   «         Zd„ Zd„ Z d„ Z!d„ Z"ej                             dej#        ej$        g¦  «        d„ ¦   «         Z%dS ) ÚTestNSuml   ºQ º[† r   rŒ   ©r¯   c                 ó   — |dz  S ©Nrä   r=   )r   Úks     r   r   zTestNSum.f1–  s   € ð �2‰wˆr   r   é   c                 ó   — d||z  z  S r   r=   ©r   rc  r²   s      r   r   zTestNSum.f2   ó   € Ø�1�a‘4‰xˆr   c                 ó   — d||z  z  S r   r=   rf  s      r   r%   zTestNSum.f3¨  rg  r   r*   rˆ   )r§   r   c                 ój  — | j         }d}t          j        t          |¬¦  «        5  t	          d|j        |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          ||j        |j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          |d|j        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          ||j        d ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          ||j        |j        t          ¦   «         ¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          ||j        |j        d
¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          ||j        |j        t          ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        d¬¦  «        5  t	          |t          j
        t          j         t          j        gd¦  «        }t          j        |j        dk    t          j        |j        ¦  «        z  t          j        |j        ¦  «        z  |j         z  |j        z  dk    ¦  «        sJ ‚t	          |dt          j
        dg¦  «        }t          j        |j        dk    t          j        |j        ¦  «        z  t          j        |j        ¦  «        z  |j         z  |j        z  dk    ¦  «        sJ ‚t	          |ddt          j
        t          j         t          j        ddg¬	¦  «        }t          j        |j        dk    t          j        |j        ¦  «        z  t          j        |j        ¦  «        z  |j         z  |j        z  dk    ¦  «        sJ ‚	 d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          ||j        |j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          ||j        |j        t          j        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          ||j        |j        t          j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          ||j        |j        t          j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          ||j        |j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          ||j        |j        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrV   rW   rY   rZ   r   r[   r\   r]   )Ústepr^   r_   ra   rK   r  r   rd   rŒ   r   rc   re   Trf   rg   z"...must be a non-negative integer.g      @©Úmaxtermsrä   )r   rp   rq   rr   r
   r(   rs   ru   r   rO   rÚ   rt   r  r�   ÚisnanÚsumrT   rŽ   r¼   )r   rv   rw   rQ   s       r   rx   zTestNSum.test_input_validation°  s0	  € ØŒGˆà)ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	 ð 	 Ý�"�a”c˜1œ3ÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð .ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	&ð 	&Ý�!�Q”S˜!œ# 1Ð%Ñ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð -ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	 ð 	 Ý�!�T˜1œ3ÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 åŒ]�:¨WÐ5Ñ5Ô5ð 	 ð 	 Ý�!�Q”S˜$ÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 åŒ]�:¨WÐ5Ñ5Ô5ð 	.ð 	.Ý�!�Q”S˜!œ#¥F¡H¤HÐ-Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.åŒ]�:¨WÐ5Ñ5Ô5ð 	,ð 	,Ý�!�Q”S˜!œ# FÐ+Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,åŒ]�:¨WÐ5Ñ5Ô5ð 	,ð 	,Ý�!�Q”S˜!œ#¥FÐ+Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,õ Œ[˜XÐ&Ñ&Ô&ð 		Pð 		PÝ˜�BœF¥R¤V G­R¬VÐ4°aÑ8Ô8ˆCÝ”6˜3œ:¨Ò+­r¬x¸¼Ñ/@Ô/@Ñ@ÝœH S¤YÑ/Ô/ñ0Ø36´;°,ñ?ØADÄñJØMNòOñ Pô Pð Pð Pð På˜˜2¥¤¨˜{Ñ+Ô+ˆCÝ”6˜3œ:¨Ò+­r¬x¸¼Ñ/@Ô/@Ñ@ÝœH S¤YÑ/Ô/ñ0Ø36´;°,ñ?ØADÄñJØMNòOñ Pô Pð Pð Pð På˜˜1˜b­¬µ´°½¼ÀÀQÐ'GÐHÑHÔHˆCÝ”6˜3œ:¨Ò+­r¬x¸¼Ñ/@Ô/@Ñ@ÝœH S¤YÑ/Ô/ñ0Ø36´;°,ñ?ØADÄñJØMNòOñ Pô Pð Pð Pð Pð Pð		Pð 		Pð 		Pñ 		Pô 		Pð 		Pð 		Pð 		Pð 		Pð 		Pð 		Pøøøð 		Pð 		Pð 		Pð 		Pð 8ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	(ð 	(Ý�!�Q”S˜!œ# BÐ'Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(åŒ]�:¨WÐ5Ñ5Ô5ð 	,ð 	,Ý�!�Q”S˜!œ#¥B¤FÐ+Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 5ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	6ð 	6Ý�!�Q”S˜!œ#¥B¤F°Ð5Ñ5Ô5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6åŒ]�:¨WÐ5Ñ5Ô5ð 	6ð 	6Ý�!�Q”S˜!œ#¥B¤F°Ð5Ñ5Ô5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð 7ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	-ð 	-Ý�!�Q”S˜!œ#¨Ð,Ñ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-åŒ]�:¨WÐ5Ñ5Ô5ð 	,ð 	,Ý�!�Q”S˜!œ#¨Ð+Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,sü   ¥AÁAÁAÁ5BÂB#Â&B#ÃC*Ã*C.Ã1C.ÄD3Ä3D7Ä:D7Å*FÆFÆFÆ5GÇG#Ç&G#È#H4È4H8È;H8ÉG P!Ð!P%Ð(P%Ñ	Q3Ñ3Q7Ñ:Q7Ò(SÓSÓSÓ5)T*Ô*T.Ô1T.Õ)VÖV	ÖV	Ö-W×W×W×=X(Ø(X,Ø/X,r‡   r2   c                 ó¤  ‡— t          | d|› �¦  «        Št          ‰‰j        ‰j        ‰j        ¬¦  «        }t          |j        ‰j        ¦  «         t          |j	        d¦  «         t          |j
        d¦  «         t          j        d¬¦  «        5  t          ˆfd„‰j        ‰j        d‰j        ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          t          j        |j        ¦  «        |j        ¦  «         t          t          j        |j        ¦  «        |j        ¦  «         t          |j	        d¦  «         t          |j
        d¦  «         d S )	Nrv   r¹   r   TrK   rL   c                  ó2   •— t          j         ‰| Ž ¦  «        S r!   r   )rº   rv   s    €r   r·   z%TestNSum.test_basic.<locals>.<lambda>í  s   ø€ ­¬°°°4°Ñ)9Ô)9€ r   )r   rº   )r�   r
   r(   rs   rº   r   rn  rR   r   r�   rŽ   r   rO   r#   rT   )r   r‡   rQ   r…   rv   s       @r   r‘   zTestNSum.test_basicä  sk  ø€ å�D˜.˜h˜.˜.Ñ)Ô)ˆÝ�A�q”s˜AœC a¤fÐ-Ñ-Ô-ˆÝ˜œ ¤Ñ'Ô'Ð'Ý�S”Z Ñ#Ô#Ð#Ý�S”[ $Ñ'Ô'Ð'åŒ[ Ð)Ñ)Ô)ð 	<ð 	<ÝÐ9Ð9Ð9Ð9Øœ3 ¤¨°A´Fð<ñ <ô <ˆFð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<õ 	�œ˜vœzÑ*Ô*¨C¬GÑ4Ô4Ð4Ý�œ˜vœ|Ñ,Ô,¨c¬iÑ8Ô8Ð8Ý�V”] AÑ&Ô&Ð&Ý�V”^ TÑ*Ô*Ð*Ð*Ð*s   Â'CÃCÃ
Crl  )r   r   rŒ   r&  rñ   c           
      óø  — | j         }d„ }d„ }t          j        ddg¦  «        d d …t          j        f         }t          j        ddt          j        g¦  «        d d …t          j        t          j        f         }t          j        g d¢¦  «                             d¦  «        }t          j        ||z
  |z  ¦  «        }|}	|||z  z   }|||z  z   }
 ||t          j        |¦  «        |z  z   ¦  «                             d	d
¬¦  «        } ||¦  «         ||
¦  «        z
  |z  }||z    ||¦  «        z   }||z    ||
¦  «        z   }||z   dz  }||z
  dz  }t          j	        |||¦  «        \  }}}t          j
        |j        ¦  «        D ]�}||         ||         ||         }}}||z
  |z  dz   |k    rX |t          j        |||z   |¦  «        ¦  «                             ¦   «         }|||<   |t          j        |¦  «        j        z  ||<   Œ‚d}t          |||	|||¬¦  «        }t          |j        |d|z  ¬¦  «         t          |j        |d|z  ¬¦  «         t#          |j        d¦  «         t#          |j        d
¦  «         |	|z
  |z  dz   |k    }t          |j        |         ||         d¬¦  «         t          |j        |         ||         d¬¦  «         t          |||	|d
t          j        |¦  «        |¬¦  «        }t          t          j        |j        ¦  «        |j        ¦  «         t          t          j        |j        ¦  «        |j        ¦  «         t#          |j        d¦  «         t#          |j        d
¦  «         d S )Nc                 ó0   — dt          j        | ¦  «        z  S rb  r   rÖ   s    r   r  z$TestNSum.test_integral.<locals>.logfù  s   € Ø•b”f˜Q‘i”i‘<Ðr   c                 ó   — d| z  S )Nrd   r=   rÖ   s    r   ÚFz!TestNSum.test_integral.<locals>.Fü  s   € Ø˜‘6ˆMr   r   r*   r&  rñ   )rF   r   r   )rd   r   r   r   rd   T)ÚaxisÚkeepdimsr   rÿ   )rj  rl  rb   rŒ   ra   r   rÄ   )rj  r   rb   rl  )r   r   rò   Únewaxisrt   ÚreshapeÚfloorræ   rn  Úbroadcast_arraysÚndindexr¤   ÚfinfoÚepsr
   r   rT   r   r�   rŽ   r   r#   )r   rl  rv   r  rt  r(   rs   rj  ÚnstepsÚ
b_originalrc  Údirectr}   ÚlowÚhighÚref_sumÚref_errrø   ÚaiÚbiÚstepirb   rQ   r…   s                           r   Útest_integralzTestNSum.test_integralô  s‡  € ð ŒGˆð	 ð 	 ð 	 ð	ð 	ð 	õ ŒJ˜˜1�vÑÔ˜q˜q˜q¥"¤*˜}Ô-ˆÝŒJ˜˜C¥¤Ð(Ñ)Ô)¨!¨!¨!­R¬Z½¼Ð*CÔDˆÝŒz˜+˜+˜+Ñ&Ô&×.Ò.¨}Ñ=Ô=ˆÝ”˜1˜q™5 $™,Ñ'Ô'ˆØˆ
Ø��t‘‰Oˆà�˜‘Ñˆà��1•r”y Ñ*Ô*¨4Ñ/Ñ/Ñ0Ô0×4Ò4¸"ÀtÐ4ÑLÔLˆØ�A�a‘D”D˜1˜1˜Q™4œ4‘K Ñ%ˆØ�xÑ ! ! A¡$¤$Ñ&ˆØ˜Ñ  1 1 Q¡4¤4Ñ'ˆØ˜‘:˜q‘.ˆØ˜#‘:˜q‘.ˆõ Ô(¨¨A¨tÑ4Ô4‰
ˆˆ1ˆdÝ”˜AœGÑ$Ô$ð 	;ð 	;ˆAØ˜aœD ! A¤$¨¨Q¬�E�ˆBØ�R‘˜‰ Ñ" hÒ.Ð.Ø˜�2œ9 R¨¨E©°5Ñ9Ô9Ñ:Ô:×>Ò>Ñ@Ô@�Ø#�˜‘
Ø#¥b¤h¨vÑ&6Ô&6Ô&:Ñ:�˜‘
øàˆÝ�A�q˜*¨4¸(ÈÐNÑNÔNˆÝ˜œ ¨r°$©wÐ7Ñ7Ô7Ð7Ý˜œ	 7°°T±Ð:Ñ:Ô:Ð:Ý�S”Z Ñ#Ô#Ð#Ý�S”[ $Ñ'Ô'Ð'à˜1‰n˜dÑ" QÑ&¨(Ò2ˆÝ˜œ œ
 G¨A¤J°UÐ;Ñ;Ô;Ð;Ý˜œ	 !œ g¨a¤j°uÐ=Ñ=Ô=Ð=å�t˜Q 
°¸4ÝœF 4™LœL°8ð=ñ =ô =ˆå�œ˜vœzÑ*Ô*¨C¬GÑ4Ô4Ð4Ý�œ˜vœ|Ñ,Ô,¨c¬iÑ8Ô8Ð8Ý�V”] AÑ&Ô&Ð&Ý�V”^ TÑ*Ô*Ð*Ð*Ð*r   r¤   r¥   r¦   r¨   c                 ó´  ‡‡‡— t           j                             d¦  «        }|                     dd|¬¦  «        }t           j        }|                     |¦  «        dz   }t          j        |¦  «        Šˆˆfd„Šd‰_        t           j        d„ ¦   «         }t          ‰||d|f¬	¦  «        } ||||d¬
¦  «         	                    ¦   «         }g d¢}	|	D ]YŠˆfd„|D ¦   «         }
t          |‰¦  «        }t          | 	                    ¦   «         |
d¬¦  «         t          |j        |¦  «         ŒZt          j        |j        j        t           j        ¦  «        sJ ‚t          j        |j        j        t           j        ¦  «        sJ ‚t          j        |j        j        t           j        ¦  «        sJ ‚t          t          j        |j        ¦  «        ‰j        ¦  «         d S )Nrª   r   rŒ   r`  c                 óz   •— ‰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   rv   z&TestNSum.test_vectorization.<locals>.f7  s?   ø€ ØˆGŒG˜QœV qš[˜[¨A¬F°aªK¨K�q�q¸a¼gÀb¼kÑIˆGŒGØ�q˜A‘v‘:Ðr   r   c                 ó0   ‡— t          ˆfd„| ||¬¦  «        S )Nc                 ó   •— d| ‰z  z  S r   r=   r¶   s    €r   r·   zCTestNSum.test_vectorization.<locals>._nsum_single.<locals>.<lambda>?  s   ø€  1 q¨!¡t¡8€ r   rk  )r
   )r(   rs   r²   rl  s     ` r   Ú_nsum_singlez1TestNSum.test_vectorization.<locals>._nsum_single=  s$   ø€ åÐ+Ð+Ð+Ð+¨Q°¸HÐEÑEÔEÐEr   iè  )rl  rº   rk  )rn  rT   rŽ   r�   r¼   c                 ó0   •— g | ]}t          |‰¦  «        ‘ŒS r=   r¾   r¿   s     €r   rÂ   z/TestNSum.test_vectorization.<locals>.<listcomp>F  rÃ   r   rÄ   ra   )r   rÅ   rÆ   Úintegersrt   rÇ   r®   rÈ   r
   rÉ   r�   r   r   r¤   r   rŽ   r€   rÊ   r�   rË   r¼   rÌ   )r   r¤   rÍ   r(   rs   r²   r�  rQ   rÎ   rÏ   rÐ   rÑ   rÁ   rv   r³   s               @@@r   rÒ   zTestNSum.test_vectorization*  sÛ  øøø€ õ Œi×#Ò#Ð$8Ñ9Ô9ˆØ�LŠL˜˜B UˆLÑ+Ô+ˆõ ŒFˆØ�JŠJ�uÑÔ Ñ!ˆÝŒG�E‰NŒNˆð	ð 	ð 	ð 	ð 	ð 	ð ˆŒå	Œð	Fð 	Fñ 
Œð	Fõ �A�q˜! d°!°Ð6Ñ6Ô6ˆØˆ|˜A˜q !¨dÐ3Ñ3Ô3×9Ò9Ñ;Ô;ˆà=Ð=Ð=ˆØð 	0ð 	0ˆDØ;Ð;Ð;Ð;°dÐ;Ñ;Ô;ˆHÝ˜s DÑ)Ô)ˆHÝ˜HŸNšNÑ,Ô,¨h¸UÐCÑCÔCÐCÝ˜œ¨Ñ/Ô/Ð/Ð/åŒ}˜Sœ[Ô.µ´Ñ9Ô9Ð9Ð9Ð9ÝŒ}˜SœZÔ-­r¬zÑ:Ô:Ð:Ð:Ð:ÝŒ}˜SœXœ^­R¬ZÑ8Ô8Ð8Ð8Ð8Ý•R”V˜CœHÑ%Ô% q¤wÑ/Ô/Ð/Ð/Ð/r   c                 óÊ  — | j         }g d¢}g d¢}dt          j        t          j        t          j        g}t          j        |d¦  «        }t          j        d¬¦  «        5  t          ||||f¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |j        g d¢¦  «         t          |j	        g d	¢¦  «         t          |j        |j                 ||j                 ¦  «         d S )
N)r   r   gÍÌÌÌÌÌì?gš™™™™™ñ?)r   r   r   r   rŒ   r   rK   rL   r¹   rG  )rå   rå   rä   r   )r   r   rt   r   ÚzetarO   r
   r   rŽ   r�   r   rn  )r   rv   r²   r(   rs   rR   rQ   s          r   Útest_statuszTestNSum.test_statusP  s  € ØŒGˆàÐÐˆØˆLˆLˆØ•”�œ¥¤Ð(ˆÝŒl˜1˜aÑ Ô ˆåŒ[ Ð)Ñ)Ô)ð 	,ð 	,Ý˜˜1˜a q dÐ+Ñ+Ô+ˆCð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,õ 	�S”[Ð"=Ð"=Ð"=Ñ>Ô>Ð>Ý�S”Z   Ñ1Ô1Ð1Ý˜œ ¤Ô,¨c°#´+Ô.>Ñ?Ô?Ð?Ð?Ð?s   ÁA?Á?BÂBc                 óò   ‡— ˆfd„Šd‰_         t          ‰dd¦  «        }t          |j         ‰j         ¦  «         d‰_         t          ‰dt          j        d¬¦  «        }t          |j         ‰j         ¦  «         d S )Nc                 óX   •— ‰xj         t          j        | ¦  «        z  c_         d| dz  z  S r/   )r¼   r   r¯   )r¢   rv   s    €r   rv   zTestNSum.test_nfev.<locals>.f`  s(   ø€ ØˆFŒF•b”g˜a‘j”jÑ ˆFŒFØ�q˜!‘t‘8ˆOr   r   r   rŒ   ç�íµ ÷Æ°>r_   )r¼   r
   r   r   rt   )r   rQ   rv   s     @r   Ú	test_nfevzTestNSum.test_nfev_  s�   ø€ ð	ð 	ð 	ð 	ð 	ð ˆŒÝ�A�q˜"‰oŒoˆÝ�S”X˜qœvÑ&Ô&Ð&àˆŒÝ�A�q�"œ& tÐ,Ñ,Ô,ˆÝ�S”X˜qœvÑ&Ô&Ð&Ð&Ð&r   c                 ó4  — t          d„ ddgt          j        dd¬¦  «        }t          d„ ddgt          j        ¦  «        }t          j        |j        |j        |j        z
  k    ¦  «        sJ ‚t          j        |j        |j        |j        z   k     ¦  «        sJ ‚d S )Nc                 ó   — d| dz  z  S r/   r=   ©rc  s    r   r·   z)TestNSum.test_inclusive.<locals>.<lambda>o  ó   € ˜a ! q¡&™j€ r   r   r2   iô  gš™™™™™¹?)rl  r`   c                 ó   — d| dz  z  S r/   r=   r™  s    r   r·   z)TestNSum.test_inclusive.<locals>.<lambda>p  rš  r   )r
   r   rt   r  rn  rT   )r   rQ   rR   s      r   Útest_inclusivezTestNSum.test_inclusivel  s“   € õ Ð(Ð(¨1¨a¨&µ"´&À3ÈSÐQÑQÔQˆÝÐ(Ð(¨1¨a¨&µ"´&Ñ9Ô9ˆÝŒv�c”g ¤¨3¬9Ñ!4Ò5Ñ6Ô6Ð6Ð6Ð6ÝŒv�c”g ¤¨3¬9Ñ!4Ò5Ñ6Ô6Ð6Ð6Ð6Ð6Ð6r   c                 óî  — | j         }dx}}t          |||¦  «        }t          |j         ||¦  «        ¦  «         t          | j        dt
          j        d¬¦  «        }t          |j        | j         j        ¦  «         t          j	        d¦  «        }t          j	        d¦  «        }t          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          |dd	d¬
¦  «        }t          j        |j        ¦  «        sJ ‚t          j        |j        ¦  «        sJ ‚|j        dk    sJ ‚t          |dd	d¬
¦  «        }t          j        |j        ¦  «        sJ ‚t          j        |j        ¦  «        sJ ‚|j        dk    sJ ‚t
          j        dddg}t
          j        t
          j        t
          j        t
          j        g}ddt
          j        dg}t          | j        |||f¬¦  «        }t          |j        t
          j        t
          j        t
          j        | j         j        g¦  «         t          |j        d d…         t
          j        ¦  «         t          |j        g d¢¦  «         t          |j        g d¢¦  «         t          |j        d d…         d¦  «         d S )Nr   r   r¹   )r§   r   r   )r   r   r2   c                 ój   — t          j        d¬¦  «        5  d| z  cd d d ¦  «         S # 1 swxY w Y   d S )NrK   rL   r   )r   rO   rÖ   s    r   rv   z%TestNSum.test_special_case.<locals>.fŠ  s€   € Ý” HÐ-Ñ-Ô-ð ð Ø˜1‘uðð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð s   –(¨,¯,r   rŒ   rk  rä   rå   r§   )rd   rd   rå   r   rG  )r   r
   r   rn  r   r   rt   r   rR   rL  Úbroadcast_shapesr¤   r�   r¼   rm  rT   rÚ   rŽ   )r   rv   r(   rs   rQ   r²   r¤   s          r   Útest_special_casezTestNSum.test_special_caset  s³  € àŒGˆØˆ	ˆˆAÝ�A�q˜!‰nŒnˆÝ�S”W˜a˜a ™dœdÑ#Ô#Ð#õ �D”G˜Q¥¤¨QÐ/Ñ/Ô/ˆÝ˜œ ¤¤Ñ-Ô-Ð-õ ŒH�YÑÔˆÝŒH�VÑÔˆÝŒH�Q‰KŒKˆÝÔ# A¤G¨Q¬W°a´gÑ>Ô>ˆÝ�D”G˜Q ¨¨Ð-Ñ-Ô-ˆØŒwŒ} Ò%Ð%Ð%Ð%ØŒzÔ 5Ò(Ð(Ð(Ð(ØŒxŒ~ Ò&Ð&Ð&Ð&ð	ð 	ð 	õ �A�q˜" qÐ)Ñ)Ô)ˆÝŒx˜œÑ Ô Ð Ð Ð ÝŒx˜œ	Ñ"Ô"Ð"Ð"Ð"ØŒz˜RÒÐÐÐå�A�q˜" qÐ)Ñ)Ô)ˆÝŒx˜œÑ Ô Ð Ð Ð ÝŒx˜œ	Ñ"Ô"Ð"Ð"Ð"ØŒz˜RÒÐÐÐõ ŒV�Q˜˜1ÐˆÝŒV•R”V�RœV¥R¤VÐ,ˆØ�•2”6˜1ÐˆÝ�D”G˜Q ¨¨Ð-Ñ-Ô-ˆÝ˜œ¥"¤&­"¬&µ"´&¸$¼'¼+Ð!FÑGÔGÐGÝ˜œ	 " 1 "œ¥r¤vÑ.Ô.Ð.Ý�S”Z   Ñ1Ô1Ð1Ý�S”[Ð"=Ð"=Ð"=Ñ>Ô>Ð>å�S”X˜b˜q˜b”\ 1Ñ%Ô%Ð%Ð%Ð%r   r€   c                 ób  ‡— ˆfd„}t          j        d‰¬¦  «        }t          j        dt           j        g‰¬¦  «        }t          |||¦  «        }|j        j        ‰k    sJ ‚|j        j        ‰k    sJ ‚‰t           j        k    rdnd}t          |d¦  «        }t          |j        ||¬¦  «         d S )	Nc                 ób   •— | j         ‰k    sJ ‚d| t          j        d‰¬¦  «        d         z  z  S )Nr   r   râ   r=   )r€   r   rò   )rc  r€   s    €r   rv   zTestNSum.test_dtype.<locals>.f§  s:   ø€ Ø”7˜eÒ#Ð#Ð#Ð#Ø�q�BœJ q°Ð6Ñ6Ô6°rÔ:Ñ:Ñ:Ð:r   r   râ   rŒ   rÿ   r•  r   ra   )
r   rò   rt   r
   rn  r€   rT   r+  r   r   )r   r€   rv   r(   rs   rQ   rb   rR   s    `      r   r,  zTestNSum.test_dtype¥  sÆ   ø€ ð	;ð 	;ð 	;ð 	;ð 	;õ ŒJ�q Ð&Ñ&Ô&ˆÝŒJ˜�BœF�|¨5Ð1Ñ1Ô1ˆÝ�A�q˜!‰nŒnˆØŒwŒ} Ò%Ð%Ð%Ð%ØŒyŒ %Ò'Ð'Ð'Ð'à¥¤Ò+Ð+ˆuˆu°ˆÝ  1Ñ%Ô%ˆÝ˜œ ¨4Ð0Ñ0Ô0Ð0Ð0Ð0r   N)&rS  rT  rU  r   rÅ   rÆ   rÍ   Úuniformr²   r   r  rR   r(   rt   rs   r\  rº   r   r   r‘  r%   r�  r   rx   rp   rW  rX  rö   r‘   rˆ  rÒ   r’  r–  rœ  r   r]  r+  r,  r=   r   r   r_  r_  ’  sD  € € € € € Ø
Œ)×
Ò
Ð 3Ñ
4Ô
4€CØ�Š�A�r ˆÑ#Ô#€Aðð ð ð
 ŒU�A‰X�a‰Z€B„FØ€B„DØŒ6€B„DØˆe‰gŒg€B„Gðð ð ð ˆWŒ\˜!˜QÑÔ€B„FØ€B„DØŒ6€B„DØˆd€B„Gðð ð ð €B„DØ�<Š<˜˜2 Fˆ<Ñ+Ô+€B„DØÐ˜rœt QÑ'Ô'€B„FØˆd€B„Gð2,ð 2,ð 2,ðh „[×Ò˜Z¨¨¨q°!©¬Ñ5Ô5ð+ð +ñ 6Ô5ð+ð „[×Ò˜ZÐ)<Ð)<Ð)<Ñ=Ô=ð3+ð 3+ñ >Ô=ð3+ðj „[×Ò˜W u u¡w¤w°°v¸yÐ&IÑJÔJð#0ð #0ñ KÔJð#0ðJ@ð @ð @ð'ð 'ð 'ð7ð 7ð 7ð/&ð /&ð /&ðb „[×Ò˜W r¤z°2´:Ð&>Ñ?Ô?ð1ð 1ñ @Ô?ð1ð 1ð 1r   r_  )r�   rp   Únumpyr   Únumpy.testingr   r   Ú(scipy._lib._elementwise_iterative_methodÚ_libÚ_elementwise_iterative_methodr  Úscipyr   r   Úscipy.integrater   Úscipy.integrate._tanhsinhr   r	   r
   Úscipy.stats._discrete_distnsr   r   r_  r=   r   r   ú<module>r­     s  ðà 	€	€	€	Ø €€€à Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø $Ð $Ð $Ð $Ð $Ð $Ø CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CØ :Ð :Ð :Ð :Ð :Ð :ðA
1ð A
1ð A
1ð A
1ð A
1ñ A
1ô A
1ð A
1ðHa1ð a1ð a1ð a1ð a1ñ a1ô a1ð a1ð a1ð a1r   