Ë
    ÏÍ:jA‹ ã                   ó®  — d dl mZ d dlZd dlZd dlZd dlmZ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mZmZmZmZmZmZ d dlmZmZmZ d d	lmZ d d
lm Z! d d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-m.Z. egZ/ej`                  jb                  Z1 e#e«       G d„ d«      «       Z2 e#ej&                  «       G d„ d«      «       Z3 e#ej4                  «       G d„ d«      «       Z4 G d„ de«      Z5 G d„ d«      Z6 G d„ d«      Z7 e#e«       G d„ d«      «       Z8 G d„ d«      Z9 G d„ d«      Z: G d „ d!«      Z; e#ejx                  «       G d"„ d#«      «       Z=y)$é    )ÚproductN)Úassert_Úassert_equalÚassert_allclose)Úraises)ÚstatsÚspecial)Údistributions)Úepps_singleton_2sampÚcramervonmisesÚ_cdf_cvmÚcramervonmises_2sampÚ_pval_cvm_2samp_exactÚbarnard_exactÚboschloo_exact)ÚmannwhitneyuÚ
_mwu_stateÚ_MWU)Ú_TestPythranFunc)Úarray_api_extra)Úmake_xp_test_caseÚxp_default_dtypeÚis_numpyÚeager_warnsÚxp_ravelÚis_jax)Úxp_assert_equalÚxp_assert_close)ÚSmallSampleWarningÚtoo_small_1d_not_omitc                   ór   — e Zd Zd„ Zej
                  j                  dg d¢«      d„ «       Zd„ Zd„ Z	d„ Z
d„ Zy	)
ÚTestEppsSingletonc                 óÄ  — |j                  g d¢«      }|j                  g d¢«      }|j                  ddg«      }t        |«      r\t        |||¬«      \  }}t        ||j                  |j                  «      «       t        ||j                  |j                  «      «       y d}t        j                  t        |¬«      5  t        |||¬«       d d d «       y # 1 sw Y   y xY w)N)çffffffÖ¿çffffff@ç®Gáz®û?ç\�Âõ(\ç?çffffffÖ?)çffffffò¿ç333333Ã¿ç×£p=
×@ç      
@ç®Gáz®@çš™™™™™Ù?gš™™™™™Ù¿)Útz&t must contain positive elements only.©Úmatch)Úasarrayr   r   r   ÚnanÚpytestr   Ú
ValueError)ÚselfÚxpÚxÚyr/   ÚwÚpÚmessages           úu/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/scipy/stats/tests/test_hypotests.pyÚtest_epps_singleton_ivz(TestEppsSingleton.test_epps_singleton_iv   s¯   € ð �J‰JÒ6Ó7ˆØ�J‰JÒ7Ó8ˆØ�J‰J˜˜T�{Ó#ˆÜ�"Œ:Ü'¨¨1°Ô2‰DˆAˆqÜ˜A˜rŸz™z¨"¯&©&Ó1Ô2Ü˜A˜rŸz™z¨"¯&©&Ó1Õ2à>ˆGÜ—‘œz°Ô9ñ 0Ü$ Q¨¨QÕ/÷0÷ 0ñ 0ús   Â>CÃCÚdtype©NÚfloat32Úfloat64c                 ó$  — |€t        |«      nt        ||«      }|j                  g d¢|¬«      }|j                  g d¢|¬«      }t        ||«      \  }}t	        ||j                  d|¬«      d¬«       t	        ||j                  d|¬«      d¬«       y )	N)
r$   r%   r&   r'   r(   g…ëQ¸…@gq=
×£pÝ?g®Gázî¿g®Gáz®×¿g¤p=
×#(@©r?   )
r)   r*   r+   r,   r-   g)\�Âõ(@ç      @gö(\�Âõ@gÃõ(\�Â @ç333333!@gHáz®G.@g¸…ëQ¸ž?©Úatolg˜Q,·´r?ç-Cëâ6?)r   Úgetattrr2   r   r   )r6   r?   r7   r8   r9   r:   r;   s          r=   Útest_statistic_1z"TestEppsSingleton.test_statistic_1,   s–   € ð ).¨Ô  Ô$¼7À2ÀuÓ;MˆØ�J‰Jò 9Ø@Eð ó Gˆà�J‰Jò 3Ø:?ð ó Aˆä# A qÓ)‰ˆˆ1Ü˜˜2Ÿ:™: e°5˜:Ó9ÀÕEÜ˜˜2Ÿ:™: g°U˜:Ó;À&ÖIó    c                 óâ   — |j                  g d¢«      }|j                  g d¢«      }t        ||«      \  }}t        ||j                  d«      d¬«       t        ||j                  d«      d¬«       y )N)r   é   é   rO   rO   rO   é   rP   rP   rP   é   é   rR   rR   rR   é   é
   rT   rT   rT   )rT   rQ   r   rR   rT   rT   r   rR   rS   é   rT   rP   rN   rU   r   é   rN   rR   rV   rT   gÍÌÌÌÌÌ!@çü©ñÒMbP?rG   g&ª·¶J°?g-Cëâ6
?)r2   r   r   )r6   r7   r8   r9   r:   r;   s         r=   Útest_statistic_2z"TestEppsSingleton.test_statistic_2;   sb   € à�J‰Jò 7ó 8ˆà�J‰Jò 8ó 9ˆä# A qÓ)‰ˆˆ1Ü˜˜2Ÿ:™: eÓ,°4Õ8Ü˜˜2Ÿ:™: gÓ.°TÖ:rL   c                 óh  — t        j                  d«      t        j                  d«      }}t        t        |«      t        |«      «      \  }}t        t	        |«      t	        |«      «      \  }}t        ||«      \  }}t        ||cxk(  xr |k(  nc «       t        ||cxk(  xr
 |k(  «       y c «       y )Né   é   )ÚnpÚaranger   ÚlistÚtupler   )	r6   r8   r9   Úw1Úp1Úw2Úp2Úw3Úp3s	            r=   Útest_epps_singleton_array_likez0TestEppsSingleton.test_epps_singleton_array_likeE   s€   € Ü�y‰y˜‹}œbŸi™i¨›mˆ1ˆä%¤d¨1£g¬t°A«wÓ7‰ˆˆBÜ%¤e¨A£h´°a³Ó9‰ˆˆBÜ% a¨Ó+‰ˆˆBä��b–˜B”ÔÜ��b–˜B‘Õ‘ÕrL   c                 óv  — |j                  g d¢«      |j                  d«      }}t        t        t        |¬«      5  t        ||«      }t        |j                  |j                  |j                  «      «       t        |j                  |j                  |j                  «      «       d d d «       y # 1 sw Y   y xY w)N©rN   rO   rP   rQ   rT   ©r1   r7   )
r2   r]   r   r   r    r   r   Ú	statisticr3   Úpvalue)r6   r7   r8   r9   Úress        r=   Útest_epps_singleton_sizez*TestEppsSingleton.test_epps_singleton_sizeO   s�   € à�z‰zš,Ó'¨¯©°2«ˆ1ˆÜÔ+Ô3HÈRÔPñ 	<Ü& q¨!Ó,ˆCÜ˜CŸM™M¨2¯:©:°b·f±fÓ+=Ô>Ü˜CŸJ™J¨¯
©
°2·6±6Ó(:Ô;÷	<÷ 	<ñ 	<ús   »A+B/Â/B8c                 óŠ  — t         j                  j                  d«      }|j                  d¬«      }|j                  d¬«      }t        j                  g d¢«      }t	        ||d¬«      \  }}t         j
                  ||<   t         j
                  ||<   t         j
                  ||d   df<   t         j                  ||d	   d	f<   t         j                   ||d
   d
f<   |j                  |«      |j                  |«      }}t	        ||d¬«      \  }}	t        ||j                  |«      «       t        |	|j                  |«      «       y )Nl   2$>Ü. )rT   é   ©Úsize)rT   é   )rN   rQ   é	   éÿÿÿÿ©Úaxisr   rN   rO   )r\   ÚrandomÚdefault_rngr2   r   r3   Úinfr   )
r6   r7   Úrngr8   r9   ÚiÚw_refÚp_refÚw_resÚp_ress
             r=   Útest_epps_singleton_nonfinitez/TestEppsSingleton.test_epps_singleton_nonfiniteW   s  € Ü�i‰i×#Ñ# NÓ3ˆØ�J‰J˜HˆJÓ%ˆØ�J‰J˜HˆJÓ%ˆÜ�J‰J’yÓ!ˆä+¨A¨q°rÔ:‰ˆˆuÜ—6‘6ˆˆa‰Ü—6‘6ˆˆa‰ä—V‘Vˆˆ!ˆA‰$�ˆ'‰
Ü—V‘Vˆˆ!ˆA‰$�ˆ'‰
Ü—f‘f�Wˆˆ!ˆA‰$�ˆ'‰
à�z‰z˜!‹}˜bŸj™j¨›mˆ1ˆÜ+¨A¨q°rÔ:‰ˆˆuÜ˜˜rŸz™z¨%Ó0Ô1Ü˜˜rŸz™z¨%Ó0Õ1rL   N)Ú__name__Ú
__module__Ú__qualname__r>   r4   ÚmarkÚparametrizerK   rX   rf   rm   r€   © rL   r=   r"   r"      sD   „ ò0ð ‡[�[×Ñ˜WÒ&BÓCñJó DðJò;ò ò<ó2rL   r"   c            
       ó@  — e Zd Zej                  j                  ddg d¢g d¢fdg d¢g d¢fdg d	¢g d¢fd
g d¢g d¢fg«      d„ «       Zd„ Zd„ Zd„ Z	d„ Z
ej                  j                  dddgg«      d„ «       Zej                  j                  dg d¢«      d„ «       Zd„ Zy
)ÚTestCvmz	n, x, refrQ   )gy;ÂiÁ‹ž?g#¾³^¥?gþE�>‘¿?gåD»
)î?)ç{®Gáz„?çš™™™™™©?ç      à?g+‡ÙÎ÷ï?rT   )g…8„*5›?g@¤ß¾œ£?g÷Hmâä¾?g%¯Î1 â?)r‰   rŠ   r‹   g333333ï?éè  )g€}têÊg™?g˜`�º¢?gäIÒ5“o¾?gÜ×�sF”ò?N)çaÃÓ+e™?ç+û®þ·¢?çÉ&pën¾?ç+MJA·—ò?c                 óp   — t        t        |j                  |«      |«      |j                  |«      d¬«       y ©NrI   rG   )r   r   r2   )r6   Únr8   Úrefr7   s        r=   Útest_cdf_refzTestCvm.test_cdf_refp   s'   € ô 	œ §¡¨A£°Ó2°B·J±J¸s³OÈ$ÖOrL   c                 óä   — t        t        |j                  ddg«      d«      |j                  ddg«      «       t        t        |j                  ddg«      d«      |j                  ddg«      «       y )	Ng²Xª(~$?gUUUUU5f@i  ç        ç      ð?g†a†ah?g«ªªªªª"@é   )r   r   r2   )r6   r7   s     r=   Útest_cdf_supportzTestCvm.test_cdf_supporty   s`   € äœ §¡¨Z¸Ð,?Ó!@À#ÓFØŸ
™
 B¨ 8Ó,ô	.äœ §¡¨_¸jÐ,IÓ!JÈBÓOØŸ
™
 B¨ 8Ó,õ	.rL   c                 ól   — |j                  g d¢«      }t        t        |d«      t        |«      d¬«       y )N)r�   rŽ   r�   r�   éd   é'  rI   rG   )r2   r   r   ©r6   r7   r8   s      r=   Útest_cdf_large_nzTestCvm.test_cdf_large_n€   s(   € à�J‰JÒ@ÓAˆÜœ  EÓ*¬H°Q«K¸dÖCrL   c                 ó¤   — |j                  d|j                  ¬«      }dt        |d«      cxk  rdk  sJ ‚ J ‚dt        |«      cxk  rdk  sJ ‚ J ‚y )NgÍÌÌÌÌÔt@rD   gwJëÿï?rŒ   r˜   )r2   rB   r   rž   s      r=   Útest_large_xzTestCvm.test_large_x…   sW   € ð �J‰J�u B§J¡JˆJÓ/ˆØœ( 1 dÓ+Ô1¨cÒ1Ð2Ñ1Ð2Ð1Øœ( 1›+Ô+¨Ò+Ð,Ñ+Ð,Ñ+rL   c                 óä   — d}t        |j                  |«      dz  t        j                  «      }t	        |j
                  ||¬«      dkD  sJ ‚t        |j                  |j                  d«      «       y )Nrr   çš™™™™™é?)r7   r˜   r—   )	r   Úonesr	   Úndtrr   rj   r   rk   r2   )r6   r7   r“   rl   s       r=   Ú
test_low_pzTestCvm.test_low_p�   sV   € ð ˆÜ˜RŸW™W Q›Z¨™^¬W¯\©\Ó:ˆÜ˜Ÿ™ q¨RÔ0°3Ò6Ð6Ð6Ü˜Ÿ
™
 B§J¡J¨r£NÕ3rL   r8   r†   ç      ø?c                 óz  — t        j                  t        t        ¬«      5  t	        |j                  |«      t        j                  «      }t        |j                  |j                  |j                  «      «       t        |j                  |j                  |j                  «      «       d d d «       y # 1 sw Y   y xY w)Nr0   )r4   Úwarnsr   r    r   r2   r	   r¥   r   rj   r3   rk   )r6   r8   r7   rl   s       r=   Útest_invalid_inputzTestCvm.test_invalid_input—   su   € ä�\‰\Ô,Ô4IÔJñ 	<Ü  §¡¨A£´·±Ó=ˆCÜ˜CŸM™M¨2¯:©:°b·f±fÓ+=Ô>Ü˜CŸJ™J¨¯
©
°2·6±6Ó(:Ô;÷	<÷ 	<ñ 	<ús    BB1Â1B:r?   r@   c                 óê  ‡— |€t        ‰«      nt        ‰|«      }t        ‰j                  g d¢|¬«      t        j
                  «      }t        |j                  ‰j                  d|¬«      «       t        |j                  ‰j                  d|¬«      «       t        ‰j                  g d¢|¬«      d„ «      }t        |j                  ‰j                  d|¬«      «       t        |j                  ‰j                  d|¬«      «       t        ‰j                  g d¢|¬«      ˆfd	„«      }t        |j                  ‰j                  d
|¬«      «       t        |j                  ‰j                  d|¬«      «       y )N)g333333û¿rO   r   gÍÌÌÌÌÌô?rQ   çš™™™™™¹?ç333333ã?rD   gÓˆk&qÒ?gDC+·šÂ?c                 ó8   — t        j                  | dz
  dz  «      S )NrP   r§   )r	   r¥   )r8   s    r=   ú<lambda>z'TestCvm.test_values_R.<locals>.<lambda>¬   s   € ¤w§|¡|°Q¸±U¸C±KÓ'@€ rL   g�ºrW*î?g¤ju2´™`?)	rN   rO   rR   çffffffö?gìQ¸…ëÁ?ro   é   çÍÌÌÌÌÌì?ç      @c                 ó*   •— ‰j                  |  «       S ©N)Úexpm1)r8   r7   s    €r=   r¯   z'TestCvm.test_values_R.<locals>.<lambda>³   s   ø€ �r—x‘x  “|�m€ rL   g  ¹Ð.óê?góûÎ`Ã(r?)	r   rJ   r   r2   r	   r¥   r   rj   rk   )r6   r?   r7   rl   s     ` r=   Útest_values_RzTestCvm.test_values_Rž   s'  ø€ à(-¨Ô  Ô$¼7À2ÀuÓ;Mˆô
 ˜RŸZ™ZÒ(FÈe˜ZÓTÜ$Ÿ\™\ó+ˆä˜Ÿ™ r§z¡zÐ2BÈ% zÓ'PÔQÜ˜Ÿ
™
 B§J¡J°Àu JÓ$MÔNô ˜RŸZ™ZÒ(FÈe˜ZÓTÙ@óBˆä˜Ÿ™ r§z¡zÐ2BÈ% zÓ'PÔQÜ˜Ÿ
™
 B§J¡JÐ/@È JÓ$NÔOô Ø�J‰JÒ=ÀUˆJÓKÛ#ó%ˆô 	˜Ÿ™ r§z¡zÐ2BÈ% zÓ'PÔQÜ˜Ÿ
™
 B§J¡JÐ/@È JÓ$NÕOrL   c                 óŒ  — t        |«      sDd}t        j                  t        |¬«      5  t	        |j                  g d¢«      d«       d d d «       y t        j                  d«      d}}t	        |t        j                  j                  «      }t	        |d«      }t        |j                  |j                  f|j                  |j                  f«       t	        |t        j                  j                  |«      }t	        |d|«      }t        |j                  |j                  f|j                  |j                  f«       y # 1 sw Y   y xY w)Nz7`cdf` must be a callable if `rvs` is a non-NumPy array.r0   ©rN   rO   rP   ÚbetarR   )r°   çffffffæ?Úexpon)r   r4   r   r5   r   r2   r\   r]   r
   r¼   Úcdfr   rj   rk   rº   )r6   r7   r<   r8   Úargsr”   rl   s          r=   Útest_str_cdfzTestCvm.test_str_cdf·   sê   € Ü˜Œ|ØOˆGÜ—‘œz°Ô9ñ >Ü˜rŸz™zª)Ó4°fÔ=÷>àä—)‘)˜A“, 
ˆ4ˆÜ˜Q¤× 3Ñ 3× 7Ñ 7Ó8ˆÜ˜Q Ó(ˆÜ�c—m‘m S§Z¡ZÐ0°3·=±=À#Ç*Á*Ð2MÔNä˜Q¤× 2Ñ 2× 6Ñ 6¸Ó=ˆÜ˜Q ¨Ó-ˆÜ�c—m‘m S§Z¡ZÐ0°3·=±=À#Ç*Á*Ð2MÕN÷>àús   ©D:Ä:E)r�   r‚   rƒ   r4   r„   r…   r•   rš   rŸ   r¡   r¦   rª   r·   r¿   r†   rL   r=   rˆ   rˆ   k   sÍ   „ ð
 ‡[�[×Ñ˜[Ø	
Ò0Ò2JÐKØ	Ò1Ò3KÐLØ	Ò3Ò5MÐNØ	Ò3Ò5MÐNð	+ó ñPóðPò.òDò
-ò4ð ‡[�[×Ñ˜S 2¨ u +Ó.ñ<ó /ð<ð ‡[�[×Ñ˜WÒ&BÓCñPó DðPó0OrL   rˆ   c                   ó4  — e Zd Zd„ Zd„ Zd„ Zd„ Zg d¢Zg d¢Zddd	œd
gddd	œdgddd	œdgddd	œdgddd	œdgddd	œdggZ	e
j                  j                  de	«      e
j                  j                  dg d¢«      d„ «       «       ZdddœdgdddœdgdddœdgdddœdgdddœdgdddœdggZe
j                  j                  de«      d „ «       Zd!„ Zg d"¢g d#¢g d$¢d%œZg d&¢g d'¢g d(¢g d)¢d*œZg d+¢g d,¢g d-¢g d.¢g d/¢d0œZg d1¢g d2¢g d3¢g d4¢g d5¢g d6¢d7œZd8„ Zd9„ Zd:„ Zddd	œd;gddd	œd<gddd	œd=gddd	œd>gddd	œd<gddd	œd>ggZe
j                  j                  d?e«      d@„ «       ZdA„ Ze
j                  j                  dBddg«      dC„ «       ZdD„ Z edEdF¬G«      dH„ «       Zg dI¢dJdKdLdMej@                  dJdNdOdPdPdQgdRdSfg dI¢dJdKdLdMej@                  ej@                  dNdOdPdPdQgdTdUfdOdNej@                  dPgdJdKdLdMej@                  dJdNdOdPdPdQgdVdWfdOdNej@                  dPgdJdKdLdMej@                  ej@                  dNdOdPdPdQgdXdYfdOej@                  ej@                  dPgdJdKdLdMej@                  ej@                  dNdOdPdPdQgdZd[fgZ!e
j                  j                  d\e!«      d]„ «       Z"g d^¢g d_¢g d`¢g da¢g db¢g dc¢g dd¢g de¢g df¢g	Z#e
j                  j                  dge#«      dh„ «       Z$ edEdF¬G«      di„ «       Z%g dj¢dkdlgddmgg dj¢dkdlgddmgg dj¢dkdlgddngg d%¢dNgddogg d%¢dNgddogg d%¢dNgddpgdOdNgdOdNgddqgdOdNgdOdNgddqgdOdNgdOdNgddrgg	Z&e
j                  j                  g ds¢e&«      dt„ «       Z'du„ Z(e
j                  j                  dvg dw¢«      dx„ «       Z)g dy¢Z*g dz¢Z+d{Z,d|„ Z-d}„ Z.d~„ Z/d„ Z0d€„ Z1y�)‚ÚTestMannWhitneyUc                 óð   — |dk(  rt        j                  |«      }|S |dk(  rt        j                  |«       }|S |||z  dz  k  rt        j                  |dz  «      nt        j                  |dz  «       }|S )NÚlessÚgreaterrO   )r	   Úndtri)r6   r;   ÚUÚn1Ún2ÚalternativeÚzs          r=   Úget_zstatistic_from_pvaluez+TestMannWhitneyU.get_zstatistic_from_pvalueÐ   sz   € Ø˜&Ò Ü—‘˜aÓ ˆAð
 ˆð	 ˜IÒ%Ü—‘˜qÓ!Ð!ˆAð ˆð '(¨"¨R©%°©'¢k”—‘˜a ™cÔ"¼¿¹ÀaÈÁcÓ8JÐ7JˆAØˆrL   c                 óH  — |j                  ddg«      }|j                  ddg«      }|j                  g |j                  ¬«      }|j                  |j                  «      }t        j                  t
        t        ¬«      5  t        ||«      }t        |j                  |«       t        |j                  |«       d d d «       t        j                  t
        t        ¬«      5  t        ||«      }t        |j                  |«       t        |j                  |«       d d d «       t        j                  t
        t        ¬«      5  t        ||«      }t        |j                  |«       t        |j                  |«       d d d «       y # 1 sw Y   ŒÊxY w# 1 sw Y   ŒvxY w# 1 sw Y   y xY w)NrN   rO   rP   rQ   rD   r0   )r2   r?   r3   r4   r©   r   r    r   r   rj   rk   )r6   r7   r8   r9   Úemptyr3   rl   s          r=   Ú
