Ë
    ÏÍ:jJn ã                   óÞ  — d dl Z d dlZd dlZd dlmZmZ d dlmZ d dl	m
Z
mZmZmZmZmZmZmZ d dlmZmZ d dlmZ d dlmZmZ d dlmZ d d	lmZ d d
lm Z m!Z!m"Z"m#Z# d dl$mc m%Z% egZ& ee «       G d„ d«      «       Z' ee!«       G d„ d«      «       Z( ee#«       G d„ d«      «       Z) ee"«       G d„ d«      «       Z*d„ Z+ejX                  j[                  dg d¢«      d„ «       Z. G d„ d«      Z/y)é    N)Úassert_allcloseÚassert_equal)Úrng_integers)Úis_numpyÚmake_xp_test_caseÚxp_default_dtypeÚxp_sizeÚarray_namespaceÚ_xp_copy_to_numpyÚis_lazy_arrayÚeager_warns)Úxp_assert_closeÚxp_assert_equal)Úarray_api_extra)ÚstatsÚspecial)Úskip_xp_backends)Úroot)Ú	bootstrapÚmonte_carlo_testÚpermutation_testÚpowerc                   ó¢	  — e Zd Z edd¬«      d„ «       Zd„ Zej                  j                  dg d¢«      ej                  j                  dg d	¢«      d
„ «       «       Z	ej                  j                  dg d¢«      d„ «       Z
ej                  j                  dg d¢«      ej                  j                  dg d	¢«      ej                  j                  dddg«      d„ «       «       «       Zej                  j                  ej                  j                  d«      ej                  j                  dg d¢«      d„ «       «       «       Zg d¢Zej                  j                  de«      d„ «       Zd„ Zd„ ZddddœZej                  j                  ej                  j                  dej)                  «       «      d„ «       «       ZdddœZej                  j                  ej                  j                  dej)                  «       «      d„ «       «       Zej                  j                  dg d¢«      ej                  j                  ddd g«      ej                  j                  d!d"d#g«      d$„ «       «       «       Zej                  j                  d%«      ej                  j                  dg d¢«      ej                  j                  ddd g«      d&„ «       «       «       Zej                  j                  dg d¢«      d'„ «       Zej                  j                  dg d(¢«      d)„ «       Zd*„ Zej                  j                  d+dd,g«      d-„ «       Zej                  j                  d.«      ej                  j                  dg d¢«      d/„ «       «       Zd0„ Zej                  j                  d1d2¬«      ej                  j                  d3d4d5g«      d6„ «       «       Z ej                  j                  d7g d8¢«      ej                  j                  dg d	¢«      d9„ «       «       Z!ej                  j                  dg d	¢«      d:„ «       Z"ej                  j                  ej                  j                  dg d¢«      d;„ «       «       Z#ej                  j                  ej                  jI                  d<«      d=„ «       «       Z%ej                  j                  dd>g¬?«      d@„ «       Z&yA)BÚTestBootstrapÚnumpyzNumPy does not raise©Úreasonc                 óÆ   ‡— d‰j                   › �}t        j                  t        |¬«      5  t	        ‰j                  g d¢«      fˆfd„«       d d d «       y # 1 sw Y   y xY w)NzWhen using array library ©Úmatch©é   é   é   c                 ó&   •— ‰j                  | «      S ©N©Úmean©ÚxÚxps    €úv/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/scipy/stats/tests/test_resampling.pyú<lambda>z7TestBootstrap.test_bootstrap_iv_other.<locals>.<lambda>   s   ø€ ¸"¿'¹'À!»*€ ó    )Ú__name__ÚpytestÚraisesÚ	TypeErrorr   Úasarray)Úselfr+   Úmessages    ` r,   Útest_bootstrap_iv_otherz%TestBootstrap.test_bootstrap_iv_other   sQ   ø€ à-¨b¯k©k¨]Ð;ˆÜ�]‰]œ9¨GÔ4ñ 	FÜ�r—z‘z¢)Ó,Ð.Ó0DÔE÷	F÷ 	Fñ 	Fús   ¬"AÁA c                 óÀ  — |j                  g d¢«      }d}t        j                  t        |¬«      5  t	        t        «       |j                  «       d d d «       d}t        j                  t        |¬«      5  t	        ||j                  dg«      f|j                  «       d d d «       d}t        j                  t        |¬«      5  t	        ||j                  g d¢«      f|j                  d¬	«       d d d «       d
}t        j                  t        |¬«      5  t	        ||j                  d¬«       d d d «       d}t        j                  t        |¬«      5  t	        |f|j                  d¬«       d d d «       d}t        j                  t        |¬«      5  t	        |f|j                  d¬«       d d d «       d}t        j                  t        |¬«      5  t	        |f|j                  d¬«       d d d «       d}t        j                  t        |¬«      5  t	        |f|j                  d¬«       d d d «       d}t        j                  t        |¬«      5  t	        |f|j                  d¬«       d d d «       d}t        j                  t        |¬«      5  t	        |f|j                  d¬«       d d d «       d}t        j                  t        |¬«      5  t	        |f|j                  d¬«       d d d «       d}t        j                  t        |¬«      5  t	        |f|j                  d¬«       d d d «       d}t        j                  t        |¬«      5  t	        |f|j                  d¬«       d d d «       d }t        j                  t        |¬«      5  t	        |f|j                  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   �ŒvxY w# 1 sw Y   �ŒDx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   �ŒJx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!   z(`data` must contain at least one sample.r   z>each sample in `data` must contain two or more observations...r"   z=When `paired is True`, all samples must have the same length ©r"   r#   r$   é   T)Úpairedú0`vectorized` must be `True`, `False`, or `None`.Úekki©Ú
vectorizedú`axis` must be an integer.ç      ø?©Úaxisz!could not convert string to floatÚni)Úconfidence_levelz-`n_resamples` must be a non-negative integer.éüÿÿ©Ún_resamplesç     D�@ú+`batch` must be a positive integer or None.©Úbatchz`method` must be in©Úmethodz?`bootstrap_result` must have attribute `bootstrap_distribution'é
   )Úbootstrap_resultz5Either `bootstrap_result.bootstrap_distribution.size`r   ú,SeedSequence expects int or sequence of intsÚherring©Úrng)r3   r0   r1   Ú
ValueErrorr   Útupler(   r2   )r4   r+   Úsampler5   s       r,   Útest_bootstrap_ivzTestBootstrap.test_bootstrap_iv!   s�  € Ø—‘šIÓ&ˆà<ˆÜ�]‰]œ:¨WÔ5ñ 	(Ü”e“g˜rŸw™wÔ'÷	(ð SˆÜ�]‰]œ:¨WÔ5ñ 	:Ü�v˜rŸz™z¨1¨#›Ð/°·±Ô9÷	:ð SˆÜ�]‰]œ:¨WÔ5ñ 	PÜ�v˜rŸz™zª,Ó7Ð8¸"¿'¹'È$ÕO÷	Pð EˆÜ�]‰]œ:¨WÔ5ñ 	:Ü�f˜bŸg™g°&Õ9÷	:ð /ˆÜ�]‰]œ:¨WÔ5ñ 	4Ü�v�i §¡¨sÕ3÷	4ð 6ˆÜ�]‰]œ:¨WÔ5ñ 	AÜ�v�i §¡¸4Õ@÷	Að BˆÜ�]‰]œ:¨WÔ5ñ 	=Ü�v�i §¡°eÕ<÷	=ð BˆÜ�]‰]œ:¨WÔ5ñ 	>Ü�v�i §¡°fÕ=÷	>ð @ˆÜ�]‰]œ:¨WÔ5ñ 	7Ü�v�i §¡°Õ6÷	7ð @ˆÜ�]‰]œ:¨WÔ5ñ 	8Ü�v�i §¡°Õ7÷	8ð (ˆÜ�]‰]œ:¨WÔ5ñ 	9Ü�v�i §¡°Õ8÷	9ð TˆÜ�]‰]œ:¨WÔ5ñ 	?Ü�v�i §¡¸2Õ>÷	?ð JˆÜ�]‰]œ:¨WÔ5ñ 	9Ü�v�i §¡°aÕ8÷	9ð AˆÜ�]‰]œ9¨GÔ4ñ 	9Ü�v�i §¡¨iÕ8÷	9ð 	9÷i	(ñ 	(ú÷	:ñ 	:ú÷	Pñ 	Pú÷	:ñ 	:ú÷	4ñ 	4ú÷	Añ 	Aú÷	=ñ 	=ú÷	>ñ 	>ú÷	7ñ 	7ú÷	8ñ 	8ú÷	9ñ 	9ú÷	?ñ 	?ú÷	9ð 	9ú÷	9ð 	9ús§   ±N,Á5)N9Ã,OÄOÅO ÆO-ÇO:ÈPÉPÊP!ËP.ÌP;Í
QÎ	QÎ,N6Î9OÏOÏOÏ O*Ï-O7Ï:PÐPÐPÐ!P+Ð.P8Ð;QÑQÑQrM   )ÚbasicÚ
percentileÚBCarB   ©r   r"   r#   c           	      óf  — t         j                  j                  d«      }|j                  ddd«      }t	        |j                  |«      f|j                  d |d|d¬«      }t         j                  j                  d«      }t	        |j                  |«      f|j                  d||d|¬«      }t        |j                  j                  |j                  j                  «       t        |j                  j                  |j                  j                  «       t        |j                  |j                  «       y )Nr   rN   é   é   éd   )rK   rM   Úrandom_staterB   rG   )rK   rM   rB   rG   r`   )ÚnpÚrandomÚRandomStateÚrandr   r3   r(   r   Úconfidence_intervalÚlowÚhighÚstandard_error)r4   rM   rB   r+   rS   r*   Úres1Úres2s           r,   Útest_bootstrap_batchz"TestBootstrap.test_bootstrap_batch\   sì   € ô �i‰i×#Ñ# AÓ&ˆà�H‰H�R˜˜RÓ ˆä˜"Ÿ*™* Q›-Ð)¨2¯7©7¸$ÀvØ&'¨dÀôEˆä�i‰i×#Ñ# AÓ&ˆÜ˜"Ÿ*™* Q›-Ð)¨2¯7©7¸"ÀVØ"°À#ôGˆô 	˜×0Ñ0×4Ñ4°d×6NÑ6N×6RÑ6RÔSÜ˜×0Ñ0×5Ñ5°t×7OÑ7O×7TÑ7TÔUÜ˜×+Ñ+¨T×-@Ñ-@ÕAr.   c                 óv  ‡‡	‡
‡— t         j                  j                  d«      }d}‰j                  |j	                  |«      «      Š
‰j                  |j	                  |«      «      Šdˆfd„	Š	dˆ	ˆ
ˆfd„	}‰j                  ‰
j                  d   «      }t        |f|d¬«      }t        ‰
‰f‰	dd¬«      }t        |j                  j                  |j                  j                  «       t        |j                  j                  |j                  j                  «       t        |j                  |j                  «       y )	Nr   r_   c                 ó6   •— ‰j                  | |z
  dz  |¬«      S )Nr#   rA   r'   ©r*   ÚyrB   r+   s      €r,   Úmy_statisticz9TestBootstrap.test_bootstrap_paired.<locals>.my_statisticv   s   ø€ Ø—7‘7˜A˜a™C !™8¨$�7Ó/Ð/r.   c                 ó.   •— ‰|    }‰|    } ‰||«      }|S r&   © )ÚirB   ÚaÚbÚresrp   r*   ro   s        €€€r,   Úmy_paired_statisticz@TestBootstrap.test_bootstrap_paired.<locals>.my_paired_statisticy   s&   ø€ Ø�!‘ˆAØ�!‘ˆAÙ˜q !Ó$ˆCØˆJr.   rR   T)r:   rS   ©éÿÿÿÿ)ra   rb   rc   r3   rd   ÚarangeÚshaper   r   re   rf   rg   rh   )r4   rM   r+   rS   Únrw   rs   ri   rj   rp   r*   ro   s     `      @@@r,   Útest_bootstrap_pairedz#TestBootstrap.test_bootstrap_pairedn   së   û€ ô �i‰i×#Ñ# AÓ&ˆØˆØ�J‰J�s—x‘x “{Ó#ˆØ�J‰J�s—x‘x “{Ó#ˆõ	0÷	ð �I‰I�a—g‘g˜a‘jÓ!ˆä˜!˜Ð2¸Ô:ˆÜ˜!˜Q˜ °dÀÔBˆä˜×0Ñ0×4Ñ4°d×6NÑ6N×6RÑ6RÔSÜ˜×0Ñ0×5Ñ5°t×7OÑ7O×7TÑ7TÔUÜ˜×+Ñ+¨T×-@Ñ-@ÕAr.   r:   TFc           	      óŠ  ‡— t         j                  j                  d«      }dˆfd„	}d}||   }|j                  |«      }	|j                  |«      }
|j                  |«      }‰j	                  |	«      ‰j	                  |
«      ‰j	                  |«      }}
}	t        |	|
|f|||ddd¬«      }|j                  j                  |j                  j                  dz   k(  sJ ‚g d¢}|||<   t        |«      }‰j                  ‰j                  |	|«      |«      }	‰j                  ‰j                  |
|«      |«      }
‰j                  ‰j                  ||«      |«      }t        |	|
|f|||d|d¬«      }t        |«      }|j                  |«       ‰j                  |j                  j                  |«      }‰j                  |j                  j                   |«      }‰j                  |j                  |«      }t#        |j                  j                  |«       t#        |j                  j                   |«       t#        |j                  |«       y )	Nr   c                 óz   •— ‰j                  | |¬«      ‰j                  ||¬«      z   ‰j                  ||¬«      z   S ©NrA   r'   )r*   ro   ÚzrB   r+   s       €r,   rp   z=TestBootstrap.test_bootstrap_vectorized.<locals>.my_statistic’   s;   ø€ Ø—7‘7˜1 4�7Ó(¨2¯7©7°1¸4¨7Ó+@Ñ@À2Ç7Á7È1ÐSWÀ7ÓCXÑXÐXr.   )rN   r]   r^   r_   )r:   rM   rS   rB   rG   )r_   )r"   r"   r"   rx   )ra   rb   rc   rd   r3   r   Úbootstrap_distributionr{   rh   rU   Úbroadcast_toÚreshapeÚlistÚpopre   rf   rg   r   )r4   rM   rB   r:   r+   rS   rp   r{   Ú	n_samplesr*   ro   r�   ri   r„   rj   Úresult_shapeÚ
ref_ci_lowÚref_ci_highÚref_ci_standard_errors       `              r,   Útest_bootstrap_vectorizedz'TestBootstrap.test_bootstrap_vectorizedˆ   sý  ø€ ô �i‰i×#Ñ# AÓ&ˆõ	Yð ˆØ˜$‘Kˆ	à�H‰H�YÓˆØ�H‰H�YÓˆØ�H‰H�YÓˆØ—*‘*˜Q“- §¡¨A£°·
±
¸1³ˆaˆ1ˆä˜!˜Q ˜ L¸ÈØ Q°Cô9ˆà×+Ñ+×1Ñ1Ø×&Ñ&×,Ñ,¨vÑ5ò6ð 	7ð 6ò ˆØ!ˆ�‰Ü˜“.ˆØ�O‰O˜BŸJ™J q¨'Ó2°EÓ:ˆØ�O‰O˜BŸJ™J q¨'Ó2°EÓ:ˆØ�O‰O˜BŸJ™J q¨'Ó2°EÓ:ˆÜ˜!˜Q ˜ L¸ÈØ T°sô<ˆô ˜E“{ˆØ×Ñ˜Ôà—_‘_ T×%=Ñ%=×%AÑ%AÀ<ÓPˆ
Ø—o‘o d×&>Ñ&>×&CÑ&CÀ\ÓRˆØ "§¡°×0CÑ0CÀ\Ó RÐä˜×0Ñ0×4Ñ4°jÔAÜ˜×0Ñ0×5Ñ5°{ÔCÜ˜×+Ñ+Ð-BÕCr.   z#MemoryError with BCa observed in CIc           	      ó¤  — t         j                  j                  d«      }t        j                  j                  ddd|¬«      }d}t        j                  t        |«      dz
  t        j                  |«      t        j                  |«      ¬«      }|j                  |¬	«      \  }}|j                  «       }	t        |j                  |«      f|j                  d||¬
«      }
t        di |
¤d|i¤Ž}t        |j                   j"                  |j                  |«      d¬«       t        |j                   j$                  |j                  |«      d¬«       t        |j&                  |j                  |	«      d¬«       |
j)                  t        d|¬«      «       t        di |
¤|ddœ¤Ž}t        |j                   j$                  |j                  |j+                  |«      «      d¬«       |
j)                  t        d|¬«      «       t        di |
¤|ddœ¤Ž}t        |j                   j"                  |j                  |j+                  d|z
  «      «      d¬«       y )Nl   –)ICbX  é   r#   éˆ  )ÚlocÚscaleÚsizer`   çffffffî?r"   )Údfr�   r‘   )Ú
confidence)ÚdataÚ	statisticrG   rM   rS   rD   gü©ñÒMb@?©Úrtolga2U0*©3?©Úatolr   ©rG   rO   Úless©rD   ÚalternativeÚgreaterrr   )ra   rb   Údefault_rngr   ÚnormÚrvsÚtÚlenr(   ÚsemÚintervalÚstdÚdictr3   r   r   re   rf   rg   rh   ÚupdateÚppf)r4   rM   r+   rS   r–   ÚalphaÚdistÚref_lowÚref_highÚref_seÚconfigrv   s               r,   Útest_bootstrap_against_theoryz+TestBootstrap.test_bootstrap_against_theory¶   sÆ  € ô
 �i‰i×#Ñ#Ð$7Ó8ˆÜ�z‰z�~‰~ !¨1°4Àcˆ~ÓJˆØˆÜ�w‰wœ#˜d›) A™+¬2¯7©7°4«=ÄÇ	Á	È$ÃÔPˆØ ŸM™M°U˜MÓ;Ñˆ�Ø—‘“ˆä˜BŸJ™J tÓ,Ð.¸"¿'¹'ÈtØ#¨ô.ˆäÑ9˜&Ñ9°5Ò9ˆä˜×/Ñ/×3Ñ3°R·Z±ZÀÓ5HÈtÕTÜ˜×/Ñ/×4Ñ4°b·j±jÀÓ6JÐQUÕVÜ˜×*Ñ*¨B¯J©J°vÓ,>ÀTÕJà�‰”d q¸3Ô?Ô@ÜÑM˜&ÐM°5ÀfÓMˆÜ˜×/Ñ/×4Ñ4ØŸ
™
 4§8¡8¨E£?Ó3¸$õ	@ð 	�‰”d q¸3Ô?Ô@ÜÑP˜&ÐP°5ÀiÓPˆÜ˜×/Ñ/×3Ñ3ØŸ
™
 4§8¡8¨A¨e©GÓ#4Ó5¸Dö	Br.   ))rX   g…ëQ¸Å7@gHáz®ÇS@)rY   g\�Âõ(Ü<@g=
×£pU@)rZ   gHáz®'@@gìQ¸…ÛV@zmethod, ref_low, ref_highc                 ó$  — |j                  g d¢«      }t        |f|j                  d|d¬«      }t        |j                  j
                  |j                  |«      d¬«       t        |j                  j                  |j                  |«      d¬«       y )N)rN   r^   ç      )@r´   gÍÌÌÌÌÌ+@é   é   é   é   é"   é2   éQ   éY   éy   é†   éÕ   i@B r   )rG   rM   rS   g{®Gázt?r˜   )r3   r   r(   r   re   rf   rg   )r4   rM   r®   r¯   r+   r*   rv   s          r,   Útest_bootstrap_against_Rz&TestBootstrap.test_bootstrap_against_RØ   sr   € ð" �J‰Jò ;ó <ˆä˜˜˜bŸg™g°7À6ÈqÔQˆÜ˜×/Ñ/×3Ñ3°R·Z±ZÀÓ5HÈuÕUÜ˜×/Ñ/×4Ñ4°b·j±jÀÓ6JÐQVÖWr.   c                 óÞ  — |j                  g d¢«      }|j                  g d¢«      }d„ }t        j                  j                  d«      }t	        j
                  ||f|dd|¬«      }t	        j
                  ||f|dd|¬«      }t	        j
                  ||f|d	d|¬«      }|j                  |j                  |j                  «      «      }	|j                  |j                  |j                  «      «      }
|j                  |j                  |j                  «      «      }d
}|	|z
  t        |«      z  }|
|z
  t        |«      z  }||z
  t        |«      z  }|dk  sJ ‚|dkD  sJ ‚t        |«      dk  sJ ‚y )N)g’‘ÛbFè?gžpÀø³éâ?g—ò|ÂHÜ¿gxy[e}u×¿g*gÖï_Ö?ggiŸ·6ö¿gŒÎ2Žè?)gü´ÝFû–ö?gý÷àµKÛß?gØÕ&F}/µ?gŸ±« ÔÎ?g¦Ë(·iC¢?g}¿$×¥à?g »ØhuÔ?gfjŽƒ}!õ?c                 óh   — t        j                  | |¬«      }t        j                  ||¬«      }||z
  S r€   )r   Úskew)r*   ro   rB   Ús1Ús2s        r,   r—   z?TestBootstrap.test_multisample_BCa_against_R.<locals>.statisticü   s+   € Ü—‘˜A DÔ)ˆBÜ—‘˜A DÔ)ˆBØ˜‘7ˆNr.   l   tgßy4rX   r_   )rM   rK   rS   rY   Úbcag1™*•Ôø¿g333333Ã¿g333333Ã?ç¸…ëQ¸ž?)
