Ë
    qwjÒh ã                   óÐ  — 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 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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jR                  jU                  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)Ú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    €úf/var/www/html/newmanjeet/manjet/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   sD   ø€ à-¨b¯k©k¨]Ð;ˆÜ�]‰]œ9¨GÖ4Ü�r—z‘z¢)Ó,Ð.Ó0DÔE÷ 5×4Ñ4ú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)r1   r.   r/   Ú
ValueErrorr   Útupler&   r0   )r2   r)   Úsampler3   s       r*   Útest_bootstrap_ivzTestBootstrap.test_bootstrap_iv   s  € Ø—‘šIÓ&ˆà<ˆÜ�]‰]œ:¨WÖ5Ü”e“g˜rŸw™wÔ'÷ 6ð SˆÜ�]‰]œ:¨WÖ5Ü�v˜rŸz™z¨1¨#›Ð/°·±Ô9÷ 6ð SˆÜ�]‰]œ:¨WÖ5Ü�v˜rŸz™zª,Ó7Ð8¸"¿'¹'È$ÕO÷ 6ð EˆÜ�]‰]œ:¨WÖ5Ü�f˜bŸg™g°&Õ9÷ 6ð /ˆÜ�]‰]œ:¨WÖ5Ü�v�i §¡¨sÕ3÷ 6ð 6ˆÜ�]‰]œ:¨WÖ5Ü�v�i §¡¸4Õ@÷ 6ð BˆÜ�]‰]œ:¨WÖ5Ü�v�i §¡°eÕ<÷ 6ð BˆÜ�]‰]œ:¨WÖ5Ü�v�i §¡°fÕ=÷ 6ð @ˆÜ�]‰]œ:¨WÖ5Ü�v�i §¡°Õ6÷ 6ð @ˆÜ�]‰]œ:¨WÖ5Ü�v�i §¡°Õ7÷ 6ð (ˆÜ�]‰]œ:¨WÖ5Ü�v�i §¡°Õ8÷ 6ð TˆÜ�]‰]œ:¨WÖ5Ü�v�i §¡¸2Õ>÷ 6ð JˆÜ�]‰]œ:¨WÖ5Ü�v�i §¡°aÕ8÷ 6ð AˆÜ�]‰]œ9¨GÖ4Ü�v�i §¡¨iÕ8÷ 5Ð4÷i 6Ñ5ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ð5ú÷ 5Ð4ú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rK   )ÚbasicÚ
percentileÚBCar@   ©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   rL   é   é   éd   )rI   rK   Úrandom_stater@   rE   )rI   rK   r@   rE   r^   )ÚnpÚrandomÚRandomStateÚrandr   r1   r&   r   Úconfidence_intervalÚlowÚhighÚstandard_error)r2   rK   r@   r)   rQ   r(   Úres1Úres2s           r*   Útest_bootstrap_batchz"TestBootstrap.test_bootstrap_batchX   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!   r?   r%   ©r(   Úyr@   r)   s      €r*   Úmy_statisticz9TestBootstrap.test_bootstrap_paired.<locals>.my_statisticr   s   ø€ Ø—7‘7˜A˜a™C !™8¨$�7Ó/Ð/r,   c                 ó.   •— ‰|    }‰|    } ‰||«      }|S r$   © )Úir@   ÚaÚbÚresrn   r(   rm   s        €€€r*   Úmy_paired_statisticz@TestBootstrap.test_bootstrap_paired.<locals>.my_paired_statisticu   s&   ø€ Ø�!‘ˆAØ�!‘ˆAÙ˜q !Ó$ˆCØˆJr,   rP   T)r8   rQ   ©éÿÿÿÿ)r_   r`   ra   r1   rb   ÚarangeÚshaper   r   rc   rd   re   rf   )r2   rK   r)   rQ   Únru   rq   rg   rh   rn   r(   rm   s     `      @@@r*   Útest_bootstrap_pairedz#TestBootstrap.test_bootstrap_pairedj   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,   r8   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 ©Nr?   r%   )r(   rm   Úzr@   r)   s       €r*   rn   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,   )rL   r[   r\   r]   )r8   rK   rQ   r@   rE   )r]   )r    r    r    rv   )r_   r`   ra   rb   r1   r   Úbootstrap_distributionry   rf   rS   Úbroadcast_toÚreshapeÚlistÚpoprc   rd   re   r   )r2   rK   r@   r8   r)   rQ   rn   ry   Ú	n_samplesr(   rm   r   rg   r‚   rh   Ú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Ú	statisticrE   rK   rQ   rB   gü©ñÒMb@?©Úrtolga2U0*©3?©Úatolr   ©rE   rM   Úless©rB   ÚalternativeÚgreaterrp   )r_   r`   Údefault_rngr   ÚnormÚrvsÚtÚlenr&   ÚsemÚintervalÚstdÚdictr1   r   r   rc   rd   re   rf   ÚupdateÚppf)r2   rK   r)   rQ   r”   ÚalphaÚdistÚref_lowÚref_highÚref_seÚconfigrt   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,   ))rV   g…ëQ¸Å7@gHáz®ÇS@)rW   g\�Âõ(Ü<@g=
×£pU@)rX   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)rL   r\   ç      )@r²   gÍÌÌÌÌÌ+@é   é   é   é   é"   é2   éQ   éY   éy   é†   éÕ   i@B r   )rE   rK   rQ   g{®Gázt?r–   )r1   r   r&   r   rc   rd   re   )r2   rK   r¬   r­   r)   r(   rt   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(   rm   r@   Ú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4rV   r]   )rK   rI   rQ   rW   Úbcag1™*•Ôø¿g333333Ã¿g333333Ã?ç¸…ëQ¸ž?)
r1   r_   r`   rŸ   r   r   r&   Ústackrc   Úabs)r2   r)   r(   rm   r•   rQ   Ú	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   rm   r@   r)   s      €r*   r•   zHTestBootstrap.test_BCa_acceleration_against_reference.<locals>.statistic.  ó(   ø€ Ø—7‘7˜1 4�7Ó(¨2¯7©7°1¸4¨7Ó+@Ñ@Ð@r,   rw   r‘   r]   gÄËe{‹†?©r   )r1   r   r   r€   Ú_resamplingÚ_bca_intervalr   )r2   r)   rm   r   r•   r”   rt   r@   rª   Útheta_hat_brI   Ú_Ú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¸   rw   )r•   rB   rE   rI   rK   r@   rQ   r   çš™™™™™¹?)r_   r`   rŸ   r   r    Úfloatr&   r¡   r   r1   rc   Úcount_nonzeroÚ	binomtestÚintÚpvalue)r2   rK   Úexpectedr)   rQ   rz   rE   rB   r«   Ú	stat_trueÚn_replicationsr”   rt   ÚciÚci_contains_truerç   s                   r*   Ú#test_bootstrap_against_itself_1sampz1TestBootstrap.test_bootstrap_against_itself_1samp@  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  )rV   rW   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ß   rw   c                 óZ   •— ‰j                  | |¬«      }‰j                  ||¬«      }||z
  S r~   r%   )Údata1Údata2r@   Ú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•   rB   rE   rI   rK   r@   r^   rv   )r_   r`   ra   r   r    rã   r&   r¡   r   r1   rc   rä   rå   ræ   rç   )r2   rK   rè   r)   rQ   Ún1Ún2rE   rB   rõ   Údist1Údist2ré   rê   rñ   rò   rt   rë   rì   rç   s      `                r*   Ú#test_bootstrap_against_itself_2sampz1TestBootstrap.test_bootstrap_against_itself_2sampk  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   r?   c                 ó0   •‡ — t        ˆ ˆfd„|D «       «      S )Nc              3   óD   •K  — | ]  }‰j                  |‰¬ «      –— Œ y­w)r?   Nr%   )Ú.0rT   r@   r)   s     €€r*   Ú	<genexpr>zSTestBootstrap.test_bootstrap_vectorized_3samp.<locals>.statistic.<locals>.<genexpr>¢  s   øè ø€ ÐEÁ°f�r—w‘w˜v¨D�w×1Áùs   ƒ ©Úsum)r@   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  rT   s     r*   r  zVTestBootstrap.test_bootstrap_vectorized_3samp.<locals>.statistic_1d.<locals>.<genexpr>¨  s   è ø€ Ð!C¹d°F &§+¡+§-¹dùs   ‚©rü   )Úndimr_   r1   r  )r”   rT   rü   s     €r*   Ústatistic_1dzCTestBootstrap.test_bootstrap_vectorized_3samp.<locals>.statistic_1d¤  s;   ø€ ã�Ø—{‘{ aÓ'Ð'Ð'ð ä—:‘:œcÑ!C¹dÓ!CÓCÈ5ÔQÐQr,   r7   rŒ   Tr]   )r<   r@   rE   rK   rQ   Frý   ç�íµ ÷Æ°>ç›+¡†›„=r–   )r_   r`   ra   rb   Úastyper   r1   r   rc   rd   re   rf   )r2   rK   r@   rü   r)   r•   r
  rQ   r(   rm   r   rg   rh   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(   r@   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   r?   )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<   r@   rE   rI   rK   rQ   FrL   rÖ   )