test_emptyzTestMannWhitneyU.test_emptyÙ   s>  € Ø�J‰J˜˜1�vÓˆØ�J‰J˜˜1�vÓˆØ—
‘
˜2 Q§W¡W�
Ó-ˆØ�j‰j˜Ÿ™Ó ˆä�\‰\Ô,Ô4IÔJñ 	-Ü˜q %Ó(ˆCÜ˜CŸM™M¨3Ô/Ü˜CŸJ™J¨Ô,÷	-ô
 �\‰\Ô,Ô4IÔJñ 	-Ü˜u aÓ(ˆCÜ˜CŸM™M¨3Ô/Ü˜CŸJ™J¨Ô,÷	-ô
 �\‰\Ô,Ô4IÔJñ 	-Ü˜u eÓ,ˆCÜ˜CŸM™M¨3Ô/Ü˜CŸJ™J¨Ô,÷	-ð 	-÷	-ð 	-ú÷
	-ð 	-ú÷
	-ð 	-ús$   Á>9F Ã9FÄ>9FÆ F	ÆFÆF!c                 óð  — |j                  ddg«      }|j                  ddg«      }t        t        d¬«      5  t        ||d¬«       d d d «       t        t        d	¬«      5  t        ||d¬
«       d d d «       t        t        d¬«      5  t        ||d¬«       d d d «       t        t        d¬«      5  t        ||d¬«       d d d «       y # 1 sw Y   Œ‚xY w# 1 sw Y   ŒfxY w# 1 sw Y   ŒJxY w# 1 sw Y   y xY w)NrN   rO   rP   rQ   z`use_continuity` must be oner0   Úekki)Úuse_continuityz`alternative` must be one of©rÉ   z`axis` must be an integerr§   ru   z`method` must be one of©Úmethod)r2   Úassert_raisesr5   r   )r6   r7   r8   r9   s       r=   Útest_input_validationz&TestMannWhitneyU.test_input_validationî   sÛ   € Ø�J‰J˜˜1�vÓˆØ�J‰J˜˜1�vÓˆÜœ:Ð-KÔLñ 	6Ü˜˜A¨fÕ5÷	6äœ:Ð-KÔLñ 	3Ü˜˜A¨6Õ2÷	3äœ:Ð-HÔIñ 	)Ü˜˜A CÕ(÷	)äœ:Ð-FÔGñ 	.Ü˜˜A fÕ-÷	.ð 	.÷	6ð 	6ú÷	3ð 	3ú÷	)ð 	)ú÷	.ð 	.ús/   ¸CÁ CÂC Â0C,ÃCÃCÃ C)Ã,C5c                 óF  — t        |«      rQd}t        j                  t        |¬«      5  t	        |j                  d«      |j                  d«      «       d d d «       y t        j                  j                  d«      }d}|j                  |j                  |dz
  «      «      }|j                  |j                  |dz
  «      «      }t	        ||«      }t	        ||d¬«      }t	        ||d	¬«      }	|j                  |	j                  k(  sJ ‚|j                  |j                  k7  sJ ‚|j                  |j                  |dz
  «      «      }|j                  |j                  |dz   «      «      }t	        ||«      }t	        ||d¬«      }t	        ||d	¬«      }	|j                  |	j                  k(  sJ ‚|j                  |j                  k7  sJ ‚t	        ||«      }t	        ||d¬«      }t	        ||d	¬«      }	|j                  |	j                  k(  sJ ‚|j                  |j                  k7  sJ ‚|j                  |j                  |dz   «      «      }|j                  |j                  |dz   «      «      }t	        ||«      }t	        ||d¬«      }t	        ||d	¬«      }	|j                  |	j                  k7  sJ ‚|j                  |j                  k(  sJ ‚|j                  |j                  |dz
  «      «      }|j                  |j                  |dz
  «      «      }t        j                  |«      d
   j                  |d
   «      }t	        ||«      }t	        ||d¬«      }t	        ||d	¬«      }	|j                  |	j                  k7  sJ ‚|j                  |j                  k(  sJ ‚y # 1 sw Y   y xY w)Nz0`method='auto'` is incompatible with JAX arrays.r0   rT   l   nE QWS�frV   rN   Ú
asymptoticrÓ   ÚexactrP   )r   r4   r   r5   r   r]   r\   rw   rx   r2   rk   ÚxpxÚatÚset)
r6   r7   r<   rz   r“   r8   r9   ÚautorØ   rÙ   s
             r=   Ú	test_autozTestMannWhitneyU.test_autoú   s  € ä�"Œ:ØHˆGÜ—‘œz°Ô9ñ ;Ü˜RŸY™Y r›]¨B¯I©I°b«MÔ:÷;àä�i‰i×#Ñ#Ð$6Ó7ˆØˆð �J‰J�s—z‘z ! A¡#“Ó'ˆØ�J‰J�s—z‘z ! A¡#“Ó'ˆÜ˜A˜qÓ!ˆÜ! ! Q¨|Ô<ˆ
Ü˜Q ¨'Ô2ˆØ�{‰{˜eŸl™lÒ*Ð*Ð*Ø�{‰{˜j×/Ñ/Ò/Ð/Ð/ð �J‰J�s—z‘z ! A¡#“Ó'ˆØ�J‰J�s—z‘z ! A¡#“Ó'ˆÜ˜A˜qÓ!ˆÜ! ! Q¨|Ô<ˆ
Ü˜Q ¨'Ô2ˆØ�{‰{˜eŸl™lÒ*Ð*Ð*Ø�{‰{˜j×/Ñ/Ò/Ð/Ð/ô ˜A˜qÓ!ˆÜ! ! Q¨|Ô<ˆ
Ü˜Q ¨'Ô2ˆØ�{‰{˜eŸl™lÒ*Ð*Ð*Ø�{‰{˜j×/Ñ/Ò/Ð/Ð/ð �J‰J�s—z‘z ! A¡#“Ó'ˆØ�J‰J�s—z‘z ! A¡#“Ó'ˆÜ˜A˜qÓ!ˆÜ! ! Q¨|Ô<ˆ
Ü˜Q ¨'Ô2ˆØ�{‰{˜eŸl™lÒ*Ð*Ð*Ø�{‰{˜j×/Ñ/Ò/Ð/Ð/ð �J‰J�s—z‘z ! A¡#“Ó'ˆØ�J‰J�s—z‘z ! A¡#“Ó'ˆÜ�F‰F�1‹I�a‰L×Ñ˜Q˜q™TÓ"ˆÜ˜A˜qÓ!ˆÜ! ! Q¨|Ô<ˆ
Ü˜Q ¨'Ô2ˆØ�{‰{˜eŸl™lÒ*Ð*Ð*Ø�{‰{˜j×/Ñ/Ò/Ð/Ñ/÷e;àús   ©+NÎN )gm9—âªAj@g¼è+H3Œ[@gi¢²>s@)g›#ëhA{@gð±lËûz@gcžÚDf@gÇ³*âú¹h@gZ¬£ÿõA@gI9^¿YQa@g­ò§Ü`@g©î£ÞÕžp@gÑ¥Š–:q@gõó&º‚‚@g§Zµ|@g’`À×ÖÉr@gM‡cä3g@ú	two-sidedrØ   ©rÉ   rÔ   )ç      0@ç
+ž×÷å?rÃ   )rá   ç
+ž×÷Õ?rÄ   )rá   ç¼ŒÉ%c�æ?rÙ   )rá   g9§ƒ:¨ƒæ?)rá   g9§ƒ:¨ƒÖ?)rá   g*…:¨ƒ:æ?)ÚkwdsÚexpectedr?   r@   c                 óZ  — |€t        |«      nt        ||«      }|j                  | j                  |¬«      |j                  | j                  |¬«      }}t        ||fi |¤Ž}t        |j                  |j                  |d   |¬«      «       t        |j                  |j                  |d   |¬«      «       |d   dk(  ro| j                  |j                  |j                  |j                  d   |j                  d   |d   ¬«      }t        |j                  |j                  ||¬«      «       y y )NrD   r   rN   rÔ   rØ   rÉ   rÒ   )r   rJ   r2   r8   r9   r   r   rj   rk   rË   ÚshapeÚ
zstatistic)	r6   rå   ræ   r?   r7   r8   r9   rl   rÊ   s	            r=   Ú
test_basiczTestMannWhitneyU.test_basicU  s  € ð ).¨Ô  Ô$¼7À2ÀuÓ;MˆØ�z‰z˜$Ÿ&™&¨ˆzÓ.°·
±
¸4¿6¹6È°
Ó0Oˆ1ˆÜ˜1˜aÑ( 4Ñ(ˆÜ˜Ÿ™ r§z¡z°(¸1±+ÀU zÓ'KÔLÜ˜Ÿ
™
 B§J¡J¨x¸©{À% JÓ$HÔIØ�‰>˜\Ò)Ø×/Ñ/°·
±
¸C¿M¹MØ01·±¸±
¸A¿G¹GÀA¹JØ<@ÀÑ<Oð 0ó QˆAô ˜CŸN™N¨B¯J©J°qÀ¨JÓ,FÕGð	 *rL   T)rÉ   rÑ   )ç      7@râ   )rë   rä   )rë   rã   F)rë   gl,KÎNhä?)rë   gÊiÚ˜ØËå?)rë   gl,KÎNhÔ?c                 ó  — |j                  | j                  «      |j                  | j                  «      }}t        ||fddi|¤Ž}t	        |j
                  |j                  |d   «      «       t	        |j                  |j                  |d   «      «       | j                  |j                  |j
                  |j                  d   |j                  d   |d   ¬«      }t	        |j                  |j                  |«      «       y )NrÔ   rØ   r   rN   rÉ   rÒ   )
r2   r8   r9   r   r   rj   rk   rË   rè   ré   )r6   rå   ræ   r7   r8   r9   rl   rÊ   s           r=   Útest_continuityz TestMannWhitneyU.test_continuityp  sÊ   € ð �z‰z˜$Ÿ&™&Ó! 2§:¡:¨d¯f©fÓ#5ˆ1ˆÜ˜1˜aÑ=¨Ð=¸Ñ=ˆÜ˜Ÿ™ r§z¡z°(¸1±+Ó'>Ô?Ü˜Ÿ
™
 B§J¡J¨x¸©{Ó$;Ô<Ø×+Ñ+¨C¯J©J¸¿¹Ø,-¯G©G°A©J¸¿¹À¹
Ø8<¸]Ñ8Kð ,ó Mˆô 	˜Ÿ™¨¯
©
°1«Õ6rL   c           
      ó¾  — |j                  g d¢«      }|j                  g d¢«      }|j                  g d¢«      dz  }|j                  g d¢«      dz  }|j                  |dz
  ||z
  ||z
  |||z   ||z   |dz   g«      }t        ||dd¬«      }g d	¢}g d
¢}	t        |j                  |j                  |«      «       t        |j                  |j                  |	«      «       y )N©r˜   ç       @ç      @ç      @)r˜   rð   rñ   rò   rE   )r—   r˜   r—   r˜   r—   r‰   )r—   r—   r˜   r—   r—   rt   rØ   )rv   rÔ   )rT   rs   ç      !@rV   r³   rU   rS   )rN   g]�UÄÚì?g…æ[»é?giœ…\­æ?g°ZX<_Õã?gãžxº.á?gåß ê…
Ù?)r2   Ústackr   r   rj   r   rk   )
r6   r7   r8   Úy0ÚdyÚdy2r9   rl   Ú
U_expectedÚ
p_expecteds
             r=   Útest_tie_correctz!TestMannWhitneyU.test_tie_correct„  sÊ   € ð �J‰JÒ'Ó(ˆØ�Z‰ZÒ,Ó-ˆØ�Z‰ZÒ,Ó-¨dÑ2ˆØ�j‰jÒ-Ó.¨tÑ3ˆØ�H‰H�b˜‘g˜r "™u b¨¡f¨b°"°S±&¸"¸R¹%ÀÀDÁÐIÓJˆÜ˜1˜a b°Ô>ˆÚ/ˆ
òIˆ
ä˜Ÿ™ r§z¡z°*Ó'=Ô>Ü˜Ÿ
™
 B§J¡J¨zÓ$:Õ;rL   )g      Ð?r‹   g      è?)r¬   çš™™™™™É?r.   r­   )rŠ   r¬   rû   r(   r‹   gÍÌÌÌÌÌä?r¹   )rû   r.   r­   )gôýÔxé&±?g /Ý$Á?gJ+‡Ñ?r.   r­   )çyé&1¬œ?çÉv¾Ÿ/­?gÉv¾Ÿ/½?rû   gj¼t“Ô?çÛù~j¼tÛ?çƒÀÊ¡Eâ?)	gyé&1¬Œ?gV-²�?rý   r¬   gÙÎ÷SãÅ?g´Èv¾ŸÏ?gÁÊ¡E¶óÕ?g'1¬ZÜ?gmçû©ñÒá?rh   )gÇK7‰A`Å?gZd;ßOÕ?r‹   gòÒMbXå?)çªñÒMb¨?çR¸…ëQ¸?çR¸…ëQÈ?ççû©ñÒMÒ?rþ   rÿ   )	g;ßO�—n’?ç;ßO�—n¢?ç“V-²?g      À?gJ+‡É?r  gôýÔxé&Ù?r‹   g�•C‹lã?)çü©ñÒMb€?çü©ñÒMb�?çü©ñÒMb ?gyé&1¬¬?r  ççû©ñÒMÂ?g‘í|?5^Ê?g˜nƒÀÊÑ?g\�Âõ(\×?ç!°rh‘íÜ?çð§ÆK7‰á?)çü©ñÒMbp?r  r  rü   çú~j¼t“¨?g333333³?gÑ"Ûù~j¼?ç×£p=
×Ã?gáz®GáÊ?çð§ÆK7‰Ñ?g®GázÖ?g‹lçû©ñÚ?r‹   gºI+‡â?©rN   rO   rP   rQ   rR   )r	  r  g1¬ZdÛ?rÿ   )r  r  r	  ç1¬ZdË?g%�•C‹Ô?rþ   rÿ   )
gú~j¼t“ˆ?gú~j¼t“˜?r  gsh‘í|?µ?gøSã¥›ÄÀ?r  r  g+‡ÙÖ?r
  r  )g{®Gázt?r‰   gÛù~j¼t“?gL7‰A`å ?rý   gj¼t“¶?gP�—nƒÀ?gºI+‡Æ?gX9´ÈvÎ?g…ëQ¸…Ó?gü©ñÒMbØ?gsh‘í|?Ý?gÇK7‰A`á?)çü©ñÒMb`?r  g;ßO�—n‚?g¸…ëQ¸Ž?g9´Èv¾Ÿš?gË¡E¶óý¤?gTã¥›Ä °?gbX9´È¶?g°rh‘í|¿?g…ëQ¸Å?r  gôýÔxé&Ñ?gÉv¾Ÿ/Õ?gòÒMbXÙ?gÃõ(\�ÂÝ?g…ëQ¸á?)rW   r  r  r  g9´Èv¾ŸŠ?g/Ý$�•?r  r   gL7‰A`å°?g
×£p=
·?g¸…ëQ¸¾?r  gžï§ÆK7É?g`åÐ"ÛùÎ?g7‰A`åÐÒ?r(   g“V-Ú?gj¼t“Þ?gË¡E¶óýà?)rN   rO   rP   rQ   rR   rS   c           	      óâ  — t        t        dt        dd«      «       | j                  | j                  | j
                  | j                  dœ}|j                  «       D �]‘  \  }}|j                  «       D �]w  \  }}t        j                  dt        |«      «      }t        j                  j                  ||«       t        t        j                  j                  |¬«      |d¬«       t        j                  d||z  dz   «      }t        t        j                  j                  |¬«      t        j                  j                  |¬«      z   t        j                  j!                  |¬«      z
  d«       t        j                  j!                  |¬«      }t        ||d d d…   «       t        j                  j                  ||«       t        j                  j!                  |¬«      }	t        ||	«       �Œz �Œ” y )	NÚsr   )rP   rQ   rR   rS   )ÚkrW   rG   rN   rt   )Úsetattrr   r   Úpn3Úpn4Úpm5Úpm6Úitemsr\   r]   Úlenr  Ú
set_shapesr   r½   ÚsfÚpmf)
r6   Úp_tablesr“   ÚtableÚmr;   ÚuÚu2r  Úpmf2s
             r=   Útest_exact_distributionz(TestMannWhitneyU.test_exact_distribution´  sw  € ä”
˜C¤ a¨£Ô,à—x‘x D§H¡H°·±¸d¿h¹hÑGˆØ Ÿ™Ó(ó 	+‰HˆAˆuØŸ™›ó +‘��1ä—I‘I˜a¤ Q£Ó(�Ü—‘×'Ñ'¨¨1Ô-Ü¤
§¡× 0Ñ 0°1Ð 0Ó 5°q¸tÕDô —Y‘Y˜q ! A¡# a¡%Ó(�Ü¤
§¡× 0Ñ 0°2Ð 0Ó 6Ü",§,¡,§/¡/°B /Ó"7ñ!8ä",§,¡,×"2Ñ"2°RÐ"2Ó"8ñ!9à:;ô=ô
 !—l‘l×&Ñ&¨Ð&Ó,�Ü  S©¨2¨¡YÔ/ô —‘×'Ñ'¨¨1Ô-Ü!—|‘|×'Ñ'¨"Ð'Ó-�Ü  TÖ*ò)+ñ	+rL   c                 óÒ  — t         j                  j                  d«      }|j                  |j                  d«      «      }|j                  |j                  d«      «      }t	        ||d¬«      }t	        ||d¬«      }|j
                  |j
                  k(  sJ ‚|j                  |j                  |j                  z
  «      dkD  sJ ‚|j                  |j                  d«      «      }|j                  |j                  d«      «      }t	        ||d¬«      }t	        ||d¬«      }|j
                  |j
                  k(  sJ ‚|j                  |j                  |j                  z
  «      dk  sJ ‚y )	Niÿ0  rR   rÙ   rÓ   rØ   r‰   é(   rW   )r\   rw   rx   r2   r   rj   Úabsrk   )r6   r7   rz   r8   r9   Úres1Úres2s          r=   Útest_asymptotic_behaviorz)TestMannWhitneyU.test_asymptotic_behaviorÐ  s  € Ü�i‰i×#Ñ# EÓ*ˆð �J‰J�s—z‘z !“}Ó%ˆØ�J‰J�s—z‘z !“}Ó%ˆÜ˜A˜q¨Ô1ˆÜ˜A˜q¨Ô6ˆØ�~‰~ §¡Ò/Ð/Ð/Ø�v‰v�d—k‘k D§K¡KÑ/Ó0°4Ò7Ð7Ð7ð �J‰J�s—z‘z "“~Ó&ˆØ�J‰J�s—z‘z "“~Ó&ˆÜ˜A˜q¨Ô1ˆÜ˜A˜q¨Ô6ˆØ�~‰~ §¡Ò/Ð/Ð/Ø�v‰v�d—k‘k D§K¡KÑ/Ó0°4Ò7Ð7Ñ7rL   c                 ó   — |j                  g d¢«      |j                  ddg«      }}t        ||dd¬«      }t        ||dd¬«      }t        |j                  |j                  «       |j                  dkD  sJ ‚t        ||d	d¬«      }t        |j                  |j                  d
«      «       t        |j                  |j                  d«      «       y )N©r˜   rð   rñ   r§   ç      @rÃ   rÙ   rà   rÄ   r‹   rß   rñ   r˜   )r2   r   r   rk   rj   )r6   r7   r8   r9   Úres_lÚres_grl   s          r=   Útest_exact_U_equals_meanz)TestMannWhitneyU.test_exact_U_equals_meanå  s£   € ð �z‰zš,Ó'¨¯©°S¸#°JÓ)?ˆ1ˆÜ˜Q ¨v¸gÔFˆÜ˜Q ¨yÀÔIˆÜ˜Ÿ™ e§l¡lÔ3Ø�|‰|˜cÒ!Ð!Ð!ä˜1˜a¨[ÀÔIˆÜ˜Ÿ™ r§z¡z°"£~Ô6Ü˜Ÿ
™
 B§J¡J¨r£NÕ3rL   ©r—   r˜   )r—   r‹   )r—   g‹·éƒ¡Eï?)r—   rN   )rå   Úresultc                 ó.   — t        t        di |¤Ž|«       y )N©rN   rO   )r   r   )r6   rå   r4  s      r=   Útest_scalar_dataz!TestMannWhitneyU.test_scalar_data   s   € ô 	œÑ2¨TÑ2°FÕ;rL   c           	      óâ  — t        t        ddd¬«      d«       t        t        dddd¬«      d«       t        t        dddd¬«      d«       t        t        ddd¬«      d	t        j                  f«       t        t        ddddd