r3   ra   rb   r¡   r   r   r(   Ústackre   Úabs)r4   r+   r*   ro   r—   rS   Ú	res_basicÚres_percentÚres_bcaÚ	mid_basicÚmid_percentÚmid_bcaÚ	mid_wbootÚ
diff_basicÚdiff_percentÚdiff_bcas                   r,   Útest_multisample_BCa_against_Rz,TestBootstrap.test_multisample_BCa_against_Rï   sj  € ð �J‰Jò =ó >ˆà�J‰Jò Hó Iˆò
	ô �i‰i×#Ñ#Ð$6Ó7ˆä—O‘O Q¨ F¨I¸gØ*-°3ô8ˆ	ä—o‘o q¨! f¨iÀØ,/°Sô:ˆä—/‘/ 1 a &¨)¸EØ(+°ô6ˆð —G‘G˜BŸH™H Y×%BÑ%BÓCÓDˆ	Ø—g‘g˜bŸh™h {×'FÑ'FÓGÓHˆØ—'‘'˜"Ÿ(™( 7×#>Ñ#>Ó?Ó@ˆð ˆ	ð   )Ñ+¬S°«^Ñ;ˆ
Ø# iÑ/´°Y³Ñ?ˆØ˜iÑ'¬¨Y«Ñ7ˆð ˜EÒ!Ð!Ð!Ø˜dÒ"Ð"Ð"Ü�8‹}˜tÒ#Ð#Ñ#r.   c           	      ó*  ‡— ‰j                  g d¢«      }‰j                  g d¢«      }dˆfd„	}||g}t        j                  ||«      }d}d}|j                  }	d}
t	        j
                  |||||	|
‰«      \  }}}t        |‰j                  d«      «       y )	N)	g      $@g      ;@g      ?@g      D@g      G@g      I@g      J@g      Z@g     @b@)g      0@g      7@g      C@g     €W@g     ÀX@g      a@g      h@c                 óR   •— ‰j                  | |¬«      ‰j                  ||¬«      z
  S r€   r'   )r�   ro   rB   r+   s      €r,   r—   zHTestBootstrap.test_BCa_acceleration_against_reference.<locals>.statistic2  ó(   ø€ Ø—7‘7˜1 4�7Ó(¨2¯7©7°1¸4¨7Ó+@Ñ@Ð@r.   ry   r“   r_   gÄËe{‹†?©r   )r3   r   r   r‚   Ú_resamplingÚ_bca_intervalr   )r4   r+   ro   r�   r—   r–   rv   rB   r¬   Útheta_hat_brK   Ú_Úa_hats    `           r,   Ú'test_BCa_acceleration_against_referencez5TestBootstrap.test_BCa_acceleration_against_reference(  s˜   ø€ ð �J‰JÒFÓGˆØ�J‰JÒ<Ó=ˆõ	Að �1ˆvˆÜ�o‰o˜d IÓ.ˆàˆØˆØ×0Ñ0ˆØˆÜ!×/Ñ/°°iÀÀuØ0;¸UÀBóH‰ˆˆ1ˆeä˜˜rŸz™zÐ*>Ó?Õ@r.   iý  iþ  zmethod, expectedc           
      óþ  — t         j                  j                  d«      }d}d}d}t        j                  dd¬«      }t        |j                  «       «      }	d}
|j                  |
|f|¬	«      }t        |j                  |«      f|j                  ||d
|d|¬«      }|j                  }|j                  |d   |	k  |	|d   k  z  «      }||k(  sJ ‚t        j                  t        |«      |
|«      j                  }|dkD  sJ ‚y )Ni8‹ r_   éç  çÍÌÌÌÌÌì?rŽ   r"   ©r�   r‘   iÐ  ©r’   r`   rº   ry   )r—   rD   rG   rK   rM   rB   rS   r   çš™™™™™¹?)ra   rb   r¡   r   r¢   Úfloatr(   r£   r   r3   re   Úcount_nonzeroÚ	binomtestÚintÚpvalue)r4   rM   Úexpectedr+   rS   r|   rG   rD   r­   Ú	stat_trueÚn_replicationsr–   rv   ÚciÚci_contains_trueré   s                   r,   Ú#test_bootstrap_against_itself_1sampz1TestBootstrap.test_bootstrap_against_itself_1sampD  s  € ô �i‰i×#Ñ# GÓ,ˆàˆØˆØÐô �z‰z˜a qÔ)ˆÜ˜$Ÿ)™)›+Ó&ˆ	ð ˆØ�x‰x˜n¨aÐ0¸sˆxÓCˆÜ˜Ÿ™ DÓ)Ð+Ø"$§'¡'Ø)9Ø$/Ø Ø%ØØô!ˆð ×$Ñ$ˆð ×+Ñ+¨R°©U°YÑ->À9ÈrÐRSÉuÑCTÑ,UÓVÐØ 8Ò+Ð+Ð+ô —‘¤Ð%5Ó!6¸Ø!1ó3ß39±6ð 	à˜Š|Ð‰|r.   i|  iz  )rX   rY   c           
      ó–  ‡— t         j                  j                  d«      }d}d}d}d}dˆfd„	}	t        j                  dd¬	«      }
t        j                  d
d¬	«      }t        |
j                  «       |j                  «       z
  «      }d}|
j                  ||f|¬«      }|j                  ||f|¬«      }t        ‰j                  |«      ‰j                  |«      f|	||d|d|¬«      }|j                  }‰j                  |d   |k  ||d   k  z  «      }||k(  sJ ‚t        j                  t        |«      ||«      j                  }|d
kD  sJ ‚y )Nr   r_   éx   rà   rá   ry   c                 óZ   •— ‰j                  | |¬«      }‰j                  ||¬«      }||z
  S r€   r'   )Údata1Údata2rB   Úmean1Úmean2r+   s        €r,   Úmy_statzBTestBootstrap.test_bootstrap_against_itself_2samp.<locals>.my_stat  s1   ø€ Ø—G‘G˜E¨�GÓ-ˆEØ—G‘G˜E¨�GÓ-ˆEØ˜5‘=Ð r.   r"   râ   rä   éè  rã   rº   )r—   rD   rG   rK   rM   rB   r`   rx   )ra   rb   rc   r   r¢   rå   r(   r£   r   r3   re   ræ   rç   rè   ré   )r4   rM   rê   r+   rS   Ún1Ún2rG   rD   r÷   Údist1Údist2rë   rì   ró   rô   rv   rí   rî   ré   s      `                r,   Ú#test_bootstrap_against_itself_2sampz1TestBootstrap.test_bootstrap_against_itself_2sampo  sT  ø€ ô �i‰i×#Ñ# AÓ&ˆàˆØˆØˆØÐõ	!ô —
‘
˜q¨Ô*ˆÜ—
‘
˜s¨!Ô,ˆÜ˜%Ÿ*™*›,¨¯©«Ñ5Ó6ˆ	ð ˆØ—	‘	 °Ð3À#�	ÓFˆØ—	‘	 °Ð3À#�	ÓFˆÜ˜Ÿ™ EÓ*¨B¯J©J°uÓ,=Ð>Ø")Ø)9Ø$/Ø Ø%ØØ%(ô*ˆð ×$Ñ$ˆð ×+Ñ+¨R°©U°YÑ->À9ÈrÐRSÉuÑCTÑ,UÓVÐØ 8Ò+Ð+Ð+ô —‘¤Ð%5Ó!6¸Ø!1ó3ß39±6ð 	à˜Š|Ð‰|r.   r   r"   ÚdtypeÚfloat32Úfloat64c           	      ó\  ‡‡— ddœˆfd„
}ˆfd„}t         j                  j                  d«      }|j                  dd«      j	                  ‰«      }|j                  dd«      j	                  ‰«      }	|j                  dd«      j	                  ‰«      }
t        ‰j                  |«      ‰j                  |	«      ‰j                  |
«      f|d|d|d¬	«      }t        ||	|
f|d
|d|d¬	«      }‰dk(  rdnd}t        |j                  j                  ‰j                  |j                  j                  «      |¬«       t        |j                  j                  ‰j                  |j                  j                  «      |¬«       t        |j                  ‰j                  |j                  «      |¬«       y )Nr   rA   c                 ó0   •‡ — t        ˆ ˆfd„|D «       «      S )Nc              3   óD   •K  — | ]  }‰j                  |‰¬ «      –— Œ y­w)rA   Nr'   )Ú.0rV   rB   r+   s     €€r,   ú	<genexpr>zSTestBootstrap.test_bootstrap_vectorized_3samp.<locals>.statistic.<locals>.<genexpr>¦  s   øè ø€ ÒE°f�r—w‘w˜v¨D�w×1ÑEùs   ƒ ©Úsum)rB   r–   r+   s   ` €r,   r—   z@TestBootstrap.test_bootstrap_vectorized_3samp.<locals>.statistic¤  s   ù€ äÔEÀÔEÓEÐEr.   c                  ó‚   •— | D ]  }|j                   dk(  rŒJ ‚ t        j                  t        d„ | D «       «      ‰¬«      S )Nr"   c              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wr&   r'   )r  rV   s     r,   r  zVTestBootstrap.test_bootstrap_vectorized_3samp.<locals>.statistic_1d.<locals>.<genexpr>¬  s   è ø€ Ò!C°F &§+¡+§-Ñ!Cùs   ‚©rþ   )Úndimra   r3   r  )r–   rV   rþ   s     €r,   Ústatistic_1dzCTestBootstrap.test_bootstrap_vectorized_3samp.<locals>.statistic_1d¨  s@   ø€ àò (�Ø—{‘{ aÓ'Ð'Ð'ð(ä—:‘:œcÑ!C¸dÔ!CÓCÈ5ÔQÐQr.   r9   rŽ   Tr_   )r>   rB   rG   rM   rS   Frÿ   ç�íµ ÷Æ°>ç›+¡†›„=r˜   )ra   rb   rc   rd   Úastyper   r3   r   re   rf   rg   rh   )r4   rM   rB   rþ   r+   r—   r  rS   r*   ro   r�   ri   rj   r™   s      ``         r,   Útest_bootstrap_vectorized_3sampz-TestBootstrap.test_bootstrap_vectorized_3samp   sg  ù€ ð #$ö 	Fô	Rô �i‰i×#Ñ# AÓ&ˆØ�H‰H�Q˜‹N×!Ñ! %Ó(ˆØ�H‰H�Q˜‹N×!Ñ! %Ó(ˆØ�H‰H�Q˜‹N×!Ñ! %Ó(ˆÜ˜"Ÿ*™* Q›-¨¯©°A«¸¿
¹
À1»ÐFØ"¨t¸$ÈCØ &¨Aô/ˆô ˜!˜Q ˜ L¸UØ"°¸FÈôKˆð  	Ò)‰t¨uˆÜ˜×0Ñ0×4Ñ4ØŸ
™
 4×#;Ñ#;×#?Ñ#?Ó@Àtõ	Mä˜×0Ñ0×5Ñ5ØŸ
™
 4×#;Ñ#;×#@Ñ#@ÓAÈõ	Nä˜×+Ñ+¨R¯Z©Z¸×8KÑ8KÓ-LÐSWÖXr.   z'Failure is not concerning; see gh-14107c           
      óP  ‡— dˆfd„	}d„ }t         j                  j                  d«      }|j                  d«      }t        ‰j	                  |«      f|d|dd |d¬«      }t        |f|d	|dd
|d¬«      }	t        |j                  j                  ‰j	                  |	j                  j                  «      «       t        |j                  j                  ‰j	                  |	j                  j                  «      «       t        |j                  ‰j	                  |	j                  «      «       y )Nr   c                 ó*   •— ‰j                  | |¬«      S r€   r'   ©r*   rB   r+   s     €r,   r—   z@TestBootstrap.test_bootstrap_vectorized_1samp.<locals>.statisticÃ  s   ø€ à—7‘7˜1 4�7Ó(Ð(r.   c                 óH   — | j                   dk(  sJ ‚| j                  d¬«      S ©Nr"   r   rA   )r  r(   ©r*   s    r,   r  zCTestBootstrap.test_bootstrap_vectorized_1samp.<locals>.statistic_1dÇ  s"   € à—6‘6˜Q’;Ð�;Ø—6‘6˜q�6“>Ð!r.   l   ¸„2 )r#   r$   Tr_   )r>   rB   rG   rK   rM   rS   FrN   rØ   )
ra   rb   r¡   r   r3   r   re   rf   rg   rh   )
r4   rM   rB   r+   r—   r  rS   r*   ri   rj   s
      `      r,   Útest_bootstrap_vectorized_1sampz-TestBootstrap.test_bootstrap_vectorized_1samp¿  só   ø€ õ	)ò	"ô
 �i‰i×#Ñ# JÓ/ˆØ�J‰J�vÓˆÜ˜"Ÿ*™* Q›-Ð)¨9ÀÈDØ%(°¸VÈôLˆä˜!˜˜|¸ÀDØ%(°¸6ÀqôJˆä˜×0Ñ0×4Ñ4ØŸ
™
 4×#;Ñ#;×#?Ñ#?Ó@ô	Bä˜×0Ñ0×5Ñ5ØŸ
™
 4×#;Ñ#;×#@Ñ#@ÓAô	Cä˜×+Ñ+¨R¯Z©Z¸×8KÑ8KÓ-LÕMr.   c                 óB  — |j                  dd«      }|dk(  rÒt        j                  d¬«      5  d}t        t        j
                  ||¬«      5  t        |g|j                  |¬«      }t        |j                  j                  |j                  |j                  «      «       t        |j                  j                  |j                  |j                  «      «       d d d «       d d d «       nwt        |g|j                  |¬«      }t        |j                  j                  |j                  d«      «       t        |j                  j                  |j                  d«      «       t        j                  |j                  d	«      d
¬«       y # 1 sw Y   Œ±xY w# 1 sw Y   Œ=xY w)N)é#   g     ˆÃ@rZ   Úignore)Úinvalidz0The BCa confidence interval cannot be calculated)r    r+   rL   ç        gê-�™—q=rš   )Úfullra   Úerrstater   r   ÚDegenerateDataWarningr   r(   r   re   rf   r3   Únanrg   r   rh   )r4   rM   r+   r–   Úmsgrv   s         r,   Útest_bootstrap_degeneratez'TestBootstrap.test_bootstrap_degenerateØ  s<  € à�w‰w�u˜fÓ%ˆØ�UŠ?Ü—‘ XÔ.ñ VØH�Ü ¤×!<Ñ!<ÀCÈBÔOñ VÜ# T H¨b¯g©g¸fÔE�CÜ# C×$;Ñ$;×$?Ñ$?ÀÇÁÈBÏFÉFÓASÔTÜ# C×$;Ñ$;×$@Ñ$@À"Ç*Á*ÈRÏVÉVÓBTÔU÷V÷Vð Vô ˜T˜H b§g¡g°fÔ=ˆCÜ˜C×3Ñ3×7Ñ7¸¿¹ÀFÓ9KÔLÜ˜C×3Ñ3×8Ñ8¸"¿*¹*ÀVÓ:LÔMÜ˜×*Ñ*¨B¯J©J°r«NÀÖG÷Vð Vú÷Vð Vús$   ®FÁBF	ÃFÆ	F	ÆFÆF)rZ   rX   rY   c           	      ó  — t         j                  j                  d«      }t        j                  dd¬«      }|j                  d|¬«      }t        |j                  |«      ft        j                  |dt         j                  j                  d«      ¬«      }t        |ft        j                  |dt         j                  j                  d«      d	¬
«      }t        |j                  j                  |j                  |j                  j                  «      «       t        |j                  j                  |j                  |j                  j                  «      «       t        |j                  |j                  |j                  «      «       y )Nl   E<1

 r#   r9   râ   r_   rã   i[%  ©rM   rG   rS   F)rM   rG   rS   r>   )ra   rb   r¡   r   r¢   r£   r   r3   rÃ   r   re   rf   rg   rh   )r4   rM   r+   rS   r­   r–   rv   Úrefs           r,   Útest_bootstrap_gh15678z$TestBootstrap.test_bootstrap_gh15678è  s  € ô �i‰i×#Ñ# OÓ4ˆÜ�z‰z˜a qÔ)ˆØ�x‰x˜S¨sˆxÓ3ˆÜ˜Ÿ™ DÓ)Ð+¬U¯Z©ZÀÐTWÜŸI™I×1Ñ1°$Ó7ô9ˆô ˜˜¤§¡°FÈÜŸI™I×1Ñ1°$Ó7ÀEôKˆä˜×/Ñ/×3Ñ3ØŸ
™
 3×#:Ñ#:×#>Ñ#>Ó?ô	Aä˜×/Ñ/×4Ñ4ØŸ
™
 3×#:Ñ#:×#?Ñ#?Ó@ô	Bä˜×*Ñ*¨B¯J©J°s×7IÑ7IÓ,JÕKr.   c           	      óö  — t         j                  j                  d«      }t        j                  dd¬«      }|j                  d|¬«      }t        j                  |«      }|j                  |«      }t        |f|j                  ddt         j                  j                  d«      ¬	«      }t        |j                  j                  |j                  |«      «       t        | f|j                  ddt         j                  j                  d«      ¬	«      }t        |j                  j                   |j                  j                  «       t        |j                  j                   |j                  j                  «       y )
Nl   n!|'x`5 r#   r9   râ   r_   rã   rZ   if  r$  )ra   rb   r¡   r   r¢   r£   Úminr3   r   r   re   rf   Úmaxr   rg   )r4   r+   rS   r­   r–   Útrue_minrv   rj   s           r,   Útest_bootstrap_minz TestBootstrap.test_bootstrap_minú  s  € ô �i‰i×#Ñ#Ð$4Ó5ˆÜ�z‰z˜a qÔ)ˆØ�x‰x˜S¨sˆxÓ3ˆÜ—6‘6˜$“<ˆØ�z‰z˜$ÓˆÜ˜˜ §¡°À3ÜŸI™I×1Ñ1°$Ó7ô9ˆä˜×/Ñ/×3Ñ3°R·Z±ZÀÓ5IÔJÜ˜4˜%˜ 2§6¡6°%ÀSÜŸY™Y×2Ñ2°4Ó8ô:ˆä˜×0Ñ0×4Ñ4Ð4°d×6NÑ6N×6SÑ6SÔTÜ˜×0Ñ0×5Ñ5Ð5°t×7OÑ7O×7SÑ7SÕTr.   Úadditional_resamplesrø   c           	      óª  — t         j                  j                  d«      }|j                  d¬«      }d}|}||z   }t         j                  j                  d«      }t        j                  |j                  |«      f|j                  ||dd¬«      }t        j                  |j                  |«      f|j                  ||d	d
|¬«      }t         j                  j                  d«      }t        j                  |j                  |«      f|j                  ||d	d
¬«      }	t        |j                  j                  |j                  |	j                  j                  «      d¬«       t        |j                  j                  |j                  |	j                  j                  «      d¬«       t        |j                  |j                  |	j                  «      d¬«       y )Nl    ]ƒ4’Mþ r_   ©r’   rø   l   Émdpi4ð r“   rY   )rG   rS   rD   rM   rá   rZ   )rG   rS   rD   rM   rO   r  r˜   )ra   rb   r¡   r   r   r3   r(   r   re   rf   rg   rh   )
r4   r,  r+   rS   r*   rù   rú   Ún3rv   r%  s
             r,   Útest_re_bootstrapzTestBootstrap.test_re_bootstrap
  sw  € ô �i‰i×#Ñ#Ð$4Ó5ˆØ�J‰J˜CˆJÓ ˆàˆØ!ˆØÐ&Ñ&ˆä�i‰i×#Ñ#Ð$6Ó7ˆÜ�o‰o˜rŸz™z¨!›}Ð.°·±ÀRÈSØ/3¸LôJˆä�o‰o˜rŸz™z¨!›}Ð.°·±ÀRÈSØ/3¸EØ/2ô4ˆô �i‰i×#Ñ#Ð$6Ó7ˆÜ�o‰o˜rŸz™z¨!›}Ð.°·±ÀRÈSØ/3¸EôCˆô 	˜×/Ñ/×3Ñ3ØŸ
™
 3×#:Ñ#:×#>Ñ#>Ó?Ø"õ	$ô 	˜×/Ñ/×4Ñ4ØŸ
™
 3×#:Ñ#:×#?Ñ#?Ó@Ø"õ	$ô 	˜×*Ñ*¨B¯J©J°s×7IÑ7IÓ,JÐQVÖWr.   zSensitive to machine precisionc                 ó$  — t         j                  j                  d«      }t        j                  dd¬«      }|j                  |j                  d|¬«      «      f}t        ||j                  |d¬«      }t        j                  di |¤d	d