r_   r`   rŸ   r   r1   r   rc   rd   re   rf   )
r2   rK   r@   r)   r•   r
  rQ   r(   rg   rh   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                 óP  — |j                  dd«      }|dk(  rÛt        j                  d¬«      5  d}t        j                  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	«      «       y # 1 sw Y   Œ¯xY w# 1 sw Y   Œ;xY w)
N)é#   g     ˆÃ@rX   Úignore)Úinvalidz0The BCa confidence interval cannot be calculatedr   rJ   ç        )Úfullr_   Úerrstater.   Úwarnsr   ÚDegenerateDataWarningr   r&   r   rc   rd   r1   Únanre   rf   )r2   rK   r)   r”   Úmsgrt   s         r*   Útest_bootstrap_degeneratez'TestBootstrap.test_bootstrap_degenerateÔ  s%  € à�w‰w�u˜fÓ%ˆØ�UŠ?Ü—‘ XÖ.ØH�Ü—\‘\¤%×"=Ñ"=ÀSÖIÜ# T H¨b¯g©g¸fÔE�CÜ# C×$;Ñ$;×$?Ñ$?ÀÇÁÈBÏFÉFÓASÔTÜ# C×$;Ñ$;×$@Ñ$@À"Ç*Á*ÈRÏVÉVÓBTÔU÷ J÷ /Ð.ô ˜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Õ;÷ JÐIú÷ /Ð.ús$   ®(FÁBFÃ"FÆF	ÆFÆF%)rX   rV   rW   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!   r7   rà   r]   rá   i[%  ©rK   rE   rQ   F)rK   rE   rQ   r<   )r_   r`   rŸ   r   r    r¡   r   r1   rÁ   r   rc   rd   re   rf   )r2   rK   r)   rQ   r«   r”   rt   Ú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!   r7   rà   r]   rá   rX   if  r#  )r_   r`   rŸ   r   r    r¡   Úminr1   r   r   rc   rd   Úmaxr   re   )r2   r)   rQ   r«   r”   Útrue_minrt   rh   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‘   rW   )rE   rQ   rB   rK   rß   rX   )rE   rQ   rB   rK   rM   r  r–   )r_   r`   rŸ   r   r   r1   r&   r   rc   rd   re   rf   )
r2   r+  r)   rQ   r(   r÷   rø   Ún3rt   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!   r7   rà   r]   rá   rw   )r”   r•   rQ   r@   rB   rß   r   rš   r‘   r›   rœ   rž   r  r–   z`alternative` must be one ofr   r�   z	ekki-ekkirp   )r_   r`   rŸ   r   r    r1   r¡   r§   r¦   r   r¨   r   rc   re   rd   Úisinfr.   r/   rR   )
r2   rK   r)   rQ   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Ñ>°+Ó>÷ M×LÑLú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"   r7   rŒ   é   ì   øZÒt r-  ©r)   rw   .r?   r!   )rI   r)   éþÿÿÿ)r_   r`   rŸ   Únextr×   Ú_jackknife_resampler1   ÚrangeÚdeleter   rƒ   Úconcat)
r2   r)   ry   rQ   r(   rm   rq   Ú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Ö!ˆAð �C˜šA�I‘,ˆCÜ—y‘y  A¨BÔ/ˆHä˜C §¡¨HÓ!5Õ6ð "ô ”+×1Ñ1°"·*±*¸Q³-ÀqÈRÔPÓQˆÜ˜Ÿ	™	 "¨2˜	Ó.°Õ2r,   Úarray_api_strictzTest uses ... + fancy indexingÚrng_namera   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 rL   r6  r8  )rQ   r)   .r   rw   )
Úgetattrr_   r`   rŸ   r1   r×   Ú_bootstrap_resampler=  r   r   )r2   rD  r)   Úrng_genÚrng1Úrng2rE   ry   rQ   r(   rm   rq   r@  Újsrè   s                  r*   Útest_bootstrap_resamplez%TestBootstrap.test_bootstrap_resampleL  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)rL   é   é   l   Q,¼? r  rw   )r@   r)   c                 óN   — t        j                  t        j                  || |«      S r$   )r_   Úapply_along_axisr   Úpercentileofscore)rr   rM  r@   s      r*   Úvectorized_posz>TestBootstrap.test_percentile_of_score.<locals>.vectorized_posp  s   € Ü×&Ñ&¤u×'>Ñ'>ÀÀaÈÓOÐOr,   r?   r]   çVçž¯Ò<r–   )r_   r`   rŸ   r   r×   Ú_percentile_of_scorer1   r   )r2   rM  r@   r)   ry   rQ   r(   rü   ÚprU  Úp2s              r*   Útest_percentile_of_scorez&TestBootstrap.test_percentile_of_scoree  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  rT   r@   s     €r*   r  zLTestBootstrap.test_vectorize_statistic.<locals>.statistic.<locals>.<genexpr>~  s   øè ø€ Ð<±t¨V�v—{‘{ 4×(±tùs   ƒr  ©r@   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    r@   r   )r	  )r”   rT   r•   s     €r*   r
  z<TestBootstrap.test_vectorize_statistic.<locals>.statistic_1d€  s/   ø€ ã�Ø—{‘{ aÓ'Ð'Ð'ð á˜dÐ+¨Ñ+Ð+r,   r   r7   rŒ   r7  r    r?   )r×   Ú_vectorize_statisticr_   r`   ra   rb   r   )r2   r@   r
  Ú
statistic2rQ   r(   rm   r   rg   rh   r•   s             @r*   Útest_vectorize_statisticz&TestBootstrap.test_vectorize_statisticw  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    rN  r�   )r]   r]   c                 óp   •— ‰j                  ‰j                  | |¬«      ‰j                  | |d¬«      g«      S )Nr?   r    ©r@   Ú
correction)rÆ   r&   r¦   )r”   r@   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,   rw   é'  éÈ   )rK   r@   rE   rI   r^   r    rN  r   r?   éZ   r]   ©r!   r]   )r!   r]   rg  )r_   r`   rŸ   r1   Únormalr   rä   rc   rd   ÚTre   Úallry   rf   r€   )	r2   rK   r)   rQ   ÚparamsrT   r•   rt   Ú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(   rm   r@   Ú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$   )r_   Ú
nan_to_num)ÚtpÚtnÚfpÚfnr@   Úactualrè   rw  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.)r_   Únewaxis)r@   Úargsr•   s     €r*   Ústatistic_extradimzNTestBootstrap.test_vector_valued_statistic_gh17715.<locals>.statistic_extradimÉ  s#   ø€ ÙÐ)˜dÐ) DÒ)¬"¯*©*°c¨/Ñ:Ð:r,   )r7   r   r   r!   )r!   r    r!   r    )r   r7  r   r   )r   r7  r"   r   )r   é   r    r   T)rQ   r8   r   rV  r˜   )
r_   r`   rŸ   Úarrayrl  r   r   rc   rd   re   )r2   rQ   r‚  r”   rt   r$  rw  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|)rL   r!   )r[   r!   c                 óF   — t        j                  | ||¬«      j                  S r~   ©r   Ú	ttest_indr•   ©r(   rm   r@   s      r*   r•   z.TestBootstrap.test_gh_20850.<locals>.statisticà  ó   € Ü—?‘? 1 a¨dÔ3×=Ñ=Ð=r,   r    r?   ú/Array shapes are incompatible for broadcasting.r   rL   r   )
r_   r`   rŸ   r1   r   r   rl  r.   r/   rR   )r2   r)   rQ   r(   rm   r•   r3   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Ü�O‰O˜Q  # 2 # q &¡	˜N¨IÔ6÷ 6ä�‰˜˜A˜c˜r˜c 1 Q 3˜h™KÐ(¨)Ô4Ü�‰˜Ÿ™˜aŸc™c ! A # s¨ s (™mÐ,¨i¸aÖ@÷ 6Ð5ús   Ã EÅEN)'r-   Ú
__module__Ú__qualname__r   r4   rU   r.   ÚmarkÚparametrizeri   r{   rŠ   ÚslowÚxfail_on_32bitr°   Útests_Rr¾   rÒ   rÜ   Útests_against_itself_1sampÚitemsrí   Útests_against_itself_2samprû   r  r  r!  r%  r*  r/  r4  rB  rL  rZ  rb  rp  Úfilterwarningsr…  r�  rp   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ñ<ó Gð<ð ‡[�[×Ñ˜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  )r1   )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,   rp   )r2   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 )Nr?   r    re  rN  )r&   rs  ry   )r(   r@   ÚmÚvrz   r)   s        €r*   r•   z=TestMonteCarloHypothesisTest.get_statistic.<locals>.statisticù  sH   ø€ Ø—‘˜ �Ó%ˆAØ—‘�q˜t°�Ó2ˆAØ—‘˜‘ˆAØ˜˜!™˜c‘z‘>Ð!r,   rp   )r2   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    rp   r�  s      r*   r+   zDTestMonteCarloHypothesisTest.test_input_validation.<locals>.<lambda>  s   € ¸1r,   rw   r?   r=   r>   r9   r;   ú0`rvs` must be callable or sequence of callables.r¬  r­  r®  ç      @c                 ó   — | S r$   rp   r  s    r*   r+   zDTestMonteCarloHypothesisTest.test_input_validation.<locals>.<lambda>  ó   € ©ar,   úIf `rvs` is a sequence...c                 ó   — | S r$   rp   r  s    r*   r+   zDTestMonteCarloHypothesisTest.test_input_validation.<locals>.<lambda>   r·  r,   c                 ó   — | S r$   rp   r  s    r*   r+   zDTestMonteCarloHypothesisTest.test_input_validation.<locals>.<lambda>   s   € ¹1r,   z`statistic` must be callable.ú)`n_resamples` must be a positive integer.rC   rD   rF   rG   rH   ú`alternative` must be in...r:   ©r�   z!Signature inspection of statisticc                 ób   •— ‰j                  t        j                  j                  | ¬«      «      S )Nr-  )r1   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$   )r1   Úzerosr   r    r¡   r.   r/   rR   r   r0   r&   ÚstrÚ
startswith)r2   r)   r”   r°  r3   Útempr¡   Úes    `      r*   Útest_input_validationz2TestMonteCarloHypothesisTest.test_input_validation  sO  ø€ ð �z‰zš,Ó'ˆõ	)ð DˆØ—‘˜Ó  "§(¡(¨6Ó"2Ð3ˆÜ�z‰z�~‰~œuŸz™zŸ~™~Ð.ˆÜ�]‰]œ:¨WÖ5Ü˜T 3Ñ(<À2ÕF÷ 6ð /ˆÜ�]‰]œ:¨WÖ5Ü˜T¤5§:¡:§>¡>°4¸cÕB÷ 6ð EˆÜ�]‰]œ:¨WÖ5Ü˜T¤5§:¡:§>¡>°4ÀCÕH÷ 6ð EˆÜ�]‰]œ9¨GÖ4Ü˜T 4¨Ô.÷ 5ä�]‰]œ9¨GÖ4Ø—:‘:  B˜x¨"¨b¨Ð2Ó3ˆDÜ˜T¡K°Ð#6¸Ô=÷ 5ð .ˆÜ�]‰]œ:¨WÖ5Ø—:‘:š|˜nÓ-ˆDÜ˜T¡K±Ð#=¸tÔD÷ 6ð 2ˆÜ�]‰]œ9¨GÖ4Ü˜T¤5§:¡:§>¡>°4Ô8÷ 5ð >ˆÜ�]‰]œ:¨WÖ5Ü˜T¤5§:¡:§>¡>°4ÀUÕK÷ 6ð >ˆÜ�]‰]œ:¨WÖ5Ü˜T¤5§:¡:§>¡>°4ÀVÕL÷ 6ð @ˆÜ�]‰]œ:¨WÖ5Ü˜T¤5§:¡:§>¡>°4¸uÕE÷ 6ð @ˆÜ�]‰]œ:¨WÖ5Ü˜T¤5§:¡:§>¡>°4¸vÕF÷ 6ð 0ˆÜ�]‰]œ:¨WÖ5Ü˜T¤5§:¡:§>¡>°4ÀVÕL÷ 6ð 6ˆô	9ð	.Ü˜T 3¨¯©Õ0÷i 6Ñ5ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 5Ñ4úç4Ñ4ú÷
 6Ñ5ú÷
 5Ñ4ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ð5ú÷ 6Ð5ûô ò 	.Ü�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_statisticD  s   ø€ Ø—7‘7˜1“:Ðr,   z!`statistic` must be vectorized...r«  r   Fr;   )
r1   r   r   r   r    r¡   r.   r/   rR   r&   )r2   r)   rÇ  r3   rT   s    `   r*   Útest_input_validation_xpz5TestMonteCarloHypothesisTest.test_input_validation_xpC  s¤   ø€ ô	ð 6ˆØ—‘šLÓ)ˆÜ�BŒ<Ü˜V¤U§Z¡Z§^¡^Ð5MÔNØä�]‰]œ:¨WÖ5Ü˜V¤U§Z¡Z§^¡^Ð5MÔN÷ 6ä�]‰]œ:¨WÖ5Ü˜V¤U§Z¡Z§^¡^°R·W±WÈÕO÷ 6Ð5÷ 6Ð5úç5Ð5ú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 rL   r-  c                 óÖ   •— | j                   dk(  rdn| j                  d   }t        |‰j                  «      ‰_        ‰xj                  dz  c_         ‰j                  ‰«      | |¬«      S r  )r	  ry   r(  Ú
batch_sizeÚcounterr©  )r(   r@   rÌ  r2   r•   r)   s      €€€r*   r•   z:TestMonteCarloHypothesisTest.test_batch.<locals>.statisticY  s\   ø€ ØŸf™f¨šk™¨q¯w©w°q©zˆJÜ#& z°9×3GÑ3GÓ#HˆIÔ Ø×Ò Ñ"ÕØ)�4×%Ñ% bÓ)¨!°$Ô7Ð7r,   r   rö   T)rT   r•   rE   r<   iç r9  r¡   rI   r    éé  r¸   r´   r!   rp   )r_   r`   rŸ   r1   Ústandard_normalrÍ  rÌ  r¤  r   r    r¡   r   r   r   rç   )	r2   r)   rQ   r(   r¡  rg   rh   Úres3r•   s	   ``      @r*   Ú
test_batchz'TestMonteCarloHypothesisTest.test_batchR  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,   r@   éýÿÿÿ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"   r7   r]   r¬  Ú64rý   rþ   )r�   rü   r  )Úpopmeanr@   r  )rü   r)   Ti N  )r<   rE   r@   r˜   )r_   r`   rŸ   r1   rü   rÀ  rF  rÏ  r   Úttest_1sampr©  r¤  r    r¡   r   r•   rç   r   r™   )r2   r@   r)   rQ   r�   Údtype_defaultÚ	dtype_strÚdtype_nprü   r(   rè   r•   r¡   rt   Úref_statisticÚ
ref_pvalues                   r*   Útest_axis_dtypez,TestMonteCarloHypothesisTest.test_axis_dtypex  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é)ÜêrQ  r-  r  r½  r9  r˜   )r_   r`   rŸ   rÏ  r   rÖ  r1   r©  r¤  r    r¡   r   r   r•   rç   r™   )	r2   r�   r)   rQ   r(   r$  r•   r¡   rt   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ž   rr   g      à¿rN  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ß  rQ  ©rr   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©rE   r<   r�   rž   r˜   r›   r    )r_   r`   rŸ   r   Úskewnormr¡   ræ  r    rç  r¤  r   r   r•   rç   r™   )	r2   r�   rr   rQ   r(   rè   rè  Únorm_rvsrt   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(   r@   rí  s     €r*   r•   zLTestMonteCarloHypothesisTest.test_against_normality_tests.<locals>.statisticÐ  s   ø€ Ù˜A DÔ)×3Ñ3Ð3r,   T©r<   r�   r˜   )r_   r`   rŸ   r   rê  r¡   r¤  r    r   r   r•   rç   r™   )
r2   rí  r�   rr   rQ   r(   rè   r•   rë  rt   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(   r@   s     r*   r•   zGTestMonteCarloHypothesisTest.test_against_normaltest.<locals>.statisticâ  s   € Ü×#Ñ# A¨DÔ1×;Ñ;Ð;r,   Trž   rò  r˜   )r_   r`   rŸ   r   rê  r¡   rö  r¤  r    r   r   r•   rç   r™   )r2   rr   rQ   r(   rè   r•   rë  rt   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åÿrQ  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˜   )r_   r`   rŸ   r   rê  r¡   rú  r    rç  r¤  r   r   r•   rç   r™   )r2   rr   rQ   r(   rè   rè  rë  rt   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á   ÚinterpolaterJ   )r_   r`   rŸ   r   Útukeylambdar¡   Úandersonr•   )rr   rQ   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  rJ   c                 óH   •— t        j                  | ‰d¬«      j                  S )Nr  rJ   )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(   r_   r`   rŸ   r   r  r¡   r  r•   rç   r¤  rF  r   r   r™   )r2   rü  rþ  r  Úsolrr   rQ   r(   rè   Úexpected_statÚ
expected_prè  Údist_rvsrt   s    ``           r*   Útest_against_andersonz2TestMonteCarloHypothesisTest.test_against_anderson   sC  ù€ õ	9ô
 ×$Ñ$Õ&Ü×!Ñ! (¬NÔ;Ü�s˜q”/ˆC÷ 'ð �{Š{Ðˆ{ð �E‰E�!‰HˆÜ�i‰i×#Ñ# IÓ.ˆÜ×Ñ×!Ñ! !¨#¸CÐ!Ó@ˆÜ—>‘> ! Y°}ÔEˆØ ×*Ñ*ˆØ—_‘_ˆ
ô	Pð —<‘<¤¬¨yÓ 9× =Ñ =¸sÓCˆÜ×$Ñ$Õ&Ü×!Ñ! (¬NÔ;Ü" 1 hØ#.¸DØ.3ÀôLˆC÷ 'ô 	˜Ÿ™ }Ô5Ü˜Ÿ
™
 J°Q°t·y±y±[ÖA÷5 'Ñ&ú÷& 'Ð&ú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?)r_   r`   rŸ   r¿  r   r&   rç   )r2   rQ   r(   rt   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>.statistic8  rŽ  r,   rw   r?   r   r    ç{®Gáz”?r–   )
r_   r`   rŸ   rk  r   r   rŒ  r   r•   rç   ©r2   rQ   r”   r¡   r•   rt   r$  s          r*   Útest_against_ttest_indz3TestMonteCarloHypothesisTest.test_against_ttest_ind3  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  rj  r-  )r!   ée   )r!   éf   )r!   ég   c                 ó@   — t        j                  |d| iŽj                  S ©Nr@   )r   Úf_onewayr•   )r@   r�  s     r*   r•   zETestMonteCarloHypothesisTest.test_against_f_oneway.<locals>.statisticG  s   € Ü—>‘> 4Ð3¨dÑ3×=Ñ=Ð=r,   rw   rž   ©r@   r�   r@   ç{®Gáz„?r˜   )
r_   r`   rŸ   rk  r   r   r"  r   r•   rç   r  s          r*   Útest_against_f_onewayz2TestMonteCarloHypothesisTest.test_against_f_oneway@  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 rg  c                 óX   •— dt        j                  d¬«      j                  | ‰¬«      z  S )Nr¬  gZd;ßOÕ?)rX  rá   )r   Ú	bernoullir¡   ©r�   rQ   s    €r*   r¡   zITestMonteCarloHypothesisTest.test_finite_precision_statistic.<locals>.rvsY  s'   ø€ ØœŸ™¨%Ô0×4Ñ4¸$ÈSÐ4ÓQÑQÐQr,   r]   r›   )r�   rE   g     ð?r    )
r_   r`   rŸ   r   r   rs  r  Únull_distributionr•   rç   )r2   rE   r¡   r(   rt   Úc0Úc1rQ   s          @r*   Útest_finite_precision_statisticz<TestMonteCarloHypothesisTest.test_finite_precision_statisticQ  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™   r_   r¤  r©  rÄ  rÈ  r.   r“  ÚxslowrÑ  r”  r=  rÜ  rà  r•  Úlinspacerì  r   ÚskewtestÚkurtosistestró  rx   r÷  rû  r  r  r  r%  Ú	fail_slowr–  r-  rp   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  )r1   rk  )r�   rü   rQ   r)   s    €€€r*   r+   z%TestPower.xp_normal.<locals>.<lambda>j  s   ø€ ˜BŸJ™J s§z¡z°t zÓ'<ÀE˜JÔJr,   )r   )r2   rQ   r)   rü   s    ```r*   Ú	xp_normalzTestPower.xp_normalh  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        |||d¬«       d d d «       t        j                  t        |¬«      5  t        ||||j                  ddd«      ¬«       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   �ŒvxY w# 1 sw Y   �ŒPx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   �Œ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 r9  rL   r\   r9   r   r>   r;   r´  r:   r¸  )rL   z3`significance` must contain floats between 0 and 1.r!   ©Úsignificancerw   r    r¸   z`kwargs` must be a dictionaryr   )Úkwargsz6not be broadcast|Chunks do not add|Incompatible shapesr[   )r\   é   é   r<  r(   z`test` must be callablez(`n_resamples` must be a positive integeriöÿÿÿrD   g      %@z"`batch` must be a positive integerrH   )r_   r`   rŸ   r   rŒ  r7  r1   r.   r/   rR   r   r0   r/  ÚRuntimeError)r2   r)   rQ   Útestr¡   Ún_observationsr3   s          r*   rÄ  zTestPower.test_input_validationl  s‡  € ä�i‰i×#Ñ#Ð$7Ó8ˆä�‰ˆØ�~‰~˜c bˆ~Ó)¨4¯>©>¸#À"¨>Ó+EÐFˆØŸ*™* R›.¨"¯*©*°R«.Ð9ˆàDˆÜ�]‰]œ:¨WÖ5Ü�$˜˜^¸Õ<÷ 6ð EˆÜ�]‰]œ9¨GÖ4Ü�$˜˜nÔ-÷ 5ä�]‰]œ9¨GÖ4Ü�$˜Ÿ™¨°˜Ó3°VÐ<¸nÔM÷ 5ð .ˆÜ�]‰]œ:¨WÖ5Ü�$˜Ÿ™¨°˜Ó3Ð5°~ÔF÷ 6ä�]‰]œ:¨WÖ5Ü�$˜˜UÔ#÷ 6ð HˆÜ�]‰]œ:¨WÖ5Ü�$˜˜^¸!Õ<÷ 6ä�]‰]œ:¨WÖ5Ü�$˜˜^¸"¿+¹+ÀbÈ!ÈRÓ:PÕQ÷ 6ð 2ˆÜ�]‰]œ9¨GÖ4Ü�$˜˜^°IÕ>÷ 5ð KˆÜ�]‰]œJ¬Ð5¸WÖEÜ�$˜˜bŸj™j¨"¨b¨Ó2°B·J±Jº|Ó4LÐMÔN÷ Fä�]‰]œJ¬Ð5¸WÖEÜ�$˜˜bŸj™j¨"¨b¨Ó2°B·J±JÀÀB¸xÓ4HÐIØ˜rŸz™zª)Ó4Ð5õ7÷ Fð ,ˆÜ�]‰]œ9¨GÖ4Ü�$˜˜^Ô,÷ 5ð =ˆÜ�]‰]œ:¨WÖ5Ü�$˜˜^¸Õ=÷ 6ä�]‰]œ:¨WÖ5Ü�$˜˜^¸Õ>÷ 6ð 7ˆÜ�]‰]œ:¨WÖ5Ü�$˜˜^°3Õ7÷ 6ä�]‰]œ:¨WÖ5Ü�$˜˜^°4Õ8÷ 6Ð5÷[ 6Ñ5ú÷ 5Ñ4úç4Ñ4ú÷ 6Ñ5úç5Ñ5ú÷ 6Ñ5úç5Ñ5ú÷ 5Ñ4ú÷ FÑEúçEÑEú÷
 5Ñ4ú÷ 6Ñ5úç5Ñ5ú÷ 6Ð5úç5Ð5úsµ   ÂPÃ
P&Ã;!P3Å Q ÆQÆ7QÇ*!Q'È0Q4É+2RËARÌ2RÍ%R(ÎR5ÏSÐ SÐP#Ð&P0Ð3P=Ñ Q
ÑQÑQ$Ñ'Q1Ñ4Q>ÒRÒRÒR%Ò(R2Ò5R?ÓSÓS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  r?   )	r	  ry   r(  rÌ  rÍ  r   rÖ  r1   rç   )r(   r@   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   rL   rö   )r?  r@  rE   r9  r    )r¡   rI   r¸   rP  rp   )
r_   r`   rŸ   rÍ  rÌ  r§   r1   r   r7  r   )r2   r)   rQ   r¡  rg   rh   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ž   )rw   r   r    r   çš™™™™™É?c           
      óÀ   •— t        j                  ‰t        t        d| j                  dz   «      «      ¬«      }‰t        |«         }t        j                  | |||¬«      S )Nr    r?   ©r�   r@   )ÚxpxÚexpand_dimsrS   r=  r	  ræ   r   rÖ  )r(   r�   r@   Ú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,   )rL   r³   rP  r¸   r]   r�   )r$  rž  çš™™™™™©?râ   r9  ©r:  r;  .c           	      óN   •— t        j                  | ‰|‰t        ‰«         ¬«      S )Nr#  )r   rÖ  ræ   )r(   r@   Ú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™   rv   )r_   r`   rŸ   r1   r€  r   r   r7  r=  ry   Úappendr‚   rÆ   r   )r2   r)   rQ   r?  Únxr;  r:  rt   r$  Úsignificance_irq   Ú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Õ-ñ 6ñ &;ñ (ð +ð �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ì   ¸&(ƒ rL   r]   r-  r9  )r$  rL  râ   r9  r$  r˜   )r_   r`   rŸ   r   rŒ  r1   Úintegersr7  r   r�   r€  ry   r   )r2   r)   rQ   r?  r@  r¡   r:  rt   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,   rC  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â   rN  rß   rL   rP  r$  rL  r9  rM  r˜   )	r_   r`   rŸ   r1   r   r   rÖ  r7  r   )r2   r)   rQ   r$  r;  r@  r:  rt   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Ä  r.   r“  r•  rÑ  rX  r   r_  ra  rp   r,   r*   r4  r4  f  sÑ   „ à*.ô Kò79ðr ‡[�[×Ññ#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d"¬«       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/d0d1d2d3d4œZ"g d5¢g d6¢d7d8d9d:d;d<d4œ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¬«      dA„ «       «       «       «       Z%ej                  j                  dBdC«      dD„ «       Z& e'dE«      d
g f e'd«      d
g dF¢g dG¢gf e'dH«      d
g dF¢g dG¢ddIggfgZ(ej                  j                  dJe(«      dK„ «       Z)ej                  jU                  d«      ej                  j+                  dddg¬«      dL„ «       «       Z+yM)NÚTestPermutationTestr  c                 óL   — t         j                  j                  d«      | _        y )Nl   áF )r_   r`   rŸ   rQ   )r2   s    r*   Úsetup_methodz TestPermutationTest.setup_method'  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>   r?   z `permutation_type` must be in...r:   ©Úpermutation_typer9   r;   r»  rC   rD   rF   rG   rH   r¼  r½  rN   rO   rP   )r1   r.   r/   rR   r   r0   )r2   r)   r°  r”   r3   s        r*   Útest_permutation_test_ivz,TestPermutationTest.test_permutation_test_iv+  sg  € ò	;ð —
‘
š9Ó% r§z¡z²)Ó'<Ð=ˆàFˆÜ�]‰]œ:¨WÖ5Ü˜d 1™g r§z¡z°1°#£Ð7¸Ô>÷ 6ð KˆÜ�]‰]œ:¨WÖ5Ü˜T 4Ô(÷ 6ä�]‰]œ9¨GÖ4Ü˜Q Ô%÷ 5ð /ˆÜ�]‰]œ:¨WÖ5Ü˜T 4¨cÕ2÷ 6ð 5ˆÜ�]‰]œ:¨WÖ5Ü˜T 4Ø.4õ6÷ 6ð EˆÜ�]‰]œ:¨WÖ5Ü˜T 4°CÕ8÷ 6ð >ˆÜ�]‰]œ:¨WÖ5Ü˜T 4°UÕ;÷ 6ð >ˆÜ�]‰]œ:¨WÖ5Ü˜T 4°VÕ<÷ 6ð @ˆÜ�]‰]œ:¨WÖ5Ü˜T 4¨uÕ5÷ 6ð @ˆÜ�]‰]œ:¨WÖ5Ü˜T 4¨vÕ6÷ 6ð 0ˆÜ�]‰]œ:¨WÖ5Ü˜T 4°VÕ<÷ 6ð AˆÜ�]‰]œ9¨GÖ4Ü˜T 4¨YÕ7÷ 5Ð4÷W 6Ñ5ú÷ 6Ñ5úç4Ñ4ú÷ 6Ñ5ú÷ 6Ñ5ú÷
 6Ñ5ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ð5ú÷ 6Ð5ú÷ 5Ð4ú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 )NrL   c                 óò   •— | j                   dk(  rdn| j                  d   }t        |‰j                  «      ‰_        ‰xj                  dz  c_        ‰j                  | |¬«      ‰j                  ||¬«      z
  S r  )r	  ry   r(  rÌ  rÍ  r&   )r(   rm   r@   rÌ  r•   r)   s       €€r*   r•   z1TestPermutationTest.test_batch.<locals>.statisticm  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)rE   ri  r<   r    )rI   r^   rÎ  r¸   r´   r!   )	r1   rQ   r`   rÍ  rÌ  r   r   r   rç   )r2   ri  r^   r)   r(   rm   r¡  rg   rh   rÐ  r•   s      `      @r*   rÑ  zTestPermutationTest.test_batchc  s¢  ù€ ð �J‰J�t—x‘x—‘ rÓ*Ó+ˆØ�J‰J�t—x‘x—‘ rÓ*Ó+ˆõ	Að
 ˆ	ÔØ ˆ	Ôà#Ð9IØ"ñ$ˆä×%Ñ% q¨! f¨ið L¸qÙ3?À³?ñLØFJñLˆà× Ñ  DÒ(Ð(Ð(Ø×#Ñ# qÒ(Ð(Ð(àˆ	ÔÜ×%Ñ% q¨! f¨ið L¸rÙ3?À³?ñLØFJñLˆà× Ñ  BÒ&Ð&Ð&Ø×#Ñ# rÒ)Ð)Ð)àˆ	ÔÜ×%Ñ% q¨! f¨ið L¸tÙ3?À³?ñLØFJñLˆà× Ñ  AÒ%Ð%Ð%Ø×#Ñ# tÒ+Ð+Ð+ä˜Ÿ™ T§[¡[Ô1Ü˜Ÿ™ T§[¡[Õ1r,   zpermutation_type, exact_sizerk  r"   r!   )rl  rƒ  rm  r7  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%   rl   s      €r*   r•   z8TestPermutationTest.test_permutations.<locals>.statistic˜  rÕ   r,   T)ri  r<   r   )rE   r^   )r1   rQ   r`   r   r   r	   r*  )