¬«      d	t        j                  f«       t        t        ddddd
¬«      d	t        j                  f«       t        t        dddd
¬«      d	t        j                  f«       y )NrN   rÙ   rÓ   )r‹   rN   rØ   rÃ   ©rÔ   rÉ   rÄ   r‹   F)rÔ   rÉ   rÑ   )rÔ   rÑ   )r   r   r\   r3   ©r6   s    r=   Útest_equal_scalar_dataz'TestMannWhitneyU.test_equal_scalar_data  s×   € ô 	”\ ! Q¨wÔ7¸ÔBÜ”\ ! Q¨|ÈÔPØô	ä”\ ! Q¨|ÈÔSØô	ä”\ ! Q¨|Ô<Øœ2Ÿ6™6�]ô	$ô
 	”\ ! Q¨|ÈØ16ô8Ø:=¼r¿v¹v¸ô	Hä”\ ! Q¨|ÈØ16ô8Ø:=¼r¿v¹v¸ô	Hä”\ ! Q¨|Ø16ô8Ø:=¼r¿v¹v¸õ	HrL   rÔ   c                 ót  — t         j                  j                  d«      }d}d\  }}|j                  |ddf«      }|j                  d|ddf«      dz   }t        |j	                  |«      |j	                  |«      ||¬	«      }	d
}
|	j
                  j                  |
k(  sJ ‚|	j                  j                  |
k(  sJ ‚t        j                  ||d«      t        j                  ||d«      }}|d   }|j                  |j                  k(  sJ ‚t        j                  ||
|fz   «      }t        j                  ||
|fz   «      }|j                  d d |
k(  sJ ‚|j                  d d |
k(  sJ ‚t        j                  |
«      }t        j                  |
«      }t        |
D �cg c]  }t        |«      ‘Œ c}Ž D ]8  }||   }||   }t        |||¬«      }|j                  ||<   |j
                  ||<   Œ: t        |	j
                  |j	                  |«      d¬«       t        |	j                  |j	                  |«      d¬«       y c c}w )Nl   2=U éýÿÿÿ)rU   rT   rP   rV   rS   rN   r¬   )rÔ   rv   )rS   rP   rV   rt   )N.rÓ   ç¼‰Ø—²Òœ<rG   )r\   rw   rx   r   r2   rk   rè   rj   ÚmoveaxisÚndimÚbroadcast_toÚzerosr   Úranger   )r6   rÔ   r7   rz   rv   r"  r“   r8   r9   rl   rè   Ú
statisticsÚpvaluesr{   ÚindicesÚxiÚyiÚtemps                     r=   Útest_gh_12837_11113z$TestMannWhitneyU.test_gh_12837_11113  s   € ô �i‰i×#Ñ# JÓ/ˆð ˆØ‰ˆˆ1Ø�J‰J˜˜1˜a�yÓ!ˆØ�J‰J˜˜1˜a �|Ó$ sÑ*ˆÜ˜2Ÿ:™: a›=¨"¯*©*°Q«-ÀÈTÔRˆàˆØ�z‰z×Ñ 5Ò(Ð(Ð(Ø�}‰}×"Ñ" eÒ+Ð+Ð+ô �{‰{˜1˜d BÓ'¬¯©°Q¸¸bÓ)Aˆ1ˆàˆi‰LˆØ�v‰v˜Ÿ™ÒÐÐä�O‰O˜A˜u¨ t™|Ó,ˆÜ�O‰O˜A˜u¨ t™|Ó,ˆØ�w‰w�s˜ˆ|˜uÒ$Ð$Ð$Ø�w‰w�s˜ˆ|˜uÒ$Ð$Ð$ô —X‘X˜e“_ˆ
Ü—(‘(˜5“/ˆÜ°5Ö 9¨a¤ q¥Ò 9Ð:ò 	+ˆGØ�7‘ˆBØ�7‘ˆBÜ  B¨vÔ6ˆDØ"&§.¡.ˆJ�wÑØ#Ÿ{™{ˆG�GÒð	+ô 	˜Ÿ
™
 B§J¡J¨wÓ$7¸eÕDÜ˜Ÿ™ r§z¡z°*Ó'=ÀEÖJùò !:s   ÆH5c                 ót  — g d¢}g d¢}t        |j                  |«      |j                  |«      d¬«      }d|d<   t        j                  |d<   t        |j                  |«      |j                  |«      d¬«      }t	        |j
                  |j
                  «       t	        |j                  |j                  «       y )Nrh   )rP   rS   rU   rV   rs   rP   rO   rN   rQ   rQ   rR   rØ   rÓ   r˜   r   rQ   )r   r2   r\   ry   r   rj   rk   )r6   r7   r8   r9   r*  r+  s         r=   Útest_gh_11355zTestMannWhitneyU.test_gh_11355H  s„   € âˆÚ-ˆÜ˜BŸJ™J q›M¨2¯:©:°a«=ÀÔNˆð ˆˆ!‰Ü�v‰vˆˆ!‰Ü˜BŸJ™J q›M¨2¯:©:°a«=ÀÔNˆä˜Ÿ™¨¯©Ô7Ü˜Ÿ™ T§[¡[Õ1rL   z	jax.numpyzneeds jax-ml/jax#34490)Úreasonc                 óR  — g d¢}dddt         j                  ddddddd	g}t        |j                  |«      |j                  |«      «      }t	        |j
                  |j                  |j                  «      «       t	        |j                  |j                  |j                  «      «       y )
Nrï   rP   rS   rU   rs   rO   rN   rQ   rR   )r\   r3   r   r2   r   rj   rk   )r6   r7   r8   r9   Úres3s        r=   Útest_gh11355_nanz!TestMannWhitneyU.test_gh11355_nanV  s{   € ò ˆØ��1”b—f‘f˜a  A q¨!¨Q°Ð2ˆÜ˜BŸJ™J q›M¨2¯:©:°a«=Ó9ˆÜ˜Ÿ™¨¯
©
°2·6±6Ó(:Ô;Ü˜Ÿ™ R§Z¡Z°·±Ó%7Õ8rL   )r˜   rO   rP   rQ   rP   rS   rU   rV   rO   rN   rQ   rR   ç      $@g+z’¿QœÀ?ró   g}$kù\¶?g     €1@g!Ë›G*ã?rá   g›Á,ÖsÿÝ?ç     €8@gêFÏHïQé?)r8   r9   rj   rk   c                 óø   — t        |j                  |«      |j                  |«      d¬«      }t        |j                  |j                  |«      d¬«       t        |j                  |j                  |«      d¬«       y )NrØ   rÓ   çê-�™—q=rG   )r   r2   r   rj   rk   )r6   r8   r9   rj   rk   r7   rl   s          r=   Útest_gh_11355bzTestMannWhitneyU.test_gh_11355bo  sT   € ô ˜2Ÿ:™: a›=¨"¯*©*°Q«-ÀÔMˆÜ˜Ÿ™ r§z¡z°)Ó'<À5ÕIÜ˜Ÿ
™
 B§J¡J¨vÓ$6¸UÖCrL   )TrÃ   rØ   g¾ˆ²Ò&Óì?)TrÄ   rØ   g„Ïì‡ÓO¿?)Trß   rØ   g„Ïì‡ÓOÏ?)FrÃ   rØ   g9@VN!xì?)FrÄ   rØ   g9þM�õ>¼?)Frß   rØ   g9þM�õ>Ì?)TrÃ   rÙ   g ?UÈV²ì?)TrÄ   rÙ   gßºVJHÀ?)Trß   rÙ   gèÁVJHÐ?)rÑ   rÉ   rÔ   Ú
pvalue_expc                 ó  — d}|j                  g d¢«      }|j                  g d¢«      }t        |||||¬«      }	t        |	j                  |j                  |«      «       t	        |	j
                  |j                  |«      «       y )Ng     €A@)
r£   g�Âõ(\�ê?g=
×£p=þ?g¤p=
×£ð?g333333÷?g®Gázö?g�Âõ(\�þ?g=
×£p=ú?r'   g\�Âõ(\÷?)gffffffò?g)\�Âõ(ì?r²   g®Gáz®ç?g\�Âõ(\ó?©rÑ   rÉ   rÔ   )r2   r   r   rj   r   rk   )
r6   rÑ   rÉ   rÔ   rV  r7   Ústatistic_expr8   r9   rl   s
             r=   Útest_gh_9184zTestMannWhitneyU.test_gh_9184€  sk   € ð. ˆØ�J‰JÒSÓTˆØ�J‰JÒ5Ó6ˆÜ˜1˜a°Ø'2¸6ôCˆä˜Ÿ™ r§z¡z°-Ó'@ÔAÜ˜Ÿ
™
 B§J¡J¨zÓ$:Õ;rL   c                 ó   — |j                  |j                  «      }|j                  |||||g«      }|j                  |||||g«      }t        ||«      }t	        |j
                  |j                  |«      «       t	        |j                  |«       y rµ   )r2   r3   rô   r   r   rj   rk   )r6   r7   r3   ÚaÚbrl   s         r=   Útest_gh_4067zTestMannWhitneyU.test_gh_4067Ÿ  sx   € ð �j‰j˜Ÿ™Ó ˆØ�H‰H�c˜3  S¨#Ð.Ó/ˆØ�H‰H�c˜3  S¨#Ð.Ó/ˆÜ˜1˜aÓ ˆÜ˜Ÿ™ r§z¡z°#£Ô7Ü˜Ÿ
™
 CÕ(rL   r.  r§   r/  )rñ   ga×€}¢ã?)rñ   r˜   )r§   g¤Û?hÍå?)r§   r˜   )rð   gæ5&#\å?)rð   r˜   )r8   r9   rÉ   ræ   c                 ó@  — t        |j                  |«      |j                  |«      d|d¬«      }t        |«      |j                  k(  rdnd}t	        |j
                  |j                  |d   «      |¬«       t	        |j                  |j                  |d   «      |¬«       y )	NTrØ   rX  ç�íµ ÷Æ°>rT  r   ©ÚrtolrN   )r   r2   r   rA   r   rj   rk   )r6   r8   r9   rÉ   ræ   r7   rl   rb  s           r=   Útest_gh_2118zTestMannWhitneyU.test_gh_2118¹  s{   € ô ˜2Ÿ:™: a›=¨"¯*©*°Q«-ÈØ'2¸<ôIˆä'¨Ó+¨r¯z©zÒ9‰t¸uˆÜ˜Ÿ™ r§z¡z°(¸1±+Ó'>ÀTÕJÜ˜Ÿ
™
 B§J¡J¨x¸©{Ó$;À$ÖGrL   c                 ó0  — t         j                  j                  d«      }d\  }}|j                  |j                  |¬«      j	                  «       «      }|j                  |j                  |¬«      j	                  «       «      }t        t        dt        dd«      «       t        j                  j                  «        t        j                  ||d¬«      }t        j                  j                  j                  }|d   t        |j                  ||z  |j                  z
  «      d	z   k(  sJ ‚t        j                  ||d¬«       |t        j                  j                  j                  k(  sJ ‚t        j                  j                  «        t        j                  |d|z  dd
¬«       t        j                  j                  j                  }|d   d	k(  sJ ‚t        j                  d|z  |dd
¬«       |t        j                  j                  j                  k(  sJ ‚y )Nì   g>·mŽjÑK )rR   ro   rp   r  r   rÙ   rÓ   rt   rN   rÄ   r9  )r\   rw   rx   r2   Útolistr  r   r   r  Úresetr   r   Úconfigurationsrè   Úminrj   )	r6   r7   rz   r"  r“   r8   r9   rl   rè   s	            r=   Útest_gh19692_smaller_tablez+TestMannWhitneyU.test_gh19692_smaller_tableÃ  s•  € ô
 �i‰i×#Ñ#Ð$7Ó8ˆØ‰ˆˆ1Ø�J‰J�s—z‘z q�zÓ)×0Ñ0Ó2Ó3ˆØ�J‰J�s—z‘z q�zÓ)×0Ñ0Ó2Ó3ˆä”
˜C¤ a¨£Ô,Ü�‰×ÑÔä× Ñ   A¨gÔ6ˆÜ—‘×+Ñ+×1Ñ1ˆØ�R‰yœC §¡¨q°©s°S·]±]Ñ/BÓCÀaÑGÒGÐGÐGÜ×Ñ˜1˜a¨Õ0Øœ
Ÿ™×3Ñ3×9Ñ9Ò9Ð9Ð9ô
 	�‰×ÑÔÜ×Ñ˜1˜a ™c¨'¸yÕIÜ—‘×+Ñ+×1Ñ1ˆØ�R‰y˜AŠ~Ðˆ~Ü×Ñ˜1˜Q™3 ¨'¸yÕIØœ
Ÿ™×3Ñ3×9Ñ9Ò9Ð9Ñ9rL   rÉ   )rÃ   rÄ   rß   c                 óÚ  — t         j                  j                  d«      }|j                  |j                  d¬«      «      }|j                  |j                  d¬«      «      }t	        j
                  ||t	        j                  «       |d¬«      }t	        j
                  ||d|d¬«      }t        |j                  |j                  d¬	«       t        |j                  |j                  d¬	«       y )
Nre  )rO   rR   rp   )rO   rS   rN   )rÔ   rÉ   rv   rÙ   çVçž¯Ò<ra  )
r\   rw   rx   r2   r   r   ÚPermutationMethodr   rj   rk   )r6   rÉ   r7   rz   r8   r9   rl   r+  s           r=   Útest_permutation_methodz(TestMannWhitneyU.test_permutation_methodà  s²   € ä�i‰i×#Ñ#Ð$7Ó8ˆØ�J‰J�s—z‘z v�zÓ.Ó/ˆØ�J‰J�s—z‘z v�zÓ.Ó/ˆÜ× Ñ   A¬e×.EÑ.EÓ.GØ-8¸qôBˆä×!Ñ! ! Q¨wØ.9ÀôCˆä˜Ÿ™ t§~¡~¸EÕBÜ˜Ÿ
™
 D§K¡K°eÖ<rL   )g®Þ	ÂUå3@g^û�Â–‹3@g™òtÇ3@g½¢™]o·5@g·z³S4@gÔtÆ< 4@gM	‚«X3@gXÄmCók4@gLìo&£3@gfÉ˜ÊâÇ2@gžý{m;^3@ga A$|3@gMÑ¢Á_À4@gŽÌ#é3@g19T•_3@gg§„Cÿ2@gúqïR4@g˜Kk/±4@gè—Ü�Š3@gÌZ†û2@g„_
À²ƒ3@g«ÝÀ$`Ó3@g
ŒÃx„4@g3ƒ#Ð»5@g;VND÷ò1@g >®ƒåH2@g—µâr4@g³»ØyÜ¤2@gèà’?4@g=bòÉ‡Ž3@)gÔäìpG3@g„Lä:jþ0@gýî„¨Š2@g«¹JNnC1@gRÀ;`(3@g+Pi,ƒ2@g6:Z›2@gZ"3=ùÕ2@gF	uSa	3@gXâÒ€2@g¥ÙX3^83@g§2¡Õ1@g÷��J2@gZ)Eû‡ª2@g¦U8ø3@g°»°50@g�ˆ³Ô†3@gFz‰™33@gøèãz3@g¨¢²Ú´3@g›+¡†›„=c                 óV  — |j                  | j                  «      |j                  | j                  «      }}t        d¬«      }t	        j
                  ||fddi|¤Ž\  }}t	        j
                  ||fddi|¤Ž\  }}t	        j
                  ||fddi|¤Ž\  }	}
t	        j
                  ||fddi|¤Ž\  }}t        ||«       t        |
|«       ||
k7  sJ ‚t        ||j                  d«      «       t        ||j                  d«      «       t        |	|j                  d«      «       t        ||j                  d«      «       t        ||j                  d«      | j                  ¬	«       |j                  |j                  k(  r| j                  nd
}t        |
|j                  d«      |d¬«       y )NrØ   rÓ   rÉ   rÃ   rÄ   ç      @ç     €Y@g=_A§ÿï?ra  çü©ñÒMb@?glP†z.?r>  ©rb  rH   )r2   ÚXÚYÚdictr   r   r   r   rb  r?   rB   ©r6   r7   rt  ru  ÚkwargsÚu1ra   r$  rc   Úu3re   Úu4Úp4rb  s                 r=   Útest_mannwhitneyu_one_sidedz,TestMannWhitneyU.test_mannwhitneyu_one_sidedþ  sf  € Ø�z‰z˜$Ÿ&™&Ó! 2§:¡:¨d¯f©fÓ#5ˆ1ˆÜ˜\Ô*ˆÜ×#Ñ# A qÑG°fÐGÀÑG‰ˆˆBÜ×#Ñ# A qÑJ°iÐJÀ6ÑJ‰ˆˆBÜ×#Ñ# A qÑJ°iÐJÀ6ÑJ‰ˆˆBÜ×#Ñ# A qÑG°fÐGÀÑG‰ˆˆBä˜˜BÔÜ˜˜BÔØ�RŠxˆˆxÜ˜˜BŸJ™J tÓ,Ô-Ü˜˜BŸJ™J tÓ,Ô-Ü˜˜BŸJ™J tÓ,Ô-Ü˜˜BŸJ™J tÓ,Ô-Ü˜˜BŸJ™JÐ'8Ó9ÀÇ	Á	ÕJØŸG™G r§z¡zÒ1ˆt�yŠy°tˆÜ˜˜BŸJ™JÐ':Ó;À$ÈUÖSrL   c                 ó   — |j                  | j                  «      |j                  | j                  «      }}t        dd¬«      }t	        j
                  ||fi |¤Ž\  }}t	        j
                  ||fi |¤Ž\  }}t        ||«       t        ||j                  d«      «       t        ||j                  d«      «       |j                  |j                  k(  r| j                  nd}	t        ||j                  d«      |	d¬	«       y )
Nrß   rØ   rà   rp  rq  rr  glP†z.?r>  rs  ©r2   rt  ru  rv  r   r   r   r?   rB   rb  r   ©
r6   r7   rt  ru  rx  ry  ra   r$  rc   rb  s
             r=   Útest_mannwhitneyu_two_sidedz,TestMannWhitneyU.test_mannwhitneyu_two_sided  sÉ   € Ø�z‰z˜$Ÿ&™&Ó! 2§:¡:¨d¯f©fÓ#5ˆ1ˆÜ +°lÔCˆÜ×#Ñ# A qÑ3¨FÑ3‰ˆˆBÜ×#Ñ# A qÑ3¨FÑ3‰ˆˆBä˜˜BÔÜ˜˜BŸJ™J tÓ,Ô-Ü˜˜BŸJ™J tÓ,Ô-ØŸG™G r§z¡zÒ1ˆt�yŠy°tˆÜ˜˜BŸJ™JÐ'9Ó:ÀÈEÖRrL   c                 óF  — |j                  | j                  «      |j                  | j                  «      }}t        dd¬«      }t	        j
                  ||fddi|¤Ž\  }}t	        j
                  ||fddi|¤Ž\  }}t	        j
                  ||fddi|¤Ž\  }	}
t	        j
                  ||fddi|¤Ž\  }}t        ||«       t        |
|«       ||
k7  sJ ‚t        ||j                  d«      «       t        ||j                  d«      «       t        |	|j                  d«      «       t        ||j                  d«      «       |j                  |j                  k(  r| j                  nd	}t        ||j                  d
«      |d¬«       t        |
|j                  d«      |d¬«       y )NFrØ   ©rÑ   rÔ   rÉ   rÃ   rÄ   rp  rq  rr  gii5‡£ÿï?r>  rs  g¬2¥¥2?r  rw  s                 r=   Ú&test_mannwhitneyu_no_correct_one_sidedz7TestMannWhitneyU.test_mannwhitneyu_no_correct_one_sided  sf  € Ø�z‰z˜$Ÿ&™&Ó! 2§:¡:¨d¯f©fÓ#5ˆ1ˆÜ U°<Ô@ˆÜ×#Ñ# A qÑG°fÐGÀÑG‰ˆˆBÜ×#Ñ# A qÑJ°iÐJÀ6ÑJ‰ˆˆBÜ×#Ñ# A qÑJ°iÐJÀ6ÑJ‰ˆˆBÜ×#Ñ# A qÑG°fÐGÀÑG‰ˆˆBä˜˜BÔÜ˜˜BÔØ�RŠxˆˆxÜ˜˜BŸJ™J tÓ,Ô-Ü˜˜BŸJ™J tÓ,Ô-Ü˜˜BŸJ™J tÓ,Ô-Ü˜˜BŸJ™J tÓ,Ô-ØŸG™G r§z¡zÒ1ˆt�yŠy°tˆÜ˜˜BŸJ™JÐ'8Ó9ÀÈ5ÕQÜ˜˜BŸJ™JÐ';Ó<À4ÈeÖTrL   c                 ó   — |j                  | j                  «      |j                  | j                  «      }}t        dd¬«      }t	        j
                  ||fi |¤Ž\  }}t	        j
                  ||fi |¤Ž\  }}t        ||«       t        ||j                  d«      «       t        ||j                  d«      «       |j                  |j                  k(  r| j                  nd}	t        ||j                  d«      |	d¬	«       y )