i¤Ž}|j                  t        d|¬«      «       t        j                  di |¤dddœ¤Ž}t        j                  di |¤dddœ¤Ž}	t        |j                  j                  |j                  j                  d¬«       t        |	j                  j                  |j                  j                  d¬«       |j                  |j                  j                  «      r|j                  j                  dk  sJ ‚|j                  |	j                  j                  «      r|	j                  j                  dkD  sJ ‚t!        j"                  t$        d¬«      5  t        j                  di |¤ddi¤Ž d d d «       y # 1 sw Y   y xY w)Nl   @Q´ixt r#   r9   râ   r_   rã   ry   )r–   r—   rS   rB   rD   rá   r   rœ   r“   r�   rž   r    r  r˜   z`alternative` must be one ofr   rŸ   z	ekki-ekkirr   )ra   rb   r¡   r   r¢   r3   r£   r©   r¨   r   rª   r   re   rg   rf   Úisinfr0   r1   rT   )
r4   rM   r+   rS   r­   r–   r±   r¤   ÚlÚgs
             r,   Útest_bootstrap_alternativez(TestBootstrap.test_bootstrap_alternative'  sž  € ô �i‰i×#Ñ#Ð$7Ó8ˆÜ�z‰z˜a qÔ)ˆØ—
‘
˜4Ÿ8™8¨#¸S˜8ÓAÓBÐDˆä˜4¨2¯6©6°sÀÔDˆÜ�O‰OÑ;˜fÑ;°sÒ;ˆà�‰”d q¸1Ô=Ô>Ü�O‰OÑP˜fÐP°tÈÓPˆÜ�O‰OÑS˜fÐS°tÈÓSˆä˜×-Ñ-×2Ñ2°A×4IÑ4I×4NÑ4NØ"õ	$ä˜×-Ñ-×1Ñ1°1×3HÑ3H×3LÑ3LØ"õ	$à�x‰x˜×-Ñ-×1Ñ1Ô2°q×7LÑ7L×7PÑ7PÐSTÒ7TÐTÐTØ�x‰x˜×-Ñ-×2Ñ2Ô3¸×8MÑ8M×8RÑ8RÐUVÒ8VÐVÐVä�]‰]œ:Ð-KÔLñ 	?Ü�O‰OÑ>˜fÑ>°+Ó>÷	?÷ 	?ñ 	?ús   Ç#HÈHc                 ó  — d}t         j                  j                  d«      }|j                  |¬«      }t        t	        j
                  |j                  |«      |¬«      «      }t        |d   «      D ]?  }|d|d d …f   }t        j                  ||d¬«      }t        ||j                  |«      «       ŒA t        t	        j
                  |j                  |«      d|¬	«      «      }	t        |j                  |	d
¬«      |«       y )N©r$   r9   rŽ   é   ì   øZÒt r.  ©r+   ry   .rA   r#   )rK   r+   éþÿÿÿ)ra   rb   r¡   ÚnextrÙ   Ú_jackknife_resampler3   ÚrangeÚdeleter   r…   Úconcat)
r4   r+   r{   rS   r*   ro   rs   Úslcrê   Úy2s
             r,   Útest_jackknife_resamplez%TestBootstrap.test_jackknife_resample?  sÒ   € ØˆÜ�i‰i×#Ñ# JÓ/ˆØ�J‰J˜EˆJÓ"ˆÜ”×0Ñ0°·±¸A³À2ÔFÓGˆä�u˜R‘yÓ!ò 	7ˆAð �C˜šA�I‘,ˆCÜ—y‘y  A¨BÔ/ˆHä˜C §¡¨HÓ!5Õ6ð	7ô ”+×1Ñ1°"·*±*¸Q³-ÀqÈRÔPÓQˆÜ˜Ÿ	™	 "¨2˜	Ó.°Õ2r.   Úarray_api_strictzTest uses ... + fancy indexingÚrng_namerc   r¡   c           
      ó°  — t        t        j                  |«      } |d«      } |d«      }d}d}t        j                  j                  d«      }|j	                  |j                  |«      «      }	t        j                  |	|||¬«      }
t        |«      D ]B  }|
d|d d …f   }|j	                  t        |d|d   |d   «      «      }|	d|f   }t        ||«       ŒD y )	Nl   ´1ÏV rN   r7  r9  )rS   r+   .r   ry   )
Úgetattrra   rb   r¡   r3   rÙ   Ú_bootstrap_resampler>  r   r   )r4   rE  r+   Úrng_genÚrng1Úrng2rG   r{   rS   r*   ro   rs   rA  Újsrê   s                  r,   Útest_bootstrap_resamplez%TestBootstrap.test_bootstrap_resampleP  sÐ   € ô œ"Ÿ)™) XÓ.ˆÙ�zÓ"ˆÙ�zÓ"ˆàˆØˆä�i‰i×#Ñ# JÓ/ˆØ�J‰J�s—z‘z %Ó(Ó)ˆÜ×+Ñ+¨A¨{ÀÈÔLˆä�{Ó#ò 	+ˆAð �C˜šA�I‘,ˆCà—‘œL¨¨q°%¸±)¸UÀ2¹YÓGÓHˆBØ˜˜b˜‘zˆHä˜C Õ*ñ	+r.   Úscore)r   ç      à?r"   c                 óT  — d}t         j                  j                  d«      }|j                  |«      }t        |«      }t	        j
                  |j                  ||¬«      |j                  ||¬«      d|¬«      }d„ }	 |	||d¬«      dz  }
t        ||j                  |
|¬«      d	¬
«       y )N)rN   é   é   l   Q,¼? r
  ry   )rB   r+   c                 óN   — t        j                  t        j                  || |«      S r&   )ra   Úapply_along_axisr   Úpercentileofscore)rt   rN  rB   s      r,   Úvectorized_posz>TestBootstrap.test_percentile_of_score.<locals>.vectorized_post  s   € Ü×&Ñ&¤u×'>Ñ'>ÀÀaÈÓOÐOr.   rA   r_   çVçž¯Ò<r˜   )ra   rb   r¡   r   rÙ   Ú_percentile_of_scorer3   r   )r4   rN  rB   r+   r{   rS   r*   rþ   ÚprV  Úp2s              r,   Útest_percentile_of_scorez&TestBootstrap.test_percentile_of_scorei  s�   € ð ˆÜ�i‰i×#Ñ# JÓ/ˆØ�J‰J�uÓˆÜ  Ó$ˆÜ×,Ñ,¨R¯Z©Z¸À¨ZÓ-GØ-/¯Z©Z¸ÀU¨ZÓ-KØ24¸ô=ˆò	Pñ ˜A˜u¨2Ô.¨sÑ2ˆä˜˜2Ÿ:™: b°˜:Ó6¸UÖCr.   c                 ó8  ‡
— d„ Š
ˆ
fd„}t        j                  |«      }t        j                  j	                  d«      }|j                  ddd«      }|j                  ddd«      }|j                  ddd«      } ‰
||||¬«      } |||||¬«      }	t        ||	«       y )	Nc                 ó,   ‡ — t        ˆ fd„|D «       «      S )Nc              3   ó@   •K  — | ]  }|j                  ‰«      –— Œ y ­wr&   r'   )r  rV   rB   s     €r,   r  zLTestBootstrap.test_vectorize_statistic.<locals>.statistic.<locals>.<genexpr>‚  s   øè ø€ Ò<¨V�v—{‘{ 4×(Ñ<ùs   ƒr  ©rB   r–   s   ` r,   r—   z9TestBootstrap.test_vectorize_statistic.<locals>.statistic€  s   ø€ äÓ<°tÔ<Ó<Ð<r.   c                  óD   •— | D ]  }|j                   dk(  rŒJ ‚  ‰| ddiŽS )Nr"   rB   r   )r  )r–   rV   r—   s     €r,   r  z<TestBootstrap.test_vectorize_statistic.<locals>.statistic_1d„  s4   ø€ àò (�Ø—{‘{ aÓ'Ð'Ð'ð(á˜dÐ+¨Ñ+Ð+r.   r   r9   rŽ   r8  r"   rA   )rÙ   Ú_vectorize_statisticra   rb   rc   rd   r   )r4   rB   r  Ú
statistic2rS   r*   ro   r�   ri   rj   r—   s             @r,   Útest_vectorize_statisticz&TestBootstrap.test_vectorize_statistic{  s“   ø€ ò
	=ô	,ô !×5Ñ5°lÓCˆ
ä�i‰i×#Ñ# AÓ&ˆØ�H‰H�Q˜˜1ÓˆØ�H‰H�Q˜˜1ÓˆØ�H‰H�Q˜˜1Óˆá˜˜A˜q tÔ,ˆÙ˜!˜Q ¨Ô-ˆÜ˜˜dÕ#r.   c           	      óè  ‡— t         j                  j                  d«      }d}‰j                   |j                  |ddiŽ«      }ˆfd„}t        |f||ddd|¬	«      }‰j                  d
dg«      }‰j                  |j                  j                  j                  |k  |j                  j                  j                  |kD  z  d¬«      }‰j                  |dk\  «      sJ ‚‰j                  |dk  «      sJ ‚|j                  j                  j                  dk(  sJ ‚|j                  j                  j                  dk(  sJ ‚|j                  j                  dk(  sJ ‚|j                  j                  dk(  sJ ‚y )Nl   s:â )r"   rO  r’   )r_   r_   c                 óp   •— ‰j                  ‰j                  | |¬«      ‰j                  | |d¬«      g«      S )NrA   r"   ©rB   Ú
correction)rÈ   r(   r¨   )r–   rB   r+   s     €r,   r—   z=TestBootstrap.test_vector_valued_statistic.<locals>.statistic¥  s=   ø€ Ø—8‘8˜RŸW™W T°˜WÓ5ØŸV™V D¨tÀ˜VÓBðDó Eð Er.   ry   é'  éÈ   )rM   rB   rG   rK   r`   r"   rO  r   rA   éZ   r_   ©r#   r_   )r#   r_   rh  )ra   rb   r¡   r3   Únormalr   ræ   re   rf   ÚTrg   Úallr{   rh   r‚   )	r4   rM   r+   rS   ÚparamsrV   r—   rv   Úcountss	     `      r,   Útest_vector_valued_statisticz*TestBootstrap.test_vector_valued_statistic–  sg  ø€ ô �i‰i×#Ñ# JÓ/ˆØˆØ—‘˜J˜CŸJ™J¨Ð@°ZÑ@ÓAˆô	Eô ˜˜	 9°VÀ"Ø$(°À#ôGˆð —‘˜Q ˜HÓ%ˆØ×!Ñ! 3×#:Ñ#:×#>Ñ#>×#@Ñ#@À6Ñ#IØ%(×%<Ñ%<×%AÑ%A×%CÑ%CÀfÑ%Lñ#Nà'(ð "ó *ˆð �v‰v�f ‘lÔ#Ð#Ð#Ø�v‰v�f ‘mÔ$Ð$Ð$Ø×&Ñ&×*Ñ*×0Ñ0°HÒ<Ð<Ð<Ø×&Ñ&×+Ñ+×1Ñ1°XÒ=Ð=Ð=Ø×!Ñ!×'Ñ'¨8Ò3Ð3Ð3Ø×)Ñ)×/Ñ/°>ÒAÐAÑAr.   zignore::RuntimeWarningc                 óà  ‡‡— t         j                  j                  d«      }d„ Šˆfd„Šˆfd„}g d¢g d¢g d¢g d¢g d	¢g}t        j                  |«      j                  }t        |||d
¬«      }t        |‰|d
¬«      }t        |j                  j                  d   |j                  j                  d¬«       t        |j                  j                  d   |j                  j                  d¬«       y )Nl   \˜QÁc                 óê   — | j                  |«      }|j                  |«      }| |d   z
  ||d   z
  z  j                  |«      }d|z  | j                  |«      |j                  |«      z   ||z
  dz  z   z  S )N).Nr#   )r(   Úvar)r*   ro   rB   ÚxmÚymÚcovs         r,   ÚconcordancezGTestBootstrap.test_vector_valued_statistic_gh17715.<locals>.concordanceÂ  st   € Ø—‘˜“ˆBØ—‘˜“ˆBØ˜˜9™Ñ%¨!¨b°©mÑ*;Ñ<×BÑBÀ4ÓHˆCØ˜‘G §¡ d£¨a¯e©e°D«kÑ 9¸RÀ"¹WÈ¹NÑ JÑKÐKr.   c                 óR   •— | |z   }| |z   }t        j                   ‰|||«      «      S r&   )ra   Ú
nan_to_num)ÚtpÚtnÚfpÚfnrB   Úactualrê   rx  s          €r,   r—   zETestBootstrap.test_vector_valued_statistic_gh17715.<locals>.statisticÈ  s-   ø€ Ø˜"‘WˆFØ˜B‘wˆHÜ—=‘=¡¨V°X¸tÓ!DÓEÐEr.   c                 ó>   •—  ‰g |¢| ‘­Ž t         j                  df   S )N.)ra   Únewaxis)rB   Úargsr—   s     €r,   Ústatistic_extradimzNTestBootstrap.test_vector_valued_statistic_gh17715.<locals>.statistic_extradimÍ  s#   ø€ ÙÐ)˜dÐ) DÒ)¬"¯*©*°c¨/Ñ:Ð:r.   )r9   r   r   r#   )r#   r"   r#   r"   )r   r8  r   r   )r   r8  r$   r   )r   é   r"   r   T)rS   r:   r   rW  rš   )
ra   rb   r¡   Úarrayrm  r   r   re   rf   rg   )r4   rS   rƒ  r–   rv   r%  rx  r—   s         @@r,   Ú$test_vector_valued_statistic_gh17715z2TestBootstrap.test_vector_valued_statistic_gh17715·  sÓ   ù€ ô �i‰i×#Ñ#Ð$6Ó7ˆò	Lô	Fô
	;ò ÚÚÚÚð	ˆô
 �x‰x˜‹~×Ñˆä˜Ð0°cÀ$ÔGˆÜ˜˜i¨S¸Ô>ˆÜ˜×/Ñ/×3Ñ3°AÑ6Ø×/Ñ/×3Ñ3¸%õ	Aä˜×/Ñ/×4Ñ4°QÑ7Ø×/Ñ/×4Ñ4¸5ö	Br.   Úcupy)Únp_onlyÚ
exceptionsc                 ó¦  — t         j                  j                  d«      }|j                  |j                  d«      «      }|j                  |j                  d«      «      }d„ }t	        j
                  ||f|«       t	        j
                  |j                  |j                  f|d¬«       d}t        j                  t        |¬«      5  t	        j
                  ||d d	…d
f   f|«       d d d «       t	        j
                  ||d d	…d
d…f   f|«       t	        j
                  |j                  |j                  d
d…d d	…f   f|d¬«       y # 1 sw Y   ŒbxY w)Ni²äF|)rN   r#   )r]   r#   c                 óF   — t        j                  | ||¬«      j                  S r€   ©r   Ú	ttest_indr—   ©r*   ro   rB   s      r,   r—   z.TestBootstrap.test_gh_20850.<locals>.statisticä  ó   € Ü—?‘? 1 a¨dÔ3×=Ñ=Ð=r.   r"   rA   ú/Array shapes are incompatible for broadcasting.r   rN   r   )
ra   rb   r¡   r3   r   r   rm  r0   r1   rT   )r4   r+   rS   r*   ro   r—   r5   s          r,   Útest_gh_20850zTestBootstrap.test_gh_20850ß  s  € ä�i‰i×#Ñ# JÓ/ˆØ�J‰J�s—z‘z 'Ó*Ó+ˆØ�J‰J�s—z‘z 'Ó*Ó+ˆò	>ô 	�‰˜˜A˜ 	Ô*Ü�‰˜Ÿ™˜aŸc™c˜
 I°AÕ6ð DˆÜ�]‰]œ:¨WÔ5ñ 	7Ü�O‰O˜Q  # 2 # q &¡	˜N¨IÔ6÷	7ä�‰˜˜A˜c˜r˜c 1 Q 3˜h™KÐ(¨)Ô4Ü�‰˜Ÿ™˜aŸc™c ! A # s¨ s (™mÐ,¨i¸aÖ@÷	7ð 	7ús   Ã EÅEN)'r/   Ú