r2   ri  Ú
exact_sizer^   r)   r(   rm   r•   r¡  rt   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%   rl   s      €r*   r•   zNTestPermutationTest.test_randomized_test_against_exact_both.<locals>.statisticº  rÕ   r,   Trm  r]   ©r<   ri  rI   r�   rQ   rE   r$  r˜   )r   Úbinomr_   r`   rŸ   r1   rÏ  r   Úinfr•   r   rç   ©r2   r)   r�   rQ   rS  ÚnyÚpermutationsr(   rm   r”   r•   r¡  rt   rh   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%   rl   s      €r*   r•   zQTestPermutationTest.test_randomized_test_against_exact_samples.<locals>.statisticÔ  s   ø€ Ø—7‘7˜1˜q™5 t�7Ó,Ð,r,   Trl  r]   rx  rE   r$  r˜   )
r_   r`   rŸ   r1   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(   r@   rm   s     €r*   r•   zRTestPermutationTest.test_randomized_test_against_exact_pairings.<locals>.statisticï  s   ø€ Ü—>‘> ! Q¨TÔ2×<Ñ<Ð<r,   Trl  r]   rx  rE   r$  r˜   )rQ   r   Ú	factorialr_   r`   rŸ   r1   rÏ  r   rz  r•   r   rç   )r2   r)   r�   rQ   rS  r|  r}  r(   r”   r•   r¡  rt   rh   rm   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 )Nr7   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ä  )r@   rå  r�   r   rp   )r   r   Úks_2sampr1   r•   r	  )r(   rm   r@   rt   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ž   ©rE   r�   rQ   r–   )rQ   rk  r   rŒ  r1   r   r_   rz  r   r•   r—   rç   ©r2   r�   r)   r(   rm   rè   r•   rt   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 )Nr7   r    r‰  rŒ   r"   rž   r›   rÝ  rî  r½  c                 óÂ   •— t        | «      t        |«      }} t        j                  | ||¬«      }‰j                  |j                  «      }|j
                  dk(  r|d   S |S ©Nr?   r   rp   ©r   r   Úansarir1   r•   r	  ©r(   rm   r@   rt   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–   )rQ   rk  r   r”  r1   r   r_   rz  r   r•   r—   rç   )
r2   r�   r)   r(   rm   Úalternative_correspondenceÚalternative_scipyrè   r•   rt   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)r@   rK   )r   Úmannwhitneyur•   r�  s      r*   r•   z@TestPermutationTest.test_against_mannwhitneyu.<locals>.statistic8  s   € Ü×%Ñ% a¨°¸lÔK×UÑUÐUr,   T)r<   rE   r�   r@   rQ   r–   )r   Úuniformr¡   rQ   rŸ  r1   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 )Nr7   r    )r�   r�   r^   rŒ   r"   )r�   rŽ   r�   r^   rŠ  rJ   c                 óL   — t        j                  | ||d¬«      }|j                  S r�  )r   Úcramervonmises_2sampr•   )r(   rm   r@   rt   s       r*   r•   z7TestPermutationTest.test_against_cvm.<locals>.statisticL  s"   € Ü×,Ñ,¨Q°¸À\ÔRˆCØ—=‘=Ð r,   rž   r�  r–   )r   r    r¡   rQ   r¤  r1   r   r_   rz  r   r•   r—   rç   )r2   r)   r(   rm   rè   r•   rt   s          r*   Útest_against_cvmz$TestPermutationTest.test_against_cvmC  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,   zneeds kruskalr@   )rw   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    r7   r@   c                 ó@   — t        j                  |d| iŽj                  S r!  )r   Úkruskalr•   r^  s     r*   r•   zGTestPermutationTest.test_vectorized_nsamp_ptype_both.<locals>.statistico  s   € Ü—=‘= $Ð2¨TÑ2×<Ñ<Ð<r,   rž   rm  )r@   r�   ri  rQ   rE   rö   rŒ   r–   g¸…ëQ¸®?r˜   rÅ   )r_   r`   rŸ   r   r¨  r1   r   rz  r   r•   r—   rç   )r2   r@   r)   rQ   r(   rm   r   r”   rè   r•   r¡  Údata_rt   rh   s                 r*   Ú test_vectorized_nsamp_ptype_bothz4TestPermutationTest.test_vectorized_nsamp_ptype_bothX  sH  € ô �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©t e�—
‘
˜5Õ!¨tˆÐ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"   r7  r!   r   r›  rL  r    rF  c                 ó¬   •— t        | «      } t        j                  | d|¬«      }‰j                  |j                  «      }|j
                  dk(  r|d   S |S ©Nr›   rF  r   rp   ©r   r   Úwilcoxonr1   r•   r	  )r   r@   rt   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  )r@   r�   ri  rQ   rE   r–   rÝ  )r   r   r¡   rQ   r¯  r1   r_   rz  r   r   r•   r—   rç   )r2   r�   r)   r(   rm   rè   r°  r²  r¡  rg   rh   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!   rL   r-  rw   c                 óD   — t        | «      }|j                  | dkD  |¬«      S )Nr   r?   )r
   rä   )r(   r@   Úxp_s      r*   r•   z=TestPermutationTest.test_against_binomtest.<locals>.statistic±  s&   € Ü! !Ó$ˆCØ×$Ñ$ Q¨¡U°Ð$Ó6Ð6r,   rN  r½  r  Trl  )r<   ri  rE   rQ   r�   r–   rÖ   )rQ   r^  r   rå   r   r1   rþ   rz  r   rç   r—   )