NFrØ   rƒ  rp  rq  rr  g¬2¥¥2?r>  rs  r  r€  s
             r=   Ú&test_mannwhitneyu_no_correct_two_sidedz7TestMannWhitneyU.test_mannwhitneyu_no_correct_two_sided0  sÉ   € Ø�z‰z˜$Ÿ&™&Ó! 2§:¡:¨d¯f©fÓ#5ˆ1ˆÜ U°<Ô@ˆÜ×#Ñ# A qÑ3¨FÑ3‰ˆˆBÜ×#Ñ# A qÑ3¨FÑ3‰ˆˆBä˜˜BÔÜ˜˜BŸJ™J tÓ,Ô-Ü˜˜BŸJ™J tÓ,Ô-ØŸG™G r§z¡zÒ1ˆt�yŠy°tˆÜ˜˜BŸJ™JÐ';Ó<À4ÈeÖTrL   c                 óº  — |j                  g d¢«      }|j                  g d¢«      }t        d¬«      }t        j                  ||fddi|¤Ž}t	        |j
                  |j                  d«      «       t	        |j                  |j                  d«      «       t        j                  ||fdd	i|¤Ž}t	        |j
                  |j                  d«      «       t	        |j                  |j                  d
«      «       t        j                  ||fddi|¤Ž}t	        |j
                  |j                  d«      «       t	        |j                  |j                  d«      «       y )N)ôr˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   rð   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   rð   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   rð   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   rð   r˜   r˜   r˜   r˜   rð   r˜   r˜   rð   r˜   r˜   rð   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   rð   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   rð   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   rð   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   rñ   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   )žr˜   r˜   r˜   r˜   r˜   r˜   r˜   rð   r˜   rð   r˜   r˜   r˜   r˜   rð   r˜   r˜   r˜   rð   r˜   r˜   r˜   r˜   r˜   rð   r˜   r˜   rñ   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   rð   r˜   rð   r˜   r˜   r˜   r˜   r˜   r˜   rð   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   rð   r˜   r˜   r˜   r˜   r˜   rð   rð   r˜   r˜   rð   r˜   r˜   rð   r˜   rð   r˜   r˜   r˜   r˜   rð   rð   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   rð   r˜   r˜   r˜   r˜   r˜   rð   rð   rð   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   rð   r˜   r˜   rð   r˜   r˜   r˜   r˜   rð   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   r˜   rð   r˜   r˜   r˜   rð   r˜   r˜   r˜   r˜   r˜   r˜   rØ   rÓ   rÉ   rÃ   g     •Ð@g €?Õ¹•ý>rÄ   gÜ&)EÅÿï?rß   g�Ž?Õ¹•?)r2   rv  r   r   r   rj   rk   )r6   r7   r8   r9   rx  rl   s         r=   Útest_mannwhitneyu_onesz'TestMannWhitneyU.test_mannwhitneyu_ones<  s  € à�J‰Jò 0ó 1ˆð& �J‰Jò (ó )ˆô ˜\Ô*ˆÜ× Ñ   AÑD°6ÐD¸VÑDˆÜ˜Ÿ™ r§z¡z°'Ó':Ô;Ü˜Ÿ
™
 B§J¡JÐ/DÓ$EÔFÜ× Ñ   AÑG°9ÐGÀÑGˆÜ˜Ÿ™ r§z¡z°'Ó':Ô;Ü˜Ÿ
™
 B§J¡J¨Ó$?Ô@Ü× Ñ   AÑI°;ÐIÀ&ÑIˆÜ˜Ÿ™ r§z¡z°'Ó':Ô;Ü˜Ÿ
™
 B§J¡JÐ/@Ó$AÕBrL   N)2r�   r‚   rƒ   rË   rÎ   rÖ   rÞ   r8   r9   Úcases_basicr4   r„   r…   rê   Úcases_continuityrí   rú   r  r  r  r  r&  r,  r2  Úcases_scalarr7  r;  rJ  rL  Úskip_xp_backendsrP  r\   ry   Úcases_11355rU  Ú
cases_9184rZ  r^  Ú
cases_2118rc  rj  rn  rt  ru  rb  r}  r�  r„  r†  rˆ  r†   rL   r=   rÁ   rÁ   È   s¡  „ òò-ò*
.ò60òt 	-€Aò	€Að& %0¸<ÑHØ*ð,à$*°lÑCØ*ð,à$-¸ÑFØ*ð,à$/¸7ÑCØ*ð,à$*°gÑ>Ø*ð,à$-¸ÑAØ*ð,ð-€Kð ‡[�[×ÑÐ1°;Ó?Ø‡[�[×Ñ˜WÒ&BÓCñ
Hó Dó @ð
Hð *5ÈÑMØ/ð1à)/À4ÑHØ/ð1à)2ÀdÑKØ/ð1à)4ÈÑNØ/ð1à)/À5ÑIØ/ð1à)2ÀeÑLØ/ð1ð2Ðð ‡[�[×ÑÐ1Ð3CÓDñ7ó Eð7ò&<ò,  Ò$8Ú.ñ0€CâÒ"AÚ<ÚKñM€Cò )Ú7ÚKò2ò<ñ=€Cò +Ú?ò1ò9òGò$ñ%€Cò+ò88ò*4ð" &1¸LÑIØðà%+°|ÑDØð à%.¸,ÑGØ)ð+à%0¸GÑDÀgÐNØ%+°wÑ?ÀÐKØ%.¸'ÑBÀGÐLðN€Lð ‡[�[×ÑÐ/°Ó>ñ<ó ?ð<òHð. ‡[�[×Ñ˜X¨°gÐ'>Ó?ñ)Kó @ð)KòV2ñ �kÐ*BÔCñ9ó Dð9ò "Ø˜˜1˜a §¡¨¨A¨q°!°Q¸Ð:Ø˜ð*ò "Ø˜˜1˜a §¡¨¯©°°A°q¸!¸QÐ?ØÐ)ð+ð ˜˜2Ÿ6™6 1Ð%Ø˜˜1˜a §¡¨¨A¨q°!°Q¸Ð:Ø˜/ð+ð ˜˜2Ÿ6™6 1Ð%Ø˜˜1˜a §¡¨¯©°°A°q¸!¸QÐ?Ø˜ð*ð ˜Ÿ™ §¡¨Ð*Ø˜˜1˜a §¡¨¯©°°A°q¸!¸QÐ?Ø˜/ð+ð,€Kð  ‡[�[×ÑÐ>ÀÓLñDó MðDò ?ÚBÚCÚ@ÚCÚEÚ:Ú=Ú?ðA€Jð ‡[�[×Ñð 6Ø7AóCñ<óCð<ñ: �kÐ*BÔCñ)ó Dð)ò   # s ¨YÐ8MÐNÚ # s ¨VÐ5JÐKÚ # s ¨[¸)ÐDÚ˜q˜c 9Ð.CÐDÚ˜q˜c 6Ð+@ÐAÚ˜q˜c ;°	Ð:Ø�q�6˜A˜q˜6 9Ð.BÐCØ�q�6˜A˜q˜6 6Ð+?Ð@Ø�q�6˜A˜q˜6 ;°Ð9ð;€Jð ‡[�[×ÑÒBÀJÓOñHó PðHò:ð: ‡[�[×Ñ˜]Ò,LÓMñ	=ó Nð	=ò	-€Aò	N€Að €DòTò&
SòUò&
Uó,CrL   rÁ   c                   ó˜   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zej                  j!                  dd«      d„ «       Zd„ Zy)ÚTestSomersDc                 óÜ  — | j                   | j                  z   | _        t        j                  d«      | j                   | j                  z   ft        j                  d«      | j                   | j                  z   fdœ| _        | j
                  D �cg c]  }| j
                  |   d   ‘Œ }}t        j                  t        j                  d¬«      | _
         | j                  |Ž | _        y c c}w )NrT   ©r   rN   r   rß   rÒ   )ÚALL_INTEGERÚ	ALL_FLOATÚdtypesr\   r]   Ú	argumentsÚ	functoolsÚpartialr   ÚsomersdÚpartialfuncræ   )r6   ÚidxÚinput_arrays      r=   Úsetup_methodzTestSomersD.setup_methodl  sÈ   € Ø×&Ñ&¨¯©Ñ7ˆŒÜ Ÿi™i¨›mØ"×.Ñ.°·±Ñ?ðAä Ÿi™i¨›mØ"×.Ñ.°·±Ñ?ðAñBˆŒð :>¿¹ÖH°#�t—~‘~ cÑ*¨1Ó-ÐHˆÐHô
 %×,Ñ,¬U¯]©]Ø9DôFˆÔà(˜×(Ñ(¨+Ð6ˆ�ùò Is   ÂC)c                 óÒ   —  | j                   |Ž }t        |j                  | j                  j                  d¬«       t        |j                  | j                  j                  d¬«       y )Nrl  rG   )r›  r   rj   ræ   rk   )r6   r¾   rl   s      r=   ÚpythranfunczTestSomersD.pythranfunc{  sH   € Øˆd×Ñ Ð%ˆÜ˜Ÿ™ t§}¡}×'>Ñ'>ÀUÕKÜ˜Ÿ
™
 D§M¡M×$8Ñ$8¸uÖErL   c                 ó6  — g d¢g d¢g d¢g}t        j                  |«      }| j                  t         j                  «      }t        j                  |fi |¤Ž}t        |j                  |j                  d¬«       t        |j
                  |j
                  d¬«       y )N)r™   é   é   rU   r   )rU   r£  é   é#   rr   )rN   rP   rO   rU   é   rl  rG   )r   rš  Úget_optional_argsr   rj   rk   )r6   r!  r*  Úoptional_argsr+  s        r=   Útest_pythranfunc_keywordsz%TestSomersD.test_pythranfunc_keywords€  sm   € â#Ò%8Ò:JÐKˆÜ�}‰}˜UÓ#ˆà×.Ñ.¬u¯}©}Ó=ˆÜ�}‰}˜UÑ4 mÑ4ˆä˜Ÿ™¨¯©¸UÕCÜ˜Ÿ™ T§[¡[°uÖ=rL   c                 óä
  — g d¢}g d¢}d}t        j                  ||«      }t        |j                  |d   d¬«       t        |j                  |d   d¬«       g d¢}g d	¢}d}t        j                  ||«      }t        |j                  |d   d¬«       t        |j                  |d   d¬«       g d
¢}g d¢}d}t        j                  ||«      }t        |j                  |d   d¬«       t        |j                  |d   d¬«       t        j                  d«      }t        j                  d«      }d}t        j                  ||«      }t        |j                  |d   d¬«       t        |j                  |d   d¬«       t        j                  d«      }t        j                  g d¢«      }d}t        j                  ||«      }t        |j                  |d   d¬«       t        |j                  |d   d¬«       t        j                  d«      }t        j                  d«      d d d…   }d}t        j                  ||«      }t        |j                  |d   d¬«       t        |j                  |d   d¬«       t        j                  d«      }t        j                  g d¢«      }d}t        j                  ||«      }t        |j                  |d   d¬«       t        |j                  |d   d¬«       g d¢}g d¢}d}t        j                  ||«      }t        |j                  |d   d¬«       t        |j                  |d   d¬«       t        j                  g d¢g d¢«      }t        |j                  t
        j                  «       t        |j                  t
        j                  «       t        j                  g d¢g d¢«      }t        |j                  t
        j                  «       t        |j                  t
        j                  «       t        j                  g d¢g d¢«      }t        |j                  t
        j                  «       t        |j                  t
        j                  «       t        j                  dgdg«      }t        |j                  t
        j                  «       t        |j                  t
        j                  «       t        j                  g g «      }t        |j                  t
        j                  «       t        |j                  t
        j                  «       t        j                  d«      }t        j                  d«      }t        t        t         j                  ||«       y )N)rR   rO   rN   rP   rS   rQ   rU   rV   )rR   rO   rS   rP   rN   rV   rU   rQ   r3  r   rl  rG   rN   )	r   rR   rO   rN   rP   rS   rQ   rU   rV   )	rR   rO   r   rS   rP   rN   rV   rU   rQ   )rR   rO   rN   rP   rS   rQ   rU   )rR   rO   rS   rP   rN   rU   rQ   )g+$I’$IÂ¿g=/3n£+ä?rT   ©r˜   r   )
r   rO   rN   rP   rQ   rS   rR   rU   rV   rs   )gsÒ'}Ò'í?r—   rt   )g      ð¿r   )
rs   rU   rV   rS   rR   rP   rQ   rO   rN   r   )g}Ò'}Ò'í¿r—   )rr   rO   rN   rr   rO   )rN   rQ   rU   rN   r   )ç      à¿gÞ.Ê‚ƒÓ?)rO   rO   rO   )rO   r   rO   rQ  ç      4@)r   rš  r   rj   rk   r\   r]   Úarrayr3   rÕ   r5   )r6   r8   r9   ræ   rl   Úx1Úx2s          r=   Útest_like_kendalltauz TestSomersD.test_like_kendalltau‹  sÕ  € ò %ˆÚ$ˆà9ˆÜ�m‰m˜A˜qÓ!ˆÜ˜Ÿ™ x°¡{¸Õ?Ü˜Ÿ
™
 H¨Q¡K°eÕ<ò (ˆÚ'ˆà9ˆÜ�m‰m˜A˜qÓ!ˆÜ˜Ÿ™ x°¡{¸Õ?Ü˜Ÿ
™
 H¨Q¡K°eÕ<ò "ˆÚ!ˆà:ˆÜ�m‰m˜A˜qÓ!ˆÜ˜Ÿ™ x°¡{¸Õ?Ü˜Ÿ
™
 H¨Q¡K°eÕ<ô �I‰I�b‹MˆÜ�I‰I�b‹Mˆð *ˆÜ�m‰m˜A˜qÓ!ˆÜ˜Ÿ™ x°¡{¸Õ?Ü˜Ÿ
™
 H¨Q¡K°eÕ<ô �I‰I�b‹MˆÜ�H‰HÒ3Ó4ˆà9ˆÜ�m‰m˜A˜qÓ!ˆÜ˜Ÿ™ x°¡{¸Õ?Ü˜Ÿ
™
 H¨Q¡K°eÕ<ô �I‰I�b‹MˆÜ�I‰I�b‹M™$˜B˜$Ñˆð +ˆÜ�m‰m˜A˜qÓ!ˆÜ˜Ÿ™ x°¡{¸Õ?Ü˜Ÿ
™
 H¨Q¡K°eÕ<ô �I‰I�b‹MˆÜ�H‰HÒ3Ó4ˆà;ˆÜ�m‰m˜A˜qÓ!ˆÜ˜Ÿ™ x°¡{¸Õ?Ü˜Ÿ
™
 H¨Q¡K°eÕ<ò ˆÚˆà:ˆÜ�m‰m˜B Ó#ˆÜ˜Ÿ™ x°¡{¸Õ?Ü˜Ÿ
™
 H¨Q¡K°eÕ<ô �m‰mšI¢yÓ1ˆÜ˜Ÿ™¤r§v¡vÔ.Ü˜Ÿ
™
¤B§F¡FÔ+ä�m‰mšI¢yÓ1ˆÜ˜Ÿ™¤r§v¡vÔ.Ü˜Ÿ
™
¤B§F¡FÔ+ä�m‰mšI¢yÓ1ˆÜ˜Ÿ™¤r§v¡vÔ.Ü˜Ÿ
™
¤B§F¡FÔ+ä�m‰m˜Q˜C ! Ó%ˆÜ˜Ÿ™¤r§v¡vÔ.Ü˜Ÿ
™
¤B§F¡FÔ+ô �m‰m˜B Ó#ˆÜ˜Ÿ™¤r§v¡vÔ.Ü˜Ÿ
™
¤B§F¡FÔ+ô �I‰I�c‹NˆÜ�I‰I�c‹NˆÜ”j¤%§-¡-°°AÕ6rL   c                 ó¸  — g d¢}g d¢}d}d}d}t        j                  ||«      }t        |j                  |d¬«       t        |j                  |d¬«       t        |j                  j                  d	«       t        j                  ||«      }t        |j                  |d¬«       t        |j                  |d¬«       t        |j                  j                  d
«       y )N)rN   rN   rN   rO   rO   rO   rO   rO   rP   rP   rN   rO   rO   rO   rO   rO   rO   rO   rP   rP   rP   rP   rP   rP   )rN   rN   rN   rN   rN   rN   rN   rN   rN   rN   rO   rO   rO   rO   rO   rO   rO   rO   rO   rO   rO   rO   rO   rO   gCÑE]tÑ?gâ^ñ_ñÕ?gO((ÄÇ·?rl  rG   rI   )rP   rO   ©rO   rP   )r   rš  r   rj   rk   r   r!  rè   )r6   r8   r9   Úd_crÚd_rcr;   rl   s          r=   Útest_asymmetryzTestSomersD.test_asymmetryú  s¥   € ò1ˆò1ˆð !ˆØ ˆØˆÜ�m‰m˜A˜qÓ!ˆÜ˜Ÿ™ t°%Õ8Ü˜Ÿ
™
 A¨DÕ1Ü�S—Y‘Y—_‘_ fÔ-Ü�m‰m˜A˜qÓ!ˆÜ˜Ÿ™ t°%Õ8Ü˜Ÿ
™
 A¨EÕ2Ü�S—Y‘Y—_‘_ fÕ-rL   c                 ó^  — t        j                  ddgddgddgddgddgg«      }|j                  }d}t        t	        j
                  |«      j                  |«       t        j                  d	d
gdd
gd
dgg«      }d\  }}t        t	        j
                  |«      j                  |«       t        t	        j
                  |j                  «      j                  |«       t        j                  d	d
gd
dgdd
gg«      }d}t        t	        j
                  |j                  «      j                  |«       y )NrV   rO   rS   rR   rP   rQ   rN   gHHHHHHØ?r¢  r   éU   rZ   )gœÜMî&wã?r˜   gtÑE]tá¿)r\   r®  ÚTr   r   rš  rj   )r6   r!  ÚdyxÚdxys       r=   Útest_somers_originalz TestSomersD.test_somers_original  sÿ   € ô
 —‘˜1˜a˜& 1 a &¨1¨a¨&°1°a°&¸1¸a¸&ÐAÓBˆà—‘ˆØˆÜœŸ™ eÓ,×6Ñ6¸Ô<ô —‘˜2˜q˜' B¨ 7¨Q°¨GÐ4Ó5ˆØ'‰ˆˆSÜœŸ™ eÓ,×6Ñ6¸Ô<ÜœŸ™ e§g¡gÓ.×8Ñ8¸#Ô>ô —‘˜2˜q˜' A r 7¨R°¨GÐ4Ó5ˆØˆÜœŸ™ e§g¡gÓ.×8Ñ8¸#Õ>rL   c                 óª  — d}d}t        j                  |«      }t         j                  j                  d«      }t        j
                  j                  |t        j                  |«      |z  |¬«      j                  |«      }t	        j                  |«      }t        j                  |dt        j                  |d   «      d¬«      }t	        j                  |«      }t        j                  |dt        j                  |d   «      d¬«      }	t	        j                  |	«      }
t        j                  |dt        j                  |d   dz   «      d¬«      }t	        j                  |«      }t        |j                  dd	¬
«       t        |j                  |j                  «       t        |j                  |
j                  «       t        |j                  |j                  «       t        |j                  dd	¬
«       t        |j                  |j                  «       t        |j                  |
j                  «       t        |j                  |j                  «       y )Nrœ   ©rQ   rS   r   ©r;   Úrandom_staterO   rN   ru   gaƒ¸yò½¿rl  rG   gP—j¹$Ä?)r\   Úprodrw   ÚRandomStater   ÚmultinomialÚrvsr¤   Úreshaperš  ÚinsertrB  r   rj   rk   )r6   ÚNrè   rq   rz   r  rl   Ús2r+  Ús3rO  Ús4Úres4s                r=   Ú*test_contingency_table_with_zero_rows_colsz6TestSomersD.test_contingency_table_with_zero_rows_cols)  s™  € ð ˆØˆÜ�w‰w�u‹~ˆä�i‰i×#Ñ# AÓ&ˆÜ×Ñ×!Ñ! !¤r§w¡w¨t£}°TÑ'9Ø/2ð "ó 4ß4;±G¸E³Nð 	
ä�m‰m˜AÓˆä�Y‰Y�q˜!œRŸX™X e¨A¡hÓ/°aÔ8ˆÜ�}‰}˜RÓ ˆä�Y‰Y�q˜!œRŸX™X e¨A¡hÓ/°aÔ8ˆÜ�}‰}˜RÓ ˆä�Y‰Y�r˜1œbŸh™h u¨Q¡x°¡zÓ2¸Ô;ˆÜ�}‰}˜RÓ ˆô 	˜Ÿ™Ð'9ÀÕFÜ˜Ÿ™ t§~¡~Ô6Ü˜Ÿ™ t§~¡~Ô6Ü˜Ÿ™ t§~¡~Ô6ä˜Ÿ
™
Ð$5¸EÕBÜ˜Ÿ
™
 D§K¡KÔ0Ü˜Ÿ