__module__Ú__qualname__r   r6   rW   r0   ÚmarkÚparametrizerk   r}   rŒ   ÚslowÚxfail_on_32bitr²   Útests_RrÀ   rÔ   rÞ   Útests_against_itself_1sampÚitemsrï   Útests_against_itself_2samprý   r  r  r"  r&  r+  r0  r5  rC  rM  r[  rc  rq  Úfilterwarningsr†  r‘  rr   r.   r,   r   r      s  „ á�gÐ&<Ô=ñFó >ðFò
99ðv ‡[�[×Ñ˜XÒ'EÓFØ‡[�[×Ñ˜V¢YÓ/ñBó 0ó GðBð  ‡[�[×Ñ˜XÒ'EÓFñBó GðBð2 ‡[�[×Ñ˜XÒ'EÓFØ‡[�[×Ñ˜V¢YÓ/Ø‡[�[×Ñ˜X¨¨e }Ó5ñ)Dó 6ó 0ó Gð)DðV ‡[�[×ÑØ‡[�[×ÑÐ EÓFØ‡[�[×Ñ˜XÒ'EÓFñBó Gó Gó ðBò6&€Gð ‡[�[×ÑÐ8¸'ÓBñXó CðXò,7$òrAð0 ,0Ø04Ø)-ñ"/Ðð ‡[�[×ÑØ‡[�[×ÑÐ/Ø7×=Ñ=Ó?óAñ#óAó ð#ðJ ,/Ø03ñ"5Ðð ‡[�[×ÑØ‡[�[×ÑÐ/Ø7×=Ñ=Ó?óAñ,óAó ð,ð\ ‡[�[×Ñ˜XÒ'EÓFØ‡[�[×Ñ˜V a¨ VÓ,Ø‡[�[×Ñ˜W y°)Ð&<Ó=ñYó >ó -ó GðYð8 ‡[�[×ÑÐ IÓJØ‡[�[×Ñ˜XÒ'EÓFØ‡[�[×Ñ˜V a¨ VÓ,ñNó -ó Gó KðNð, ‡[�[×Ñ˜XÒ'EÓFñHó GðHð ‡[�[×Ñ˜XÒ'EÓFñLó GðLò"Uð  ‡[�[×ÑÐ3°a¸°YÓ?ñXó @ðXð8 ‡[�[×ÑÐ @ÓAØ‡[�[×Ñ˜XÒ'EÓFñ?ó Gó Bð?ò,3ð" ‡[�[×!Ñ!Ð"4Ø)Ið "ó Kà‡[�[×Ñ˜Z¨-¸Ð)GÓHñ+ó IóKð+ð, ‡[�[×Ñ˜W¢kÓ2Ø‡[�[×Ñ˜V¢YÓ/ñDó 0ó 3ðDð  ‡[�[×Ñ˜V¢YÓ/ñ$ó 0ð$ð4 ‡[�[×ÑØ‡[�[×Ñ˜XÒ'EÓFñBó Gó ðBð> ‡[�[×ÑØ‡[�[×ÑÐ 8Ó9ñ#Bó :ó ð#BðL ‡[�[×!Ñ!¨$¸F¸8Ð!ÓDñAó EñAr.   r   c            
       ó0  — e Zd ZdZdefd„Zd„ Zd„ Zd„ Ze	j                  j                  d„ «       Ze	j                  j                  d ed	d
«      «      d„ «       Ze	j                  j                  dd«      d„ «       Ze	j                  j"                  e	j                  j                  dd«      e	j                  j                  d ej$                  ddd«      «      d„ «       «       «       Ze	j                  j                  dej*                  ej,                  f«      e	j                  j                  dd«      e	j                  j                  d ej$                  ddd«      «      d„ «       «       «       Ze	j                  j                  d ej0                  dd
«      «      d„ «       Ze	j                  j                  e	j                  j                  d ej$                  ddd«      «      d„ «       «       Ze	j                  j"                  e	j                  j                  dddg«      e	j                  j                  dg d ¢«      d!„ «       «       «       Zd"„ Zd#„ Zd$„ Ze	j                  j?                  d«      e	j                  jA                  d%«      d&„ «       «       Z!y)'ÚTestMonteCarloHypothesisTestçš™™™™™™?Nc                 ó   ‡‡‡‡— ˆˆˆˆfd„S )Nc                  ó:   •— ‰j                   ‰| d‰i|¤Ž‰¬«      S )Nr`   r
  )r3   )r‚  Úkwdsrþ   ÚrsÚrvs_inr+   s     €€€€r,   r-   z6TestMonteCarloHypothesisTest.get_rvs.<locals>.<lambda>ù  s*   ø€  R§Z¡Z±¸Ð0VÈ2Ð0VÐQUÑ0VØ6;ð &0ó &=€ r.   rr   )r4   r¤  r£  rþ   r+   s    ````r,   Úget_rvsz$TestMonteCarloHypothesisTest.get_rvsø  s   û€ ö=ð 	=r.   c                 ó   ‡— ˆfd„}|S )Nc                 ó†   •— ‰j                  | |¬«      }‰j                  | |d¬«      }| j                  |   }|||z  dz  z  S )NrA   r"   rf  rO  )r(   rt  r{   )r*   rB   ÚmÚvr|   r+   s        €r,   r—   z=TestMonteCarloHypothesisTest.get_statistic.<locals>.statisticý  sH   ø€ Ø—‘˜ �Ó%ˆAØ—‘�q˜t°�Ó2ˆAØ—‘˜‘ˆAØ˜˜!™˜c‘z‘>Ð!r.   rr   )r4   r+   r—   s    ` r,   Úget_statisticz*TestMonteCarloHypothesisTest.get_statisticü  s   ø€ ô	"ð Ðr.   c                 ó„	  ‡— ‰j                  g d¢«      }d#ˆfd„	}d}‰j                  d«      ‰j                  d«      f}t        j                  j                  t        j                  j                  f}t        j                  t        |¬«      5  t        ||d„ d¬	«       d d d «       d
}t        j                  t        |¬«      5  t        |t        j                  j                  |d¬	«       d d d «       d}t        j                  t        |¬«      5  t        |t        j                  j                  |d¬«       d d d «       d}t        j                  t        |¬«      5  t        |d |«       d d d «       t        j                  t        |¬«      5  ‰j                  ddgddgg«      }t        |d„ d g|«       d d d «       d}t        j                  t        |¬«      5  ‰j                  g d¢g«      }t        |d„ d„ g|«       d d d «       d}t        j                  t        |¬«      5  t        |t        j                  j                  d «       d d d «       d}t        j                  t        |¬«      5  t        |t        j                  j                  |d¬«       d d d «       d}t        j                  t        |¬«      5  t        |t        j                  j                  |d¬«       d d d «       d}t        j                  t        |¬«      5  t        |t        j                  j                  |d¬«       d d d «       d}t        j                  t        |¬«      5  t        |t        j                  j                  |d¬«       d d d «       d}t        j                  t        |¬«      5  t        |t        j                  j                  |d¬ «       d d d «       d!}ˆfd"„}	 t        ||‰j                  «       y # 1 sw Y   �ŒYx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   �Œux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   �ŒyxY w# 1 sw Y   �Œ9xY w# 1 sw Y   ŒøxY w# 1 sw Y   Œ·xY w# t        $ r&}t        |«      j                  |«      sJ ‚Y d }~y d }~ww xY w)$N©ç      ð?ç       @ç      @c                 ó*   •— ‰j                  | |¬«      S r€   r'   r  s     €r,   Ústatz@TestMonteCarloHypothesisTest.test_input_validation.<locals>.stat	  s   ø€ Ø—7‘7˜1 4�7Ó(Ð(r.   r�  ©r#   rŽ   )r$   rŽ   r   c                  ó   — y©Nr"   rr   rŽ  s      r,   r-   zDTestMonteCarloHypothesisTest.test_input_validation.<locals>.<lambda>  s   � r.   ry   rA   r?   r@   r;   r=   ú0`rvs` must be callable or sequence of callables.r­  r®  r¯  ç      @c                 ó   — | S r&   rr   r  s    r,   r-   zDTestMonteCarloHypothesisTest.test_input_validation.<locals>.<lambda>  ó   € ¨a€ r.   úIf `rvs` is a sequence...c                 ó   — | S r&   rr   r  s    r,   r-   zDTestMonteCarloHypothesisTest.test_input_validation.<locals>.<lambda>$  r¸  r.   c                 ó   — | S r&   rr   r  s    r,   r-   zDTestMonteCarloHypothesisTest.test_input_validation.<locals>.<lambda>$  s   € ¸1€ r.   z`statistic` must be callable.ú)`n_resamples` must be a positive integer.rE   rF   rH   rI   rJ   ú`alternative` must be in...r<   ©rŸ   z!Signature inspection of statisticc                 ób   •— ‰j                  t        j                  j                  | ¬«      «      S )Nr.  )r3   r   r¢   r£   )r’   r+   s    €r,   r£   z?TestMonteCarloHypothesisTest.test_input_validation.<locals>.rvs@  s!   ø€ Ø—:‘:œeŸj™jŸn™n°$˜nÓ7Ó8Ð8r.   r&   )r3   Úzerosr   r¢   r£   r0   r1   rT   r   r2   r(   ÚstrÚ
startswith)r4   r+   r–   r±  r5   Útempr£   Úes    `      r,   Útest_input_validationz2TestMonteCarloHypothesisTest.test_input_validation  sÉ  ø€ ð �z‰zš,Ó'ˆõ	)ð DˆØ—‘˜Ó  "§(¡(¨6Ó"2Ð3ˆÜ�z‰z�~‰~œuŸz™zŸ~™~Ð.ˆÜ�]‰]œ:¨WÔ5ñ 	GÜ˜T 3Ñ(<À2ÕF÷	Gð /ˆÜ�]‰]œ:¨WÔ5ñ 	CÜ˜T¤5§:¡:§>¡>°4¸cÕB÷	Cð EˆÜ�]‰]œ:¨WÔ5ñ 	IÜ˜T¤5§:¡:§>¡>°4ÀCÕH÷	Ið EˆÜ�]‰]œ9¨GÔ4ñ 	/Ü˜T 4¨Ô.÷	/ä�]‰]œ9¨GÔ4ñ 	>Ø—:‘:  B˜x¨"¨b¨Ð2Ó3ˆDÜ˜T¡K°Ð#6¸Ô=÷	>ð .ˆÜ�]‰]œ:¨WÔ5ñ 	EØ—:‘:š|˜nÓ-ˆDÜ˜T¡K±Ð#=¸tÔD÷	Eð 2ˆÜ�]‰]œ9¨GÔ4ñ 	9Ü˜T¤5§:¡:§>¡>°4Ô8÷	9ð >ˆÜ�]‰]œ:¨WÔ5ñ 	LÜ˜T¤5§:¡:§>¡>°4ÀUÕK÷	Lð >ˆÜ�]‰]œ:¨WÔ5ñ 	MÜ˜T¤5§:¡:§>¡>°4ÀVÕL÷	Mð @ˆÜ�]‰]œ:¨WÔ5ñ 	FÜ˜T¤5§:¡:§>¡>°4¸uÕE÷	Fð @ˆÜ�]‰]œ:¨WÔ5ñ 	GÜ˜T¤5§:¡:§>¡>°4¸vÕF÷	Gð 0ˆÜ�]‰]œ:¨WÔ5ñ 	MÜ˜T¤5§:¡:§>¡>°4ÀVÕL÷	Mð 6ˆô	9ð	.Ü˜T 3¨¯©Õ0÷i	Gñ 	Gú÷	Cñ 	Cú÷	Iñ 	Iú÷	/ñ 	/ú÷	>ñ 	>ú÷
	Eñ 	Eú÷
	9ñ 	9ú÷	Lñ 	Lú÷	Mñ 	Mú÷	Fñ 	Fú÷	Gð 	Gú÷	Mð 	Mûô ò 	.Ü�q“6×$Ñ$ WÔ-Ð-Õ-ûð	.ús¨   ÂO6Ã(PÄ(PÅPÆ(P*Ç&P7È'&QÉ2(QÊ?(QÌ(Q+Í(Q8Î&(RÏR Ï6P ÐPÐPÐP'Ð*P4Ð7QÑQÑQÑQ(Ñ+Q5Ñ8RÒRÒ	R?ÒR:Ò:R?c                 ó  ‡— ˆfd„}d}‰j                  g d¢«      }t        ‰«      r&t        |t        j                  j
                  |«       y t        j                  t        |¬«      5  t        |t        j                  j
                  |«       d d d «       t        j                  t        |¬«      5  t        |t        j                  j
                  ‰j                  d¬«       d d d «       y # 1 sw Y   Œ_xY w# 1 sw Y   y xY w)Nc                 ó&   •— ‰j                  | «      S r&   r'   r)   s    €r,   Únon_vectorized_statisticzWTestMonteCarloHypothesisTest.test_input_validation_xp.<locals>.non_vectorized_statisticH  s   ø€ Ø—7‘7˜1“:Ðr.   z!`statistic` must be vectorized...r¬  r   Fr=   )
r3   r   r   r   r¢   r£   r0   r1   rT   r(   )r4   r+   rÈ  r5   rV   s    `   r,   Útest_input_validation_xpz5TestMonteCarloHypothesisTest.test_input_validation_xpG  s¿   ø€ ô	ð 6ˆØ—‘šLÓ)ˆÜ�BŒ<Ü˜V¤U§Z¡Z§^¡^Ð5MÔNØä�]‰]œ:¨WÔ5ñ 	OÜ˜V¤U§Z¡Z§^¡^Ð5MÔN÷	Oä�]‰]œ:¨WÔ5ñ 	PÜ˜V¤U§Z¡Z§^¡^°R·W±WÈÕO÷	Pð 	P÷	Oð 	Oú÷	Pð 	Pús   Á(&C,Â12C8Ã,C5Ã8Dc                 óx  ‡ ‡‡— t         j                  j                  d«      }‰j                  |j	                  d¬«      «      }ˆ ˆˆfd„Šd‰_        d‰_        |‰dddœ}‰ j                  t        j                  j                  t         j                  j                  d	«      ‰¬
«      |d<   t        dddi|¤Ž}t        ‰j
                  d«       t        ‰j                  d«       ‰ j                  t        j                  j                  t         j                  j                  d	«      ‰¬
«      |d<   d‰_        t        dddi|¤Ž}t        ‰j
                  d«       t        ‰j                  d«       ‰ j                  t        j                  j                  t         j                  j                  d	«      ‰¬
«      |d<   d‰_        t        di |¤Ž}t        ‰j
                  d«       t        ‰j                  d«       t        |j                  |j                  «       t        |j                  |j                  «       y )Nì   á)�p rN   r.  c                 óÖ   •— | j                   dk(  rdn| j                  d   }t        |‰j                  «      ‰_        ‰xj                  dz  c_         ‰j                  ‰«      | |¬«      S r  )r  r{   r)  Ú
batch_sizeÚcounterrª  )r*   rB   rÍ  r4   r—   r+   s      €€€r,   r—   z:TestMonteCarloHypothesisTest.test_batch.<locals>.statistic]  s\   ø€ ØŸf™f¨šk™¨q¯w©w°q©zˆJÜ#& z°9×3GÑ3GÓ#HˆIÔ Ø×Ò Ñ"ÕØ)�4×%Ñ% bÓ)¨!°$Ô7Ð7r.   r   rø   T)rV   r—   rG   r>   iç r:  r£   rK   r"   ié  rº   r¶   r#   rr   )ra   rb   r¡   r3   Ústandard_normalrÎ  rÍ  r¥  r   r¢   r£   r   r   r   ré   )	r4   r+   rS   r*   r¢  ri   rj   Úres3r—   s	   ``      @r,   Ú
test_batchz'TestMonteCarloHypothesisTest.test_batchV  s´  ú€ ô �i‰i×#Ñ# KÓ0ˆØ�J‰J�s×*Ñ*°Ð*Ó3Ó4ˆö	8ð
 ˆ	ÔØ ˆ	Ôà¨)Ø#°4ñ9ˆð —l‘l¤5§:¡:§>¡>´2·9±9×3HÑ3HÈÓ3PÐUW�lÓXˆˆU‰ÜÑ0 aÐ0¨4Ñ0ˆÜ�Y×&Ñ&¨Ô-Ü�Y×)Ñ)¨1Ô-à—l‘l¤5§:¡:§>¡>´2·9±9×3HÑ3HÈÓ3PÐUW�lÓXˆˆU‰Øˆ	ÔÜÑ1 bÐ1¨DÑ1ˆÜ�Y×&Ñ&¨Ô+Ü�Y×)Ñ)¨2Ô.à—l‘l¤5§:¡:§>¡>´2·9±9×3HÑ3HÈÓ3PÐUW�lÓXˆˆU‰Øˆ	ÔÜÑ' $Ñ'ˆÜ�Y×&Ñ&¨Ô*Ü�Y×)Ñ)¨4Ô0ä˜Ÿ™ T§[¡[Ô1Ü˜Ÿ™ T§[¡[Õ1r.   rB   éýÿÿÿr$   c                 óâ  — t         j                  j                  d«      }g d¢}d||<   |j                  d«      j                  }dt        |«      v rdnd}t        t         |«      }t        ||«      }|j                  ||¬«      }	t        j                  |	d	|¬
«      }
|j                  |	|¬«      }	| j                  |«      }| j                  t        j                  j                  |||¬«      }t        |	||dd|¬«      }|j                  |
j                  |¬«      }|j                  |
j                   |¬«      }t#        |j                  |«       t#        |j                   || j$                  ¬«       y )Niòt$ )r#   r$   r9   r_   r­  Ú64rÿ   r   )r’   rþ   r  )ÚpopmeanrB   r
  )rþ   r+   Ti N  )r>   rG   rB   rš   )ra   rb   r¡   r3   rþ   rÁ  rG  rÏ  r   Úttest_1samprª  r¥  r¢   r£   r   r—   ré   r   r›   )r4   rB   r+   rS   r’   Údtype_defaultÚ	dtype_strÚdtype_nprþ   r*   rê   r—   r£   rv   Úref_statisticÚ
ref_pvalues                   r,   Útest_axis_dtypez,TestMonteCarloHypothesisTest.test_axis_dtype|  s:  € ô �i‰i×#Ñ# GÓ,ˆÚˆØˆˆT‰
ð Ÿ
™
 2›×,Ñ,ˆØ!%¬¨]Ó);Ñ!;‘IÀ)ˆ	Üœ2˜yÓ)ˆÜ˜˜IÓ&ˆð ×Ñ T°ÐÓ:ˆÜ×$Ñ$ Q°¸Ô>ˆà�J‰J�q ˆJÓ&ˆØ×&Ñ& rÓ*ˆ	Ø�l‰lœ5Ÿ:™:Ÿ>™>¨3°eÀˆlÓCˆä˜q # y¸TØ+0°tô=ˆð Ÿ
™
 8×#5Ñ#5¸U˜
ÓCˆØ—Z‘Z §¡°u�ZÓ=ˆ
Ü˜Ÿ™ }Ô5Ü˜Ÿ
™
 J°T·Y±YÖ?r.   rŸ   )ú	two-sidedr�   r    c                 ó$  — t         j                  j                  d«      }|j                  d¬«      }t	        j
                  |d|¬«      }|j                  |«      }| j                  |«      }| j                  t        j                  j                  ||¬«      }t        ||||¬«      }t        |j                  |j                  |j                  «      «       t        |j                  |j                  |j                  «      | j                  ¬«       y )Né)ÜêrR  r.  r  r¾  r:  rš   )ra   rb   r¡   rÏ  r   rÖ  r3   rª  r¥  r¢   r£   r   r   r—   ré   r›   )	r4   rŸ   r+   rS   r*   r%  r—   r£   rv   s	            r,   Útest_alternativez-TestMonteCarloHypothesisTest.test_alternative�  sÄ   € ô �i‰i×#Ñ# HÓ-ˆà×Ñ RÐÓ(ˆÜ×Ñ  2°;Ô?ˆà�J‰J�q‹MˆØ×&Ñ& rÓ*ˆ	Ø�l‰lœ5Ÿ:™:Ÿ>™>¨3°2ˆlÓ6ˆä˜q # y¸kÔJˆä˜Ÿ™ r§z¡z°#·-±-Ó'@ÔAÜ˜Ÿ
™
 B§J¡J¨s¯z©zÓ$:ÀÇÁÖKr.   )r�   r    rt   g      à¿rO  rŽ   c                 óv  ‡— t         j                  j                  d«      }t        j                  j                  |d|¬«      }t        j                  |t        j                  j                  ‰¬«      }ˆfd„}| j                  t        j                  j
                  |«      }t        |||dd‰¬«      }t        |j                  |j                  «       ‰d	k(  r-t        |j                  |j                  | j                  ¬
«       y ‰dk(  r0t        d|j                  z
  |j                  | j                  ¬
«       y y )Nrß  rR  ©rt   r’   r`   r¾  c                 óz   •— t        j                  | t         j                  j                  d‰¬«      j                  S )NÚasymp)ÚmoderŸ   )r   Úks_1sampr¢   Úcdfr—   )r*   rŸ   s    €r,   Ústatistic1dzGTestMonteCarloHypothesisTest.test_against_ks_1samp.<locals>.statistic1d»  s+   ø€ Ü—>‘> !¤U§Z¡Z§^¡^¸'Ø.9ô;ß;D¹9ðEr.   rø   F©rG   r>   rŸ   r    rš   r�   r"   )ra   rb   r¡   r   Úskewnormr£   ræ  r¢   rç  r¥  r   r   r—   ré   r›   )	r4   rŸ   rt   rS   r*   rê   rè  Únorm_rvsrv   s	    `       r,   Útest_against_ks_1sampz2TestMonteCarloHypothesisTest.test_against_ks_1samp±  så   ø€ ô
 �i‰i×#Ñ# HÓ-ˆä�N‰N×Ñ ¨¸#ÐÓ>ˆÜ—>‘> !¤U§Z¡Z§^¡^ÀÔMˆô	Eð —<‘<¤§
¡
§¡°Ó4ˆÜ˜q (¨KØ+/¸EØ+6ô8ˆô 	˜Ÿ™ x×'9Ñ'9Ô:Ø˜)Ò#Ü˜CŸJ™J¨¯©¸d¿i¹iÖHØ˜FÒ"Ü˜A˜cŸj™j™L¨(¯/©/ÀÇ	Á	ÖJð #r.   Úhypotest©r�   r    rÝ  r;  r#   c                 ó²  ‡— t         j                  j                  d«      }t        j                  j                  |d|¬«      } ‰||¬«      }ˆfd„}| j                  t        j                  j
                  |«      }t        |||d|¬«      }	t        |	j                  |j                  «       t        |	j                  |j                  | j                  ¬«       y )	Ni	é–   râ  r¾  c                 ó,   •—  ‰| |¬«      j                   S r€   )r—   )r*   rB   rí  s     €r,   r—   zLTestMonteCarloHypothesisTest.test_against_normality_tests.<locals>.statisticÔ  s   ø€ Ù˜A DÔ)×3Ñ3Ð3r.   T©r>   rŸ   rš   )ra   rb   r¡   r   rê  r£   r¥  r¢   r   r   r—   ré   r›   )