r2   r�   r)   r(   r•   Úkrz   rX  rè   rt   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 )	Nr7  r-  rŠ  rJ   c                 ó®   •— t        | «      } t        j                  | ‰d|¬«      }‰j                  |j                  «      }|j
                  dk(  r|d   S |S )Nrž  )rK   r@   r   rp   )r   r   Ú
kendalltaur1   r•   r	  )r(   r@   rt   r)   rm   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  rE   rQ   r–   )rQ   rk  r   r»  r1   r   r_   rz  r   r•   r—   rç   )r2   r)   r(   rè   r•   rt   rm   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    r?   )rä   ©r(   r@   r)   rm   s     €€r*   r•   z@TestPermutationTest.test_against_fisher_exact.<locals>.statisticß  s&   ø€ Ø×#Ñ# Q¨!¡V°°Q±Ñ$7¸dÐ#ÓCÐCr,   rk  )ri  rE   r�   rQ   r½  r  )r_   r`   rŸ   r  rã   r   ÚcontingencyÚcrosstabr1   r   rz  Úfisher_exactr   rç   rü   )
r2   r�   r)   rQ   r(   Útabr•   rt   rh   rm   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!   r7   r"   r-  )r    r7   r"   )r!   r7   r    r?   r   c                  óF   — t        j                  | dd¬«      j                  S )NTrž  ©ÚrankedrK   )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,   r@   Frž   rk  )r<   r@   r�   ri  rQ   rE   r�   r–   rÅ   r˜   )rQ   r`   r   Úrankdatar×   r`  r_   Úbroadcast_arraysr   rz  r   r•   r—   rç   )r2   r@   r(   rm   r   r”   rè  rÍ  r•   rç   Úexpected_statisticÚexpected_pvaluer¡  rt   rh   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,   r6   )r>   r!   g      @rD  gš™™™™™Ù?gä&ý_ñÕ?g      @gd~�$I"@glâuý‚ö?)r(   rm   Ú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(   rm   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>.statisticM  r–  r,   r  r  z$Ties preclude use of exact statisticr›   )rE   r�   rÝ  Nr–   g»½×Ùß|Û=r˜   r  r   )r1   r   r	  r
  r›  ÚUserWarningr   r_   rz  r   r•   r—   rç   r&   r*  r¦   ry   r  rä   rÇ   rü   )r2   râ  r)   r(   rm   rÐ  rÓ  rÔ  rÕ  rÖ  r×  r•   rü   rt   rh   ÚSr&   rz   ÚPr_gte_S_means     `                r*   Útest_with_tiesz"TestPermutationTest.test_with_ties&  s+  ø€ ð: �‰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~   )r1   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  rE   r�   r–   g‚vIhÂ%<=r˜   N)
r1   r   rÎ  r   r   rz  r   r•   r—   rç   )	r2   r�   rÑ  r)   r(   rÐ  r•   rt   rm   s	      `    @r*   Útest_against_spearmanr_in_Rz/TestPermutationTest.test_against_spearmanr_in_Rl  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,   rI   )rw   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   )r.   r/   rR   rƒ   r×   Ú_batch_generator)r2   rI   s     r*   Útest_batch_generator_ivz+TestPermutationTest.test_batch_generator_iv—  s3   € ä�]‰]œ:Ð-HÖIÜ”×-Ñ-ªi¸Ó?Ô@÷ J×IÑIús   œ"AÁAr   rY   )r"   r7   rŒ   rƒ  r  ziterable, batch, expectedc                 óP   — t        t        j                  ||«      «      }||k(  sJ ‚y r$   )rƒ   r×   rí  )r2   ÚiterablerI   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 )Nr?   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Õ?)
r1   rþ   r   r   r•   rç   r*  rã   rä   ry   )
r2   r)   r(   rm   r•   rt   Ú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,   N),r-   r‘  r’  r—   re  rj  r.   r“  r”  r_   r`   ra   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-  rp   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ñ$ �f _Ô5Ù Ô&Ø‡[�[×Ñ˜V WÓ-ñ"<ó .ó 'ó 6ð"<ð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!   r7   r  r   r    rw   )r_   r„  ræ   ÚcumsumÚsetr×   Ú_all_partitions_concatenatedÚsplitÚaddrS   Ú	frozensetÚprodr=  r£   r   ry  r  r   )rz   ÚncÚall_partitionsrÍ  Úpartition_concatenatedÚpartitioningrq   rè   s           r*   Ú test_all_partitions_concatenatedr  Á  s
  € ô 	�‰’¤#Ô&€AÜ	�‰�1‹€Bä“U€NØ€GÜ"-×"JÑ"JÈ1Ö"MÐØ�1‰ˆÜ—x‘xÐ 6¸¸3¸B¸Ó@ˆØ×Ñœ5¹Ó!E¹°1¤)¨A¥,¸Ñ!EÓFÕGð #Nô
 �w‰wÜ!&¤s¨1£v¨a¡x¤ó2Ù!0˜Aô  Ÿ™¤c¨!¨A¨B¨%£j´#°a¸¸!¹¸°g³,Õ?Ø!0ñ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³:½ rL   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,   rW   )r”   rQ   rK   rl  )r”   rQ   ri  )rT   r¡   r	  rE   r]   c                 ó€   •— | j                   dkD  st        j                  | ‰«      sJ ‚t        j                  | |¬«      S r¿  )r	  r_   Úarray_equalr&   )r(   r@   rT   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	  r_   r&   r  s    r*   r•   z,test_parameter_vectorized.<locals>.statisticò  s    € Ø�v‰v˜Š{Ðˆ{Ü�w‰w�q‹zÐr,   Frp   )r_   r`   rŸ   rF  r   r¨   )	r  r¡   Úfun_optionsÚcommon_optionsr  Úoptionsr•   rQ   rT   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¡   rQ   )r_   r`   rŸ   r.   r/   rR   r   ÚMonteCarloMethod)r2   r3   rQ   s      r*   Útest_rvs_and_random_statez.TestMonteCarloMethod.test_rvs_and_random_stateú  sI   € ØBˆÜ�i‰i×#Ñ# HÓ-ˆÜ�]‰]œ:¨WÖ5Ü×"Ñ" s§z¡z°sÕ;÷ 6×5Ñ5ús   ½"A(Á(A1N)r-   r‘  r’  r  rp   r,   r*   r  r  ù  s   „ ó<r,   r  )-r	  r.   r   r_   Únumpy.testingr   r   Úscipy._lib._utilr   Úscipy._lib._array_apir   r   r   r	   r
   r   Úscipy._lib._array_api_no_0dr   r   Ú
scipy._libr   rG  Úscipyr   r   Úscipy.fft.tests.test_fftlogr   Úscipy.optimizer   Úscipy.statsr   r   r   r   Úscipy.stats._resamplingr×   r   r�  r4  rc  r  r“  r”  r  r  rp   r,   r*   Ú<module>r"     s  ðÛ ã ã ß 7å )÷P÷ Pç HÝ -ß  Ý 8Ý ç LÓ Lß -Ð -ñ �9Ó÷VAð VAó ðVAñt Ð#Ó$÷r8ð r8ó %ðr8ñj �5Ó÷x?ð x?ó ðx?ñv Ð#Ó$÷U
*ð U
*ó %ðU
*ò|0ð* ‡�×Ñ˜ÚNóPñ:óPð:÷B<ò <r,   