™
 D§K¡KÔ0Ü˜Ÿ
™
 D§K¡KÕ0rL   c                 ó"  — d}d}t        j                  |«      }t         j                  j                  d«      }t        j
                  j                  |t        j                  |«      |z  |¬«      j                  |«      }|dz
  }d}t        t        |¬«      5  t	        j                  |«       d d d «       |dz   }d	}t        t        |¬«      5  t	        j                  |«       d d d «       d
}t        t        |¬«      5  t	        j                  g g«       d d d «       t        t        |¬«      5  t	        j                  dgg«       d d d «       t        j                  d«      }	t        t        |¬«      5  t	        j                  |	«       d d d «       d|	d<   t        t        |¬«      5  t	        j                  |	«       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   ŒoxY w# 1 sw Y   y xY w)Nrœ   r¾  r   r¿  rO   z:All elements of the contingency table must be non-negativer0   r‰   z5All elements of the contingency table must be integerz?At least two elements of the contingency table must be nonzero.rN   )rP   rP   r“  )r\   rÁ  rw   rx   r   rÃ  rÄ  r¤   rÅ  rÕ   r5   rš  rB  )
r6   rÇ  rè   rq   rz   r  Ús5r<   Ús6Ús7s
             r=   Útest_invalid_contingency_tablesz+TestSomersD.test_invalid_contingency_tablesI  s¹  € ØˆØˆÜ�w‰w�u‹~ˆä�i‰i×#Ñ# AÓ&ˆä×Ñ×!Ñ! !¤r§w¡w¨t£}°TÑ'9Ø/2ð "ó 4ß4;±G¸E³Nð 	
ð �‰UˆØNˆÜœ:¨WÔ5ñ 	Ü�M‰M˜"Ô÷	ð �‰XˆØIˆÜœ:¨WÔ5ñ 	Ü�M‰M˜"Ô÷	ð,ˆäœ:¨WÔ5ñ 	 Ü�M‰M˜2˜$Ô÷	 ô œ:¨WÔ5ñ 	!Ü�M‰M˜A˜3˜%Ô ÷	!ô �X‰X�fÓˆÜœ:¨WÔ5ñ 	Ü�M‰M˜"Ô÷	ð ˆˆ4‰Üœ:¨WÔ5ñ 	Ü�M‰M˜"Ô÷	ð 	÷+	ñ 	ú÷
	ð 	ú÷
	 ð 	 ú÷	!ð 	!ú÷	ð 	ú÷	ð 	úsH   ÂGÃGÃ?G!Ä/G-Å5G9Æ)HÇGÇGÇ!G*Ç-G6Ç9HÈHc                 ó:  — g d¢}ddt         j                  g}g d¢}ddt         j                   g}t        j                  ||«      }t        j                  ||«      }t	        |j
                  |j
                  «       t	        |j                  |j                  «       y )Nr¹   rt   gÍÌÌÌÌÌ @)rP   rO   rN   r   r¬  )r\   ry   r   rš  r   rj   rk   )r6   r8   r°  r9   Úy2rl   r+  s          r=   Útest_only_ranks_matterz"TestSomersD.test_only_ranks_matterm  sr   € âˆØ�#”r—v‘vÐˆÚˆØ�œŸ™�wÐˆÜ�m‰m˜A˜qÓ!ˆÜ�}‰}˜R Ó$ˆÜ�S—]‘] D§N¡NÔ3Ü�S—Z‘Z §¡Õ-rL   c                 óÖ   — t        j                  d«      }t        j                  d«      }t        j                  ||«      }t	        |j
                  t        j                  d«      «       y )NrT   )r\   r]   r   rš  r   r!  Úeye)r6   r8   r9   rl   s       r=   Útest_contingency_table_returnz)TestSomersD.test_contingency_table_returnx  sB   € ä�I‰I�b‹MˆÜ�I‰I�b‹MˆÜ�m‰m˜A˜qÓ!ˆÜ�S—Y‘Y¤§¡ r£
Õ+rL   c                 óL  — g d¢}g d¢}t        j                  ||d¬«      }|j                  dkD  sJ ‚t        j                  ||d¬«      }t        |j                  |j                  «       t	        |j
                  d|j
                  dz  z
  «       t        j                  ||d	¬«      }t        |j                  |j                  «       t	        |j
                  |j
                  dz  «       |j                  «        t        j                  ||d¬«      }|j                  dk  sJ ‚t        j                  ||d	¬«      }t        |j                  |j                  «       t	        |j
                  d|j
                  dz  z
  «       t        j                  ||d¬«      }t        |j                  |j                  «       t	        |j
                  |j
                  dz  «       t        j                  t        d
¬«      5  t        j                  ||d¬«       d d d «       y # 1 sw Y   y xY w)Nr  )rR   rS   rU   rV   rU   rß   rÒ   r   rÃ   rN   rO   rÄ   z`alternative` must be...r0   ú	ekki-ekki)
r   rš  rj   r   r   rk   Úreverser4   r   r5   )r6   r¯  r°  ræ   rl   s        r=   Útest_somersd_alternativez$TestSomersD.test_somersd_alternative  s£  € ò ˆÚˆô —=‘=  R°[ÔAˆØ×!Ñ! AÒ%Ð%Ð%ô �m‰m˜B °Ô7ˆÜ�S—]‘] H×$6Ñ$6Ô7Ü˜Ÿ
™
 A¨¯©¸1Ñ)<Ñ$=Ô>ô �m‰m˜B °	Ô:ˆÜ�S—]‘] H×$6Ñ$6Ô7Ü˜Ÿ
™
 H§O¡O°aÑ$7Ô8ð 	�
‰
Œô —=‘=  R°[ÔAˆØ×!Ñ! AÒ%Ð%Ð%ô �m‰m˜B °	Ô:ˆÜ�S—]‘] H×$6Ñ$6Ô7Ü˜Ÿ
™
 A¨¯©¸1Ñ)<Ñ$=Ô>ô �m‰m˜B °Ô7ˆÜ�S—]‘] H×$6Ñ$6Ô7Ü˜Ÿ
™
 H§O¡O°aÑ$7Ô8ä�]‰]œ:Ð-GÔHñ 	;Ü�M‰M˜"˜b¨kÕ:÷	;÷ 	;ñ 	;ús   Ç8HÈH#Úpositive_correlation)FTc                 óØ  — t        j                  d«      }|r|nt        j                  |«      }|rdnd}t        j                  ||d¬«      }|j
                  |k(  sJ ‚|j                  dk(  sJ ‚t        j                  ||d¬«      }|j
                  |k(  sJ ‚|j                  |rdndk(  sJ ‚t        j                  ||d¬«      }|j
                  |k(  sJ ‚|j                  |rdndk(  sJ ‚y )	NrT   rN   rt   rß   rÒ   r   rÃ   rÄ   )r\   r]   Úflipr   rš  rj   rk   )r6   rÜ  r¯  r°  Úexpected_statisticrl   s         r=   Ú test_somersd_perfect_correlationz,TestSomersD.test_somersd_perfect_correlation¨  sß   € ô �Y‰Y�r‹]ˆÙ'‰R¬R¯W©W°R«[ˆÙ"6™Q¸BÐô �m‰m˜B °Ô<ˆØ�}‰}Ð 2Ò2Ð2Ð2Ø�z‰z˜QŠÐˆô �m‰m˜B °Ô7ˆØ�}‰}Ð 2Ò2Ð2Ð2Ø�z‰zÑ#7™a¸QÒ?Ð?Ð?ô �m‰m˜B °	Ô:ˆØ�}‰}Ð 2Ò2Ð2Ð2Ø�z‰zÑ#7™a¸QÒ?Ð?Ñ?rL   c                 óö   — ddg}d}t         j                  j                  d«      }|j                  ||«      }|j                  ||«      }d}t	        j
                  ||«      j                  }t        ||d¬«       y )NrN   rO   é@B l   ÿ.E5 g 0ôÜuD?rl  rG   )r\   rw   rx   Úchoicer   rš  rj   r   )r6   ÚclassesÚ	n_samplesrz   r8   r9   Úval_sklearnÚ	val_scipys           r=   Ú!test_somersd_large_inputs_gh18132z-TestSomersD.test_somersd_large_inputs_gh18132Á  sq   € ð �a�&ˆØˆ	Ü�i‰i×#Ñ# JÓ/ˆØ�J‰J�w 	Ó*ˆØ�J‰J�w 	Ó*ˆð +ˆô —M‘M ! QÓ'×1Ñ1ˆ	Ü˜ Y°UÖ;rL   N)r�   r‚   rƒ   rž  r   r©  r±  r¶  r¼  rÌ  rÑ  rÔ  r×  rÛ  r4   r„   r…   rà  rè  r†   rL   r=   r‘  r‘  k  sm   „ ò7òFò
	>òm7ò^.ò2?ò,1ò@"òH	.ò,ò';ðR ‡[�[×ÑÐ3°]ÓCñ@ó Dð@ó0<rL   r‘  c                   óÔ  — e Zd ZdZej
                  j                  dddgddggdfdd	gd
dggdfd	dgdd	ggdfddgddggdfddgddggdfddgddggdfddgddggdfddgddggdfddgdd	ggdfdd	gddggdfd	dgdd	ggdfg«      d „ «       Zej
                  j                  dddgddggd!fdd	gd
dggd"fd	dgdd	ggd#fddgddggd$fddgddggd%fddgddggd&fddgddggd'fddgddggd(fddgdd	ggd)fdd	gddggd*fd	dgdd	ggd#fg«      d+„ «       Zd,„ Z	ej
                  j                  dddgddggd-fg«      d.„ «       Z
ej
                  j                  dddgddggd/ej                  ffddgddggd/ej                  ffg«      d0„ «       Zej
                  j                  dd	dgdd	ggd1fdd2gd3dggd4fd5d6gd7dggd8fg«      ej
                  j                  d9d:d;g«      d<„ «       «       Zy=)>ÚTestBarnardExactz8Some tests to show that barnard_exact() works correctly.úinput_sample,expectedé+   r(  rT   é'   )gÏXyq@g{2s&QÇ7?rœ   rO   rŒ   rR   )gøl¯€lü¿gEA]0×KÁ?rU   rV   )ç*õ)1Ö%ÀgØ_  ¬“?rN   )g_½Òc1÷?gèß=ç Ä?é   é   )g5PyQ ý¿g�Q@Ì2ý°?é   r¢  )g»ÔÌÑÁù¿g¼ÂJ"¸ò½?)g_½Òc1÷¿gwÝ�Ù„¹Æ?r   rQ   )gý7ŠËé§@g      Œ?rP   )gš~øtñ†ñ¿ç,À�?3Oà?rS   )gÝr?ô~Éø¿çCæ°Yð7É?c                 óf   — t        |«      }|j                  |j                  }}t        ||g|«       y)zþThe expected values have been generated by R, using a resolution
        for the nuisance parameter of 1e-6 :
        ```R
        library(Barnard)
        options(digits=10)
        barnard.test(43, 40, 10, 39, dp=1e-6, pooled=TRUE)
        ```
        N©r   rj   rk   r   ©r6   Úinput_sampleræ   rl   rj   rk   s         r=   Útest_precisezTestBarnardExact.test_preciseÝ  s.   € ô2 ˜LÓ)ˆØŸM™M¨3¯:©:�6ˆ	Ü˜ FÐ+¨XÕ6rL   )gµ’¹7ç\@gAÞÄƒø2?)gXS‘ç;ò¿gÙŽþ hî?)g>!ÉŽ¢Àg6¦  ¨”?)gS¡y@õù?gúÒ^¶ÛFÃ?)g‘ª-º©˜ÿ¿g¼X«I#°?)g°a£ÑÐ�û¿goÇÜðÁ?)gbø]?ü¿gFug¹H	Ð?)g§6Ò­è@g      €?)gi(	Ž˜ó¿rò  )gÓNXèz¶û¿ró  c                 ój   — t        |d¬«      }|j                  |j                  }}t        ||g|«       y)zÿThe expected values have been generated by R, using a resolution
        for the nuisance parameter of 1e-6 :
        ```R
        library(Barnard)
        options(digits=10)
        barnard.test(43, 40, 10, 39, dp=1e-6, pooled=FALSE)
        ```
        F)ÚpooledNrõ  rö  s         r=   Útest_pooled_paramz"TestBarnardExact.test_pooled_paramú  s0   € ô2 ˜L°Ô7ˆØŸM™M¨3¯:©:�6ˆ	Ü˜ FÐ+¨XÕ6rL   c                 ó  — d}t        t        |¬«      5  t        ddgddggd¬«       d d d «       d	}t        t        |¬«      5  t        t        j                  d
«      j                  dd«      «       d d d «       d}t        t        |¬«      5  t        ddgddgg«       d d d «       d}t        t        |¬«      5  t        ddgddggd«       d d d «       y # 1 sw Y   Œ¯xY w# 1 sw Y   ŒqxY w# 1 sw Y   ŒPxY w# 1 sw Y   y xY w)Nú7Number of points `n` must be strictly positive, found 0r0   rN   rO   rP   rQ   r   ©r“   ú,The input `table` must be of shape \(2, 2\).rS   ú*All values in `table` must be nonnegative.rt   zI`alternative` should be one of {'two-sided', 'less', 'greater'}, found .*únot-correct)rÕ   r5   r   r\   r]   rÅ  ©r6   Ú	error_msgs     r=   Útest_raiseszTestBarnardExact.test_raises  s  € ð Fð 	ô œ:¨YÔ7ñ 	1Ü˜A˜q˜6 A q 6Ð*¨aÕ0÷	1ð Eˆ	Üœ:¨YÔ7ñ 	6Üœ"Ÿ)™) A›,×.Ñ.¨q°!Ó4Ô5÷	6ð Aˆ	Üœ:¨YÔ7ñ 	-Ü˜B ˜7 Q¨ FÐ+Ô,÷	-ð
ð 	ô œ:¨YÔ7ñ 	;Ü˜A˜q˜6 A q 6Ð*¨MÔ:÷	;ð 	;÷%	1ð 	1ú÷
	6ð 	6ú÷
	-ð 	-ú÷	;ð 	;úó/   ”CÁ/C"ÂC.Â:C:ÃCÃ"C+Ã.C7Ã:Dr«  c                 ó†   — t        |«      }|j                  |j                  }}t        ||d   «       t        ||d   «       y ©Nr   rN   ©r   rj   rk   r   rö  s         r=   Útest_edge_casesz TestBarnardExact.test_edge_cases1  s;   € ô ˜LÓ)ˆØŸM™M¨3¯:©:�6ˆ	Ü�V˜X a™[Ô)Ü�Y ¨¡Õ,rL   r˜   c                 ó†   — t        |«      }|j                  |j                  }}t        ||d   «       t        ||d   «       y r  r  rö  s         r=   Útest_row_or_col_zeroz%TestBarnardExact.test_row_or_col_zero=  s;   € ô ˜LÓ)ˆØŸM™M¨3¯:©:�6ˆ	Ü�V˜X a™[Ô)Ü�Y ¨¡Õ,rL   )rî  gEç\/?„?éÈ   é,  )gÐgÑìíQ5Àr—   é   r[   i¥  )gü&çìX}>Àr—   rÉ   rÄ   rÃ   c                 óÊ   — |\  }}|dk(  r"t        j                  |«      dd…ddd…f   }| }t        ||¬«      }|j                  |j                  }}t        ||g||gd¬«       y)aˆ  
        "The expected values have been generated by R, using a resolution
        for the nuisance parameter of 1e-6 :
        ```R
        library(Barnard)
        options(digits=10)
        a = barnard.test(2, 7, 8, 2, dp=1e-6, pooled=TRUE)
        a$p.value[1]
        ```
        In this test, we are using the "one-sided" return value `a$p.value[1]`
        to test our pvalue.
        rÄ   Nrt   rÒ   çH¯¼šò×z>rG   )r\   r®  r   rj   rk   r   )	r6   r÷  ræ   rÉ   Úexpected_statÚless_pvalue_expectrl   rj   rk   s	            r=   Útest_less_greaterz"TestBarnardExact.test_less_greaterJ  sp   € ð, -5Ñ)ˆÐ)à˜)Ò#ÜŸ8™8 LÓ1²!±T°r°T°'Ñ:ˆLØ*˜NˆMä˜L°kÔBˆØŸM™M¨3¯:©:�6ˆ	ÜØ˜Ð -Ð1CÐ!DÈ4ö	
rL   N)r�   r‚   rƒ   Ú__doc__r4   r„   r…   rø  rû  r  r	  r\   r3   r  r  r†   rL   r=   rê  rê  Ú  su  „ ÙBà‡[�[×ÑØà�2ˆh˜˜R˜Ð!Ð#CÐDØ�Aˆh˜˜q˜	Ð"Ð$EÐFØ�!ˆf�q˜!�fÐÐ@ÐAØ�!ˆf�r˜2�hÐÐ!AÐBØ�"ˆg˜˜B�xÐ Ð"CÐDØ�"ˆg˜˜B�xÐ Ð"CÐDØ�1ˆg˜˜A�wÐÐ!BÐCØ�!ˆf�q˜!�fÐÐ?Ð@Ø�!ˆf�q˜!�fÐÐ@ÐAØ�!ˆf�q˜!�fÐÐ@ÐAØ�!ˆf�q˜!�fÐÐ@ÐAð	
óñ 7ó!ð 7ð ‡[�[×ÑØà�2ˆh˜˜R˜Ð!Ð#CÐDØ�Aˆh˜˜q˜	Ð"Ð$EÐFØ�!ˆf�q˜!�fÐÐ@ÐAØ�!ˆf�r˜2�hÐÐ!AÐBØ�"ˆg˜˜B�xÐ Ð"CÐDØ�"ˆg˜˜B�xÐ Ð"CÐDØ�1ˆg˜˜A�wÐÐ!BÐCØ�!ˆf�q˜!�fÐÐ?Ð@Ø�!ˆf�q˜!�fÐÐ@ÐAØ�!ˆf�q˜!�fÐÐ@ÐAØ�!ˆf�q˜!�fÐÐ@ÐAð	
óñ 7ó!ð 7ò;ð4 ‡[�[×ÑØà�!ˆf�q˜!�fÐ˜xÐ(ð	
óñ-óð-ð ‡[�[×ÑØà�!ˆf�q˜"�gÐ  b§f¡f Ð.Ø�!ˆf�r˜1�gÐ  b§f¡f Ð.ð	
óñ-óð-ð ‡[�[×ÑØà�!ˆf�q˜!�fÐÐ@ÐAØ�#ˆh˜˜a˜Ð!Ð#:Ð;Ø�2ˆh˜˜q˜	Ð"Ð$;Ð<ð	
óð ‡[�[×Ñ˜]¨Y¸Ð,?Ó@ñ
ó Aóñ
rL   rê  c                   óè  — e Zd ZdZdZej                  j                  dddgddggdfdd	gd
d
ggdfddgddggdfd
dgd
d	ggdfddgd	dggdfdd	gddggdfddgddggdfddgddggdfd
dgddggdfg	«      d„ «       Zej                  j                  dddgd
dggdfddgddggd fdd	gd
d
ggd!fdd"gddggd#fddgddggd$fddgd	dggd%fdd	gddggdfddgd&dggdfddgddggd fddgddggd'fd
dgddggd(fg«      d)„ «       Z	ej                  j                  dddgd
dggd*fddgddggd+fdd	gd
d
ggd,fddgddggd-fddgd	dggd.fdd	gddggd/fddgddggd+fddgddggd0fg«      d1„ «       Z
d2„ Zej                  j                  dddgdd
ggej                  ej                  ffddgd
dggej                  ej                  ffg«      d3„ «       Zd4„ Zej                  j                  d5d6«      d7„ «       Zy8)9ÚTestBoschlooExactz9Some tests to show that boschloo_exact() works correctly.r  rë  rO   rU   rV   )ç<vB\÷’?gèÁ–„/?„?rR   rN   rT   )g¬“ŽÍéMï?gßÏA>î?rñ  rð  r¢  )ç_¬VÃÑ¶?gÂñ¥…Ö­?)ç‘uÝ Ø%Å?gc'�íµ?r   rQ   ©rN   rN   rP   )r‹   g      Ö?rr   )çß+Âf°?gXc}Áv¡?é   é%   )gZÑ‹D¸É?g‰¦¢gi]Ã?c                 ó‚   — t        |d¬«      }|j                  |j                  }}t        ||g|| j                  ¬«       y)a‰  The expected values have been generated by R, using a resolution
        for the nuisance parameter of 1e-8 :
        ```R
        library(Exact)
        options(digits=10)
        data <- matrix(c(43, 10, 40, 39), 2, 2, byrow=TRUE)
        a = exact.test(data, method="Boschloo", alternative="less",
                       tsmethod="central", np.interval=TRUE, beta=1e-8)
        ```
        rÃ   rÒ   rG   N©r   rj   rk   r   ÚATOLrö  s         r=   Ú	test_lesszTestBoschlooExact.test_lessr  s6   € ô2 ˜\°vÔ>ˆØŸM™M¨3¯:©:�6ˆ	Ü˜ FÐ+¨X¸D¿I¹IÖFrL   rì  r(  rí  )çòk¾\Ø2?g–ìà0í,%?)gKïvî÷ï?gâN3î½ï?)r  g‡'&5Õ·?rï  )gÏw@_„ï?g™•7Ñøï?)gµ‹i¦{ï?g€ÁÉ‘)zî?)ç˜ïÖ…a˜?g³1×ëÛ|?rS   )gYðì<;ªï?g¨ýÖN”Dï?)gê­e×ì?g™Gþ` ë?c                 ó‚   — t        |d¬«      }|j                  |j                  }}t        ||g|| j                  ¬«       y)aŒ  The expected values have been generated by R, using a resolution
        for the nuisance parameter of 1e-8 :
        ```R
        library(Exact)
        options(digits=10)
        data <- matrix(c(43, 10, 40, 39), 2, 2, byrow=TRUE)
        a = exact.test(data, method="Boschloo", alternative="greater",
                       tsmethod="central", np.interval=TRUE, beta=1e-8)
        ```
        rÄ   rÒ   rG   Nr  rö  s         r=   Útest_greaterzTestBoschlooExact.test_greater�  s6   € ô6 ˜\°yÔAˆØŸM™M¨3¯:©:�6ˆ	Ü˜ FÐ+¨X¸D¿I¹IÖFrL   )r"  gôqQSé,5?)r  gG’Þ?/?”?)r  gKE`ÕÇ?)r  gÓhr1Ö½?)r#  grÒfbÛŒ?)r‹   g      æ?)r  gP:pRÁv±?c                 ó„   — t        |dd¬«      }|j                  |j                  }}t        ||g|| j                  ¬«       y)aŽ  The expected values have been generated by R, using a resolution
        for the nuisance parameter of 1e-8 :
        ```R
        library(Exact)
        options(digits=10)
        data <- matrix(c(43, 10, 40, 39), 2, 2, byrow=TRUE)
        a = exact.test(data, method="Boschloo", alternative="two.sided",
                       tsmethod="central", np.interval=TRUE, beta=1e-8)
        ```
        rß   é@   )rÉ   r“   rG   Nr  rö  s         r=   Útest_two_sidedz TestBoschlooExact.test_two_sided®  s8   € ô0 ˜\°{ÀbÔIˆàŸM™M¨3¯:©:�6ˆ	Ü˜ FÐ+¨X¸D¿I¹IÖFrL   c                 ó  — d}t        t        |¬«      5  t        ddgddggd¬«       d d d «       d	}t        t        |¬«      5  t        t        j                  d
«      j                  dd«      «       d d d «       d}t        t        |¬«      5  t        ddgddgg«       d d d «       d}t        t        |¬«      5  t        ddgddggd«       d d d «       y # 1 sw Y   Œ¯xY w# 1 sw Y   ŒqxY w# 1 sw Y   ŒPxY w# 1 sw Y   y xY w)Nrý  r0   rN   rO   rP   rQ   r   rþ  rÿ  rS   r   rt   zK`alternative` should be one of \('two-sided', 'less', 'greater'\), found .*r  )rÕ   r5   r   r\   r]   rÅ  r  s     r=   r  zTestBoschlooExact.test_raisesË  s  € ð Fð 	ô œ:¨YÔ7ñ 	2Ü˜Q ˜F Q¨ FÐ+¨qÕ1÷	2ð Eˆ	Üœ:¨YÔ7ñ 	7Üœ2Ÿ9™9 Q›<×/Ñ/°°1Ó5Ô6÷	7ð Aˆ	Üœ:¨YÔ7ñ 	.Ü˜R ˜G a¨ VÐ,Ô-÷	.ð
%ð 	ô œ:¨YÔ7ñ 	<Ü˜Q ˜F Q¨ FÐ+¨]Ô;÷	<ð 	<÷%	2ð 	2ú÷
	7ð 	7ú÷
	.ð 	.ú÷	<ð 	<úr  c                 ó†   — t        |«      }|j                  |j                  }}t        ||d   «       t        ||d   «       y r  )r   rj   rk   r   rö  s         r=   r  z&TestBoschlooExact.test_row_or_col_zeroå  s;   € ô ˜\Ó*ˆØŸM™M¨3¯:©:�6ˆ	Ü�V˜X a™[Ô)Ü�Y ¨¡Õ,rL   c                 óÔ   — ddgddgg}t        |d¬«      j                  }t        |d¬«      j                  }dt        ||«      z  dkD  sJ ‚t        |d¬«      j                  }|d	k(  sJ ‚y )