r4   rí  rŸ   rt   rS   r*   rê   r—   rë  rv   s
    `        r,   Útest_against_normality_testsz9TestMonteCarloHypothesisTest.test_against_normality_testsÊ  s¢   ø€ ô
 �i‰i×#Ñ# HÓ-ˆä�N‰N×Ñ ¨¸3ÐÓ?ˆÙ˜A¨;Ô7ˆô	4ð —<‘<¤§
¡
§¡°Ó4ˆÜ˜q (¨IÀ$Ø+6ô8ˆô 	˜Ÿ™ x×'9Ñ'9Ô:Ü˜Ÿ
™
 H§O¡O¸$¿)¹)ÖDr.   c                 óÂ  — t         j                  j                  d«      }t        j                  j                  |d|¬«      }t        j                  |«      }d„ }| j                  t        j                  j
                  |«      }t        |||dd¬«      }t        |j                  |j                  «       t        |j                  |j                  | j                  ¬«       y )	Ni!M¼ rð  râ  c                 óD   — t        j                  | |¬«      j                  S r€   )r   Ú
normaltestr—   )r*   rB   s     r,   r—   zGTestMonteCarloHypothesisTest.test_against_normaltest.<locals>.statisticæ  s   € Ü×#Ñ# A¨DÔ1×;Ñ;Ð;r.   Tr    rò  rš   )ra   rb   r¡   r   rê  r£   rö  r¥  r¢   r   r   r—   ré   r›   )r4   rt   rS   r*   rê   r—   rë  rv   s           r,   Útest_against_normaltestz4TestMonteCarloHypothesisTest.test_against_normaltestÞ  s¥   € ô �i‰i×#Ñ# HÓ-ˆä�N‰N×Ñ ¨¸3ÐÓ?ˆÜ×#Ñ# AÓ&ˆò	<ð —<‘<¤§
¡
§¡°Ó4ˆÜ˜q (¨IÀ$Ø+4ô6ˆô 	˜Ÿ™ x×'9Ñ'9Ô:Ü˜Ÿ
™
 H§O¡O¸$¿)¹)ÖDr.   c                 óö  — t         j                  j                  d«      }t        j                  j                  |d|¬«      }t        j                  |t        j                  j                  «      }d„ }| j                  t        j                  j
                  |«      }t        |||ddd¬«      }t        |j                  |j                  «       t        |j                  |j                  | j                  ¬	«       y )
NiåÿrR  râ  c                 ór   — t        j                  | t         j                  j                  «      j                  S r&   )r   Úcramervonmisesr¢   rç  r—   r  s    r,   rè  zMTestMonteCarloHypothesisTest.test_against_cramervonmises.<locals>.statistic1dù  s#   € Ü×'Ñ'¨¬5¯:©:¯>©>Ó:×DÑDÐDr.   rø   Fr    ré  rš   )ra   rb   r¡   r   rê  r£   rú  r¢   rç  r¥  r   r   r—   ré   r›   )r4   rt   rS   r*   rê   rè  rë  rv   s           r,   Útest_against_cramervonmisesz8TestMonteCarloHypothesisTest.test_against_cramervonmisesð  s³   € ô �i‰i×#Ñ# IÓ.ˆä�N‰N×Ñ ¨¸#ÐÓ>ˆÜ×'Ñ'¨¬5¯:©:¯>©>Ó:ˆò	Eð —<‘<¤§
¡
§¡°Ó4ˆÜ˜q (¨KØ+/¸EØ+4ô6ˆô 	˜Ÿ™ x×'9Ñ'9Ô:Ü˜Ÿ
™
 H§O¡O¸$¿)¹)ÖDr.   Ú	dist_namer¢   ÚlogisticÚtarget_statistic)ç333333ã?gffffffæ?gš™™™™™é?c           	      óN  ‡‡— ˆˆfd„}t        j                  «       5  t        j                  dt        «       t	        |d¬«      }d d d «       j
                  sJ ‚|j                  d   }t        j                  j                  d«      }t        j                  j                  |d|¬«      }t        j                  |‰d¬	«      }|j                  }	|j                  }
ˆfd
„}| j!                  t#        t        ‰«      j                  |«      }t        j                  «       5  t        j                  dt        «       t%        |||ddd¬«      }d d d «       t'        j                  |	«       t'        |j                  |
d| j(                  z  ¬«       y # 1 sw Y   �ŒKxY w# 1 sw Y   ŒRxY w)Nc                 óÔ   •— t         j                  j                  d«      }t        j                  j                  | d|¬«      }t        j                  |‰d¬«      }|j                  ‰z
  S )Né«x€r_   rã   ÚinterpolaterL   )ra   rb   r¡   r   Útukeylambdar£   Úandersonr—   )rt   rS   r*   rê   rü  rþ  s       €€r,   Úfunz?TestMonteCarloHypothesisTest.test_against_anderson.<locals>.fun  sX   ø€ Ü—)‘)×'Ñ'¨	Ó2ˆCÜ×!Ñ!×%Ñ% a¨cÀÐ%ÓDˆAÜ—~‘~ a¨¸=ÔIˆHØ×%Ñ%Ð(8Ñ8Ð8r.   r  r   )Úx0r  r_   rã   r  rL   c                 óH   •— t        j                  | ‰d¬«      j                  S )Nr  rL   )r   r  r—   )r*   rü  s    €r,   rè  zGTestMonteCarloHypothesisTest.test_against_anderson.<locals>.statistic1d!  s   ø€ Ü—>‘> ! Y°}ÔE×OÑOÐOr.   rø   Fr    ré  r#   rš   )ÚwarningsÚcatch_warningsÚsimplefilterÚRuntimeWarningr   Úsuccessr*   ra   rb   r¡   r   r  r£   r  r—   ré   r¥  rG  r   r   r›   )r4   rü  rþ  r  Úsolrt   rS   r*   rê   Úexpected_statÚ
expected_prè  Údist_rvsrv   s    ``           r,   Útest_against_andersonz2TestMonteCarloHypothesisTest.test_against_anderson  sU  ù€ õ	9ô
 ×$Ñ$Ó&ñ 	"Ü×!Ñ! (¬NÔ;Ü�s˜q”/ˆC÷	"ð �{Š{Ðˆ{ð �E‰E�!‰HˆÜ�i‰i×#Ñ# IÓ.ˆÜ×Ñ×!Ñ! !¨#¸CÐ!Ó@ˆÜ—>‘> ! Y°}ÔEˆØ ×*Ñ*ˆØ—_‘_ˆ
ô	Pð —<‘<¤¬¨yÓ 9× =Ñ =¸sÓCˆÜ×$Ñ$Ó&ñ 	LÜ×!Ñ! (¬NÔ;Ü" 1 hØ#.¸DØ.3ÀôLˆC÷	Lô 	˜Ÿ™ }Ô5Ü˜Ÿ
™
 J°Q°t·y±y±[ÖA÷5	"ñ 	"ú÷&	Lð 	Lús   �(FÄ,FÆFÆF$c                 óÞ   — t         j                  j                  d«      }t        j                  d«      }t	        ||j                  t         j
                  dd¬«      }|j                  dk(  sJ ‚y )Nl   IL‘~QH(s r_   Tr�   rò  g-Cëâ6?)ra   rb   r¡   rÀ  r   r(   ré   )r4   rS   r*   rv   s       r,   Útest_p_never_zeroz.TestMonteCarloHypothesisTest.test_p_never_zero.  sV   € ô �i‰i×#Ñ#Ð$7Ó8ˆÜ�H‰H�S‹MˆÜ˜q #§*¡*¬b¯g©gØ*.¸FôDˆà�z‰z˜VÒ#Ð#Ñ#r.   c                 ó´  — t         j                  j                  d«      }|j                  d¬«      |j                  d¬«      f}|j                  |j                  f}d„ }t	        j
                  |||d¬«      }t	        j                  |d   |d	   gd¬«      }t        |j                  |j                  «       t        |j                  |j                  d
¬«       y )Nì   ‰F:f¡mPr²  r.  é   c                 óF   — t        j                  | ||¬«      j                  S r€   rŒ  rŽ  s      r,   r—   zFTestMonteCarloHypothesisTest.test_against_ttest_ind.<locals>.statistic<  r�  r.   ry   rA   r   r"   ç{®Gáz”?r˜   )
ra   rb   r¡   rl  r   r   r�  r   r—   ré   ©r4   rS   r–   r£   r—   rv   r%  s          r,   Útest_against_ttest_indz3TestMonteCarloHypothesisTest.test_against_ttest_ind7  s¨   € ä�i‰i×#Ñ#Ð$6Ó7ˆØ�z‰z˜vˆzÓ&¨¯
©
¸¨
Ó(:Ð:ˆØ�j‰j˜#Ÿ*™*Ð$ˆò	>ô ×$Ñ$ T¨3°	ÀÔCˆÜ�o‰o˜d 1™g¨¨Q© y°rÔ:ˆÜ˜Ÿ™ s§}¡}Ô5Ü˜Ÿ
™
 C§J¡J°TÖ:r.   c                 ó  — t         j                  j                  d«      }|j                  d¬«      |j                  d¬«      |j                  d¬«      |j                  d¬«      f}|j                  |j                  |j                  |j                  f}d„ }t	        j
                  |||dd	¬
«      }t	        j                  |ddiŽ}t        |j                  |j                  «       t        |j                  |j                  d¬«       y )Nr  rk  r.  )r#   ée   )r#   éf   )r#   ég   c                 ó@   — t        j                  |d| iŽj                  S ©NrB   )r   Úf_onewayr—   )rB   r‚  s     r,   r—   zETestMonteCarloHypothesisTest.test_against_f_oneway.<locals>.statisticK  s   € Ü—>‘> 4Ð3¨dÑ3×=Ñ=Ð=r.   ry   r    ©rB   rŸ   rB   ç{®Gáz„?rš   )
ra   rb   r¡   rl  r   r   r"  r   r—   ré   r  s          r,   Útest_against_f_onewayz2TestMonteCarloHypothesisTest.test_against_f_onewayD  sÎ   € ä�i‰i×#Ñ#Ð$6Ó7ˆØ—
‘
 �
Ó)¨3¯:©:¸8¨:Ó+DØ—
‘
 �
Ó)¨3¯:©:¸8¨:Ó+DðFˆà�j‰j˜#Ÿ*™* c§j¡j°#·*±*Ð<ˆò	>ô ×$Ñ$ T¨3°	ÀØ1:ô<ˆä�n‰n˜dÐ,¨Ñ,ˆä˜Ÿ™ s§}¡}Ô5Ü˜Ÿ
™
 C§J¡J°TÖ:r.   z2Statistic may not depend on sample order on 32-bitc                 óª  ‡— t         j                  j                  d«      Šd}ˆfd„} |d«      }t        j                  ||t         j
                  d|¬«      }t        j                  |j                  |j                  k  «      }t        j                  |j                  |j                  dz  k  «      }||k7  sJ ‚|j                  |dz   |dz   z  k(  sJ ‚y )	Nl    UÕ5<H rh  c                 óX   •— dt        j                  d¬«      j                  | ‰¬«      z  S )Nr­  gZd;ßOÕ?)rY  rã   )r   Ú	bernoullir£   ©r’   rS   s    €r,   r£   zITestMonteCarloHypothesisTest.test_finite_precision_statistic.<locals>.rvs]  s'   ø€ ØœŸ™¨%Ô0×4Ñ4¸$ÈSÐ4ÓQÑQÐQr.   r_   r�   )rŸ   rG   g     ð?r"   )
ra   rb   r¡   r   r   rt  r  Únull_distributionr—   ré   )r4   rG   r£   r*   rv   Úc0Úc1rS   s          @r,   Útest_finite_precision_statisticz<TestMonteCarloHypothesisTest.test_finite_precision_statisticU  sº   ø€ ô �i‰i×#Ñ#Ð$4Ó5ˆØˆô	Rñ �‹HˆÜ×$Ñ$ Q¨¬R¯V©VÀØ1<ô>ˆô �V‰V�C×)Ñ)¨S¯]©]Ñ:Ó;ˆÜ�V‰V�C×)Ñ)¨S¯]©]¸GÑ-DÑDÓEˆØ�RŠxˆˆxØ�z‰z˜b 1™f {°Q¡Ñ7Ò7Ð7Ñ7r.   )"r/   r’  r“  r›   ra   r¥  rª  rÅ  rÉ  r0   r”  ÚxslowrÑ  r•  r>  rÜ  rà  r–  Úlinspacerì  r   ÚskewtestÚkurtosistestró  rz   r÷  rû  r  r  r  r%  Ú	fail_slowr—  r-  rr   r.   r,   rž  rž  ô  s˜  „ à€Dà(,°ó =òò@.òDPð ‡[�[×Ññ#2ó ð#2ðJ ‡[�[×Ñ˜V¡U¨2¨q£\Ó2ñ@ó 3ð@ð@ ‡[�[×Ñ˜]Ð,LÓMñLó NðLð& ‡[�[×ÑØ‡[�[×Ñ˜]Ð,?Ó@Ø‡[�[×Ñ˜S + "§+¡+¨d°C¸Ó";Ó<ñKó =ó Aó ðKð, ‡[�[×Ñ˜Z¨%¯.©.¸%×:LÑ:LÐ)MÓNØ‡[�[×Ñ˜]Ð,LÓMØ‡[�[×Ñ˜S + "§+¡+¨b°!°QÓ"7Ó8ñEó 9ó Nó OðEð" ‡[�[×Ñ˜S ) "§)¡)¨B°Ó"2Ó3ñEó 4ðEð" ‡[�[×ÑØ‡[�[×Ñ˜S + "§+¡+¨d°C¸Ó";Ó<ñEó =ó ðEð$ ‡[�[×ÑØ‡[�[×Ñ˜[¨6°:Ð*>Ó?Ø‡[�[×ÑÐ/²ÓAñ%Bó Bó @ó ð%BòN$ò;ò;ð" ‡[�[×Ñ˜1ÓØ‡[�[×ÑÐ TÓUñ8ó Vó ñ8r.   rž  c                   ób  — e Zd Zddœd„Zd„ Zej                  j                  d„ «       Zej                  j                  d„ «       Z	ej                  j                  dg d¢¬	«      d
„ «       Zej                  j                  dd¬«      ej                  j                  dg d¢¬	«      d„ «       «       Zy)Ú	TestPowerNr
  c                ó4   ‡‡‡— ‰€t        ‰«      n‰Šˆˆˆfd„S )Nc                 óJ   •— ‰j                  ‰j                  | ¬«      ‰¬«      S )Nr.  r
  )r3   rl  )r’   rþ   rS   r+   s    €€€r,   r-   z%TestPower.xp_normal.<locals>.<lambda>n  s   ø€ ˜BŸJ™J s§z¡z°t zÓ'<ÀE˜JÓJ€ r.   )r   )r4   rS   r+   rþ   s    ```r,   Ú	xp_normalzTestPower.xp_normall  s   ú€ Ø(-¨Ô  Ô$¸5ˆÝJÐJr.   c                 óì	  — t         j                  j                  d«      }t        j                  }| j                  ||¬«      | j                  ||¬«      f}|j                  d«      |j                  d«      f}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        || j                  ||¬«      d
f|«       d d d «       d}t        j                  t        |¬«      5  t        || j                  ||¬«      f|«       d d d «       t        j                  t        |¬«      5  t        ||d«       d d d «       d}t        j                  t        |¬«      5  t        ||||j                  d«      ¬«       d d d «       |j                  d«      }t        |«      s5d}t        j                  t        |¬«      5  t        ||||¬«       d d d «       d}t        j                  t        |¬«      5  t        |||d¬«       d d d «       d}t        j                  t        t        f|¬«      5  t        |||j                  ddg«      |j                  g d¢«      f«       d d d «       t        j                  t        t        f|¬«      5  t        |||j                  ddg«      |j                  ddg«      fd|j                  g d¢«      i¬«       d 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 «       t        j                  t        |¬«      5  t        |||d¬ «       d d d «       y # 1 sw Y   �Œ’xY w# 1 sw Y   �ŒlxY w# 1 sw Y   �Œ5x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   �Œ6x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   �Œ5xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒæxY w# 1 sw Y   y xY w)!Nl   yB0Æ æ1 r:  rN   r^   r;   r   r@   r=   rµ  r<   r¹  )rN   z/`significance` must be of floating point dtype.T©Úsignificancer®  z8All elements of `significance` must be between 0. and 1.z`kwargs` must be a dictionaryr!   )ÚkwargszNnot be broadcast|Chunks do not add|Incompatible shapes|Attempting to broadcastr]   )r^   é   é   r<  r*   z`test` must be callablez(`n_resamples` must be a positive integeriöÿÿÿrF   g      %@z"`batch` must be a positive integerrJ   )ra   rb   r¡   r   r�  r7  r3   r0   r1   rT   r   r2   r   ÚRuntimeError)r4   r+   rS   Útestr£   Ún_observationsr5   r:  s           r,   rÅ  zTestPower.test_input_validationp  s+  € ä�i‰i×#Ñ#Ð$7Ó8ˆä�‰ˆØ�~‰~˜c bˆ~Ó)¨4¯>©>¸#À"¨>Ó+EÐFˆØŸ*™* R›.¨"¯*©*°R«.Ð9ˆàDˆÜ�]‰]œ:¨WÔ5ñ 	=Ü�$˜˜^¸Õ<÷	=ð EˆÜ�]‰]œ9¨GÔ4ñ 	.Ü�$˜˜nÔ-÷	.ä�]‰]œ9¨GÔ4ñ 	NÜ�$˜Ÿ™¨°˜Ó3°VÐ<¸nÔM÷	Nð .ˆÜ�]‰]œ:¨WÔ5ñ 	GÜ�$˜Ÿ™¨°˜Ó3Ð5°~ÔF÷	Gä�]‰]œ:¨WÔ5ñ 	$Ü�$˜˜UÔ#÷	$ð DˆÜ�]‰]œ:¨WÔ5ñ 	LÜ�$˜˜^¸"¿*¹*ÀTÓ:JÕK÷	Lð —z‘z "“~ˆÜ˜\Ô*ØPˆGÜ—‘œz°Ô9ñ LÜ�d˜C ¸lÕK÷Lð 2ˆÜ�]‰]œ9¨GÔ4ñ 	?Ü�$˜˜^°IÕ>÷	?ð'ð 	ô �]‰]œJ¬Ð5¸WÔEñ 	OÜ�$˜˜bŸj™j¨"¨b¨Ó2°B·J±Jº|Ó4LÐMÔN÷	Oä�]‰]œJ¬Ð5¸WÔEñ 	7Ü�$˜˜bŸj™j¨"¨b¨Ó2°B·J±JÀÀB¸xÓ4HÐIØ˜rŸz™zª)Ó4Ð5õ7÷	7ð ,ˆÜ�]‰]œ9¨GÔ4ñ 	-Ü�$˜˜^Ô,÷	-ð =ˆÜ�]‰]œ:¨WÔ5ñ 	>Ü�$˜˜^¸Õ=÷	>ä�]‰]œ:¨WÔ5ñ 	?Ü�$˜˜^¸Õ>÷	?ð 7ˆÜ�]‰]œ:¨WÔ5ñ 	8Ü�$˜˜^°3Õ7÷	8ä�]‰]œ:¨WÔ5ñ 	9Ü�$˜˜^°4Õ8÷	9ð 	9÷m	=ñ 	=ú÷	.ñ 	.ú÷	Nñ 	Nú÷	Gñ 	Gú÷	$ñ 	$ú÷	Lñ 	Lú÷Lñ Lú÷	?ñ 	?ú÷	Oñ 	Oú÷	7ñ 	7ú÷
	-ñ 	-ú÷	>ñ 	>ú÷	?ñ 	?ú÷	8ð 	8ú÷	9ð 	9úsµ   ÂP5Ã
QÃ;!QÅ QÆQ)Æ7Q6ÈRÉRÊ2RË"AR*ÍR7ÎSÎ4SÏ)SÐS*Ð5P?ÑQÑQÑQ&Ñ)Q3Ñ6R ÒRÒRÒR'Ò*R4Ò7SÓSÓSÓS'Ó*S3c                 ó�  ‡‡— t         j                  j                  d«      }ˆˆfd„Šd‰_        d‰_        t        ‰‰j                  d«      d¬«      }t         j                  j                  d«      }t        di |¤| j                  |‰¬«      dd	œ¤Ž}‰j                  dk(  sJ ‚‰j                  dk(  sJ ‚t         j                  j                  d«      }d‰_        t        di |¤| j                  |‰¬«      d
d	œ¤Ž}‰j                  dk(  sJ ‚‰j                  d
k(  sJ ‚t         j                  j                  d«      }d‰_        t        di |¤| j                  |‰¬«      dd	œ¤Ž}‰j                  dk(  sJ ‚‰j                  dk(  sJ ‚t        |j                  |j                  «       t        |j                  |j                  «       y )NrË  c                 ó  •— | j                   dk(  rdn| j                  d   }t        |‰j                  «      ‰_        ‰xj                  dz  c_        t        j                  | ‰j                  d«      |¬«      j                  S )Nr"   r   r  rA   )	r  r{   r)  rÍ  rÎ  r   rÖ  r3   ré   )r*   rB   rÍ  r?  r+   s      €€r,   r?  z"TestPower.test_batch.<locals>.test¸  s_   ø€ ØŸf™f¨šk™¨q¯w©w°q©zˆJÜ! *¨d¯o©oÓ>ˆDŒOØ�LŠL˜AÑ�LÜ×$Ñ$ Q¨¯
©
°2«¸TÔB×IÑIÐIr.   r   rN   rø   )r?  r@  rG   r:  r"   )r£   rK   rº   rQ  rr   )
ra   rb   r¡   rÎ  rÍ  r©   r3   r   r7  r   )r4   r+   rS   r¢  ri   rj   rÐ  r?  s    `     @r,   rÑ  zTestPower.test_batch²  sˆ  ù€ ô �i‰i×#Ñ# KÓ0ˆõ	Jð
 ˆŒØˆŒä˜Ø#%§:¡:¨b£>Ø $ô&ˆô �i‰i×#Ñ# KÓ0ˆÜÑE�tÐE §¡°¸ Ó!;À1ÓEˆØ�|‰|˜tÒ#Ð#Ð#Ø�‰ !Ò#Ð#Ð#ä�i‰i×#Ñ# KÓ0ˆØˆŒÜÑF�tÐF §¡°¸ Ó!;À2ÓFˆØ�|‰|˜rÒ!Ð!Ð!Ø�‰ "Ò$Ð$Ð$ä�i‰i×#Ñ# KÓ0ˆØˆŒÜÑH�tÐH §¡°¸ Ó!;À4ÓHˆØ�|‰|˜qÒ Ð Ð Ø�‰ $Ò&Ð&Ð&ä˜Ÿ
™
 D§J¡JÔ/Ü˜Ÿ
™
 D§J¡JÕ/r.   c                 ó`  ‡‡‡‡— t         j                  j                  d«      }ddddœŠ|j                  ddg«      Šdˆˆfd„	}|j                  g d	¢«      d d …|j                  f   }d
|j                  g d¢«      i}|j                  g d¢«      }t        j                  || j                  ||¬«      |||¬«      }g }|D ]Ÿ  }	t        |j                  d   «      D ]‚  }
||
df   }|d
   D ]q  Št        ‰j                  d   «      D ]T  }‰|   Šdˆˆˆfd„	}t        j                  || j                  ||¬«      ||	¬«      }|j                  |j                  «       ŒV Œs Œ„ Œ¡ |j                  |j                  |«      |j                  j                  «      }t        |j                  |dd¬«       y )Nl   x7'À\r�   rÝ  r    )ry   r   r"   r   çš™™™™™É?c           
      óÀ   •— t        j                  ‰t        t        d| j                  dz   «      «      ¬«      }‰t        |«         }t        j                  | |||¬«      S )Nr"   rA   ©rŸ   rB   )ÚxpxÚexpand_dimsrU   r>  r  rè   r   rÖ  )r*   rŸ   rB   Úpopmeans_expandedÚalternativesÚpopmeanss       €€r,   r?  z*TestPower.test_vectorization.<locals>.testà  sX   ø€ ä #§¡°Ü5:¼5ÀÀAÇFÁFÈQÁJÓ;OÓ5Pô!RÐà&¤s¨;Ó'7Ñ8ˆKÜ×$Ñ$ QÐ(9À{Ø*.ô0ð 0r.   )rN   rµ   rQ  rº   r_   rŸ   )r$  rŸ  çš™™™™™©?rä   r:  ©r:  r;  .c           	      óN   •— t        j                  | ‰|‰t        ‰«         ¬«      S )Nr#  )r   rÖ  rè   )r*   rB   Úalternative_irJ  Ú	popmean_js     €€€r,   Útest2z+TestPower.test_vectorization.<locals>.test2ù  s+   ø€ Ü#(×#4Ñ#4°Q¸	ÈØ,8¼¸]Ó9KÑ,Lô$Nð Nr.   r9  r  r$  )r™   r›   rx   )ra   rb   r¡   r3   r�  r   r   r7  r>  r{   Úappendr„   rÈ   r   )r4   r+   rS   r?  Únxr;  r:  rv   r%  Úsignificance_irs   Únx_iÚjrQ  ÚtmprO  rJ  rP  rK  s                  @@@@r,   Útest_vectorizationzTestPower.test_vectorizationØ  s“  û€ ô �i‰i×#Ñ# NÓ3ˆØ" k°iÑ@ˆð —:‘:˜q #˜hÓ'ˆö	0ð �Z‰ZÒ-Ó.ªq°"·*±*¨}Ñ=ˆØ §¡ªJÓ!7Ð8ˆð —z‘zÒ":Ó;ˆÜ�k‰k˜$ §¡¨s°r Ó :¸BØ'3¸FôDˆð ˆØ*ò 	.ˆNÜ˜2Ÿ8™8 A™;Ó'ò .�Ø˜!˜S˜&‘z�Ø%+¨MÑ%:ò 	.�MÜ" 8§>¡>°!Ñ#4Ó5ò .˜Ø$,¨Q¡K˜	÷Nô $Ÿk™k¨%°·±ÀÈ°Ó1KÈTØ7EôG˜àŸ