NrN   r±   rr   rÃ   rÒ   rÄ   rO   rß   r˜   )r   rk   ri  )r6   ÚtblÚplÚpgÚpts        r=   Útest_two_sided_gt_1z%TestBoschlooExact.test_two_sided_gt_1ò  sp   € ð �1ˆv˜˜B�xÐ ˆÜ˜C¨VÔ4×;Ñ;ˆÜ˜C¨YÔ7×>Ñ>ˆØ”�R˜“‰}˜qÒ Ð Ð Ü˜C¨[Ô9×@Ñ@ˆØ�SŠyÐ‰yrL   rÉ   )rÃ   rÄ   c                 óŽ   — ddgddgg}t        ||¬«      j                  }t        j                  ||¬«      d   }t	        ||«       y )NrO   rU   rV   rÒ   rN   )r   rj   r   Úfisher_exactr   )r6   rÉ   r,  Úboschloo_statÚfisher_ps        r=   Útest_against_fisher_exactz+TestBoschlooExact.test_against_fisher_exactü  sI   € ð �1ˆv˜˜1�vÐˆÜ& s¸ÔD×NÑNˆÜ×%Ñ% c°{ÔCÀAÑFˆÜ˜ xÕ0rL   N)r�   r‚   rƒ   r  r   r4   r„   r…   r!  r%  r(  r  r\   r3   r  r0  r5  r†   rL   r=   r  r  m  s’  „ ÙCà€Dà‡[�[×ÑØà�!ˆf�q˜!�fÐÐ8Ð9Ø�!ˆf�r˜2�hÐÐ!7Ð8Ø�"ˆg˜˜B�xÐ Ð":Ð;Ø�1ˆg˜˜A�wÐÐ!8Ð9Ø�!ˆf�q˜!�fÐ˜vÐ&Ø�!ˆf�q˜!�fÐ˜~Ð.Ø�!ˆf�q˜!�fÐÐ8Ð9Ø�"ˆg˜˜1�vÐÐ 8Ð9Ø�2ˆh˜˜R˜Ð!Ð#9Ð:ð
	
óñGóðGð ‡[�[×ÑØà�2ˆh˜˜R˜Ð!Ð#?Ð@Ø�!ˆf�q˜!�fÐÐ5Ð6Ø�!ˆf�r˜2�hÐÐ!8Ð9Ø�"ˆg˜˜B�xÐ Ð"8Ð9Ø�"ˆg˜˜B�xÐ Ð"7Ð8Ø�!ˆf�q˜!�fÐÐ8Ð9Ø�!ˆf�q˜!�fÐ˜vÐ&Ø�!ˆf�q˜!�fÐ˜vÐ&Ø�!ˆf�q˜!�fÐÐ5Ð6Ø�"ˆg˜˜1�vÐÐ 6Ð7Ø�2ˆh˜˜R˜Ð!Ð#9Ð:ð	
óñ Gó!ð Gð ‡[�[×ÑØà�2ˆh˜˜R˜Ð!Ð#?Ð@Ø�!ˆf�q˜!�fÐÐ7Ð8Ø�!ˆf�r˜2�hÐÐ!7Ð8Ø�"ˆg˜˜B�xÐ Ð"8Ð9Ø�!ˆf�q˜!�fÐÐ7Ð8Ø�!ˆf�q˜!�fÐ˜}Ð-Ø�!ˆf�q˜!�fÐÐ7Ð8Ø�"ˆg˜˜1�vÐÐ 8Ð9ð		
óñGóðGò <ð4 ‡[�[×ÑØà�!ˆf�q˜"�gÐ §¡¨¯©Ð 0Ð1Ø�!ˆf�r˜1�gÐ §¡¨¯©Ð 0Ð1ð	
óñ-óð-òð ‡[�[×Ñ˜]Ð,?Ó@ñ1ó Añ1rL   r  c                   ó„  — e Zd Zej                  j                  dg  ej                  d«      f ej                  d«      dgfg«      d„ «       Zd„ Z	d„ Z
ej                  j                  dg d¢«      d	„ «       Zej                  j                  d
g d¢«      d„ «       Zej                  j                  d„ «       Zd„ Zd„ Zd„ Zy)ÚTestCvm_2sampr¾   rR   rN   c                 ó>  ‡— ˆfd„|D «       }t        t        t        ‰¬«      5  t        |Ž }t	        |j
                  ‰j                  ‰j                  «      «       t	        |j                  ‰j                  ‰j                  «      «       d d d «       y # 1 sw Y   y xY w)Nc              3   óV   •K  — | ]   }‰j                  |t        ‰«      ¬ «      –— Œ" y­w)rD   N)r2   r   )Ú.0Úargr7   s     €r=   ú	<genexpr>z5TestCvm_2samp.test_too_small_input.<locals>.<genexpr>  s$   øè ø€ ÒLÀ�—
‘
˜3Ô&6°rÓ&:�
×;ÑLùs   ƒ&)ri   )	r   r   r    r   r   rj   r2   r3   rk   )r6   r¾   r7   rl   s     ` r=   Útest_too_small_inputz"TestCvm_2samp.test_too_small_input  ss   ø€ ó MÀtÔLˆÜÔ+Ô3HÈRÔPñ 	<Ü&¨Ð-ˆCÜ˜CŸM™M¨2¯:©:°b·f±fÓ+=Ô>Ü˜CŸJ™J¨¯
©
°2·6±6Ó(:Ô;÷	<÷ 	<ñ 	<ús   £A'BÂBc                 ó¤   — |j                  d«      }d}t        j                  t        |¬«      5  t	        ||d«       d d d «       y # 1 sw Y   y xY w)NrR   z/method must be either auto, exact or asymptoticr0   Úxyz)r]   r4   r   r5   r   )r6   r7   r9   Úmsgs       r=   rª   z TestCvm_2samp.test_invalid_input  sC   € Ø�I‰I�a‹LˆØ?ˆÜ�]‰]œ:¨SÔ1ñ 	.Ü   A uÔ-÷	.÷ 	.ñ 	.ús   ¯AÁAc                 ó   — g d¢}g d¢}t        ||«      }t        t        j                  |«      t        j                  |«      «      }t        |j                  |j
                  f|j                  |j
                  f«       y )N)rO   rP   rQ   rU   rS   )rû   r»   rr   r¤  )r   r\   r®  r   rj   rk   )r6   r8   r9   Úr1Úr2s        r=   Útest_list_inputzTestCvm_2samp.test_list_input  sX   € ÚˆÚˆÜ! ! QÓ'ˆÜ!¤"§(¡(¨1£+¬r¯x©x¸«{Ó;ˆÜ�b—l‘l B§I¡IÐ.°·±¸r¿y¹yÐ0IÕJrL   r?   r@   c                 óF  — |€t        |«      nt        ||«      }|j                  g d¢|¬«      }|j                  g d¢|¬«      }t        ||«      }t	        |j
                  |j                  d|¬«      d¬«       t	        |j                  |j                  d|¬«      d¬«       y )	N)	gffffff@gÍÌÌÌÌÌ @rF   gffffff!@çš™™™™™"@gÍÌÌÌÌÌ#@g333333$@g333333%@gffffff&@rD   )gÍÌÌÌÌÌ@gÍÌÌÌÌÌ@gš™™™™™@ç      @ç333333@gffffff @g333333"@gš™™™™™#@gš™™™™™%@gš™™™™™&@g      '@gš™™™™™(@g      )@gÍÌÌÌÌÌ*@g333333-@gøSã¥›ÄÐ?rW   rG   g
×£p=
Ç?r‰   )r   rJ   r2   r   r   rj   rk   )r6   r?   r7   r8   r9   Úrs         r=   Útest_example_conoverz"TestCvm_2samp.test_example_conover  s’   € ð ).¨Ô  Ô$¼7À2ÀuÓ;MˆØ�J‰JÒGÈuˆJÓUˆØ�J‰Jò BØINð ó Pˆä   AÓ&ˆÜ˜Ÿ™ R§Z¡Z°¸U ZÓ%CÈ$ÕOÜ˜Ÿ™ "§*¡*¨S¸ *Ó">ÀTÖJrL   zstatistic, m, n, pval))iÆ  rR   rS   g¾cj`ï˜º?)ii  rU   rU   gtÑE]t±?)i@  rQ   rS   g8�8�ƒ?)iä  rS   rU   g¶ëéXwS?c                 ó2   — t        t        |||«      |«       y rµ   )r   r   )r6   rj   r"  r“   Úpvals        r=   Útest_exact_pvaluezTestCvm_2samp.test_exact_pvalue*  s   € ô 	Ô*¨9°a¸Ó;¸TÕBrL   c                 ó¨  — t         j                  j                  d«      }t        j                  j                  d|¬«      }t        j                  j                  d|¬«      }|j                  |«      |j                  |«      }}t        ||«      }d|j                  cxk  rdk  sJ ‚ J ‚t        ||dz   «      }d|j                  cxk  rdk  sJ ‚ J ‚y )Ni  râ  )rq   rÀ  i » r   rN   r¬   )	r\   rw   rx   r
   ÚnormrÄ  r2   r   rk   )r6   r7   rz   r8   r9   rI  s         r=   Útest_large_samplezTestCvm_2samp.test_large_sample5  s½   € ô �i‰i×#Ñ# DÓ)ˆÜ×Ñ×"Ñ"¨¸cÐ"ÓBˆÜ×Ñ×"Ñ"¨¸SÐ"ÓAˆØ�z‰z˜!‹}˜bŸj™j¨›mˆ1ˆÜ   AÓ&ˆØ�1—8‘8Ô˜aÒÐÑÐÐÜ   A c¡EÓ*ˆØ�1—8‘8Ô˜aÒÐÑÐÑrL   c                 ó~  — t         j                  j                  d«      }|j                  |j                  d«      «      }|j                  |j                  d«      «      }t	        ||d¬«      }t	        ||d¬«      }t        |j                  |j                  «       t        |j                  |j                  d¬«       y )	Nr   rU   rV   rÙ   rÓ   rØ   r‰   rG   )	r\   rw   rÂ  r2   r   r   rj   r   rk   )r6   r7   rz   r8   r9   rB  rC  s          r=   Útest_exact_vs_asymptoticz&TestCvm_2samp.test_exact_vs_asymptoticB  s„   € Ü�i‰i×#Ñ# AÓ&ˆØ�J‰J�s—z‘z !“}Ó%ˆØ�J‰J�s—z‘z !“}Ó%ˆÜ! ! Q¨wÔ7ˆÜ! ! Q¨|Ô<ˆÜ˜Ÿ™ b§l¡lÔ3Ü˜Ÿ	™	 2§9¡9°4Ö8rL   c                 ó^  — |j                  d«      }|j                  g d¢«      }t        ||d¬«      }t        ||d¬«      }t        |j                  |j                  «       |j                  d«      }t        ||d¬«      }t        ||d¬«      }t        |j                  |j                  «       y )Nr­  )r‹   gÍÌÌÌÌÌ@g333333*@rÙ   rÓ   rÝ   g      5@rØ   )r]   r2   r   r   rk   )r6   r7   r8   r9   rB  rC  s         r=   Útest_method_autozTestCvm_2samp.test_method_autoK  s‡   € Ø�I‰I�c‹NˆØ�J‰JÒ'Ó(ˆÜ! ! Q¨wÔ7ˆÜ! ! Q¨vÔ6ˆÜ˜Ÿ	™	 2§9¡9Ô-à�I‰I�c‹NˆÜ! ! Q¨|Ô<ˆÜ! ! Q¨vÔ6ˆÜ˜Ÿ	™	 2§9¡9Õ-rL   c                 óŠ  — |j                  d«      }t        ||«      }t        |j                  |j	                  d«      «       t        |j
                  |j	                  d«      «       t        |d d |d d «      }t        |j                  |j	                  d«      «       t        |j
                  |j	                  d«      «       y )Nrï  r—   r˜   rQ   )r]   r   r   rj   r2   rk   )r6   r7   r8   rl   s       r=   Útest_same_inputzTestCvm_2samp.test_same_inputW  s�   € ð �I‰I�b‹MˆÜ" 1 aÓ(ˆÜ˜Ÿ™ r§z¡z°"£~Ô6Ü˜Ÿ
™
 B§J¡J¨r£NÔ3ä" 1 R a 5¨!¨B¨Q¨%Ó0ˆÜ˜Ÿ™ r§z¡z°"£~Ô6Ü˜Ÿ
™
 B§J¡J¨r£NÕ3rL   N)r�   r‚   rƒ   r4   r„   r…   r\   r]   r=  rª   rD  rJ  rM  ÚxslowrP  rR  rT  rV  r†   rL   r=   r7  r7    sÝ   „ à‡[�[×Ñ˜V r¨9¨2¯9©9°Q«<Ð&8Ø'0 r§y¡y°£|°a°SÐ&9ð&;ó <ñ<ó<ð<ò.òKð ‡[�[×Ñ˜WÒ&BÓCñ	Kó Dð	Kð ‡[�[×ÑÐ4ò5ó6ñ
Có6ð
Cð ‡[�[×Ññ
 ó ð
 ò9ò
.ó4rL   r7  c                   óÞ  — e Zd Zg d¢g d¢g d¢fZg d¢g d¢g d¢fZg d¢g d¢g d¢fZdZdZd	Ze	j                  j                  d
eedfeedfeedffg d¢¬«      d„ «       ZdZdZe	j                  j                  d
eedfeedffddg¬«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  j                  dd«      d „ «       Ze	j                  j                  d!g d"¢«      d#„ «       Zd$„ Zy%)&ÚTestTukeyHSD)rR  ç     €7@çffffff:@çš™™™™;@çfffffæ=@)çffffff<@çš™™™™A@ç     €=@çš™™™™@@çš™™™™>@)gš™™™™:@gÍÌÌÌÌL<@gÍÌÌÌÌL8@g333333:@gÍÌÌÌÌÌ;@)rR  rZ  gHáz®G:@r[  r\  r]  rb  rb  )rR  rZ  r[  )
r^  r_  r`  ra  rb  r^  r_  r`  ra  rb  aK  
    Comparison LowerCL Difference UpperCL Significance
    2 - 3	0.6908830568	4.34	7.989116943	    1
    2 - 1	0.9508830568	4.6 	8.249116943 	1
    3 - 2	-7.989116943	-4.34	-0.6908830568	1
    3 - 1	-3.389116943	0.26	3.909116943	    0
    1 - 2	-8.249116943	-4.6	-0.9508830568	1
    1 - 3	-3.909116943	-0.26	3.389116943	    0
    aS  
    Comparison LowerCL Difference UpperCL Significance
    2 - 1	0.2679292645	3.645	7.022070736	    1
    2 - 3	0.5934764007	4.34	8.086523599	    1
    1 - 2	-7.022070736	-3.645	-0.2679292645	1
    1 - 3	-2.682070736	0.695	4.072070736	    0
    3 - 2	-8.086523599	-4.34	-0.5934764007	1
    3 - 1	-4.072070736	-0.695	2.682070736	    0
    aS  
    Comparison LowerCL Difference UpperCL Significance
    2 - 3	1.561605075	    4.34	7.118394925	    1
    2 - 1	2.740784879	    6.08	9.419215121	    1
    3 - 2	-7.118394925	-4.34	-1.561605075	1
    3 - 1	-1.964526566	1.74	5.444526566	    0
    1 - 2	-9.419215121	-6.08	-2.740784879	1
    1 - 3	-5.444526566	-1.74	1.964526566	    0
    zdata,res_expect_str,atolrI   g»½×Ùß|Û=)úequal size sampleúunequal sample sizezextreme sample size differences©Úidsc                 ó"  — t        j                  |j                  dd«      j                  «       dd t        ¬«      j                  d«      }t        j                  |Ž }|j                  «       }|D ]�  \  }}}	}
}}t        |«      dz
  t        |«      dz
  }}t        |j                  ||f   |	|¬«       t        |j                  ||f   |
|¬«       t        |j                  ||f   ||¬«       t        |j                  ||f   d	k  |dk(  «       ŒŸ y)
a£  
        SAS code used to generate results for each sample:
        DATA ACHE;
        INPUT BRAND RELIEF;
        CARDS;
        1 24.5
        ...
        3 27.8
        ;
        ods graphics on;   ODS RTF;ODS LISTING CLOSE;
           PROC ANOVA DATA=ACHE;
           CLASS BRAND;
           MODEL RELIEF=BRAND;
           MEANS BRAND/TUKEY CLDIFF;
           TITLE 'COMPARE RELIEF ACROSS MEDICINES  - ANOVA EXAMPLE';
           ods output  CLDiffs =tc;
        proc print data=tc;
            format LowerCL 17.16 UpperCL 17.16 Difference 17.16;
            title "Output with many digits";
        RUN;
        QUIT;
        ODS RTF close;
        ODS LISTING;
        ú - ú rR   NrD   )rS   rS   rN   rG   rŠ   ©r\   r2   ÚreplaceÚsplitÚfloatrÅ  r   Ú	tukey_hsdÚconfidence_intervalÚintr   Úlowrj   Úhighrk   )r6   ÚdataÚres_expect_strrH   Ú