™
 3§9¡9Õ-ñ.ñ	.ñ.ð	.ð �j‰j˜Ÿ™ #›¨¯	©	¯©Ó8ˆô 	˜Ÿ	™	 3¨T¸Ö=r.   T)r‡  ú	jax.numpyz
dask.array©Úcpu_onlyr‰  c                 ó0  — t         j                  j                  d«      }t        j                  }|j                  |j                  ddd¬«      «      |j                  |j                  ddd¬«      «      f}| j                  ||¬«      | j                  ||¬«      f}|j                  g d¢«      }t        j                  ||||¬«      }|j                  |d d …|j                  f   |j                  j                  «      }t        |j                  |d¬	«       y )
Nì   ¸&(ƒ rN   r_   r.  r:  )r$  rL  rä   r9  r$  rš   )ra   rb   r¡   r   r�  r3   Úintegersr7  r   rƒ   r�  r{   r   )r4   r+   rS   r?  r@  r£   r:  rv   s           r,   Útest_ttest_ind_nullzTestPower.test_ttest_ind_null  sÛ   € ô
 �i‰i×#Ñ# OÓ4ˆä�‰ˆØŸ*™* S§\¡\°"°cÀ \Ó%EÓFØŸ*™* S§\¡\°"°cÀ \Ó%EÓFðHˆà�n‰n˜S RˆnÓ(¨$¯.©.¸À¨.Ó*DÐDˆØ—z‘zÒ"3Ó4ˆÜ�k‰k˜$  ^À,ÔOˆØ—‘ |²A°r·z±z°MÑ'BÀCÇIÁIÇOÁOÓTˆÜ˜Ÿ	™	 <°dÖ;r.   rD  z+currently combines integer and float arraysr   c                 óœ  — t         j                  j                  d«      }g d¢g d¢gg d¢g d¢gg}d|j                  g d¢«      i}|j                  dgd	gg«      }|j                  d
dg«      }t	        j
                  t        j                  | j                  ||¬«      |||¬«      }t        |j
                  |j                  |«      d
¬«       y )Nr]  )gêvö•é‰?g]¤ÔNbJº?g6;”™¹ÝÙ?)gOt]øÁù�?g7gLÚ·Ó?g¬0DÒ—ë?)g�§ðVL[®?g—Ô;¢cÃÒ?gÃ.H&óæ?)gìê#*3)²?g“ºl�kâ?g5i� ûî?rÕ  )rä   rO  rá   rN   rQ  r$  rL  r:  rM  rš   )	ra   rb   r¡   r3   r   r   rÖ  r7  r   )r4   r+   rS   r%  r;  r@  r:  rv   s           r,   Útest_ttest_1samp_powerz TestPower.test_ttest_1samp_power  s¹   € ô �i‰i×#Ñ# OÓ4ˆò 5Ú4ð6â4Ú4ð6ð7ˆð
 ˜RŸZ™ZªÓ8Ð9ˆØŸ™ b T¨B¨4 LÓ1ˆØ—z‘z 4¨ ,Ó/ˆÜ�k‰kœ%×+Ñ+¨T¯^©^¸CÀB¨^Ó-GÈØ'3¸FôDˆä˜Ÿ	™	 2§:¡:¨c£?¸Ö>r.   )r/   r’  r“  r7  rÅ  r0   r”  r–  rÑ  rX  r   r_  ra  rr   r.   r,   r4  r4  j  sÒ   „ à*.ô Kò@9ðD ‡[�[×Ññ#0ó ð#0ðJ ‡[�[×Ññ*>ó ð*>ðX ‡[�[×!Ñ!¨4Ú-Pð "ó Rñ<óRð<ð ‡[�[×!Ñ!Ð"4Ø)Vð "ó Xà‡[�[×!Ñ!¨4Ú-Pð "ó Rñ?óRóXñ?r.   r4  c                   ó

  — e Zd ZdZd„ Zd„ Zej                  j                  de	j                  j                  e	j                  j                  g«      ej                  j                  dg d¢«      d„ «       «       Zej                  j                  de	j                  j                  e	j                  j                  g«      ej                  j                  dd	 ej                  d
«      dz  fdd ej                   dd
«      fg«      d„ «       «       Zd„ Zej                  j'                  «       d„ «       Zej                  j+                  dddg¬«      d„ «       Zej                  j+                  d¬«      ej                  j                  dd«      d„ «       «       Zej                  j+                  d¬«      ej                  j                  dd«      d„ «       «       Z edd¬«       ed¬«      ej                  j                  dd«      d„ «       «       «       Z edd¬«       ed¬«       ed¬ «      d!„ «       «       «       Z ed¬«      ej                  j                  d"d#«      d$„ «       «       Zej                  j+                  d¬«      ej                  j                  dd«      d%„ «       «       Zej                  j                  dd«      d&„ «       Zej                  j+                  d¬«      d'„ «       Zej                  j                  dd«      d(„ «       Zej                  jA                  «       ej                  j                  d"d)«      d*„ «       «       Z!g d+¢g d,¢d-d.d/d0d1d2d3œZ"g d4¢g d5¢d6d7d8d9d:d;d3œZ#ej                  j+                  d¬«      ej                  jA                  «       ej                  j                  d<e"e#f«      d=„ «       «       «       Z$ej                  j&                  ej                  j                  d>d?«      ej                  j+                  dddg¬«      ej                  j+                  d¬«      d@„ «       «       «       «       Z%ej                  j                  dAdB«      dC„ «       Z& e'dD«      d
g f e'd«      d
g dE¢g dF¢gf e'dG«      d
g dE¢g dF¢ddHggfgZ(ej                  j                  dIe(«      dJ„ «       Z)ej                  jU                  d«      ej                  j+                  dddg¬«      dK„ «       «       Z+dL„ Z,yM)NÚTestPermutationTestr  c                 óL   — t         j                  j                  d«      | _        y )Nl   áF )ra   rb   r¡   rS   )r4   s    r,   Úsetup_methodz TestPermutationTest.setup_method4  s   € Ü—9‘9×(Ñ(Ð)<Ó=ˆ�r.   c                 ó‚  — d„ }|j                  g d¢«      |j                  g d¢«      f}d}t        j                  t        |¬«      5  t	        |d   |j                  dg«      f|«       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 «       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 «       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 «       d}t        j                  t
        |¬«      5  t	        ||d¬«       d d d «       y # 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   �ŒÒ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   �Œ6xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒçxY w# 1 sw Y   Œ¿xY w# 1 sw Y   y xY w)Nc                 óF   — t        j                  | |f|«      j                  S r&   rŒ  rŽ  s      r,   r±  z:TestPermutationTest.test_permutation_test_iv.<locals>.stat:  s   € Ü—?‘? A q 6¨4Ó0×:Ñ:Ð:r.   r!   z2each sample in `data` must contain two or more ...r   r   z6`data` must be a tuple containing at least two samples)r"   r"   r?   r@   rA   z `permutation_type` must be in...r<   ©Úpermutation_typer;   r=   r¼  rE   rF   rH   rI   rJ   r½  r¾  rP   rQ   rR   )r3   r0   r1   rT   r   r2   )r4   r+   r±  r–   r5   s        r,   Útest_permutation_test_ivz,TestPermutationTest.test_permutation_test_iv8  s¿  € ò	;ð —
‘
š9Ó% r§z¡z²)Ó'<Ð=ˆàFˆÜ�]‰]œ:¨WÔ5ñ 	?Ü˜d 1™g r§z¡z°1°#£Ð7¸Ô>÷	?ð KˆÜ�]‰]œ:¨WÔ5ñ 	)Ü˜T 4Ô(÷	)ä�]‰]œ9¨GÔ4ñ 	&Ü˜Q Ô%÷	&ð /ˆÜ�]‰]œ:¨WÔ5ñ 	3Ü˜T 4¨cÕ2÷	3ð 5ˆÜ�]‰]œ:¨WÔ5ñ 	6Ü˜T 4Ø.4õ6÷	6ð EˆÜ�]‰]œ:¨WÔ5ñ 	9Ü˜T 4°CÕ8÷	9ð >ˆÜ�]‰]œ:¨WÔ5ñ 	<Ü˜T 4°UÕ;÷	<ð >ˆÜ�]‰]œ:¨WÔ5ñ 	=Ü˜T 4°VÕ<÷	=ð @ˆÜ�]‰]œ:¨WÔ5ñ 	6Ü˜T 4¨uÕ5÷	6ð @ˆÜ�]‰]œ:¨WÔ5ñ 	7Ü˜T 4¨vÕ6÷	7ð 0ˆÜ�]‰]œ:¨WÔ5ñ 	=Ü˜T 4°VÕ<÷	=ð AˆÜ�]‰]œ9¨GÔ4ñ 	8Ü˜T 4¨YÕ7÷	8ð 	8÷W	?ñ 	?ú÷	)ñ 	)ú÷	&ñ 	&ú÷	3ñ 	3ú÷	6ñ 	6ú÷
	9ñ 	9ú÷	<ñ 	<ú÷	=ñ 	=ú÷	6ñ 	6ú÷	7ð 	7ú÷	=ð 	=ú÷	8ð 	8ús�   Á"J(ÂJ5Â>KÃ0KÄ$KÅK)ÆK6Ç LÇ4LÈ(LÉL)ÊL5Ê(J2Ê5J?ËKËKËK&Ë)K3Ë6L ÌLÌLÌL&Ì)L2Ì5L>r`   ri  )ÚpairingsÚsamplesÚindependentc                 ó  ‡‡
— ‰j                  | j                  j                  d«      «      }‰j                  | j                  j                  d«      «      }ˆ
ˆfd„Š
d‰
_        d‰
_        d|ddœ}t        j                  ||f‰
fd |d«      dœ|¤Ž}‰
j                  d	k(  sJ ‚‰
j                  dk(  sJ ‚d‰
_        t        j                  ||f‰
fd
 |d«      dœ|¤Ž}‰
j                  dk(  sJ ‚‰
j                  d
k(  sJ ‚d‰
_        t        j                  ||f‰
fd |d«      dœ|¤Ž}	‰
j                  dk(  sJ ‚‰
j                  dk(  sJ ‚t        |j                  |	j                  «       t        |j                  |	j                  «       y )NrN   c                 óò   •— | j                   dk(  rdn| j                  d   }t        |‰j                  «      ‰_        ‰xj                  dz  c_        ‰j                  | |¬«      ‰j                  ||¬«      z
  S r  )r  r{   r)  rÍ  rÎ  r(   )r*   ro   rB   rÍ  r—   r+   s       €€r,   r—   z1TestPermutationTest.test_batch.<locals>.statisticz  sg   ø€ ØŸf™f¨šk™¨q¯w©w°q©zˆJÜ#& z°9×3GÑ3GÓ#HˆIÔ Ø×Ò Ñ"ÕØ—7‘7˜1 4�7Ó(¨2¯7©7°1¸4¨7Ó+@Ñ@Ð@r.   r   r_   T)rG   ri  r>   r"   )rK   r`   r  rº   r$   r#   )	r3   rS   rb   rÎ  rÍ  r   r   r   ré   )r4   ri  r`   r+   r*   ro   r¢  ri   rj   rÐ  r—   s      `      @r,   rÑ  zTestPermutationTest.test_batchp  s¢  ù€ ð �J‰J�t—x‘x—‘ rÓ*Ó+ˆØ�J‰J�t—x‘x—‘ rÓ*Ó+ˆõ	Að
 ˆ	ÔØ ˆ	Ôà"Ð8HØ"ñ$ˆä×%Ñ% q¨! f¨ið L¸qÙ3?À³?ñLØFJñLˆà× Ñ  CÒ'Ð'Ð'Ø×#Ñ# qÒ(Ð(Ð(àˆ	ÔÜ×%Ñ% q¨! f¨ið L¸rÙ3?À³?ñLØFJñLˆà× Ñ  AÒ%Ð%Ð%Ø×#Ñ# rÒ)Ð)Ð)àˆ	ÔÜ×%Ñ% q¨! f¨ið L¸sÙ3?À³?ñLØFJñLˆà× Ñ  AÒ%Ð%Ð%Ø×#Ñ# sÒ*Ð*Ð*ä˜Ÿ™ T§[¡[Ô1Ü˜Ÿ™ T§[¡[Õ1r.   zpermutation_type, exact_sizerk  r$   r#   )rl  r„  rm  r8  c                 ó   ‡— ‰j                  | j                  j                  d«      «      }‰j                  | j                  j                  d«      «      }ˆfd„}|ddœ}t        j                  ||f|fd |d«      dœ|¤Ž}	t        |	j                  «      dk(  sJ ‚t        j                  ||f|fi |¤Ž}	t        |	j                  «      |k(  sJ ‚y )Nr$   c                 óR   •— ‰j                  | |¬«      ‰j                  ||¬«      z
  S r€   r'   rn   s      €r,   r—   z8TestPermutationTest.test_permutations.<locals>.statistic¥  r×   r.   T)ri  r>   r   )rG   r`   )r3   rS   rb   r   r   r	   r*  )
r4   ri  Ú
exact_sizer`   r+   r*   ro   r—   r¢  rv   s
       `     r,   Útest_permutationsz%TestPermutationTest.test_permutations™  sÎ   ø€ ð �J‰J�t—x‘x—‘ qÓ)Ó*ˆØ�J‰J�t—x‘x—‘ qÓ)Ó*ˆô	Að %5Ø"ñ$ˆä×$Ñ$ a¨ V¨Yð KÀAÙ2>¸q³/ñKØEIñKˆä�s×,Ñ,Ó-°Ò2Ð2Ð2ä×$Ñ$ a¨ V¨YÑ?¸$Ñ?ˆÜ�s×,Ñ,Ó-°Ò;Ð;Ñ;r.   c                 ó  ‡— d\  }}d\  }}}t        j                  ||z   |«      |kD  sJ ‚t        j                  j	                  d«      }‰j                  |j                  |¬«      «      }‰j                  |j                  |¬«      «      }||f}	ˆfd„}
ddd||d	œ}t        |	|
fd
|i|¤Ž}t        |	|
fd
‰j                  i|¤Ž}|j                  |j                  k(  sJ ‚t        |j                  |j                  d¬«       y )N)r�   r   )r„  é	   iÀ]  ì    ¸U r.  c                 óR   •— ‰j                  | |¬«      ‰j                  ||¬«      z
  S r€   r'   rn   s      €r,   r—   zNTestPermutationTest.test_randomized_test_against_exact_both.<locals>.statisticÇ  r×   r.   Trm  r_   ©r>   ri  rK   rŸ   rS   rG   r$  rš   )r   Úbinomra   rb   r¡   r3   rÏ  r   Úinfr—   r   ré   ©r4   r+   rŸ   rS   rS  ÚnyÚpermutationsr*   ro   r–   r—   r¢  rv   rj   s    `            r,   Ú'test_randomized_test_against_exact_bothz;TestPermutationTest.test_randomized_test_against_exact_both¹  s  ø€ ð %Ñˆ�Sà*ÑˆˆB�Ü�}‰}˜R "™W bÓ)¨LÒ8Ð8Ð8ä�i‰i×#Ñ# JÓ/ˆØ�J‰J�s×*Ñ*°Ð*Ó3Ó4ˆØ�J‰J�s×*Ñ*°Ð*Ó3Ó4ˆØ�!ˆtˆô	Að #¸Ø¨[ÀñFˆä˜t YÑQ¸LÐQÈDÑQˆÜ  iÑL¸R¿V¹VÐLÀtÑLˆà�}‰} §¡Ò.Ð.Ð.Ü˜Ÿ
™
 D§K¡K°dÖ;r.   c                 óÞ  ‡— d\  }}d\  }}}d|z  |kD  sJ ‚t         j                  j                  d«      }‰j                  |j	                  |¬«      «      }‰j                  |j	                  |¬«      «      }||f}	ˆfd„}
ddd	||d
œ}t        |	|
fd|i|¤Ž}t        |	|
fd‰j                  i|¤Ž}|j                  |j                  k(  sJ ‚t        |j                  |j                  d¬«       y )N)r    N)rµ   rµ   i }  r#   rv  r.  c                 ó0   •— ‰j                  | |z
  |¬«      S r€   r'   rn   s      €r,   r—   zQTestPermutationTest.test_randomized_test_against_exact_samples.<locals>.statisticá  s   ø€ Ø—7‘7˜1˜q™5 t�7Ó,Ð,r.   Trl  r_   rx  rG   r$  rš   )
ra   rb   r¡   r3   rÏ  r   rz  r—   r   ré   r{  s    `            r,   Ú*test_randomized_test_against_exact_samplesz>TestPermutationTest.test_randomized_test_against_exact_samplesÒ  s÷   ø€ ð
 +Ñˆ�Sà,ÑˆˆB�Ø�"‰u�|Ò#Ð#Ð#ä�i‰i×#Ñ# JÓ/ˆØ�J‰J�s×*Ñ*°Ð*Ó3Ó4ˆØ�J‰J�s×*Ñ*°Ð*Ó3Ó4ˆØ�!ˆtˆô	-ð #¸	Ø¨[ÀñFˆä˜t YÑQ¸LÐQÈDÑQˆÜ  iÑL¸R¿V¹VÐLÀtÑLˆà�}‰} §¡Ò.Ð.Ð.Ü˜Ÿ
™
 D§K¡K°dÖ;r.   Tr‡  rY  rZ  c                 ó  ‡— d| j                   }}d\  }}}t        j                  |«      |kD  sJ ‚t        j                  j                  d«      }|j                  |j                  |¬«      «      }|j                  |j                  |¬«      «      Š|g}ˆfd„}	ddd||d	œ}
t        ||	fd
|i|
¤Ž}t        ||	fd
|j                  i|
¤Ž}|j                  |j                  k(  sJ ‚t        |j                  |j                  d¬«       y )NrÝ  )r„  r„  i@œ  rv  r.  c                 óH   •— t        j                  | ‰|¬«      j                  S r€   )r   Úpearsonrr—   )r*   rB   ro   s     €r,   r—   zRTestPermutationTest.test_randomized_test_against_exact_pairings.<locals>.statisticü  s   ø€ Ü—>‘> ! Q¨TÔ2×<Ñ<Ð<r.   Trl  r_   rx  rG   r$  rš   )rS   r   Ú	factorialra   rb   r¡   r3   rÏ  r   rz  r—   r   ré   )r4   r+   rŸ   rS   rS  r|  r}  r*   r–   r—   r¢  rv   rj   ro   s                @r,   Ú+test_randomized_test_against_exact_pairingsz?TestPermutationTest.test_randomized_test_against_exact_pairingsí  sÿ   ø€ ð
 '¨¯©�Sˆà*ÑˆˆB�Ü× Ñ  Ó$ |Ò3Ð3Ð3ä�i‰i×#Ñ# JÓ/ˆØ�J‰J�s×*Ñ*°Ð*Ó3Ó4ˆØ�J‰J�s×*Ñ*°Ð*Ó3Ó4ˆØˆsˆô	=ð #¸	Ø¨[ÀñFˆä˜t YÑQ¸LÐQÈDÑQˆÜ  iÑL¸R¿V¹VÐLÀtÑLˆà�}‰} §¡Ò.Ð.Ð.Ü˜Ÿ
™
 D§K¡K°dÖ;r.   )Ú
eager_onlyrŸ   rî  c                 ó@  ‡‡— | j                   j                  dd¬«      }| j                   j                  ddd¬«      }t        j                  ||‰d¬«      }ˆˆfd	„}‰j	                  |«      ‰j	                  |«      }}t        ||f|t        j                  d
| j                   ¬«      }t        |j                  ‰j	                  |j                  «      | j                  ¬«       t        |j                  ‰j	                  |j                  «      | j                  ¬«       y )Nr9   r"   ©r’   r‘   rŽ   r$   )r’   r�   r‘   Úexact)rŸ   rå  c                 óÆ   •— t        | «      t        |«      }} t        j                  | ||d‰¬«      }‰j                  |j                  «      }|j
                  dk(  r|d   S |S )Nrä  )rB   rå  rŸ   r   rr   )r   r   Úks_2sampr3   r—   r  )r*   ro   rB   rv   rŸ   r+   s       €€r,   r—   z<TestPermutationTest.test_against_ks_2samp.<locals>.statistic  sX   ø€ ä$ QÓ'Ô):¸1Ó)=ˆqˆAÜ—.‘.  A¨D°wÈKÔXˆCØ—*‘*˜SŸ]™]Ó+ˆCØ!Ÿh™h¨!šm�3�r‘7Ð4°Ð4r.   r    ©rG   rŸ   rS   r˜   )rS   rl  r   rŒ  r3   r   ra   rz  r   r—   r™   ré   ©r4   rŸ   r+   r*   ro   rê   r—   rv   s    ``     r,   Útest_against_ks_2sampz)TestPermutationTest.test_against_ks_2samp	  sÏ   ù€ ð �H‰H�O‰O ¨!ˆOÓ,ˆØ�H‰H�O‰O ¨°ˆOÓ3ˆä—>‘> ! Q°KÀgÔNˆõ	5ð �z‰z˜!‹}˜bŸj™j¨›mˆ1ˆÜ  1˜v y¼b¿f¹fØ+4¸$¿(¹(ôDˆô 	˜Ÿ™ r§z¡z°(×2DÑ2DÓ'EÈDÏIÉIÕVÜ˜Ÿ
™
 B§J¡J¨x¯©Ó$?ÀdÇiÁiÖPr.   c                 óN  ‡— | j                   j                  dd¬«      }| j                   j                  dd¬«      }dddd	œ}||   }t        j                  |||¬
«      }ˆfd„}‰j	                  |«      ‰j	                  |«      }}t        ||f|t        j                  || j                   ¬«      }	t        |	j                  ‰j	                  |j                  «      | j                  ¬«       t        |	j                  ‰j	                  |j                  «      | j                  ¬«       y )Nr9   r"   r‰  rŽ   r$   r    r�   rÝ  rî  r¾  c                 óÂ   •— t        | «      t        |«      }} t        j                  | ||¬«      }‰j                  |j                  «      }|j
                  dk(  r|d   S |S ©NrA   r   rr   ©r   r   Úansarir3   r—   r  ©r*   ro   rB   rv   r+   s       €r,   r—   z:TestPermutationTest.test_against_ansari.<locals>.statistic.  óT   ø€ ä$ QÓ'Ô):¸1Ó)=ˆqˆAÜ—,‘,˜q !¨$Ô/ˆCØ—*‘*˜SŸ]™]Ó+ˆCØ!Ÿh™h¨!šm�3�r‘7Ð4°Ð4r.   r�  r˜   )rS   rl  r   r”  r3   r   ra   rz  r   r—   r™   ré   )
r4   rŸ   r+   r*   ro   Úalternative_correspondenceÚalternative_scipyrê   r—   rv   s
     `       r,   Útest_against_ansariz'TestPermutationTest.test_against_ansari!  sí   ø€ ð �H‰H�O‰O ¨!ˆOÓ,ˆØ�H‰H�O‰O ¨!ˆOÓ,ˆð /8Ø17Ø3>ñ&@Ð"ð 7°{ÑCÐÜ—<‘<  1Ð2CÔDˆô	5ð �z‰z˜!‹}˜bŸj™j¨›mˆ1ˆÜ  1˜v y¼b¿f¹fØ+6¸D¿H¹HôFˆô 	˜Ÿ™ r§z¡z°(×2DÑ2DÓ'EÈDÏIÉIÕVÜ˜Ÿ
™
 B§J¡J¨x¯©Ó$?ÀdÇiÁiÖPr.   zneeds mannwhitneyur   c           	      ól  — t         j                  j                  dd| j                  ¬«      }t         j                  j                  dd| j                  ¬«      }t        j                  ||d|¬«      }d„ }|j                  |«      |j                  |«      }}t        ||f|d|j                  |d| j                  ¬	«      }t        |j                  |j                  |j                  «      | j                  ¬
«       t        |j                  |j                  |j                  «      | j                  ¬
«       y )N)r$   rŽ   r#   r   ©r’   r�   r`   rL  r"   r#  c                 óH   — t        j                  | ||d¬«      j                  S ©NÚ
asymptotic)rB   rM   )r   Úmannwhitneyur—   rŽ  s      r,   r—   z@TestPermutationTest.test_against_mannwhitneyu.<locals>.statisticE  s   € Ü×%Ñ% a¨°¸lÔK×UÑUÐUr.   T)r>   rG   rŸ   rB   rS   r˜   )r   Úuniformr£   rS   rŸ  r3   r   rz  r   r—   r™   ré   rŽ  s           r,   Útest_against_mannwhitneyuz-TestPermutationTest.test_against_mannwhitneyu<  så   € ô �M‰M×Ñ 9°!À$Ç(Á(ÐÓKˆÜ�M‰M×Ñ 9°$ÀTÇXÁXÐÓNˆä×%Ñ% a¨°ÀÔLˆò	Vð �z‰z˜!‹}˜bŸj™j¨›mˆ1ˆÜ  1˜v y¸TØ+-¯6©6¸{Ø$%¨4¯8©8ô5ˆô 	˜Ÿ™ r§z¡z°(×2DÑ2DÓ'EÈDÏIÉIÕVÜ˜Ÿ
™
 B§J¡J¨x¯©Ó$?ÀdÇiÁiÖPr.   zneeds cramervonmises_2samp)r[  c                 óp  — t         j                  j                  dd| j                  ¬«      }t         j                  j                  ddd| j                  ¬«      }t        j                  ||d¬«      }d	„ }|j                  |«      |j                  |«      }}t        ||f|t        j                  d
| j                  ¬«      }t        |j                  |j                  |j                  «      | j                  ¬«       t        |j                  |j                  |j                  «      | j                  ¬«       y )Nr9   r"   )r’   r‘   r`   rŽ   r$   )r’   r�   r‘   r`   rŠ  rL   c                 óL   — t        j                  | ||d¬«      }|j                  S r�  )r   Úcramervonmises_2sampr—   )r*   ro   rB   rv   s       r,   r—   z7TestPermutationTest.test_against_cvm.<locals>.statisticY  s"   € Ü×,Ñ,¨Q°¸À\ÔRˆCØ—=‘=Ð r.   r    r�  r˜   )r   r¢   r£   rS   r¤  r3   r   ra   rz  r   r—   r™   ré   )r4   r+   r*   ro   rê   r—   rv   s          r,   Útest_against_cvmz$TestPermutationTest.test_against_cvmP  sÚ   € ô �J‰J�N‰N ¨¸¿¹ˆNÓBˆÜ�J‰J�N‰N  q°ÀÇÁˆNÓIˆä×-Ñ-¨a°¸7ÔCˆò	!ð
 �z‰z˜!‹}˜bŸj™j¨›mˆ1ˆÜ  1˜v y¼b¿f¹fØ+4¸$¿(¹(ôDˆô 	˜Ÿ™ r§z¡z°(×2DÑ2DÓ'EÈDÏIÉIÕVÜ˜Ÿ
™
 B§J¡J¨x¯©Ó$?ÀdÇiÁiÖPr.   rB   )ry   r#   c                 ó  — t         j                  j                  d«      }|j                  d¬«      }|j                  d¬«      }|j                  d¬«      }|||f}t        j                  |d|iŽ}d„ }	|dd	|d
œ}
|D �cg c]  }|j                  |«      ‘Œ }}t        ||	fd|j                  i|
¤Ž}t        ||	fddi|
¤Ž}t        |j                  |j                  |j                  «      | j                  dz  ¬«       t        |j                  |j                  | j                  dz  ¬«       t        |j                  |j                  |j                  «      d¬«       t        |j                  |j                  d¬«       y c c}w )Nl   Y}y!üdàh r$   r.  )r"   r$   r#   )r#   r"   r9   rB   c                 ó@   — t        j                  |d| iŽj                  S r!  )r   Úkruskalr—   r_  s     r,   r—   zGTestPermutationTest.test_vectorized_nsamp_ptype_both.<locals>.statistic{  s   € Ü—=‘= $Ð2¨TÑ2×<Ñ<Ð<r.   r    rm  )rB   rŸ   ri  rS   rG   rø   rŽ   r˜   g¸…ëQ¸®?rš   rÇ   )ra   rb   r¡   r   r¨  r3   r   rz  r   r—   r™   ré   )r4   rB   r+   rS   r*   ro   r�   r–   rê   r—   r¢  Údata_rv   rj   s                 r,   Ú test_vectorized_nsamp_ptype_bothz4TestPermutationTest.test_vectorized_nsamp_ptype_bothe  sG  € ô �i‰i×#Ñ#Ð$7Ó8ˆØ�J‰J˜QˆJÓ ˆØ�J‰J˜IˆJÓ&ˆØ�J‰J˜IˆJÓ&ˆØ�1�aˆyˆä—=‘= $Ð2¨TÑ2ˆò	=ð ¨YØ$1¸#ñ?ˆà/3Ö4 e�—
‘
˜5Õ!Ð4ˆÐ4Ü˜t YÑK¸B¿F¹FÐKÀdÑKˆÜ  iÑJ¸TÐJÀTÑJˆô 	˜Ÿ™ r§z¡z°(×2DÑ2DÓ'EÈDÏIÉIÐVWÉKÕXÜ˜Ÿ™ t§~¡~¸D¿I¹IÀa¹KÕHÜ˜Ÿ
™
 B§J¡J¨x¯©Ó$?ÀdÕKÜ˜Ÿ
™
 D§K¡K°dÖ;ùò 5s   Á>Fc                 óf  ‡— t         j                  j                  dd| j                  ¬«      }t         j                  j                  dd| j                  ¬«      }t        j                  |||d¬«      }ˆfd„}ˆfd„}‰j                  |«      ‰j                  |«      }}d|d	| j                  t        j                  d
œ}t        ||z
  f|fi |¤Ž}	t        ||f|fi |¤Ž}
t        |	j                  |
j                  | j                  ¬«       |dk7  r;t        |
j                  ‰j                  |j                  «      | j                  ¬«       t        |
j                  ‰j                  |j                  «      | j                  ¬«       t        |	j                  |
j                  | j                  ¬«       y )N)r$   r8  r#   r   r›  rL  r"   rF  c                 ó¬   •— t        | «      } t        j                  | d|¬«      }‰j                  |j                  «      }|j
                  dk(  r|d   S |S ©Nr�   rF  r   rr   ©r   r   Úwilcoxonr3   r—   r  )r�   rB   rv   r+   s      €r,   Ústatistic_1samp_1dzETestPermutationTest.test_against_wilcoxon.<locals>.statistic_1samp_1d–  sL   ø€ ô " !Ó$ˆAÜ—.‘. °¸TÔBˆCØ—*‘*˜SŸ]™]Ó+ˆCØ!Ÿh™h¨!šm�3�r‘7Ð4°Ð4r.   c                 óÄ   •— t        | «      t        |«      }} t        j                  | |d|¬«      }‰j                  |j                  «      }|j
                  dk(  r|d   S |S r­  r®  r•  s       €r,   Ústatistic_2samp_1dzETestPermutationTest.test_against_wilcoxon.<locals>.statistic_2samp_1dž  sV   ø€ ä$ QÓ'Ô):¸1Ó)=ˆqˆAÜ—.‘.  A°6ÀÔEˆCØ—*‘*˜SŸ]™]Ó+ˆCØ!Ÿh™h¨!šm�3�r‘7Ð4°Ð4r.   rl  )rB   rŸ   ri  rS   rG   r˜   rÝ  )r   r   r£   rS   r¯  r3   ra   rz  r   r   r—   r™   ré   )r4   rŸ   r+   r*   ro   rê   r°  r²  r¢  ri   rj   s     `        r,   Útest_against_wilcoxonz)TestPermutationTest.test_against_wilcoxon�  sH  ø€ ô �M‰M×Ñ 9°!À$Ç(Á(ÐÓKˆÜ�M‰M×Ñ 9°$ÀTÇXÁXÐÓNˆÜ—>‘> ! Q°KÀaÔHˆô	5ô	5ð �z‰z˜!‹}˜bŸj™j¨›mˆ1ˆØ¨+È9Ø—x‘x´·±ñ8ˆä  1¡ Ð(:ÑC¸dÑCˆÜ  A Ð(:ÑC¸dÑCˆô 	˜Ÿ™¨¯©¸T¿Y¹YÕGØ˜+Ò%Ü˜DŸN™N¨B¯J©J°x×7IÑ7IÓ,JØ!%§¡õ,ô 	˜Ÿ™ R§Z¡Z°·±Ó%@ÀtÇyÁyÕQÜ˜Ÿ™ T§[¡[°t·y±yÖAr.   c           	      ó°  — | j                   j                  ddd¬«      }d||dk(  <   dd„} ||«      dd}}}t        j                  ||||¬«      }t        j                  |j                  ||j                  ¬	«      f|d
d|j                  | j                   |¬«      }	t        |	j                  |j                  |j                  «      | j                  ¬«       y )Nr   r#   rN   r.  ry   c                 óD   — t        | «      }|j                  | dkD  |¬«      S )Nr   rA   )r
   ræ   )r*   rB   Úxp_s      r,   r—   z=TestPermutationTest.test_against_binomtest.<locals>.statistic½  s&   € Ü! !Ó$ˆCØ×$Ñ$ Q¨¡U°Ð$Ó6Ð6r.   rO  r¾  r
  Trl  )r>   ri  rG   rS   rŸ   r˜   rØ   )rS   r^  r   rç   r   r3   r   rz  r   ré   r™   )
r4   rŸ   r+   r*   r—   Úkr|   rY  rê   rv   s
             r,   Útest_against_binomtestz*TestPermutationTest.test_against_binomtest´  s¹   € ð �H‰H×Ñ˜a ¨ÐÓ,ˆØˆˆ!ˆq‰&‰	ó
	7ñ ˜A“,  Cˆaˆ1ˆÜ—?‘? 1 a¨¸ÔDˆä×$Ñ$ b§j¡j°¸"¿*¹* jÓ&EÐ%GÈØ04Ø6?ÈRÏVÉVØ)-¯©¸{ôLˆô 	˜Ÿ
™
 B§J¡J¨x¯©Ó$?ÀdÇiÁiÖPr.   c                 ó  ‡‡— | j                   j                  d¬«      }|| j                   j                  d¬«      z   Št        j                  |‰d¬«      }ˆˆfd„}‰j	                  |«      }t        |f|dt        j                  | j                   ¬«      }t        |j                  ‰j	                  |j                  «      | j                  ¬«       t        |j                  ‰j	                  |j                  «      | j                  ¬«       y )	Nr8  r.  rŠ  rL   c                 ó®   •— t        | «      } t        j                  | ‰d|¬«      }‰j                  |j                  «      }|j
                  dk(  r|d   S |S )Nrž  )rM   rB   r   rr   )r   r   Ú
kendalltaur3   r—   r  )r*   rB   rv   r+   ro   s      €€r,   r—   z>TestPermutationTest.test_against_kendalltau.<locals>.statisticÓ  sN   ø€ ä! !Ó$ˆAÜ×"Ñ" 1 a°À4ÔHˆCØ—*‘*˜SŸ]™]Ó+ˆCØ!Ÿh™h¨!šm�3�r‘7Ð4°Ð4r.   rk  )ri  rG   rS   r˜   )rS   rl  r   r»  r3   r   ra   rz  r   r—   r™   ré   )r4   r+   r*   rê   r—   rv   ro   s    `    @r,   Útest_against_kendalltauz+TestPermutationTest.test_against_kendalltauÌ  s¾   ù€ à�H‰H�O‰O ˆOÓ#ˆØ�—‘—‘ Q�Ó'Ñ'ˆä×#Ñ# A q°Ô9ˆõ	5ð �J‰J�q‹MˆÜ ˜t YÀÜ+-¯6©6°t·x±xôAˆô 	˜Ÿ™ r§z¡z°(×2DÑ2DÓ'EÈDÏIÉIÕVÜ˜Ÿ
™
 B§J¡J¨x¯©Ó$?ÀdÇiÁiÖPr.   c                 ób  ‡‡	— t         j                  j                  d«      }|j                  d«      dkD  j                  t        «      }|j                  d«      d|z  z   dkD  j                  t        «      Š	t
        j                  j                  |‰	«      d   }‰j                  |«      ‰j                  ‰	«      c}Š	ˆˆ	fd„}t        |f|d‰j                  ||¬«      }t        j                  ||¬	«      }t        |j                  ‰j                  |j                  |j                  ¬
«      «       y )Nl   	ý(yM4 r  rÿ  g      Ð?r"   c                 ó<   •— ‰j                  | dk(  ‰dk(  z  |¬«      S ©Nr"   rA   )ræ   ©r*   rB   r+   ro   s     €€r,   r—   z@TestPermutationTest.test_against_fisher_exact.<locals>.statisticë  s&   ø€ Ø×#Ñ# Q¨!¡V°°Q±Ñ$7¸dÐ#ÓCÐCr.   rk  )ri  rG   rŸ   rS   r¾  r
  )ra   rb   r¡   r  rå   r   ÚcontingencyÚcrosstabr3   r   rz  Úfisher_exactr   ré   rþ   )
r4   rŸ   r+   rS   r*   Útabr—   rv   rj   ro   s
     `      @r,   Útest_against_fisher_exactz-TestPermutationTest.test_against_fisher_exactâ  sò   ù€ ô �i‰i×#Ñ#Ð$7Ó8ˆØ�Z‰Z˜‹]˜SÑ ×(Ñ(¬Ó/ˆØ�Z‰Z˜‹]˜T !™VÑ# cÑ)×1Ñ1´%Ó8ˆÜ×Ñ×(Ñ(¨¨AÓ.¨qÑ1ˆà�z‰z˜!‹}˜bŸj™j¨›mˆˆˆ1õ	Dô  ˜t YÀØ+-¯6©6¸{Ø#&ô(ˆô ×!Ñ! #°;Ô?ˆä˜Ÿ
™
 B§J¡J¨t¯{©{À!Ç'Á' JÓ$JÕKr.   )r;  r"   c                 ó–  — | j                   j                  d¬«      }| j                   j                  d¬«      }| j                   j                  d¬«      }t        j                  ||¬«      }t        j                  ||¬«      }t        j                  ||¬«      }|d   }|||f}d„ }d„ }t	        j
                  |«      }t	        j
                  |«      }	 |t        j                  |Ž d	|iŽ}
 |	t        j                  |Ž d	|iŽ}d
|ddddœ}t        ||fdt        j                  i|¤Ž}t        ||fddi|¤Ž}t        |j                  |
| j                  ¬«       t        |j                  |j                  | j                  ¬«       t        |j                  || j                  ¬«       t        |j                  |j                  d¬«       y )N)r#   r9   r$   r.  )r"   r9   r$   )r#   r9   r"   rA   r   c                  óF   — t        j                  | dd¬«      j                  S )NTrž  ©ÚrankedrM   )r   Úpage_trend_testr—   ©r–   s    r,   rè  zLTestPermutationTest.test_vectorized_nsamp_ptype_samples.<locals>.statistic1d	  s"   € Ü×(Ñ(¨°dØ0<ô>ß>G¹iðHr.   c                  óF   — t        j                  | dd¬«      j                  S )NTrŠ  rÈ  )r   rÊ  ré   rË  s    r,   Úpvalue1dzITestPermutationTest.test_vectorized_nsamp_ptype_samples.<locals>.pvalue1d  s"   € Ü×(Ñ(¨°dØ07ô9ß9?¹ð@r.   rB   Fr    rk  )r>   rB   rŸ   ri  rS   rG   r�   r˜   rÇ   rš   )rS   rb   r   ÚrankdatarÙ   ra  ra   Úbroadcast_arraysr   rz  r   r—   r™   ré   )r4   rB   r*   ro   r�   r–   rè  rÍ  r—   ré   Úexpected_statisticÚexpected_pvaluer¢  rv   rj   s                  r,   Ú#test_vectorized_nsamp_ptype_samplesz7TestPermutationTest.test_vectorized_nsamp_ptype_samplesõ  s�  € ð �H‰H�O‰O ˆOÓ+ˆØ�H‰H�O‰O ˆOÓ+ˆØ�H‰H�O‰O ˆOÓ+ˆÜ�N‰N˜1 4Ô(ˆÜ�N‰N˜1 4Ô(ˆÜ�N‰N˜1 4Ô(ˆØˆa‰DˆØ�1�aˆyˆò	Hò	@ô  ×4Ñ4°[ÓAˆ	Ü×1Ñ1°(Ó;ˆá&¬×(;Ñ(;¸TÐ(BÐNÈÑNÐÙ ¤"×"5Ñ"5°tÐ"<ÐHÀ4ÑHˆð $¨TÀ)Ø$.°qñ:ˆä˜t [ÑM¼b¿f¹fÐMÈÑMˆÜ  kÑL¸tÐLÀtÑLˆä˜Ÿ™Ð'9ÀÇ	Á	ÕJÜ˜Ÿ™ t§~¡~¸D¿I¹IÕFÜ˜Ÿ
™
 O¸$¿)¹)ÕDÜ˜Ÿ