res_expectÚ	res_tukeyÚconfr{   ÚjÚlr  ÚhÚsigs                r=   Útest_compare_saszTestTukeyHSD.test_compare_sas�  s  € ôB —Z‘Z × 6Ñ 6°u¸cÓ B× HÑ HÓ JÈ1È2Ð NÜ&+ô-ß-4©W°V«_ð 	ä—O‘O TÐ*ˆ	Ø×,Ñ,Ó.ˆà",ò 	GÑˆAˆq�!�Q˜˜3Ü�q“6˜A‘:œs 1›v¨™zˆqˆAÜ˜DŸH™H Q¨ T™N¨A°DÕ9Ü˜I×/Ñ/°°1°Ñ5°q¸tÕDÜ˜DŸI™I a¨ d™O¨Q°TÕ:Ü˜Y×-Ñ-¨a°¨dÑ3°sÑ:¸SÀA¹XÕFñ	GrL   zÐ
        1	2	-8.2491590248597	-4.6	-0.9508409751403	0.0144483269098
        1	3	-3.9091590248597	-0.26	3.3891590248597	0.9803107240900
        2	3	0.6908409751403	4.34	7.9891590248597	0.0203311368795
        zÛ
        1	2	-7.02207069748501	-3.645	-0.26792930251500 0.03371498443080
        1	3	-2.68207069748500	0.695	4.07207069748500 0.85572267328807
        2	3	0.59347644287720	4.34	8.08652355712281 0.02259047020620
        rT  r  rc  zunequal size samplec                 óô  — t        j                  |j                  «       t        ¬«      j	                  d«      }t        j                  |Ž }|j                  «       }|D ]™  \  }}}	}
}}t        |«      dz
  t        |«      dz
  }}t        |j                  ||f   |	|¬«       t        |j                  ||f   |
|¬«       t        |j                  ||f   ||¬«       t        |j                  ||f   ||¬«       Œ› y)an  
        vals = [24.5, 23.5,  26.4, 27.1, 29.9, 28.4, 34.2, 29.5, 32.2, 30.1,
         26.1, 28.3, 24.3, 26.2, 27.8]
        names = {'zero', 'zero', 'zero', 'zero', 'zero', 'one', 'one', 'one',
         'one', 'one', 'two', 'two', 'two', 'two', 'two'}
        [p,t,stats] = anova1(vals,names,"off");
        [c,m,h,nms] = multcompare(stats, "CType","hsd");
        rD   ©rP   rS   rN   rG   N)r\   r2   rl  rm  rÅ  r   rn  ro  rp  r   rq  rj   rr  rk   )r6   rs  rt  rH   ru  rv  rw  r{   rx  ry  r  rz  r;   s                r=   Útest_compare_matlabz TestTukeyHSD.test_compare_matlabÉ  så   € ô —Z‘Z × 4Ñ 4Ó 6Ü&+ô-ß-4©W°V«_ð 	ä—O‘O TÐ*ˆ	Ø×,Ñ,Ó.ˆà *ò 	BÑˆAˆq�!�Q˜˜1Ü�q“6˜A‘:œs 1›v¨™zˆqˆAÜ˜DŸH™H Q¨ T™N¨A°DÕ9Ü˜I×/Ñ/°°1°Ñ5°q¸tÕDÜ˜DŸI™I a¨ d™O¨Q°TÕ:Ü˜I×,Ñ,¨Q°¨TÑ2°A¸DÖAñ	BrL   c                 ó4  — d}t        j                  |j                  dd«      j                  «       dd t        ¬«      j                  d«      }g d¢g d	¢g d
¢f}t        j                  |Ž }|j                  «       }|D ]™  \  }}}}	}
}t        |«      dz
  t        |«      dz
  }}t        |j                  ||f   |	d¬«       t        |j                  ||f   |d¬«       t        |j                  ||f   |
d¬«       t        |j                  ||f   |d¬«       Œ› y)a+  
        Testing against results and p-values from R:
        from: https://www.rdocumentation.org/packages/stats/versions/3.6.2/
        topics/TukeyHSD
        > require(graphics)
        > summary(fm1 <- aov(breaks ~ tension, data = warpbreaks))
        > TukeyHSD(fm1, "tension", ordered = TRUE)
        > plot(TukeyHSD(fm1, "tension"))
        Tukey multiple comparisons of means
        95% family-wise confidence level
        factor levels have been ordered
        Fit: aov(formula = breaks ~ tension, data = warpbreaks)
        $tension
        zÞ
                diff        lwr      upr     p adj
        2 - 3  4.722222 -4.8376022 14.28205 0.4630831
        1 - 3 14.722222  5.1623978 24.28205 0.0014315
        1 - 2 10.000000  0.4401756 19.55982 0.0384598
        rh  ri  rR   NrD   r~  )é   rZ   é6   r¢  éF   é4   é3   r�  éC   r™   r£  é   é   r‡  é   é)   rð  é,   )r¤  r  r‡  r¦  rr   r¤  r¥  rZ   é$   é*   r�  rˆ  rñ  rí  r[   r  rí  r‡  )rŒ  r  r  r¤  rT   rì  r[   rï  r�  rð  r  r  r¦  r±   rï  rï  rñ  r[   rN   r  rG   r`  çñhãˆµøä>rj  )r6   Ústr_resru  rs  rv  rw  r{   rx  r  ry  rz  r;   s               r=   Útest_compare_rzTestTukeyHSD.test_compare_rã  s  € ðˆô —Z‘Z §¡°°sÓ ;× AÑ AÓ CÀAÀBÐ GÜ&+ô-ß-4©W°V«_ð 	ò5ò5ò5ð	6ˆô —O‘O TÐ*ˆ	Ø×,Ñ,Ó.ˆà *ò 	BÑˆAˆq�!�Q˜˜1Ü�q“6˜A‘:œs 1›v¨™zˆqˆAä˜DŸH™H Q¨ T™N¨A°DÕ9Ü˜I×/Ñ/°°1°Ñ5°q¸tÕDÜ˜DŸI™I a¨ d™O¨Q°TÕ:Ü˜I×,Ñ,¨Q°¨TÑ2°A¸DÖAñ	BrL   c                 ó”  — g d¢}g d¢}g d¢}g d¢}t        j                  ||||«      }|j                  «       }t        j                  g d¢g d¢g d¢g d¢g«      }t        j                  g d	¢g d
¢g d¢g d¢g«      }dD ]I  \  }	}
t        |j                  |	|
f   ||	|
f   d¬«       t        |j                  |	|
f   ||	|
f   d¬«       ŒK y)zp
        Example sourced from:
        https://www.itl.nist.gov/div898/handbook/prc/section4/prc471.htm
        )çš™™™™™@gš™™™™™@ç333333@gffffff@rò   )gš™™™™™ @rH  g333333@gffffff"@rG  )g       @g      %@g333333 @r’  rF  )r“  gffffff@gffffff@gffffff@gÍÌÌÌÌÌ@)r   r   r   g      À)g�Âõ(\�Ò?r   gq=
×£pÀg¤p=
×£À?)g®Gázò?r   r   g
×£p=
ï?)r   r   r   r   )r   r   r   gáz®Gáþ?)gáz®Gá@r   g      ô?g=
×£p=@)g=
×£p=@r   r   gš™™™™™@)©rN   r   )rO   r   )r   rP   r6  r³  r‰   rG   N)r   rn  ro  r\   r2   r   rq  rr  )r6   Úgroup1Úgroup2Úgroup3Úgroup4rl   rw  ÚlowerÚupperr{   rx  s              r=   Útest_engineering_stat_handbookz+TestTukeyHSD.test_engineering_stat_handbook  sÑ   € ò
 +ˆÚ*ˆÚ+ˆÚ*ˆÜ�o‰o˜f f¨f°fÓ=ˆØ×&Ñ&Ó(ˆÜ—
‘
ÚÚ ÚÚð	ó ˆô
 —
‘
ÚÚ!ÚÚð	ó ˆð ?ò 	E‰FˆQ�Ü˜DŸH™H Q¨ T™N¨E°!°Q°$©K¸dÕCÜ˜DŸI™I a¨ d™O¨U°1°a°4©[¸tÖDñ	ErL   c                 ó$  — t         j                  j                  d«      }|j                  d«      }t        j                  |Ž }|j                  «       }t        |j                  |j                  j                   «       t        t        j                  |j                  «      |j                  d   «       t        t        j                  |j                  «      |j                  d   «       t        |j                  |j                  j                   «       t        t        j                  |j                  «      d«       t        |j                  |j                  j                  «       t        t        j                  |j                  «      d«       y )Nl   ã]ÏA )rP   rœ   ©r   r   r   rN   )r\   rw   rx   r   rn  ro  r   rq  rr  r¹  Údiagonalrj   rk   )r6   rz   rs  rl   rw  s        r=   Útest_rand_symmzTestTukeyHSD.test_rand_symm&  sõ   € ä�i‰i×#Ñ# JÓ/ˆØ�z‰z˜(Ó#ˆÜ�o‰o˜tÐ$ˆØ×&Ñ&Ó(ˆä�T—X‘X §	¡	§¡˜|Ô,ô 	”R—[‘[ §¡Ó+¨T¯Y©Y°t©_Ô=Ü”R—[‘[ §¡Ó*¨D¯H©H°T©NÔ;ä�S—]‘] S§]¡]§_¡_Ð$4Ô5Ü”R—[‘[ §¡Ó/°Ô3ä�S—Z‘Z §¡§¡Ô.Ü”R—[‘[ §¡Ó,¨aÕ0rL   c                 ó¦   — t        t        d¬«      5  t        j                  g d¢dt        j
                  gg d¢«       d d d «       y # 1 sw Y   y xY w)Nz...must be finite.r0   r¹   rO   )rS   rU   rP   )rÕ   r5   r   rn  r\   ry   r:  s    r=   Útest_no_infzTestTukeyHSD.test_no_inf9  s:   € Üœ:Ð-AÔBñ 	?Ü�O‰OšI¨¬2¯6©6 {²IÔ>÷	?÷ 	?ñ 	?ús   ’,AÁAc                 ó’   — t        t        d¬«      5  t        j                  ddgddggddgg d¢«       d d d «       y # 1 sw Y   y xY w)Nz...must be one-dimensionalr0   rN   rO   rP   rR   )rR   é   rS   ©rÕ   r5   r   rn  r:  s    r=   Ú
test_is_1dzTestTukeyHSD.test_is_1d=  sG   € Üœ:Ð-IÔJñ 	BÜ�O‰O˜a ˜V a¨ VÐ,¨q°!¨f²jÔA÷	B÷ 	Bñ 	Bús	   ’"=½Ac                 ó†   — t        t        d¬«      5  t        j                  g ddgg d¢«       d d d «       y # 1 sw Y   y xY w)Nz...must be greater than oner0   rO   rR   )rQ   rR   rS   r¤  r:  s    r=   Útest_no_emptyzTestTukeyHSD.test_no_emptyA  s6   € Üœ:Ð-JÔKñ 	3Ü�O‰O˜B  A ª	Ô2÷	3÷ 	3ñ 	3ús	   ’7·A c                 ó’   — d}t        t        |¬«      5  t        j                  g d¢ddgddgd¬	«       d d d «       y # 1 sw Y   y xY w)
Nz(Expected a boolean value for 'equal_var'r0   r¹   rO   rR   rS   rU   ÚFalse)Ú	equal_var)rÕ   Ú	TypeErrorr   rn  )r6   r@  s     r=   Útest_equal_var_input_validationz,TestTukeyHSD.test_equal_var_input_validationE  sD   € Ø8ˆÜœ9¨CÔ0ñ 	JÜ�O‰OšI¨¨1 v°°1¨vÀÕI÷	J÷ 	Jñ 	Jús	   ” =½AÚnargsr“  c                 ó€   — t        t        d¬«      5  t        j                  g d¢g|z  Ž  d d d «       y # 1 sw Y   y xY w)Nz...more than 1 treatment.r0   ©r£  rU   rP   r¤  )r6   r­  s     r=   Útest_not_enough_treatmentsz'TestTukeyHSD.test_not_enough_treatmentsJ  s5   € äœ:Ð-HÔIñ 	5Ü�O‰Ošz˜l¨UÑ2Ñ4÷	5÷ 	5ñ 	5ús   ’4´=Úcl)r¬  r   rN   rO   c                 ó¬   — t        t        d¬«      5  t        j                  g d¢ddgddg«      }|j	                  |«       d d d «       y # 1 sw Y   y xY w)Nzmust be between 0 and 1r0   r¯  rP   rQ   rs   )rÕ   r5   r   rn  ro  )r6   r±  rI  s      r=   Útest_conf_level_invalidz$TestTukeyHSD.test_conf_level_invalidO  sJ   € äœ:Ð-FÔGñ 	&Ü—‘¢
¨Q°¨F°Q¸°FÓ;ˆAØ×!Ñ! "Ô%÷	&÷ 	&ñ 	&ús   ’/A
Á
Ac                 ó  — t        j                  | j                  d d Ž }t        j                  | j                  d d Ž }t	        |j
                  |j
                  d   «       t	        |j
                  |j
                  d   «       y )NrO   r“  r”  )r   rn  Údata_diff_sizeÚ	ttest_indr   rk   )r6   rv  Ú	res_ttests      r=   Útest_2_args_ttestzTestTukeyHSD.test_2_args_ttestU  sn   € ä—O‘O T×%8Ñ%8¸¸!Ð%<Ð=ˆ	Ü—O‘O T×%8Ñ%8¸¸!Ð%<Ð=ˆ	Ü˜	×(Ñ(¨)×*:Ñ*:¸4Ñ*@ÔAÜ˜	×(Ñ(¨)×*:Ñ*:¸4Ñ*@ÕArL   N)r�   r‚   rƒ   Údata_same_sizerµ  Úextreme_sizeÚsas_same_sizeÚsas_diff_sizeÚsas_extremer4   r„   r…   r|  Úmatlab_sm_sizÚmatlab_diff_szr  r�  r›  rŸ  r¡  r¥  r§  r¬  r°  r³  r¸  r†   rL   r=   rY  rY  e  s  „ â4Ú4Ú4ð6€Nò HÚ4Ú4ð6€Nò 'òâ2ð4€Lð
€Mð€Mð€Kð ‡[�[×ÑÐ7Ø-¨}¸dÐCØ-¨}¸dÐCØ+¨[¸%Ð@ð ò"Eð ó Fñ#GóFð#GðJ€Mð€Nð ‡[�[×ÑÐ7Ø-¨}¸eÐDØ-¨~¸tÐDðFà"5Ø"7ð"9ð ó :ñ
Bó:ð
Bò*'BòREò41ò&?òBò3òJð
 ‡[�[×Ñ˜W fÓ-ñ5ó .ð5ð ‡[�[×Ñ˜T¢>Ó2ñ&ó 3ð&ó
BrL   rY  c                   ó0  — e Zd Zg d¢g d¢g d¢fZg d¢g d¢g d¢g d¢fZdZd	Zej                  j                  ej                  j                  d
eefeeffddg¬«      d„ «       «       ZdZdZej                  j                  d
eefeeffddg¬«      d„ «       Zy)ÚTestGamesHowell)g      8@rë   g      ?@ç     €I@)g      A@ç      2@rÃ  g      :@)g      1@g      Q@g     €M@g      @)g      >@rë   rÂ  )g     @TÀg     ÀQ@g      ;Àg     €O@)g      E@g      &@g      =@g      3@g      I@)rë   g      6@r­  rÃ  g      "@aK  
            Mean Diff      Lower Bound         Upper Bound         Sig
    0 - 1   8.25000000    -16.5492749527311    33.0492749527311    0.558733632413559
    0 - 2  -5.50000000    -63.6702454316458    52.6702454316458    0.941147750599221
    1 - 2  -13.7500000    -74.3174374251372    46.8174374251372    0.682983914946841
    a+  
             Mean Diff       Lower Bound        Upper Bound         Sig
    0 - 1	 28.16666667    -141.985416377670   198.318749711003	0.8727542747886180
    0 - 2	 4.466666667	-37.2830676783904   46.2164010117237	0.9752628408671710
    0 - 3	 16.26666667	-35.0933112382470   67.6266445715803	0.4262506151302880
    1 - 2	-23.70000000	-195.315617201249   147.915617201249	0.9148950609000590
    1 - 3	-11.90000000	-188.105478728519   164.305478728519	0.9861432250093960
    2 - 3	 11.80000000	-16.2894857524254	39.8894857524254    0.4755344436335670
    zdata, res_expect_strrc  rd  re  c                 ó  — t        j                  |j                  dd«      j                  «       dd t        ¬«      j                  dd«      }t        j                  |dd	iŽ}|j                  «       }|D ]“  \  }}}}	}
}t        |«      t        |«      }}t        |j                  ||f   |d
¬«       t        |j                  ||f   |d
¬«       t        |j                  ||f   |	d¬«       t        |j                  ||f   |
d¬«       Œ• y)a^  
        DATA LIST LIST /Group (F1.0) Value (F8.2).
        BEGIN DATA
        0 24
        0 23
        0 31
        0 51
        1 34
        1 18
        1 18
        1 26
        2 17
        2 68
        2 59
        2 7
        END DATA.

        ONEWAY Value BY Group
            /MISSING ANALYSIS
            /POSTHOC=GH ALPHA(0.05).
        rh  ri  rU   NrD   rt   rS   rª  Fg:Œ0âŽyE>rG   r`  rŽ  )r\   r2   rk  rl  rm  rÅ  r   rn  ro  rp  r   rj   rk   rq  rr  )r6   rs  rt  ru  Ú	res_gamesrw  r{   rx  r  ry  rz  r;   s               r=   Útest_compare_spssz!TestGamesHowell.test_compare_spssy  sù   € ô8 —Z‘ZØ×"Ñ" 5¨#Ó.×4Ñ4Ó6°q°rÐ:Üôç ™  Q›ð 	ô —O‘O TÐ;°UÑ;ˆ	Ø×,Ñ,Ó.ˆà *ò 	;ÑˆAˆq�!�Q˜˜1Ü�q“6œ3˜q›6ˆqˆAÜ˜I×/Ñ/°°1°Ñ5°q¸tÕDÜ˜I×,Ñ,¨Q°¨TÑ2°A¸DÕAÜ˜DŸH™H Q¨ T™N¨A°DÕ9Ü˜DŸI™I a¨ d™O¨Q°TÖ:ñ	;rL   zÙ
                  q value             Pr(>|q|)
    1 - 0 == 0   -1.5467805948856344  0.55873362851759
    2 - 0 == 0    0.4726721776628535  0.94114775035993
    2 - 1 == 0    1.246837541297872   0.68298393799782
    aw  
                 q value             Pr(>|q|)
    1 - 0 == 0  -1.0589317485313876  0.87275427357438
    2 - 0 == 0  -0.5716222106144833  0.97526284087419
    3 - 0 == 0  -2.6209678382077000  0.42625067714691
    2 - 1 == 0   0.8971899898179028  0.91489506061850
    3 - 1 == 0   0.4579447210555352  0.98614322544695
    3 - 2 == 0  -2.198800177874794   0.47553444364614
    c                 óf  — t        j                  |j                  dd«      j                  dd«      j                  «       dd t        ¬«      j                  dd«      }t        j                  |d	d