™
 D§K¡K°dÖ;r.   r8   )r@   r#   g      @rD  gš™™™™™Ù?gä&ý_ñÕ?g      @gd~�$I"@glâuý‚ö?)r*   ro   Úexpected_lessÚexpected_2sidedÚexpected_Pr_gte_S_meanrÐ  Úexpected_avgÚexpected_std)éo   ék   r_   éc   r  éj   ém   él   )	rÙ  rÝ  rÛ  éb   éi   r  én   rß  éh   gðdòð×éÃ?gðdòð×éÓ?gYoã5 Ó?g     @@@g{¼�C@gDmFA°@Úcasec           	      ó  ‡— |d   }|d   }‰j                  |d   «      }‰j                  |d   «      }‰j                  |d   «      }‰j                  |d   «      }‰j                  |d   «      }	‰j                  |d   «      }
ˆfd	„}t        ‰«      }‰j                  ||¬
«      ‰j                  ||¬
«      }}t        j                  «       5  t        j                  ddt
        «       t        ||f|t        j                  d¬«      }t        ||f|t        j                  d¬«      }ddd«       t        j                  || j                  ¬«       t        |j                  |d¬«       t        j                  |d¬«       t        ‰j                  |j                  «      |	d¬«       t        ‰j                  |j                  «      |
d¬«       |j                  }‰j                  |j                  «      }|j                  j                   d   }‰j#                  ‰j%                  ‰j'                  |j                  |z
  «      ‰j'                  ||z
  «      k\  «      |j(                  «      |z  }t        ||«       y# 1 sw Y   �ŒVxY w)aÎ  
        Results above from SAS PROC NPAR1WAY, e.g.

        DATA myData;
        INPUT X Y;
        CARDS;
        1 1
        1 2
        1 3
        1 4
        2 1.5
        2 2
        2 2.5
        ods graphics on;
        proc npar1way AB data=myData;
            class X;
            EXACT;
        run;
        ods graphics off;

        Note: SAS provides Pr >= |S-Mean|, which is different from our
        definition of a two-sided p-value.

        r*   ro   rÐ  rÓ  rÔ  rÕ  rÖ  r×  c                 óÂ   •— t        | «      t        |«      }} t        j                  | ||¬«      }‰j                  |j                  «      }|j
                  dk(  r|d   S |S r’  r“  r•  s       €r,   r—   z5TestPermutationTest.test_with_ties.<locals>.statisticY  r–  r.   r
  r  z$Ties preclude use of exact statisticr�   )rG   rŸ   rÝ  Nr˜   g»½×Ùß|Û=rš   r  r   )r3   r   r	  r
  rœ  ÚUserWarningr   ra   rz  r   r—   r™   ré   r(   r*  r¨   r{   r  ræ   rÉ   rþ   )r4   râ  r+   r*   ro   rÐ  rÓ  rÔ  rÕ  rÖ  r×  r—   rþ   rv   rj   ÚSr(   r|   ÚPr_gte_S_means     `                r,   Útest_with_tiesz"TestPermutationTest.test_with_ties2  s2  ø€ ð: �‰IˆØ�‰IˆàŸZ™Z¨Ð-AÑ(BÓCÐØŸ
™
 4¨Ñ#8Ó9ˆØŸ*™* TÐ*;Ñ%<Ó=ˆØ!#§¡¨DÐ1IÑ,JÓ!KÐØ—z‘z $ ~Ñ"6Ó7ˆØ—z‘z $ ~Ñ"6Ó7ˆô	5ô ! Ó$ˆØ�z‰z˜! 5ˆzÓ)¨2¯:©:°a¸u¨:Ó+Eˆ1ˆÜ×$Ñ$Ó&ñ 	=Ü×#Ñ#ØÐ@Ä+ôOä" A q 6¨9Ä"Ç&Á&Ø/5ô7ˆCä# Q¨ F¨IÄ2Ç6Á6Ø0;ô=ˆD÷	=ô 	˜Ÿ™Ð'9ÀÇ	Á	ÕJÜ˜Ÿ
™
 M¸Õ>Ü˜Ÿ™ _¸5ÕAÜ˜Ÿ™ × 6Ñ 6Ó7¸ÈDÕQÜ˜Ÿ™˜t×5Ñ5Ó6¸È4ÕPð �M‰MˆØ�w‰w�s×,Ñ,Ó-ˆØ×!Ñ!×'Ñ'¨Ñ*ˆØŸ	™	 "×"2Ñ"2Ø�F‰F�3×(Ñ(¨Ñ-Ó.°"·&±&¸¸4¹³.Ñ@ó#BØCDÇ7Á7óLØNOñPˆä˜Ð'=Õ>÷)	=ñ 	=ús   ÃAI<É<Jzalternative, expected_pvalue))r�   gåï?)r    gš¥Oú¤Oª?)rÝ  g<«Oú¤Oº?c                 ó¤  ‡‡— ‰j                  g d¢«      }‰j                  g d¢«      Šd}‰j                  t        j                  t        ‰«      «      «      Šˆˆfd„}t	        |f|d‰j
                  |¬«      }t        |j                  ‰j                  |«      | j                  ¬«       t        |j                  ‰j                  |«      d¬	«       y
)aU  
        Results above from R cor.test, e.g.

        options(digits=16)
        x <- c(1.76405235, 0.40015721, 0.97873798,
               2.2408932, 1.86755799, -0.97727788)
        y <- c(2.71414076, 0.2488, 0.87551913,
               2.6514917, 2.01160156, 0.47699563)
        cor.test(x, y, method = "spearm", alternative = "t")
        )g@éúôŽ9ü?gÅY�ü,œÙ?gÐîOÒQï?g[¡þiYí@g˜ï¦|„áý?géˆ¶BÜEï¿)gQ†Gn�¶@g›UŸ«­ØÏ?gzêË±@ì?gmìÈGA6@gºB�Â @g¬ÕË­‡Þ?gùŠ¯øŠ¯è?c                 ó¦   •— ‰j                  t        j                  t        | «      |¬«      «      } t        j                  | ‰|¬«      j
                  S r€   )r3   r   rÎ  r   r„  r—   rÀ  s     €€r,   r—   zBTestPermutationTest.test_against_spearmanr_in_R.<locals>.statistic–  s=   ø€ ð —
‘
œ5Ÿ>™>Ô*;¸AÓ*>ÀTÔJÓKˆAÜ—>‘> ! Q¨TÔ2×<Ñ<Ð<r.   rk  )ri  rG   rŸ   r˜   g‚vIhÂ%<=rš   N)
r3   r   rÎ  r   r   rz  r   r—   r™   ré   )	r4   rŸ   rÑ  r+   r*   rÐ  r—   rv   ro   s	      `    @r,   Útest_against_spearmanr_in_Rz/TestPermutationTest.test_against_spearmanr_in_Rx  sª   ù€ ð. �J‰Jò <ó =ˆà�J‰Jò ;ó <ˆà/Ðà�J‰J”u—~‘~Ô&7¸Ó&:Ó;Ó<ˆõ	=ô  ˜t YÀØ+-¯6©6¸{ôLˆô 	˜Ÿ™ r§z¡zÐ2DÓ'EÈDÏIÉIÕVÜ˜Ÿ
™
 B§J¡J¨Ó$?ÀeÖLr.   rK   )ry   r   c                 ó¦   — t        j                  t        d¬«      5  t        t	        j
                  g d¢|«      «       d d d «       y # 1 sw Y   y xY w)Nz`batch` must be positive.r   r!   )r0   r1   rT   r…   rÙ   Ú_batch_generator)r4   rK   s     r,   Útest_batch_generator_ivz+TestPermutationTest.test_batch_generator_iv£  s?   € ä�]‰]œ:Ð-HÔIñ 	AÜ”×-Ñ-ªi¸Ó?Ô@÷	A÷ 	Añ 	Aús   œ"AÁAr   r[   )r$   r9   rŽ   r„  r  ziterable, batch, expectedc                 óP   — t        t        j                  ||«      «      }||k(  sJ ‚y r&   )r…   rÙ   rí  )r4   ÚiterablerK   rê   Úgots        r,   Útest_batch_generatorz(TestPermutationTest.test_batch_generator¬  s'   € ô ”;×/Ñ/°¸%Ó@ÓAˆØ�hŠÐ‰r.   c                 óˆ  — |j                  g d¢|j                  ¬«      }|j                  g d¢|j                  ¬«      }d„ }t        j                  ||f|d¬«      }|j                  |j
                  |j                  }}}dt        |j                  ||dz
  k\  «      «      z  |j                  d	   z  }	||	cxk(  rd
k(  sJ ‚ J ‚y )N)r­  r®  r¶  r¯  r
  )r®  r¶  g      @g       @c                 ó8   — t        j                  | ||¬«      d   S )NrA   r   )r   r„  rŽ  s      r,   r—   zFTestPermutationTest.test_finite_precision_statistic.<locals>.statistic¼  s   € Ü—>‘> ! Q¨TÔ2°1Ñ5Ð5r.   rk  rh  r#   r  r   gUUUUUUÕ?)
r3   r   r   r   r—   ré   r*  rå   ræ   r{   )
r4   r+   r*   ro   r—   rv   Úrré   ÚnullÚ	correct_ps
             r,   r-  z3TestPermutationTest.test_finite_precision_statistic²  sº   € ð �J‰JÒ'¨r¯z©zˆJÓ:ˆØ�J‰JÒ'¨r¯z©zˆJÓ:ˆò	6ô ×$Ñ$ a¨ V¨YØ6@ôBˆàŸ-™-¨¯©°S×5JÑ5J�4ˆ6ˆàœ˜b×.Ñ.¨t°q¸5±yÑ/@ÓAÓBÑBÀTÇZÁZÐPQÁ]ÑRˆ	Ø˜Ô) cÒ)Ð)Ñ)Ð)Ñ)r.   c                 óÊ  ‡— t         j                  j                  d«      }t        ‰«      }‰j	                  |j                  d«      |¬«      }‰j	                  ddd‰j
                  dg«      }‰j	                  |j                  d«      |¬«      }ˆfd„}d|dd	œ}t        ||f|fi |¤Ž}	‰j                  |||z   g«      |f}
t        |
|fi |¤Ž}‰j	                  ‰j
                  |¬«      }t        |j                  d   |	j                  «       t        |j                  d   |	j                  «       t        |j                  d
   |«       t        |j                  d
   |«       y )Nl    G+ rŽ   r
  r   r8  c                 óR   •— ‰j                  | |¬«      ‰j                  ||¬«      z
  S r€   r'   rn   s      €r,   r—   z9TestPermutationTest.test_nan_statistic.<locals>.statisticÖ  r×   r.   rm  ry   )ri  rS   rB   r"   )ra   rb   r¡   r   r3   r   r   rÈ   r   r—   ré   )r4   r+   rS   rþ   r*   Úx_nanro   r—   r¢  r%  r–   rv   ÚNaNs    `           r,   Útest_nan_statisticz&TestPermutationTest.test_nan_statisticÌ  s1  ø€ ô �i‰i×#Ñ# JÓ/ˆÜ  Ó$ˆØ�J‰J�s—z‘z !“}¨EˆJÓ2ˆØ—
‘
˜A˜q ! R§V¡V¨QÐ/Ó0ˆØ�J‰J�s—z‘z !“}¨EˆJÓ2ˆô	Að %2¸#ÀrÑJˆä  1˜v yÑ9°DÑ9ˆà—‘˜!˜Q ™Y˜Ó(¨!Ð,ˆÜ˜t YÑ7°$Ñ7ˆà�j‰j˜Ÿ™ uˆjÓ-ˆÜ˜Ÿ™ aÑ(¨#¯-©-Ô8Ü˜Ÿ
™
 1™ s§z¡zÔ2Ü˜Ÿ™ aÑ(¨#Ô.Ü˜Ÿ
™
 1™ sÕ+r.   N)-r/   r’  r“  r™   re  rj  r0   r”  r•  ra   rb   rc   r¡   rÑ  r   r…  ry  rs  r~  r–  r�  r   r†  r�  r™  r¡  r¥  rª  r³  r¸  r¼  rÅ  r.  rÒ  Ú
tie_case_1Ú
tie_case_2rè  rë  rî  r>  Úbatch_generator_casesrò  r2  r-  rü  rr   r.   r,   rc  rc  /  s”  „ ð €Dò>ò48ðp ‡[�[×Ñ˜^¨b¯i©i×.CÑ.CØ.0¯i©i×.CÑ.Cð.Eó Fà‡[�[×ÑÐ/ÚCóEñ"2óEóFð"2ðJ ‡[�[×Ñ˜^¨b¯i©i×.CÑ.CØ.0¯i©i×.CÑ.Cð.Eó Fà‡[�[×ÑÐ;Ø)Ð+<¨7×+<Ñ+<¸QÓ+?ÀÑ+BÐCØ/Ø,¨m¨g¯m©m¸A¸qÓ.AÐBðDóEñ<ó	EóFð<ò4<ð2 ‡[�[×ÑÓñ<ó ð<ð4 ‡[�[×!Ñ!¨4¸VÀ[Ð<QÐ!ÓRñ<ó Sð<ð6 ‡[�[×!Ñ!¨TÐ!Ó2Ø‡[�[×Ñ˜]Ð,LÓMñQó Nó 3ðQð, ‡[�[×!Ñ!¨TÐ!Ó2Ø‡[�[×Ñ˜]Ð,LÓMñQó Nó 3ðQñ2 �fÐ%9Ô:Ù Ô&Ø‡[�[×Ñ˜]Ð,LÓMñQó Nó 'ó ;ðQñ" �fÐ%AÔBÙ Ô&Ù˜tÔ$ñQó %ó 'ó CðQñ$  Ô&Ø‡[�[×Ñ˜V WÓ-ñ"<ó .ó 'ð"<ðL ‡[�[×!Ñ!¨TÐ!Ó2Ø‡[�[×Ñ˜]Ð,LÓMñ#Bó Nó 3ð#BðJ ‡[�[×Ñ˜]Ð,LÓMñQó NðQð. ‡[�[×!Ñ!¨TÐ!Ó2ñQó 3ðQð* ‡[�[×Ñ˜]Ð,LÓMñLó NðLð$ ‡[�[×ÑÓØ‡[�[×Ñ˜V WÓ-ñ)<ó .ó ð)<òZ $ª-Ø#/Ø%(Ø,8Ø(+Ø"*¸GñE€Jò ?ÚCØ#/Ø%1Ø,8Ø(,Ø"+¸XñG€Jð ‡[�[×!Ñ!¨TÐ!Ó2Ø‡[�[×ÑÓØ‡[�[×Ñ˜V j°*Ð%=Ó>ñA?ó ?ó ó 3ðA?ðF ‡[�[×ÑØ‡[�[×ÑÐ;ð>ó?ð
 ‡[�[×!Ñ!¨4¸VÀ[Ð<QÐ!ÓRØ‡[�[×!Ñ!¨TÐ!Ó2ñ!Mó 3ó Só?ó ð!MðF ‡[�[×Ñ˜W gÓ.ñAó /ðAñ $ A›h¨¨2Ð.Ù# A›h¨ªI²yÐ+AÐBÙ# A›h¨ªI²yÀ1ÀaÀ&Ð+IÐJðLÐð ‡[�[×ÑÐ8Ø2ó4ñó4ðð ‡[�[×Ñ˜1Óà‡[�[×!Ñ!¨4¸VÀ[Ð<QÐ!ÓRñ*ó Só ð*ó.,r.   rc  c                  óv  — t        j                  g d¢t        ¬«      } t        j                  | «      }t	        «       }d}t        j                  | «      D ]Q  }|dz  }t        j                  ||d d «      }|j                  t        |D �cg c]  }t        |«      ‘Œ c}«      «       ŒS t        j                  t        t        | «      dz
  «      D �cg c]3  }t        j                  t!        | |d  «      t!        | |dz   d  «      «      ‘Œ5 c}«      }t#        ||«       t#        t        |«      |«       y c c}w c c}w )N)r$   r#   r9   r
  r   r"   ry   )ra   r…  rè   ÚcumsumÚsetrÙ   Ú_all_partitions_concatenatedÚsplitÚaddrU   Ú	frozensetÚprodr>  r¥   r   ry  r  r   )r|   ÚncÚall_partitionsrÎ  Úpartition_concatenatedÚpartitioningrs   rê   s           r,   Ú test_all_partitions_concatenatedr  ç  s  € ô 	�‰’¤#Ô&€AÜ	�‰�1‹€Bä“U€NØ€GÜ"-×"JÑ"JÈ1Ó"Mò HÐØ�1‰ˆÜ—x‘xÐ 6¸¸3¸B¸Ó@ˆØ×Ñœ5¸Ö!E°1¤)¨A¥,Ò!EÓFÕGðHô
 �w‰wÜ!&¤s¨1£v¨a¡x£ö2Øô  Ÿ™¤c¨!¨A¨B¨%£j´#°a¸¸!¹¸°g³,Õ?ò 2ó 3€Hô �˜(Ô#Ü”�^Ó$ hÕ/ùò "Fùò2s   Â	D1Ã8D6Úfun_name©r   r   r   c                 óV  ‡‡— t         j                  j                  d«      Š‰j                  d¬«      Šˆfd„}‰f‰ddœ‰f‰ddœ‰|d	œd
œ}ddi}t        t        | «      }||    }|j                  |«       ˆfd„} |d|d dœ|¤Ž  |d|ddœ|¤Ž d„ } |d|d dœ|¤Ž  |d|ddœ|¤Ž y )Nl   àr³:½ rN   r.  c                 óF   •— t         j                  j                  | ‰¬«      S )Nrã   )r   r¢   r£   r)  s    €r,   r£   z&test_parameter_vectorized.<locals>.rvs  s   ø€ Ü�z‰z�~‰~ 4°cˆ~Ó:Ð:r.   rY   )r–   rS   rM   rl  )r–   rS   ri  )rV   r£   r  rG   r_   c                 ó€   •— | j                   dkD  st        j                  | ‰«      sJ ‚t        j                  | |¬«      S r¿  )r  ra   Úarray_equalr(   )r*   rB   rV   s     €r,   r—   z,test_parameter_vectorized.<locals>.statistic  s2   ø€ Ø�v‰v˜ŠzœRŸ^™^¨A¨vÔ6Ð6Ð6Ü�w‰w�q˜tÔ$Ð$r.   )r—   r>   Tc                 óN   — | j                   dk(  sJ ‚t        j                  | «      S r´  )r  ra   r(   r  s    r,   r—   z,test_parameter_vectorized.<locals>.statistic  s    € Ø�v‰v˜Š{Ðˆ{Ü�w‰w�q‹zÐr.   Frr   )ra   rb   r¡   rG  r   rª   )	r  r£   Úfun_optionsÚcommon_optionsr  Úoptionsr—   rS   rV   s	          @@r,   Útest_parameter_vectorizedr  ü  sã   ù€ ô
 �)‰)×
Ñ
 Ó
/€CØ�Z‰Z˜RˆZÓ €Fô;ð +1¨¸3Ø+7ñ!9à17°	À#Ø<Eñ(Gà28ÀÑ'Eñ	G€Kð
 $ SÐ)€Nä
”%˜Ó
"€CØ˜(Ñ#€GØ‡N�N�>Ô"ô%ñ Ð8�)¨Ñ8°Ò8ÙÐ8�)¨Ñ8°Ò8òñ Ð8�)¨Ñ8°Ò8ÙÐ9�)¨Ñ9°Ó9r.   c                   ó   — e Zd Zd„ Zy)ÚTestMonteCarloMethodc                 óè   — d}t         j                  j                  d«      }t        j                  t
        |¬«      5  t        j                  |j                  |¬«       d d d «       y # 1 sw Y   y xY w)Nz.Use of `rvs` and `rng` are mutually exclusive.iÉÉr   )r£   rS   )ra   rb   r¡   r0   r1   rT   r   ÚMonteCarloMethod)r4   r5   rS   s      r,   Útest_rvs_and_random_statez.TestMonteCarloMethod.test_rvs_and_random_state   sR   € ØBˆÜ�i‰i×#Ñ# HÓ-ˆÜ�]‰]œ:¨WÔ5ñ 	<Ü×"Ñ" s§z¡z°sÕ;÷	<÷ 	<ñ 	<ús   ½"A(Á(A1N)r/   r’  r“  r  rr   r.   r,   r  r    s   „ ó<r.   r  )0r	  r0   r   ra   Únumpy.testingr   r   Úscipy._lib._utilr   Úscipy._lib._array_apir   r   r   r	   r
   r   r   r   Úscipy._lib._array_api_no_0dr   r   Úscipy._externalr   rG  Úscipyr   r   Úscipy.fft.tests.test_fftlogr   Úscipy.optimizer   Úscipy.statsr   r   r   r   Úscipy.stats._resamplingrÙ   Úlazy_xp_modulesr   rž  r4  rc  r  r”  r•  r  r  rr   r.   r,   ú<module>r(     s  ðÛ ã ã ß 7å )÷?÷ ?ó ?÷ IÝ 2ß  Ý 8Ý ç LÓ Lß -Ð -ð �'€ñ �9Ó÷VAð VAó ðVAñt Ð#Ó$÷r8ð r8ó %ðr8ñj �5Ó÷A?ð A?ó ðA?ñH Ð#Ó$÷t
,ð t
,ó %ðt
,òn0ð* ‡�×Ñ˜ÚNóPñ:óPð:÷B<ò <r.   