iŽ}|D ];  \  }}}}}t        |«      t        |«      }}t        |j                  ||f   |d¬«       Œ= y)a;  
        games-howell is provided by PMCMRplus package
        https://search.r-project.org/CRAN/refmans/PMCMRplus/html/gamesHowellTest.html
        > library("PMCMRplus")
        > options(digits=16)
        > table = data.frame(
            values = c(24., 23., 31., 51., 34., 18., 18., 26., 17., 68., 59.,  7.),
            groups = c("0", "0", "0", "0", "1", "1", "1", "1", "2", "2", "2", "2")
          )
        > table$groups = as.factor(table$groups)
        > fit <-aov(values ~ groups, table)
        > res = gamesHowellTest(fit)
        > summary(res)
        rh  ri  z == rP   NrD   rt   rR   rª  Fr  rG   )r\   r2   rk  rl  rm  rÅ  r   rn  rp  r   rk   )	r6   rs  rt  ru  rÅ  rx  r{   Ú_r;   s	            r=   r�  zTestGamesHowell.test_compare_r³  s®   € ô( —Z‘ZØ×"Ñ" 5¨#Ó.ß‰W�V˜SÓ!§%¡%£'¨!¨"ð.äô÷ !™  Q›ð 	ô —O‘O TÐ;°UÑ;ˆ	ð (ò 	B‰MˆAˆq�!�Q˜Ü�q“6œ3˜q›6ˆqˆAÜ˜I×,Ñ,¨Q°¨TÑ2°A¸DÖAñ	BrL   N)r�   r‚   rƒ   r¹  rµ  Úspss_same_sizeÚspss_diff_sizer4   r„   rW  r…   rÆ  Úr_same_sizeÚr_diff_sizer�  r†   rL   r=   rÁ  rÁ  ]  sî   „ â*Ú*Ú*ð,€Nò &Ú,Ú/Ú.ð0€Nð
€Nð€Nð ‡[�[×ÑØ‡[�[×ÑÐ3Ø,¨nÐ=Ø+¨^Ð<ð>à!4Ø!6ð!8ð ó 9ñ
!;ó9ó ð!;ðF€Kð€Kð ‡[�[×ÑÐ3Ø,¨kÐ:Ø+¨[Ð9ð;à!4Ø!6ð!8ð ó 9ñ
Bó9ñ
BrL   rÁ  c                   óâ   — e Zd Zej                  j                  dg d¢g d¢f«      d„ «       Zej                  j                  dg d¢g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢f«      d„ «       Zd„ Zd„ Z	d„ Z
y)ÚTestPoissonMeansTestzc1, n1, c2, n2, p_expect)r   rœ   rP   rœ   gþe÷äa¡¶?)rO   rœ   rS   rœ   gÞ	ŠcÆ?c                 ód   — t        j                  ||||«      }t        |j                  |d¬«       y r’   ©r   Úpoisson_means_testr   rk   )r6   Úc1rÇ   Úc2rÈ   Úp_expectrl   s          r=   Útest_paper_examplesz(TestPoissonMeansTest.test_paper_examples×  s*   € ô ×&Ñ& r¨2¨r°2Ó6ˆÜ˜Ÿ
™
 H°4Ö8rL   z c1, n1, c2, n2, p_expect, alt, d)rð  rT   rð  rT   gŽŸ{}ÿÿï?rß   r   )rT   rT   rT   rT   goPFªÿÿï?rß   r   )é2   rï  rN   rN   góæ°ae¹?rß   rŠ   )rP   rœ   rð  r  gò/V›-=¿?rß   r   )rP   rr   rQ   rð  g"Ü)‘ÅÝÙ?rÄ   r   )rQ   rð  rP   rœ   g_ù'Qm~€?rÄ   r   )rQ   rð  rP   rT   g|¨Š»Ó?rÃ   r   )rN   rN   rÖ  rï  gï0�ëÝ·?rÃ   r   c                 ól   — t        j                  ||||||¬«      }t        |j                  |dd¬«       y )N)rÉ   Údiffg�íµ ÷ÆÀ>r>  ©rH   rb  rÐ  )	r6   rÒ  rÇ   rÓ  rÈ   rÔ  ÚaltÚdrl   s	            r=   Útest_fortran_authorsz)TestPoissonMeansTest.test_fortran_authorsà  s0   € ô$ ×&Ñ& r¨2¨r°2À3ÈQÔOˆÜ˜Ÿ
™
 H°4¸eÖDrL   c                 ót   — d\  }}d\  }}t        j                  ||||«      }t        |j                  d«       y )N)r�   r�   rN   rÐ  ©r6   Úcount1Úcount2Únobs1Únobs2rl   s         r=   Útest_different_resultsz+TestPoissonMeansTest.test_different_resultsõ  s:   € ð &‰ˆ�Ø#‰ˆˆuÜ×&Ñ& v¨u°f¸eÓDˆÜ˜Ÿ
™
 AÕ&rL   c                 ót   — d\  }}d\  }}t        j                  ||||«      }t        |j                  d«       y )Nr�  r  rN   rÐ  rÞ  s         r=   Útest_less_than_zero_lambda_hat2z4TestPoissonMeansTest.test_less_than_zero_lambda_hat2þ  s:   € ð ‰ˆ�Ø‰ˆˆuÜ×&Ñ& v¨u°f¸eÓDˆÜ˜Ÿ
™
 AÕ&rL   c                 ó  — d\  }}d\  }}d}t        t        |¬«      5  t        j                  d|||«       d d d «       t        t        |¬«      5  t        j                  ||d|«       d d d «       d}t        t        |¬«      5  t        j                  d|||«       d d d «       t        t        |¬«      5  t        j                  ||d|«       d d d «       d}t        t        |¬«      5  t        j                  |d||«       d d d «       t        t        |¬«      5  t        j                  |||d«       d d d «       d	}t        t        |¬«      5  t        j                  ||||d¬
«       d d d «       d}t        t        |¬«      5  t        j                  ddddd¬«       d d d «       y # 1 sw Y   �Œux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   y xY w)Nr�  r  z`k1` and `k2` must be integers.r0   r»   z1`k1` and `k2` must be greater than or equal to 0.rt   z%`n1` and `n2` must be greater than 0.z(diff must be greater than or equal to 0.)rØ  zAlternative must be one of ...rN   rO   ÚerrorrÒ   )rÕ   r«  r   rÑ  r5   )r6   rß  rà  rá  râ  r<   s         r=   rÖ   z*TestPoissonMeansTest.test_input_validation  sê  € Ø‰ˆ�Ø‰ˆˆuð 4ˆÜœ9¨GÔ4ñ 	?Ü×$Ñ$ R¨°¸Ô>÷	?äœ9¨GÔ4ñ 	?Ü×$Ñ$ V¨U°B¸Ô>÷	?ð FˆÜœ:¨WÔ5ñ 	?Ü×$Ñ$ R¨°¸Ô>÷	?äœ:¨WÔ5ñ 	?Ü×$Ñ$ V¨U°B¸Ô>÷	?ð :ˆÜœ:¨WÔ5ñ 	@Ü×$Ñ$ V¨R°¸Ô?÷	@äœ:¨WÔ5ñ 	@Ü×$Ñ$ V¨U°F¸BÔ?÷	@ð =ˆÜœ:¨WÔ5ñ 	LÜ×$Ñ$ V¨U°F¸EÈÕK÷	Lð 3ˆÜœ:¨WÔ5ñ 	FÜ×$Ñ$ Q¨¨1¨a¸WÕE÷	Fð 	F÷5	?ñ 	?ú÷	?ñ 	?ú÷
	?ñ 	?ú÷	?ñ 	?ú÷
	@ð 	@ú÷	@ð 	@ú÷
	Lð 	Lú÷
	Fð 	Fús_   žF*ÁF7ÂGÂ6GÃ*GÄG*ÅG6ÆHÆ*F4Æ7GÇGÇGÇG'Ç*G3Ç6G?ÈHN)r�   r‚   rƒ   r4   r„   r…   rÕ  rÜ  rã  rå  rÖ   r†   rL   r=   rÎ  rÎ  Ö  s‹   „ Ø‡[�[×ÑÐ7â Ú ð:ó ñ
9óð
9ð ‡[�[×ÑÐ?ò
 	=Ú<Ú=Ú>Ú9Ú;ò 	6Ú6ðBó ñ"Eó#ð"Eò'ò'ó!FrL   rÎ  c                   óD  — e Zd Zd„ Zej
                  j                  dg d¢«      d„ «       Zej
                  j                  dg d¢«      d„ «       Zej
                  j                  dg d¢«      d	„ «       Z	d
„ Z
d„ Zej
                  j                  dddg«      d„ «       Zd„ Zy)ÚTestBWSTestc                 óÈ  — t         j                  j                  d«      }|j                  d¬«      \  }}|j                  |«      |j                  |«      }}d}t	        j
                  t        |¬«      5  t        j                  ||d¬«       d d d «       d}t	        j
                  t        |¬«      5  t        j                  ||d	¬«       d d d «       d
}t	        j
                  t        |¬«      5  t        j                  ||j                  g |j                  ¬«      «       d d d «       d}t	        j
                  t        |¬«      5  t        j                  ||d¬«       d d d «       d}t	        j
                  t        |¬«      5  t        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   ŒmxY w# 1 sw Y   y xY w)Nì   <oôvêT‘{ ©rO   rU   rp   z"`axis` must be an integer or None.r0   r§   ru   z7`axis` is not compatible with the shapes of the inputs.rP   z`x` and `y` must contain...rD   zalternative` must be one of...rÙ  rÒ   z!method` must be an instance of...r�  rÓ   )
r\   rw   rx   r2   r4   r   r5   r   Úbws_testr?   )r6   r7   rz   r8   r9   r<   s         r=   Útest_bws_input_validationz%TestBWSTest.test_bws_input_validation-  sy  € Ü�i‰i×#Ñ#Ð$7Ó8ˆà�z‰z˜vˆzÓ&‰ˆˆ1Ø�z‰z˜!‹}˜bŸj™j¨›mˆ1ˆà6ˆÜ�]‰]œ:¨WÔ5ñ 	+Ü�N‰N˜1˜a cÕ*÷	+ð LˆÜ�]‰]œ:¨WÔ5ñ 	)Ü�N‰N˜1˜a aÕ(÷	)ð 0ˆÜ�]‰]œ:¨WÔ5ñ 	=Ü�N‰N˜1˜bŸj™j¨°1·7±7˜jÓ;Ô<÷	=ð 3ˆÜ�]‰]œ:¨WÔ5ñ 	:Ü�N‰N˜1˜a¨[Õ9÷	:ð 6ˆÜ�]‰]œ:¨WÔ5ñ 	,Ü�N‰N˜1˜a¨Õ+÷	,ð 	,÷!	+ñ 	+ú÷	)ð 	)ú÷	=ð 	=ú÷	:ð 	:ú÷	,ð 	,ús<   Á4F'Â2F4Ã02G ÅGÆGÆ'F1Æ4F=Ç G	ÇGÇG!r?   r@   c                 óZ  — |€t        |«      nt        ||«      }|j                  g d¢|¬«      }|j                  g d¢|¬«      }t        j                  ||d¬«      }t        |j                  |j                  d|¬«      d¬«       t        |j                  |j                  d	|¬«      «       y )
N)rN   rO   rP   rQ   rS   rU   rV   rD   )rR   rs   rT   ro   rr   r±   r£  rß   rÒ   gºI+‡@rW   rG   g¤f$/•Þg?)r   rJ   r2   r   rí  r   rj   rk   )r6   r?   r7   r8   r9   rl   s         r=   Ú test_against_published_referencez,TestBWSTest.test_against_published_referenceG  sŒ   € ð ).¨Ô  Ô$¼7À2ÀuÓ;MˆØ�J‰JÒ,°EˆJÓ:ˆØ�J‰JÒ1¸ˆJÓ?ˆÜ�n‰n˜Q ¨{Ô;ˆÜ˜Ÿ™ r§z¡z°%¸u zÓ'EÈDÕQÜ˜Ÿ
™
 B§J¡J¨w¸e JÓ$DÕErL   )rÉ   rj   rk   ))rß   g
»ù-ü?g4ˆñ³B/À?)rÃ   ç
»ù-ü¿g«î0&Àv­?)rÄ   rñ  gÉñœý“(î?c                 óæ  — t         j                  j                  d«      }|j                  d¬«      \  }}|j                  ||j                  ¬«      |j                  ||j                  ¬«      }}t        j                  |||¬«      }|j                  ||j                  ¬«      }|j                  ||j                  ¬«      }t        |j                  |d¬«       t        |j                  |dd	¬
«       y )Nrë  rì  rp   rD   rÒ   ç‚vIhÂ%<=ra  r‰   r¬   rÙ  )
r\   rw   rx   r2   rB   r   rí  r   rj   rk   ©	r6   rÉ   rj   rk   r7   rz   r8   r9   rl   s	            r=   Útest_against_RzTestBWSTest.test_against_RR  s¸   € ô �i‰i×#Ñ#Ð$7Ó8ˆØ�z‰z˜vˆzÓ&‰ˆˆ1Ø�z‰z˜! 2§:¡:ˆzÓ.°·
±
¸1ÀBÇJÁJ°
Ó0Oˆ1ˆÜ�n‰n˜Q ¨{Ô;ˆØ—J‘J˜y°·
±
�JÓ;ˆ	Ø—‘˜F¨"¯*©*�Ó5ˆÜ˜Ÿ™ y°uÕ=Ü˜Ÿ
™
 F°¸DÖArL   ))rß   góD 5Hò?g«ÒdüÔ•Ò?)rÃ   ç`�Ñ‡©áï?gÈ²µ×šXë?)rÄ   rö  gß4)¡”�Â?c                 óx  — t         j                  j                  d«      }|j                  d¬«      }|j                  d¬«      }|j                  |«      |j                  |«      }}t	        j
                  |||¬«      }|j                  ||j                  ¬«      |j                  ||j                  ¬«      }}t	        j
                  |||¬«      }|j                  ||j                  ¬«      }|j                  ||j                  ¬«      }t        |j                  |d¬«       t        |j                  |d	d
¬«       y )Nl   ‚.ÅÇs½Z rs   rp   rV   rÒ   rD   ró  ra  r‰   r¬   rÙ  )
r\   rw   rx   r2   r   rí  rB   r   rj   rk   rô  s	            r=   Útest_against_R_imbalancedz%TestBWSTest.test_against_R_imbalancedf  sï   € ô �i‰i×#Ñ#Ð$7Ó8ˆØ�J‰J˜AˆJÓˆØ�J‰J˜AˆJÓˆØ�z‰z˜!‹}˜bŸj™j¨›mˆ1ˆÜ�n‰n˜Q ¨{Ô;ˆØ�z‰z˜! 2§:¡:ˆzÓ.°·
±
¸1ÀBÇJÁJ°
Ó0Oˆ1ˆÜ�n‰n˜Q ¨{Ô;ˆØ—J‘J˜y°·
±
�JÓ;ˆ	Ø—‘˜F¨"¯*©*�Ó5ˆÜ˜Ÿ™ y°uÕ=Ü˜Ÿ
™
 F°¸DÖArL   c                 óx  — t         j                  j                  d«      }|j                  d¬«      \  }}|j                  |«      |j                  |«      }}t         j                  j                  d«      }t	        j
                  d|¬«      }t	        j                  |||¬«      }|j                  j                  d   dk(  sJ ‚t         j                  j                  d«      }t	        j
                  d|¬«      }t	        j                  |||¬«      }t        |j                  |j                  «       t         j                  j                  d«      }t	        j
                  d|¬«      }t	        j                  |||¬«      }|j                  |j                  |j                  |j                  z
  «      d	kD  «      sJ ‚y )
Nì   /°HøNÏ( )rO   rT   rp   rT   )Ún_resamplesrz   rÓ   r   ì   ÝVC£	ãA r¬   )r\   rw   rx   r2   r   rm  rí  Únull_distributionrè   r   Úallr)  )	r6   r7   rz   r8   r9   rÔ   r*  r+  rO  s	            r=   Útest_methodzTestBWSTest.test_method}  sV  € ä�i‰i×#Ñ#Ð$7Ó8ˆØ�z‰z˜wˆzÓ'‰ˆˆ1Ø�z‰z˜!‹}˜bŸj™j¨›mˆ1ˆä�i‰i×#Ñ#Ð$7Ó8ˆÜ×(Ñ(°R¸SÔAˆÜ�~‰~˜a ¨6Ô2ˆà×%Ñ%×+Ñ+¨AÑ.°"Ò4Ð4Ð4ä�i‰i×#Ñ#Ð$7Ó8ˆÜ×(Ñ(°R¸SÔAˆÜ�~‰~˜a ¨6Ô2ˆä˜×.Ñ.°×0FÑ0FÔGä�i‰i×#Ñ#Ð$7Ó8ˆÜ×(Ñ(°R¸SÔAˆÜ�~‰~˜a ¨6Ô2ˆà�v‰v�b—f‘f˜T×3Ñ3°d×6LÑ6LÑLÓMÐPSÑSÔTÐTÑTrL   c                 óú  — t         j                  j                  d«      }|j                  |j                  d¬«      «      }|dz
  }|j                  d|j                  ¬«      }|j                  d|j                  ¬«      }t        j                  ||d¬	«      }|j                  d
kD  sJ ‚t        |j                  |«       t        j                  ||d¬	«      }|j                  d
kD  sJ ‚t        |j                  |«       t        j                  ||d¬	«      }|j                  d
k  sJ ‚t        |j                  |«       t        j                  ||d¬	«      }|j                  d
k  sJ ‚t        |j                  |«       y )Nrú  rR   rp   r˜   gAAp?rD   rN   rÄ   rÒ   r   rÃ   )
r\   rw   rx   r2   rB   r   rí  rj   r   rk   )r6   r7   rz   r8   r9   ÚpminÚpmaxrl   s           r=   Útest_directionszTestBWSTest.test_directions•  s-  € ä�i‰i×#Ñ#Ð$7Ó8ˆØ�J‰J�s—z‘z q�zÓ)Ó*ˆØ�‰Fˆà�z‰z˜'¨¯©ˆzÓ4ˆØ�z‰z˜! 2§:¡:ˆzÓ.ˆä�n‰n˜Q ¨yÔ9ˆØ�}‰}˜qÒ Ð Ð Ü˜Ÿ
™
 DÔ)ä�n‰n˜Q ¨vÔ6ˆØ�}‰}˜qÒ Ð Ð Ü˜Ÿ
™
 DÔ)ä�n‰n˜Q ¨vÔ6ˆØ�}‰}˜qÒ Ð Ð Ü˜Ÿ
™
 DÔ)ä�n‰n˜Q ¨yÔ9ˆØ�}‰}˜qÒ Ð Ð Ü˜Ÿ
™
 DÕ)rL   rv   r   rN   c                 ó¶  — t         j                  j                  d«      }|j                  d¬«      }|\  }}t        j                  |j                  |«      |j                  |«      |¬«      }t        j                  ||dz   d«      \  }}g g }	}t        ||«      D ]o  \  }
}t        j                  |j                  |
«      |j                  |«      «      }|j                  |j                  «       |	j                  |j                  «       Œq |j                  |«      |j                  |	«      }	}t        |j                  |«       t        |j                  |	«       y )Nrú  )rO   rP   rR   rp   ru   rN   rt   )r\   rw   rx   r   rí  r2   r?  ÚzipÚappendrj   rk   rô   r   )r6   rv   r7   rz   rÊ   r8   r9   rl   Úref_statisticÚ
ref_pvalueÚx_Úy_r”   s                r=   Útest_ndzTestBWSTest.test_nd®  s  € ä�i‰i×#Ñ#Ð$7Ó8ˆØ�J‰J˜IˆJÓ&ˆà‰ˆˆ1Ü�n‰n˜RŸZ™Z¨›]¨B¯J©J°q«MÀÔEˆä�{‰{˜1˜d 1™f bÓ)‰ˆˆ1Ø$&¨�zˆÜ˜!˜Q“iò 	*‰FˆB�Ü—.‘. §¡¨B£°·±¸B³Ó@ˆCØ× Ñ  §¡Ô/Ø×Ñ˜cŸj™jÕ)ð	*ð %'§H¡H¨]Ó$;¸R¿X¹XÀjÓ=Q�zˆä˜Ÿ™ }Ô5Ü˜Ÿ
™
 JÕ/rL   c                 ó°  — t         j                  j                  d«      }|j                  d¬«      \  }}|j                  |«      |j                  |«      }}t	        j
                  ||d ¬«      }t	        j
                  t        |«      t        |«      «      }t        |j                  |j                  «       t        |j                  |j                  «       y )Nrü  )rO   rO   rP   rp   ru   )
r\   rw   rx   r2   r   rí  r   r   rj   rk   )r6   r7   rz   r8   r9   rl   r”   s          r=   Útest_axis_NonezTestBWSTest.test_axis_NoneÁ  s’   € Ü�i‰i×#Ñ#Ð$7Ó8ˆØ�z‰z˜yˆzÓ)‰ˆˆ1Ø�z‰z˜!‹}˜bŸj™j¨›mˆ1ˆÜ�n‰n˜Q ¨Ô-ˆÜ�n‰nœX a›[¬(°1«+Ó6ˆÜ˜Ÿ™ s§}¡}Ô5Ü˜Ÿ
™
 C§J¡JÕ/rL   N)r�   r‚   rƒ   rî  r4   r„   r…   rð  rõ  rø  rÿ  r  r  r  r†   rL   r=   ré  ré  *  sÉ   „ ò,ð4 ‡[�[×Ñ˜WÒ&BÓCñFó DðFð ‡[�[×ÑÐCòNóOñBó	OðBð  ‡[�[×ÑÐCòNóOñBó	OðBò&Uò0*ð2 ‡[�[×Ñ˜V a¨ VÓ,ñ0ó -ð0ó$0rL   ré  )>Ú	itertoolsr   Únumpyr\   r˜  r4   Únumpy.testingr   r   r   r   rÕ   Úscipyr   r	   Úscipy.statsr
   Úscipy.stats._hypotestsr   r   r   r   r   r   r   Úscipy.stats._mannwhitneyur   r   r   Úscipy._lib._testutilsr   Úscipy._externalr   rÚ   Úscipy._lib._array_apir   r   r   r   r   r   Úscipy._lib._array_api_no_0dr   r   Úscipy.stats._axis_nan_policyr   r    Úlazy_xp_modulesr„   rŒ  r"   rˆ   rÁ   r‘  rê  r  r7  rY  rÁ  rÎ  rí  ré  r†   rL   r=   ú<module>r     s  ðÝ ã Û Û ß @Ñ @Ý *ç  Ý %÷4÷ 4ñ 4÷ EÑ DÝ 2Ý 2÷B÷ Bç Hß Rà�'€Ø—;‘;×/Ñ/Ð ñ Ð'Ó(÷L2ð L2ó )ðL2ñ^ �5×'Ñ'Ó(÷YOð YOó )ðYOñx �5×%Ñ%Ó&÷_
Cð _
Có 'ð_
CôDl<Ð"ô l<÷^P
ñ P
÷fV1ñ V1ñr Ð'Ó(÷[4ð [4ó )ð[4÷|uBñ uB÷psBñ sB÷rQFñ QFñh �5—>‘>Ó"÷]0ð ]0ó #ñ]0rL   