Ë
    qwj‹{ ã                   óJ  — 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& d dl'm(Z(m)Z) d dl*m+Z+m,Z,  e#e«       G d„ d«      «       Z- e#ej&                  «       G d„ d«      «       Z. e#ej4                  «       G d„ d«      «       Z/ G d„ de«      Z0 G d„ d«      Z1 G d„ d«      Z2 e#e«       G d„ d«      «       Z3 G d„ d«      Z4 G d„ d«      Z5 G d „ d!«      Z6 G d"„ d#«      Z7y)$é    )Ú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_assert_equalÚxp_assert_close)ÚSmallSampleWarningÚtoo_small_1d_not_omitc                   ól   — e Zd Zej                  j                  dg d¢«      d„ «       Zd„ Zd„ Zd„ Z	d„ Z
y)	ÚTestEppsSingletonÚdtype©NÚfloat32Úfloat64c                 óŒ  — t        |«      r)|j                  dk  r|dk(  rt        j                  d«       |€t	        |«      nt        ||«      }|j                  g d¢|¬«      }|j                  g d¢|¬«      }t        ||«      \  }}t        ||j                  d|¬«      d¬	«       t        ||j                  d
|¬«      d¬	«       y )Nú2.0r#   ú!Pre-NEP 50 doesn't respect dtypes)
gffffffÖ¿gffffff@g®Gáz®û?ç\�Âõ(\ç?çffffffÖ?g…ëQ¸…@gq=
×£pÝ?g®Gázî¿g®Gáz®×¿g¤p=
×#(@©r!   )
gffffffò¿g333333Ã¿g×£p=
×@g      
@g®Gáz®@g)\�Âõ(@ç      @gö(\�Âõ@gÃõ(\�Â @ç333333!@gHáz®G.@g¸…ëQ¸ž?©Úatolg˜Q,·´r?ç-Cëâ6?)	r   Ú__version__ÚpytestÚskipr   ÚgetattrÚasarrayr   r   )Úselfr!   ÚxpÚxÚyÚwÚps          úe/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/stats/tests/test_hypotests.pyÚtest_statistic_1z"TestEppsSingleton.test_statistic_1   s¼   € ô �BŒ<˜BŸN™N¨UÒ2°uÀ	Ò7IÜ�K‰KÐ;Ô<Ø(-¨Ô  Ô$¼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   é   é   r@   r@   r@   é   rA   rA   rA   é   é   rC   rC   rC   é   é
   rE   rE   rE   )rE   rB   r   rC   rE   rE   r   rC   rD   é   rE   rA   r?   rF   r   é   r?   rC   rG   rE   gÍÌÌÌÌÌ!@çü©ñÒMbP?r-   g&ª·¶J°?g-Cëâ6
?)r4   r   r   )r5   r6   r7   r8   r9   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Ö:r=   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   )	r5   r7   r8   Úw1Úp1Úw2Úp2Úw3Úp3s	            r;   Útest_epps_singleton_array_likez0TestEppsSingleton.test_epps_singleton_array_like5   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‘Õ‘Õr=   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©r?   r@   rA   rB   rE   ©Úmatchr6   )
r4   rN   r   r   r   r   r   Ú	statisticÚnanÚpvalue©r5   r6   r7   r8   Úress        r;   Útest_epps_singleton_sizez*TestEppsSingleton.test_epps_singleton_size?   sy   € à�z‰zš,Ó'¨¯©°2«ˆ1ˆÜÔ+Ô3HÈRÖPÜ& q¨!Ó,ˆCÜ˜CŸM™M¨2¯:©:°b·f±fÓ+=Ô>Ü˜CŸJ™J¨¯
©
°2·6±6Ó(:Ô;÷ Q×PÑPú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$>Ü. )rE   é   ©Úsize)rE   é   )r?   rB   é	   éÿÿÿÿ©Úaxisr   r?   r@   )rM   ÚrandomÚdefault_rngr4   r   r]   Úinfr   )
r5   r6   Úrngr7   r8   ÚiÚw_refÚp_refÚw_resÚp_ress
             r;   Útest_epps_singleton_nonfinitez/TestEppsSingleton.test_epps_singleton_nonfiniteG   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Õ1r=   N)Ú__name__Ú
__module__Ú__qualname__r1   ÚmarkÚparametrizer<   rI   rW   ra   rt   © r=   r;   r    r       s=   „ à‡[�[×Ñ˜WÒ&BÓCñJó DðJò ;ò ò<ó2r=   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¬«      ej                  j                  dddgg«      d„ «       «       Zej                  j                  dg d¢«      d„ «       Zd„ Zy
)ÚTestCvmz	n, x, refrB   )gy;ÂiÁ‹ž?g#¾³^¥?gþE�>‘¿?gåD»
)î?)ç{®Gáz„?çš™™™™™©?ç      à?g+‡ÙÎ÷ï?rE   )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 ©Nr/   r-   )r   r   r4   )r5   Únr7   Úrefr6   s        r;   Útest_cdf_refzTestCvm.test_cdf_ref`   s'   € ô 	œ §¡¨A£°Ó2°B·J±J¸s³OÈ$ÖOr=   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   r4   )r5   r6   s     r;   Útest_cdf_supportzTestCvm.test_cdf_supporti   s`   € äœ §¡¨Z¸Ð,?Ó!@À#ÓFØŸ
™
 B¨ 8Ó,ô	.äœ §¡¨_¸jÐ,IÓ!JÈBÓOØŸ
™
 B¨ 8Ó,õ	.r=   c                 ól   — |j                  g d¢«      }t        t        |d«      t        |«      d¬«       y )N)r�   r‚   rƒ   r„   éd   é'  r/   r-   )r4   r   r   ©r5   r6   r7   s      r;   Útest_cdf_large_nzTestCvm.test_cdf_large_np   s(   € à�J‰JÒ@ÓAˆÜœ  EÓ*¬H°Q«K¸dÖCr=   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@r*   gwJëÿï?r€   rŒ   )r4   r$   r   r’   s      r;   Útest_large_xzTestCvm.test_large_xu   sW   € ð �J‰J�u B§J¡JˆJÓ/ˆØœ( 1 dÓ+Ô1¨cÒ1Ð2Ñ1Ð2Ð1Øœ( 1›+Ô+¨Ò+Ð,Ñ+Ð,Ñ+r=   c                 óä   — d}t        |j                  |«      dz  t        j                  «      }t	        |j
                  ||¬«      dkD  sJ ‚t        |j                  |j                  d«      «       y )Nrf   çš™™™™™é?)r6   rŒ   r‹   )	r   Úonesr	   Úndtrr   r\   r   r^   r4   )r5   r6   r‡   r`   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Õ3r=   ú	jax.numpyúlazy -> no _axis_nan_policy©Úreasonr7   rz   ç      ø?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)N©r[   )r1   Úwarnsr   r   r   r4   r	   r™   r   r\   r]   r^   )r5   r7   r6   r`   s       r;   Útest_invalid_inputzTestCvm.test_invalid_input‡   so   € ô �\‰\Ô,Ô4IÖJÜ  §¡¨A£´·±Ó=ˆCÜ˜CŸM™M¨2¯:©:°b·f±fÓ+=Ô>Ü˜CŸJ™J¨¯
©
°2·6±6Ó(:Ô;÷ K×JÑJús    BB1Â1B:r!   r"   c                 óR  ‡— t        ‰«      r)‰j                  dk  r|dk(  rt        j                  d«       |€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 )Nr&   r#   r'   )g333333û¿r@   r   gÍÌÌÌÌÌô?rB   çš™™™™™¹?ç333333ã?r*   gÓˆk&qÒ?gDC+·šÂ?c                 ó8   — t        j                  | dz
  dz  «      S )NrA   rŸ   )r	   r™   )r7   s    r;   Ú<lambda>z'TestCvm.test_values_R.<locals>.<lambda>Ÿ   s   € ¤w§|¡|°Q¸±U¸C±KÔ'@r=   g�ºrW*î?g¤ju2´™`?)	r?   r@   rC   çffffffö?gìQ¸…ëÁ?rc   é   çÍÌÌÌÌÌì?ç      @c                 ó*   •— ‰j                  |  «       S ©N)Úexpm1)r7   r6   s    €r;   r¨   z'TestCvm.test_values_R.<locals>.<lambda>¦   s   ø€ �r—x‘x  “|‘mr=   g  ¹Ð.óê?góûÎ`Ã(r?)r   r0   r1   r2   r   r3   r   r4   r	   r™   r   r\   r^   )r5   r!   r6   r`   s     ` r;   Útest_values_RzTestCvm.test_values_R�   sM  ø€ ä�BŒ<˜BŸN™N¨UÒ2°uÀ	Ò7IÜ�K‰KÐ;Ô<Ø(-¨Ô  Ô$¼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ÕOr=   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.r¡   ©r?   r@   rA   ÚbetarC   )r©   çffffffæ?Úexpon)r   r1   r   Ú
ValueErrorr   r4   rM   rN   r
   rµ   Úcdfr   r\   r^   r³   )r5   r6   Úmessager7   Úargsrˆ   r`   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)ru   rv   rw   r1   rx   ry   r‰   rŽ   r“   r•   rš   Úskip_xp_backendsr£   r°   rº   rz   r=   r;   r|   r|   [   së   „ ð
 ‡[�[×Ñ˜[Ø	
Ò0Ò2JÐKØ	Ò1Ò3KÐLØ	Ò3Ò5MÐNØ	Ò3Ò5MÐNð	+ó ñPóðPò.òDò
-ò4ð ‡[�[×!Ñ! +Ð6SÐ!ÓTØ‡[�[×Ñ˜S 2¨ u +Ó.ñ<ó /ó Uð<ð ‡[�[×Ñ˜WÒ&BÓCñPó DðPó4Or=   r|   c                   óú  — e Zd Zej                  j                  dd¬«      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 d0¢g d1¢d2œZg d3¢g d4¢g d5¢g d6¢g d7¢g d8¢d9œZd:„ Zd;„ 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                  dAe«      dB„ «       ZdC„ Zej                  j                  dd¬«      ej                  j                  dDd
dg«      dE„ «       «       ZdF„ Zej                  j                  dd¬«      dG„ «       Zg dH¢dIdJdKdLej>                  dIdMdNdOdOdPgdQdRfg dH¢dIdJdKdLej>                  ej>                  dMdNdOdOdPgdSdTfdNdMej>                  dOgdIdJdKdLej>                  dIdMdNdOdOdPgdUdVfdNdMej>                  dOgdIdJdKdLej>                  ej>                  dMdNdOdOdPgdWdXfdNej>                  ej>                  dOgdIdJdKdLej>                  ej>                  dMdNdOdOdPgdYdZfgZ ej                  j                  d[e «      d\„ «       Z!g d]¢g d^¢g d_¢g d`¢g da¢g db¢g dc¢g dd¢g de¢g	Z"ej                  j                  dfe"«      dg„ «       Z#ej                  j                  dd¬«      dh„ «       Z$g di¢djdkgddlgg di¢djdkgddlgg di¢djdkgd	dmgg d'¢dMgddngg d'¢dMgddngg d'¢dMgd	dogdNdMgdNdMgddpgdNdMgdNdMgddpgdNdMgdNdMgd	dqgg	Z%ej                  j                  g dr¢e%«      ds„ «       Z&dt„ Z'ej                  j                  dug dv¢«      dw„ «       Z(g dx¢Z)g dy¢Z*dzZ+d{„ Z,d|„ Z-d}„ Z.d~„ Z/d„ Z0y€)�ÚTestMannWhitneyUr›   rœ   r�   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)Nr?   r@   rA   rB   r*   r¡   )r4   r!   r]   r1   r¢   r   r   r   r   r\   r^   )r5   r6   r7   r8   Úemptyr]   r`   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¨Ô,÷ Kô
 �\‰\Ô,Ô4IÖJÜ˜u aÓ(ˆCÜ˜CŸM™M¨3Ô/Ü˜CŸJ™J¨Ô,÷ Kô
 �\‰\Ô,Ô4IÖJÜ˜u eÓ,ˆCÜ˜CŸM™M¨3Ô/Ü˜CŸJ™J¨Ô,÷ KÐJ÷ KÐJú÷
 KÐJú÷
 KÐ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)Nr?   r@   rA   rB   z`use_continuity` must be oner¡   Úekki)Úuse_continuityz`alternative` must be one of©Úalternativez`axis` must be an integerrŸ   ri   z`method` must be one of©Úmethod)r4   Úassert_raisesr¶   r   )r5   r6   r7   r8   s       r;   Útest_input_validationz&TestMannWhitneyU.test_input_validationÙ   s¼   € Ø�J‰J˜˜1�vÓˆØ�J‰J˜˜1�vÓˆÜœ:Ð-KÖLÜ˜˜A¨fÕ5÷ Mäœ:Ð-KÖLÜ˜˜A¨6Õ2÷ Mäœ:Ð-HÖIÜ˜˜A CÕ(÷ Jäœ:Ð-FÖGÜ˜˜A fÕ-÷ HÐG÷ MÐLúçLÐLúçIÐIúçGÐGús/   ¸CÁ CÂC Â0C,ÃCÃCÃ C)Ã,C5c                 óv  — 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 )Nl   nE QWS�frG   r?   Ú
asymptoticrÆ   ÚexactrA   )	rM   rk   rl   r4   r   r^   ÚxpxÚatÚset)	r5   r6   rn   r‡   r7   r8   ÚautorË   rÌ   s	            r;   Ú	test_autozTestMannWhitneyU.test_autoå   sÆ  € ô �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×/Ñ/Ò/Ð/Ñ/r=   )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@ç
+ž×÷å?Úless)rÔ   ç
+ž×÷Õ?Úgreater)rÔ   ç¼ŒÉ%c�æ?rÌ   )rÔ   g9§ƒ:¨ƒæ?)rÔ   g9§ƒ:¨ƒÖ?)rÔ   g*…:¨ƒ:æ?)ÚkwdsÚexpectedr!   r"   c                 óÔ  — t        |«      r)|j                  dk  r|dk(  rt        j                  d«       |€t	        |«      nt        ||«      }|j                  | j                  |¬«      |j                  | j                  |¬«      }}t        ||fi |¤Ž}t        |j                  |j                  |d   |¬«      «       t        |j                  |j                  |d   |¬«      «       y )Nr&   r#   z*Scalar dtypes only respected after NEP 50.r*   r   r?   )r   r0   r1   r2   r   r3   r4   r7   r8   r   r   r\   r^   )r5   rÚ   rÛ   r!   r6   r7   r8   r`   s           r;   Ú
test_basiczTestMannWhitneyU.test_basic;  s¼   € ô �BŒ<˜BŸN™N¨UÒ2°uÀ	Ò7IÜ�K‰KÐDÔEØ(-¨Ô  Ô$¼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ÕIr=   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   «      «       y )NrÇ   rË   r   r?   )r4   r7   r8   r   r   r\   r^   )r5   rÚ   rÛ   r6   r7   r8   r`   s          r;   Útest_continuityz TestMannWhitneyU.test_continuityS  ss   € ð �z‰z˜$Ÿ&™&Ó! 2§:¡:¨d¯f©fÓ#5ˆ1ˆÜ˜1˜aÑ=¨Ð=¸Ñ=ˆÜ˜Ÿ™ r§z¡z°(¸1±+Ó'>Ô?Ü˜Ÿ
™
 B§J¡J¨x¸©{Ó$;Õ<r=   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å   r+   )r‹   rŒ   r‹   rŒ   r‹   r}   )r‹   r‹   rŒ   r‹   r‹   rh   rË   )rj   rÇ   )rE   rg   ç      !@rG   r¬   rF   rD   )r?   g]�UÄÚì?g…æ[»é?giœ…\­æ?g°ZX<_Õã?gãžxº.á?gåß ê…
Ù?)r4   Ústackr   r   r\   r   r^   )
r5   r6   r7   Úy0ÚdyÚdy2r8   r`   Ú
U_expectedÚ
p_expecteds
             r;   Útest_tie_correctz!TestMannWhitneyU.test_tie_correctc  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Ó$:Õ;r=   )g      Ð?r   g      è?)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çû©ñÒá?rY   )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+‡â?©r?   r@   rA   rB   rC   )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¸á?)rH   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¶óýà?)r?   r@   rA   rB   rC   rD   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   )rA   rB   rC   rD   )ÚkrH   r-   r?   rh   )Úsetattrr   r   Úpn3Úpn4Úpm5Úpm6ÚitemsrM   rN   Úlenr  Ú
set_shapesr   r·   ÚsfÚpmf)
r5   Úp_tablesr‡   ÚtableÚmr:   ÚuÚu2r  Úpmf2s
             r;   Útest_exact_distributionz(TestMannWhitneyU.test_exact_distribution“  sm  € ä”
˜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Ö*ò) &ñ )r=   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  rC   rÌ   rÆ   rË   r}   é(   rH   )rM   rk   rl   r4   r   r\   Úabsr^   )r5   r6   rn   r7   r8   Ú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Ñ7r=   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Œ   )r4   r   r   r^   r\   )r5   r6   r7   r8   Úres_lÚres_gr`   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Õ3r=   ©r‹   rŒ   )r‹   r   )r‹   g‹·éƒ¡Eï?)r‹   r?   )rÚ   Úresultc                 ó.   — t        t        di |¤Ž|«       y )N©r?   r@   )r   r   )r5   rÚ   r(  s      r;   Útest_scalar_dataz!TestMannWhitneyU.test_scalar_dataß  s   € ô 	œÑ2¨TÑ2°FÕ;r=   c                 ó¶   — t        t        ddd¬«      d«       t        t        ddd¬«      d«       t        t        dddd¬«      dt        j                  f«       y )	Nr?   rÌ   rÆ   )r   r?   rË   F)rÇ   rÃ   r   )r   r   rM   r]   ©r5   s    r;   Útest_equal_scalar_dataz'TestMannWhitneyU.test_equal_scalar_dataä  sP   € ô
 	”\ ! Q¨wÔ7¸ÔBÜ”\ ! Q¨|Ô<¸hÔGô 	”\ ! Q¨|Ø16ô8Ø:=¼r¿v¹v¸õ	Hr=   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 éýÿÿÿ)rF   rE   rA   rG   rD   r?   r¥   )rÇ   rj   )rD   rA   rG   rh   )N.rÆ   ç¼‰Ø—²Òœ<r-   )rM   rk   rl   r   r4   r^   Úshaper\   ÚmoveaxisÚndimÚbroadcast_toÚzerosr   Úranger   )r5   rÇ   r6   rn   rj   r  r‡   r7   r8   r`   r2  Ú
statisticsÚpvaluesro   Ú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±5¨a¤ q¥°5Ñ 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                 ól  — g d¢}g d¢}t        |j                  |«      |j                  |«      «      }d|d<   t        j                  |d<   t        |j                  |«      |j                  |«      «      }t	        |j
                  |j
                  «       t	        |j                  |j                  «       y )NrY   )rA   rD   rF   rG   rg   rA   r@   r?   rB   rB   rC   rŒ   r   rB   )r   r4   rM   rm   r   r\   r^   )r5   r6   r7   r8   r  r  s         r;   Útest_gh_11355zTestMannWhitneyU.test_gh_11355   s€   € âˆÚ-ˆÜ˜BŸJ™J q›M¨2¯:©:°a«=Ó9ˆð ˆˆ!‰Ü�v‰vˆˆ!‰Ü˜BŸJ™J q›M¨2¯:©:°a«=Ó9ˆä˜Ÿ™¨¯©Ô7Ü˜Ÿ™ T§[¡[Õ1r=   c                 ó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â   rA   rD   rF   rg   r@   r?   rB   rC   )rM   r]   r   r4   r   r\   r^   )r5   r6   r7   r8   Úres3s        r;   Útest_gh11355_nanz!TestMannWhitneyU.test_gh11355_nan.  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Õ8r=   )rŒ   r@   rA   rB   rA   rD   rF   rG   r@   r?   rB   rC   ç      $@g+z’¿QœÀ?ræ   g}$kù\¶?g     €1@g!Ë›G*ã?rÔ   g›Á,ÖsÿÝ?ç     €8@gêFÏHïQé?)r7   r8   r\   r^   c                 óø   — t        |j                  |«      |j                  |«      d¬«      }t        |j                  |j                  |«      d¬«       t        |j                  |j                  |«      d¬«       y )NrË   rÆ   çê-�™—q=r-   )r   r4   r   r\   r^   )r5   r7   r8   r\   r^   r6   r`   s          r;   Útest_gh_11355bzTestMannWhitneyU.test_gh_11355bG  sT   € ô ˜2Ÿ:™: a›=¨"¯*©*°Q«-ÀÔMˆÜ˜Ÿ™ r§z¡z°)Ó'<À5ÕIÜ˜Ÿ
™
 B§J¡J¨vÓ$6¸UÖCr=   )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Ç   )r4   r   r   r\   r   r^   )
r5   rÃ   rÅ   rÇ   rI  r6   Ústatistic_expr7   r8   r`   s
             r;   Útest_gh_9184zTestMannWhitneyU.test_gh_9184X  sk   € ð. ˆØ�J‰JÒSÓTˆØ�J‰JÒ5Ó6ˆÜ˜1˜a°Ø'2¸6ôCˆä˜Ÿ™ r§z¡z°-Ó'@ÔAÜ˜Ÿ
™
 B§J¡J¨zÓ$:Õ;r=   c                 ó   — |j                  |j                  «      }|j                  |||||g«      }|j                  |||||g«      }t        ||«      }t	        |j
                  |j                  |«      «       t	        |j                  |«       y r®   )r4   r]   rç   r   r   r\   r^   )r5   r6   r]   ÚaÚbr`   s         r;   Útest_gh_4067zTestMannWhitneyU.test_gh_4067w  sx   € ð �j‰j˜Ÿ™Ó ˆØ�H‰H�c˜3  S¨#Ð.Ó/ˆØ�H‰H�c˜3  S¨#Ð.Ó/ˆÜ˜1˜aÓ ˆÜ˜Ÿ™ r§z¡z°#£Ô7Ü˜Ÿ
™
 CÕ(r=   r"  rŸ   r#  )rä   ga×€}¢ã?)rä   rŒ   )rŸ   g¤Û?hÍå?)rŸ   rŒ   )rã   gæ5&#\å?)rã   rŒ   )r7   r8   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Ë   rK  ç�íµ ÷Æ°>rG  r   ©Úrtolr?   )r   r4   r   r#   r   r\   r^   )r5   r7   r8   rÅ   rÛ   r6   r`   rU  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¸©{Ó$;À$ÖGr=   c                 ó¼  — t         j                  j                  d«      }d\  }}|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 )rC   rc   rd   r  r   rÌ   rÆ   rh   r?   rØ   )rÇ   rÅ   )rM   rk   rl   r
  r   r   r  Úresetr   r   Úconfigurationsr2  Úminr\   )r5   rn   r  r‡   r7   r8   r`   r2  s           r;   Útest_gh19692_smaller_tablez+TestMannWhitneyU.test_gh19692_smaller_table›  sq  € ô
 �i‰i×#Ñ#Ð$7Ó8ˆØ‰ˆˆ1Ø�J‰J˜AˆJÓˆØ�J‰J˜AˆJÓˆä”
˜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Ñ9r=   rÅ   )rÖ   rØ   rÒ   c                 óž  — t         j                  j                  d«      }|j                  d¬«      }|j                  d¬«      }t        j                  ||t        j
                  «       |d¬«      }t        j                  ||d|d¬«      }t        |j                  |j                  d¬	«       t        |j                  |j                  d¬	«       y )
NrX  )r@   rC   rd   )r@   rD   r?   )rÇ   rÅ   rj   rÌ   çVçž¯Ò<rT  )	rM   rk   rl   r   r   ÚPermutationMethodr   r\   r^   )r5   rÅ   rn   r7   r8   r`   r  s          r;   Útest_permutation_methodz(TestMannWhitneyU.test_permutation_method¸  s    € ä�i‰i×#Ñ#Ð$7Ó8ˆØ�J‰J˜FˆJÓ#ˆØ�J‰J˜FˆJÓ#ˆÜ× Ñ   A¬e×.EÑ.EÓ.GØ-8¸qôBˆä×!Ñ! ! Q¨wØ.9ÀôCˆä˜Ÿ™ t§~¡~¸EÕBÜ˜Ÿ
™
 D§K¡K°eÖ<r=   )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                 ó6  — |j                  | j                  «      |j                  | j                  «      }}t        j                  ||d¬«      \  }}t        j                  ||d¬«      \  }}t        j                  ||d¬«      \  }}	t        j                  ||d¬«      \  }
}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Ø   ç      @ç     €Y@g=_A§ÿï?rT  çü©ñÒMb@?glP†z.?r1  ©rU  r.   )
r4   ÚXÚYr   r   r   r   rU  r!   r$   ©r5   r6   rf  rg  Úu1rR   r  rT   Úu3rV   Úu4Úp4rU  s                r;   Útest_mannwhitneyu_one_sidedz,TestMannWhitneyU.test_mannwhitneyu_one_sidedÖ  s<  € Ø�z‰z˜$Ÿ&™&Ó! 2§:¡:¨d¯f©fÓ#5ˆ1ˆÜ×#Ñ# A q°fÔ=‰ˆˆBÜ×#Ñ# A q°iÔ@‰ˆˆBÜ×#Ñ# A q°iÔ@‰ˆˆBÜ×#Ñ# A q°fÔ=‰ˆˆ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ÖSr=   c                 óê  — |j                  | j                  «      |j                  | j                  «      }}t        j                  ||d¬«      \  }}t        j                  ||d¬«      \  }}t        ||«       t        ||j                  d«      «       t        ||j                  d«      «       |j                  |j                  k(  r| j                  nd}t        ||j                  d«      |d¬«       y )	NrÒ   rÄ   rb  rc  rd  glP†z.?r1  re  ©
r4   rf  rg  r   r   r   r!   r$   rU  r   ©	r5   r6   rf  rg  ri  rR   r  rT   rU  s	            r;   Útest_mannwhitneyu_two_sidedz,TestMannWhitneyU.test_mannwhitneyu_two_sidedè  s·   € Ø�z‰z˜$Ÿ&™&Ó! 2§:¡:¨d¯f©fÓ#5ˆ1ˆÜ×#Ñ# A q°kÔB‰ˆˆBÜ×#Ñ# A q°kÔB‰ˆˆ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ÖRr=   c                 ó,  — |j                  | j                  «      |j                  | j                  «      }}t        j                  ||dd¬«      \  }}t        j                  ||dd¬«      \  }}t        j                  ||dd¬«      \  }}	t        j                  ||dd¬«      \  }
}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Ø   rb  rc  rd  gii5‡£ÿï?r1  re  g¬2¥¥2?ro  rh  s                r;   Ú&test_mannwhitneyu_no_correct_one_sidedz7TestMannWhitneyU.test_mannwhitneyu_no_correct_one_sidedó  sB  € Ø�z‰z˜$Ÿ&™&Ó! 2§:¡:¨d¯f©fÓ#5ˆ1ˆÜ×#Ñ# A q¨%¸VÔD‰ˆˆBÜ×#Ñ# A q¨%¸YÔG‰ˆˆBÜ×#Ñ# A q¨%¸YÔG‰ˆˆBÜ×#Ñ# A q¨%¸VÔD‰ˆˆ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ÖTr=   c                 óî  — |j                  | j                  «      |j                  | j                  «      }}t        j                  ||dd¬«      \  }}t        j                  ||dd¬«      \  }}t        ||«       t        ||j                  d«      «       t        ||j                  d«      «       |j                  |j                  k(  r| j                  nd}t        ||j                  d«      |d¬	«       y )
NFrÒ   rÄ   rb  rc  rd  g¬2¥¥2?r1  re  ro  rp  s	            r;   Ú&test_mannwhitneyu_no_correct_two_sidedz7TestMannWhitneyU.test_mannwhitneyu_no_correct_two_sided  s»   € Ø�z‰z˜$Ÿ&™&Ó! 2§:¡:¨d¯f©fÓ#5ˆ1ˆÜ×#Ñ# A q¨%¸[ÔI‰ˆˆBÜ×#Ñ# A q¨%¸[ÔI‰ˆˆ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ÖTr=   c                 óœ  — |j                  g d¢«      }|j                  g d¢«      }t        j                  ||d¬«      }t        |j                  |j                  d«      «       t        |j
                  |j                  d«      «       t        j                  ||d¬«      }t        |j                  |j                  d«      «       t        |j
                  |j                  d«      «       t        j                  ||d	¬«      }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Ä   g     •Ð@g €?Õ¹•ý>rØ   gÜ&)EÅÿï?rÒ   g�Ž?Õ¹•?)r4   r   r   r   r\   r^   r_   s        r;   Útest_mannwhitneyu_onesz'TestMannWhitneyU.test_mannwhitneyu_ones  sô   € à�J‰Jò 0ó 1ˆð& �J‰Jò (ó )ˆô × Ñ   A°6Ô:ˆÜ˜Ÿ™ r§z¡z°'Ó':Ô;Ü˜Ÿ
™
 B§J¡JÐ/DÓ$EÔFÜ× Ñ   A°9Ô=ˆÜ˜Ÿ™ r§z¡z°'Ó':Ô;Ü˜Ÿ
™
 B§J¡J¨Ó$?Ô@Ü× Ñ   A°;Ô?ˆÜ˜Ÿ™ r§z¡z°'Ó':Ô;Ü˜Ÿ
™
 B§J¡JÐ/@Ó$AÕBr=   N)1ru   rv   rw   r1   rx   r»   rÀ   rÉ   rÑ   r7   r8   Úcases_basicry   rÝ   Úcases_continuityrà   rí   r  r  r  r  r  r   r&  Úcases_scalarr+  r.  r>  r@  rC  rM   rm   Úcases_11355rH  Ú
cases_9184rM  rQ  Ú
cases_2118rV  r\  r`  rf  rg  rU  rm  rq  rs  ru  rw  rz   r=   r;   r½   r½   »   sù  „ ð ‡[�[×!Ñ! +Ð6SÐ!ÓTñ-ó Uð-ò*
.ò10òj 	-€Aò	€Að& %0¸<ÑHØ*ð,à$*°lÑCØ*ð,à$-¸ÑFØ*ð,à$/¸7ÑCØ*ð,à$*°gÑ>Ø*ð,à$-¸ÑAØ*ð,ð-€Kð ‡[�[×ÑÐ1°;Ó?Ø‡[�[×Ñ˜WÒ&BÓCñJó Dó @ðJð *5ÈÑMØ/ð1à)/À4ÑHØ/ð1à)2ÀdÑKØ/ð1à)4ÈÑNØ/ð1à)/À5ÑIØ/ð1à)2ÀeÑLØ/ð1ð2Ðð ‡[�[×ÑÐ1Ð3CÓDñ=ó Eð=ò<ò,  Ò$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ð ‡[�[×!Ñ! +Ð6SÐ!ÓTØ‡[�[×Ñ˜X¨°gÐ'>Ó?ñ)Kó @ó Uð)KòV2ð ‡[�[×!Ñ! +Ð6SÐ!ÓTñ9ó Uð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ð<ð: ‡[�[×!Ñ! +Ð6SÐ!ÓTñ)ó Uð)ò   # 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r=   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 )NrE   ©r   r?   r   rÒ   rÄ   )ÚALL_INTEGERÚ	ALL_FLOATÚdtypesrM   rN   Ú	argumentsÚ	functoolsÚpartialr   ÚsomersdÚpartialfuncrÛ   )r5   ÚidxÚinput_arrays      r;   Úsetup_methodzTestSomersD.setup_method?  sÉ   € Ø×&Ñ&¨¯©Ñ7ˆŒÜ Ÿi™i¨›mØ"×.Ñ.°·±Ñ?ðAä Ÿi™i¨›mØ"×.Ñ.°·±Ñ?ðAñBˆŒð :>¿ºÓH¹°#�t—~‘~ cÑ*¨1Ó-¸ˆÐHô
 %×,Ñ,¬U¯]©]Ø9DôFˆÔà(˜×(Ñ(¨+Ð6ˆ�ùò Is   ÂC)c                 óÒ   —  | j                   |Ž }t        |j                  | j                  j                  d¬«       t        |j                  | j                  j                  d¬«       y )Nr^  r-   )r‰  r   r\   rÛ   r^   )r5   r¹   r`   s      r;   ÚpythranfunczTestSomersD.pythranfuncN  sH   € Øˆd×Ñ Ð%ˆÜ˜Ÿ™ t§}¡}×'>Ñ'>ÀUÕKÜ˜Ÿ
™
 D§M¡M×$8Ñ$8¸uÖEr=   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�   é   é   rF   r   )rF   r‘  é   é#   rf   )r?   rA   r@   rF   é   r^  r-   )r   rˆ  Úget_optional_argsr   r\   r^   )r5   r  r  Úoptional_argsr  s        r;   Útest_pythranfunc_keywordsz%TestSomersD.test_pythranfunc_keywordsS  sm   € â#Ò%8Ò:JÐKˆÜ�}‰}˜UÓ#ˆà×.Ñ.¬u¯}©}Ó=ˆÜ�}‰}˜UÑ4 mÑ4ˆä˜Ÿ™¨¯©¸UÕCÜ˜Ÿ™ T§[¡[°uÖ=r=   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)rC   r@   r?   rA   rD   rB   rF   rG   )rC   r@   rD   rA   r?   rG   rF   rB   r'  r   r^  r-   r?   )	r   rC   r@   r?   rA   rD   rB   rF   rG   )	rC   r@   r   rD   rA   r?   rG   rF   rB   )rC   r@   r?   rA   rD   rB   rF   )rC   r@   rD   rA   r?   rF   rB   )g+$I’$IÂ¿g=/3n£+ä?rE   ©rŒ   r   )
r   r@   r?   rA   rB   rD   rC   rF   rG   rg   )gsÒ'}Ò'í?r‹   rh   )g      ð¿r   )
rg   rF   rG   rD   rC   rA   rB   r@   r?   r   )g}Ò'}Ò'í¿r‹   )rf   r@   r?   rf   r@   )r?   rB   rF   r?   r   )ç      à¿gÞ.Ê‚ƒÓ?)r@   r@   r@   )r@   r   r@   rD  ç      4@)r   rˆ  r   r\   r^   rM   rN   Úarrayr]   rÈ   r¶   )r5   r7   r8   rÛ   r`   Ú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Õ6r=   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)r?   r?   r?   r@   r@   r@   r@   r@   rA   rA   r?   r@   r@   r@   r@   r@   r@   r@   rA   rA   rA   rA   rA   rA   )r?   r?   r?   r?   r?   r?   r?   r?   r?   r?   r@   r@   r@   r@   r@   r@   r@   r@   r@   r@   r@   r@   r@   r@   gCÑE]tÑ?gâ^ñ_ñÕ?gO((ÄÇ·?r^  r-   r/   )rA   r@   ©r@   rA   )r   rˆ  r   r\   r^   r   r  r2  )r5   r7   r8   Úd_crÚd_rcr:   r`   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Õ-r=   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 )NrG   r@   rD   rC   rA   rB   r?   gHHHHHHØ?r�  r   éU   rK   )gœÜMî&wã?rŒ   gtÑE]tá¿)rM   rœ  ÚTr   r   rˆ  r\   )r5   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¸#Õ>r=   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�   ©rB   rD   r   ©r:   Úrandom_stater@   r?   ri   gaƒ¸yò½¿r^  r-   gP—j¹$Ä?)rM   Úprodrk   ÚRandomStater   ÚmultinomialÚrvsr˜   Úreshaperˆ  Úinsertr6  r   r\   r^   )r5   ÚNr2  re   rn   r  r`   Ús2r  Ús3rB  Ú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Õ0r=   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­  r@   z:All elements of the contingency table must be non-negativer¡   r}   z5All elements of the contingency table must be integerz?At least two elements of the contingency table must be nonzero.r?   )rA   rA   r�  )rM   r¯  rk   rl   r   r±  r²  r˜   r³  rÈ   r¶   rˆ  r6  )
r5   rµ  r2  re   rn   r  Ús5r¸   Ús6Ús7s
             r;   Útest_invalid_contingency_tablesz+TestSomersD.test_invalid_contingency_tables  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˜"Ô÷ 6ð �‰XˆØIˆÜœ:¨WÖ5Ü�M‰M˜"Ô÷ 6ð,ˆäœ:¨WÖ5Ü�M‰M˜2˜$Ô÷ 6ô œ:¨WÖ5Ü�M‰M˜A˜3˜%Ô ÷ 6ô �X‰X�fÓˆÜœ:¨WÖ5Ü�M‰M˜"Ô÷ 6ð ˆˆ4‰Üœ:¨WÖ5Ü�M‰M˜"Ô÷ 6Ð5÷+ 6Ñ5ú÷
 6Ð5ú÷
 6Ð5ú÷ 6Ð5ú÷ 6Ð5ú÷ 6Ð5ú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²   rh   gÍÌÌÌÌÌ @)rA   r@   r?   r   rš  )rM   rm   r   rˆ  r   r\   r^   )r5   r7   rž  r8   Úy2r`   r  s          r;   Útest_only_ranks_matterz"TestSomersD.test_only_ranks_matter@  sr   € âˆØ�#”r—v‘vÐˆÚˆØ�œŸ™�wÐˆÜ�m‰m˜A˜qÓ!ˆÜ�}‰}˜R Ó$ˆÜ�S—]‘] D§N¡NÔ3Ü�S—Z‘Z §¡Õ-r=   c                 óÖ   — t        j                  d«      }t        j                  d«      }t        j                  ||«      }t	        |j
                  t        j                  d«      «       y )NrE   )rM   rN   r   rˆ  r   r  Úeye©r5   r7   r8   r`   s       r;   Útest_contingency_table_returnz)TestSomersD.test_contingency_table_returnK  sB   € ä�I‰I�b‹MˆÜ�I‰I�b‹MˆÜ�m‰m˜A˜qÓ!ˆÜ�S—Y‘Y¤§¡ r£
Õ+r=   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  )rC   rD   rF   rG   rF   rÒ   rÄ   r   rÖ   r?   r@   rØ   z`alternative` must be...r¡   ú	ekki-ekki)
r   rˆ  r\   r   r   r^   Úreverser1   r   r¶   )r5   r�  rž  rÛ   r`   s        r;   Útest_somersd_alternativez$TestSomersD.test_somersd_alternativeR  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Õ:÷ I×HÑHú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 )	NrE   r?   rh   rÒ   rÄ   r   rÖ   rØ   )rM   rN   Úflipr   rˆ  r\   r^   )r5   rË  r�  rž  Úexpected_statisticr`   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Ò?Ð?Ñ?r=   c                 óö   — ddg}d}t         j                  j                  d«      }|j                  ||«      }|j                  ||«      }d}t	        j
                  ||«      j                  }t        ||d¬«       y )Nr?   r@   é@B l   ÿ.E5 g 0ôÜuD?r^  r-   )rM   rk   rl   Úchoicer   rˆ  r\   r   )r5   ÚclassesÚ	n_samplesrn   r7   r8   Ú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Ö;r=   N)ru   rv   rw   rŒ  rŽ  r—  rŸ  r¤  rª  rº  r¿  rÂ  rÆ  rÊ  r1   rx   ry   rÏ  r×  rz   r=   r;   r  r  >  sm   „ ò7òFò
	>òm7ò^.ò2?ò,1ò@"òH	.ò,ò';ðR ‡[�[×ÑÐ3°]ÓCñ@ó Dð@ó0<r=   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  rE   é'   )gÏXyq@g{2s&QÇ7?r�   r@   r€   rC   )gøl¯€lü¿gEA]0×KÁ?rF   rG   )ç*õ)1Ö%ÀgØ_  ¬“?r?   )g_½Òc1÷?gèß=ç Ä?é   é   )g5PyQ ý¿g�Q@Ì2ý°?é   r�  )g»ÔÌÑÁù¿g¼ÂJ"¸ò½?)g_½Òc1÷¿gwÝ�Ù„¹Æ?r   rB   )gý7ŠËé§@g      Œ?rA   )gš~øtñ†ñ¿ç,À�?3Oà?rD   )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   r\   r^   r   ©r5   Úinput_samplerÛ   r`   r\   r^   s         r;   Útest_precisezTestBarnardExact.test_precise°  s.   € ô2 ˜LÓ)ˆØŸM™M¨3¯:©:�6ˆ	Ü˜ FÐ+¨XÕ6r=   )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Õ6r=   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 0r¡   r?   r@   rA   rB   r   ©r‡   ú,The input `table` must be of shape \(2, 2\).rD   ú*All values in `table` must be nonnegative.rh   zI`alternative` should be one of {'two-sided', 'less', 'greater'}, found .*únot-correct)rÈ   r¶   r   rM   rN   r³  ©r5   Ú	error_msgs     r;   Útest_raiseszTestBarnardExact.test_raisesê  sî   € ð Fð 	ô œ:¨YÖ7Ü˜A˜q˜6 A q 6Ð*¨aÕ0÷ 8ð Eˆ	Üœ:¨YÖ7Üœ"Ÿ)™) A›,×.Ñ.¨q°!Ó4Ô5÷ 8ð Aˆ	Üœ:¨YÖ7Ü˜B ˜7 Q¨ FÐ+Ô,÷ 8ð
ð 	ô œ:¨YÖ7Ü˜A˜q˜6 A q 6Ð*¨MÔ:÷ 8Ð7÷% 8Ð7ú÷
 8Ð7ú÷
 8Ð7ú÷ 8Ð7úó/   ”CÁ/C"ÂC.Â:C:ÃCÃ"C+Ã.C7Ã:Dr™  c                 ó†   — t        |«      }|j                  |j                  }}t        ||d   «       t        ||d   «       y ©Nr   r?   ©r   r\   r^   r   rå  s         r;   Útest_edge_casesz TestBarnardExact.test_edge_cases  s;   € ô ˜LÓ)ˆØŸM™M¨3¯:©:�6ˆ	Ü�V˜X a™[Ô)Ü�Y ¨¡Õ,r=   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 ¨¡Õ,r=   )rÝ  gEç\/?„?éÈ   é,  )gÐgÑìíQ5Àr‹   é   rL   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Ø   Nrh   rÄ   çH¯¼šò×z>r-   )rM   rœ  r   r\   r^   r   )	r5   ræ  rÛ   rÅ   Úexpected_statÚless_pvalue_expectr`   r\   r^   s	            r;   Útest_less_greaterz"TestBarnardExact.test_less_greater  sp   € ð, -5Ñ)ˆÐ)à˜)Ò#ÜŸ8™8 LÓ1²!±T°r°T°'Ñ:ˆLØ*˜NˆMä˜L°kÔBˆØŸM™M¨3¯:©:�6ˆ	ÜØ˜Ð -Ð1CÐ!DÈ4ö	
r=   N)ru   rv   rw   Ú__doc__r1   rx   ry   rç  rê  ró  rø  rM   r]   rú  r  rz   r=   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óñ
r=   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Ú  r@   rF   rG   )ç<vB\÷’?gèÁ–„/?„?rC   r?   rE   )g¬“ŽÍéMï?gßÏA>î?rà  rß  r�  )ç_¬VÃÑ¶?gÂñ¥…Ö­?)ç‘uÝ Ø%Å?gc'�íµ?r   rB   ©r?   r?   rA   )r   g      Ö?rf   )çß+Â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Ä   r-   N©r   r\   r^   r   ÚATOLrå  s         r;   Ú	test_lesszTestBoschlooExact.test_lessE  s6   € ô2 ˜\°vÔ>ˆØŸM™M¨3¯:©:�6ˆ	Ü˜ FÐ+¨X¸D¿I¹IÖFr=   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×ëÛ|?rD   )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Ä   r-   Nr  rå  s         r;   Útest_greaterzTestBoschlooExact.test_greaterb  s6   € ô6 ˜\°yÔAˆØŸM™M¨3¯:©:�6ˆ	Ü˜ FÐ+¨X¸D¿I¹IÖFr=   )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‡   r-   Nr  rå  s         r;   Útest_two_sidedz TestBoschlooExact.test_two_sided�  s8   € ô0 ˜\°{ÀbÔIˆàŸM™M¨3¯:©:�6ˆ	Ü˜ FÐ+¨X¸D¿I¹IÖFr=   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ì  r¡   r?   r@   rA   rB   r   rí  rî  rD   rï  rh   zK`alternative` should be one of \('two-sided', 'less', 'greater'\), found .*rð  )rÈ   r¶   r   rM   rN   r³  rñ  s     r;   ró  zTestBoschlooExact.test_raisesž  sî   € ð Fð 	ô œ:¨YÖ7Ü˜Q ˜F Q¨ FÐ+¨qÕ1÷ 8ð Eˆ	Üœ:¨YÖ7Üœ2Ÿ9™9 Q›<×/Ñ/°°1Ó5Ô6÷ 8ð Aˆ	Üœ:¨YÖ7Ü˜R ˜G a¨ VÐ,Ô-÷ 8ð
%ð 	ô œ:¨YÖ7Ü˜Q ˜F Q¨ FÐ+¨]Ô;÷ 8Ð7÷% 8Ð7ú÷
 8Ð7ú÷
 8Ð7ú÷ 8Ð7úrô  c                 ó†   — t        |«      }|j                  |j                  }}t        ||d   «       t        ||d   «       y rö  )r   r\   r^   r   rå  s         r;   rú  z&TestBoschlooExact.test_row_or_col_zero¸  s;   € ô ˜\Ó*ˆØŸM™M¨3¯:©:�6ˆ	Ü�V˜X a™[Ô)Ü�Y ¨¡Õ,r=   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 )
Nr?   rª   rf   rÖ   rÄ   rØ   r@   rÒ   rŒ   )r   r^   r[  )r5   Ú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Ð‰yr=   rÅ   )rÖ   rØ   c                 óŽ   — ddgddgg}t        ||¬«      j                  }t        j                  ||¬«      d   }t	        ||«       y )Nr@   rF   rG   rÄ   r?   )r   r\   r   Úfisher_exactr   )r5   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Õ0r=   N)ru   rv   rw   r  r  r1   rx   ry   r  r  r  ró  rM   r]   rú  r  r$  rz   r=   r;   r  r  @  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ñ1r=   r  c                   óÄ  — e Zd Zej                  j                  dg  ej                  d«      f ej                  d«      dgfg«      ej                  j                  dd¬«      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¹   rC   r?   r›   zlazy -> no axis_nan_policyr�   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)r*   N)r4   r   )Ú.0Úargr6   s     €r;   Ú	<genexpr>z5TestCvm_2samp.test_too_small_input.<locals>.<genexpr>ß  s%   øè ø€ ÐLÁtÀ�—
‘
˜3Ô&6°rÓ&:�
×;Átùs   ƒ&)rZ   )	r   r   r   r   r   r\   r4   r]   r^   )r5   r¹   r6   r`   s     ` r;   Útest_too_small_inputz"TestCvm_2samp.test_too_small_inputÛ  sk   ø€ ó MÁtÓLˆÜÔ+Ô3HÈRÖPÜ&¨Ð-ˆCÜ˜CŸM™M¨2¯:©:°b·f±fÓ+=Ô>Ü˜CŸJ™J¨¯
©
°2·6±6Ó(:Ô;÷ Q×PÑPú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)NrC   z/method must be either auto, exact or asymptoticr¡   Úxyz)rN   r1   r   r¶   r   )r5   r6   r8   Úmsgs       r;   r£   z TestCvm_2samp.test_invalid_inputå  s:   € Ø�I‰I�a‹LˆØ?ˆÜ�]‰]œ:¨SÖ1Ü   A uÔ-÷ 2×1Ñ1ús   ¯AÁAc                 ó   — g d¢}g d¢}t        ||«      }t        t        j                  |«      t        j                  |«      «      }t        |j                  |j
                  f|j                  |j
                  f«       y )N)r@   rA   rB   rF   rD   )rî   r´   rf   r’  )r   rM   rœ  r   r\   r^   )r5   r7   r8   Ú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ÕJr=   r!   r"   c                 ó®  — t        |«      r)|j                  dk  r|dk(  rt        j                  d«       |€t	        |«      nt        ||«      }|j                  g d¢|¬«      }|j                  g d¢|¬«      }t        ||«      }t        |j                  |j                  d|¬«      d¬	«       t        |j                  |j                  d
|¬«      d¬	«       y )Nr&   r#   r'   )	gffffff@gÍÌÌÌÌÌ @r,   gffffff!@çš™™™™™"@gÍÌÌÌÌÌ#@g333333$@g333333%@gffffff&@r*   )gÍÌÌÌÌÌ@gÍÌÌÌÌÌ@gš™™™™™@ç      @ç333333@gffffff @g333333"@gš™™™™™#@gš™™™™™%@gš™™™™™&@g      '@gš™™™™™(@g      )@gÍÌÌÌÌÌ*@g333333-@gøSã¥›ÄÐ?rH   r-   g
×£p=
Ç?r}   )r   r0   r1   r2   r   r3   r4   r   r   r\   r^   )r5   r!   r6   r7   r8   Úrs         r;   Útest_example_conoverz"TestCvm_2samp.test_example_conoverò  s¸   € ô �BŒ<˜BŸN™N¨UÒ2°uÀ	Ò7IÜ�K‰KÐ;Ô<Ø(-¨Ô  Ô$¼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ÖJr=   zstatistic, m, n, pval))iÆ  rC   rD   g¾cj`ï˜º?)ii  rF   rF   gtÑE]t±?)i@  rB   rD   g8�8�ƒ?)iä  rD   rF   g¶ëéXwS?c                 ó2   — t        t        |||«      |«       y r®   )r   r   )r5   r\   r  r‡   Úpvals        r;   Útest_exact_pvaluezTestCvm_2samp.test_exact_pvalue   s   € ô 	Ô*¨9°a¸Ó;¸TÕBr=   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Ñ  )re   r®  i » r   r?   r¥   )	rM   rk   rl   r
   Únormr²  r4   r   r^   )r5   r6   rn   r7   r8   r8  s         r;   Útest_large_samplezTestCvm_2samp.test_large_sample  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ÒÐÑÐÑr=   c                 ó~  — t         j                  j                  d«      }|j                  |j                  d«      «      }|j                  |j                  d«      «      }t	        ||d¬«      }t	        ||d¬«      }t        |j                  |j                  «       t        |j                  |j                  d¬«       y )	Nr   rF   rG   rÌ   rÆ   rË   r}   r-   )	rM   rk   r°  r4   r   r   r\   r   r^   )r5   r6   rn   r7   r8   r1  r2  s          r;   Útest_exact_vs_asymptoticz&TestCvm_2samp.test_exact_vs_asymptotic  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Ö8r=   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Ë   )rN   r4   r   r   r^   )r5   r6   r7   r8   r1  r2  s         r;   Útest_method_autozTestCvm_2samp.test_method_auto!  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Õ-r=   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Œ   rB   )rN   r   r   r\   r4   r^   )r5   r6   r7   r`   s       r;   Útest_same_inputzTestCvm_2samp.test_same_input-  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Õ3r=   N)ru   rv   rw   r1   rx   ry   rM   rN   r»   r,  r£   r3  r9  r<  Úxslowr?  rA  rC  rE  rz   r=   r;   r&  r&  Ù  sû   „ à‡[�[×Ñ˜V r¨9¨2¯9©9°Q«<Ð&8Ø'0 r§y¡y°£|°a°SÐ&9ð&;ó <à‡[�[×!Ñ! +Ð6RÐ!ÓSñ<ó Tó<ð<ò.òKð ‡[�[×Ñ˜WÒ&BÓCñKó DðKð ‡[�[×ÑÐ4ò5ó6ñ
Có6ð
Cð ‡[�[×Ññ
 ó ð
 ò9ò
.ó4r=   r&  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)rE  ç     €7@çffffff:@çš™™™™;@çfffffæ=@)çffffff<@çš™™™™A@ç     €=@çš™™™™@@çš™™™™>@)gš™™™™:@gÍÌÌÌÌL<@gÍÌÌÌÌL8@g333333:@gÍÌÌÌÌÌ;@)rE  rI  gHáz®G:@rJ  rK  rL  rQ  rQ  )rE  rI  rJ  )
rM  rN  rO  rP  rQ  rM  rN  rO  rP  rQ  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,atolr/   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;
        ú - Ú rC   Nr*   )rD   rD   r?   r-   r~   ©rM   r4   ÚreplaceÚsplitÚfloatr³  r   Ú	tukey_hsdÚconfidence_intervalÚintr   Úlowr\   Úhighr^   )r5   ÚdataÚres_expect_strr.   Ú
res_expectÚ	res_tukeyÚconfro   ÚjÚlr  ÚhÚsigs                r;   Útest_compare_saszTestTukeyHSD.test_compare_sasf  sú   € ôB —Z‘Z × 6Ñ 6°u¸cÓ B× HÑ HÓ JÈ1È2Ð NÜ&+ô-ß-4©W°V«_ð 	ä—O‘O TÐ*ˆ	Ø×,Ñ,Ó.ˆã",Ñˆ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ñ #-r=   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
        rG  rÿ  rR  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");
        r*   ©rA   rD   r?   r-   N)rM   r4   r[  r\  r³  r   r]  r^  r_  r   r`  r\   ra  r^   )r5   rb  rc  r.   rd  re  rf  ro   rg  rh  r  ri  r:   s                r;   Útest_compare_matlabz TestTukeyHSD.test_compare_matlabŸ  sÞ   € ô —Z‘Z × 4Ñ 4Ó 6Ü&+ô-ß-4©W°V«_ð 	ä—O‘O TÐ*ˆ	Ø×,Ñ,Ó.ˆã *Ñˆ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ñ !+r=   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
        rW  rX  rC   Nr*   rm  )é   rK   é6   r�  éF   é4   é3   rp  éC   r�   r‘  é   é   rv  é   é)   rß  é,   )r’  rý  rv  r”  rf   r’  r“  rK   é$   é*   rp  rw  rà  rÜ  rL   rý  rÜ  rv  )r{  rý  r  r’  rE   rÛ  rL   rÞ  rp  rß  rý  r  r”  rª   rÞ  rÞ  rà  rL   r?   rÿ  r-   rS  çñhãˆµøä>rY  )r5   Ústr_resrd  rb  re  rf  ro   rg  r  rh  ri  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Ð*ˆ	Ø×,Ñ,Ó.ˆã *Ñˆ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ñ !+r=   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š™™™™™ @r7  g333333@gffffff"@r6  )g       @g      %@g333333 @r�  r5  )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š™™™™™@)©r?   r   )r@   r   )r   rA   r*  r¡  r}   r-   N)r   r]  r^  rM   r4   r   r`  ra  )r5   Úgroup1Úgroup2Úgroup3Úgroup4r`   rf  ÚlowerÚupperro   rg  s              r;   Útest_engineering_stat_handbookz+TestTukeyHSD.test_engineering_stat_handbookâ  sÊ   € ò
 +ˆÚ*ˆÚ+ˆÚ*ˆÜ�o‰o˜f f¨f°fÓ=ˆØ×&Ñ&Ó(ˆÜ—
‘
ÚÚ ÚÚð	ó ˆô
 —
‘
ÚÚ!ÚÚð	ó ˆó ?‰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ñ ?r=   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 )rA   r�   ©r   r   r   r?   )rM   rk   rl   r   r]  r^  r   r`  ra  r§  Údiagonalr\   r^   )r5   rn   rb  r`   rf  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Õ0r=   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.r¡   r²   r@   )rD   rF   rA   )rÈ   r¶   r   r]  rM   rm   r-  s    r;   Útest_no_infzTestTukeyHSD.test_no_inf  s2   € Üœ:Ð-AÖBÜ�O‰OšI¨¬2¯6©6 {²IÔ>÷ C×BÑBú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-dimensionalr¡   r?   r@   rA   rC   )rC   é   rD   ©rÈ   r¶   r   r]  r-  s    r;   Ú
test_is_1dzTestTukeyHSD.test_is_1d  s;   € Üœ:Ð-IÖJÜ�O‰O˜a ˜V a¨ VÐ,¨q°!¨f²jÔA÷ K×JÑJú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 oner¡   r@   rC   )rB   rC   rD   r“  r-  s    r;   Útest_no_emptyzTestTukeyHSD.test_no_empty  s.   € Üœ:Ð-JÖKÜ�O‰O˜B  A ª	Ô2÷ L×KÑKú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'r¡   r²   r@   rC   rD   rF   ÚFalse)Ú	equal_var)rÈ   Ú	TypeErrorr   r]  )r5   r/  s     r;   Útest_equal_var_input_validationz,TestTukeyHSD.test_equal_var_input_validation  s7   € Ø8ˆÜœ9¨CÖ0Ü�O‰OšI¨¨1 v°°1¨vÀÕI÷ 1×0Ñ0ú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.r¡   ©r’  rF   rA   r“  )r5   rœ  s     r;   Útest_not_enough_treatmentsz'TestTukeyHSD.test_not_enough_treatments   s-   € äœ:Ð-HÖIÜ�O‰Ošz˜l¨UÑ2Ñ4÷ J×IÑIús   ’4´=Úcl)rš  r   r?   r@   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 1r¡   rž  rA   rB   rg   )rÈ   r¶   r   r]  r^  )r5   r   r8  s      r;   Útest_conf_level_invalidz$TestTukeyHSD.test_conf_level_invalid%  sB   € äœ:Ð-FÖGÜ—‘¢
¨Q°¨F°Q¸°FÓ;ˆAØ×!Ñ! "Ô%÷ H×GÑGús   ’/A
Á
Ac                 ó  — t        j                  | j                  d d Ž }t        j                  | j                  d d Ž }t	        |j
                  |j
                  d   «       t	        |j
                  |j
                  d   «       y )Nr@   r�  rƒ  )r   r]  Údata_diff_sizeÚ	ttest_indr   r^   )r5   re  Ú	res_ttests      r;   Útest_2_args_ttestzTestTukeyHSD.test_2_args_ttest+  sn   € ä—O‘O T×%8Ñ%8¸¸!Ð%<Ð=ˆ	Ü—O‘O T×%8Ñ%8¸¸!Ð%<Ð=ˆ	Ü˜	×(Ñ(¨)×*:Ñ*:¸4Ñ*@ÔAÜ˜	×(Ñ(¨)×*:Ñ*:¸4Ñ*@ÕAr=   N)ru   rv   rw   Údata_same_sizer¤  Úextreme_sizeÚsas_same_sizeÚsas_diff_sizeÚsas_extremer1   rx   ry   rk  Úmatlab_sm_sizÚmatlab_diff_szrn  r  rŠ  rŽ  r�  r”  r–  r›  rŸ  r¢  r§  rz   r=   r;   rH  rH  ;  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r=   rH  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_strrR  rS  rT  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).
        rW  rX  rF   Nr*   rh   rD   r™  Fg:Œ0âŽyE>r-   rS  r}  )rM   r4   rZ  r[  r\  r³  r   r]  r^  r_  r   r\   r^   r`  ra  )r5   rb  rc  rd  Ú	res_gamesrf  ro   rg  r  rh  ri  r:   s               r;   Útest_compare_spssz!TestGamesHowell.test_compare_spssO  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Ö:ñ !+r=   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)
        rW  rX  z == rA   Nr*   rh   rC   r™  Frÿ  r-   )rM   r4   rZ  r[  r\  r³  r   r]  r_  r   r^   )	r5   rb  rc  rd  r´  rg  ro   Ú_r:   s	            r;   r  zTestGamesHowell.test_compare_r‰  s§   € ô( —Z‘ZØ×"Ñ" 5¨#Ó.ß‰W�V˜SÓ!§%¡%£'¨!¨"ð.äô÷ !™  Q›ð 	ô —O‘O TÐ;°UÑ;ˆ	ó (‰MˆAˆq�!�Q˜Ü�q“6œ3˜q›6ˆqˆAÜ˜I×,Ñ,¨Q°¨TÑ2°A¸DÖAñ (r=   N)ru   rv   rw   r¨  r¤  Úspss_same_sizeÚspss_diff_sizer1   rx   rF  ry   rµ  Úr_same_sizeÚr_diff_sizer  rz   r=   r;   r°  r°  3  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r=   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�   rA   r�   gþe÷äa¡¶?)r@   r�   rD   r�   gÞ	ŠcÆ?c                 ód   — t        j                  ||||«      }t        |j                  |d¬«       y r†   ©r   Úpoisson_means_testr   r^   )r5   Úc1Ún1Úc2Ún2Úp_expectr`   s          r;   Útest_paper_examplesz(TestPoissonMeansTest.test_paper_examples­  s*   € ô ×&Ñ& r¨2¨r°2Ó6ˆÜ˜Ÿ
™
 H°4Ö8r=   z c1, n1, c2, n2, p_expect, alt, d)rß  rE   rß  rE   gŽŸ{}ÿÿï?rÒ   r   )rE   rE   rE   rE   goPFªÿÿï?rÒ   r   )é2   rÞ  r?   r?   góæ°ae¹?rÒ   r~   )rA   r�   rß  rü  gò/V›-=¿?rÒ   r   )rA   rf   rB   rß  g"Ü)‘ÅÝÙ?rØ   r   )rB   rß  rA   r�   g_ù'Qm~€?rØ   r   )rB   rß  rA   rE   g|¨Š»Ó?rÖ   r   )r?   r?   rÇ  rÞ  gï0�ëÝ·?rÖ   r   c                 ól   — t        j                  ||||||¬«      }t        |j                  |dd¬«       y )N)rÅ   Údiffg�íµ ÷ÆÀ>r1  ©r.   rU  r¿  )	r5   rÁ  rÂ  rÃ  rÄ  rÅ  ÚaltÚdr`   s	            r;   Útest_fortran_authorsz)TestPoissonMeansTest.test_fortran_authors¶  s0   € ô$ ×&Ñ& r¨2¨r°2À3ÈQÔOˆÜ˜Ÿ
™
 H°4¸eÖDr=   c                 ót   — d\  }}d\  }}t        j                  ||||«      }t        |j                  d«       y )N)r‘   r‘   r?   r¿  ©r5   Úcount1Úcount2Únobs1Únobs2r`   s         r;   Útest_different_resultsz+TestPoissonMeansTest.test_different_resultsË  s:   € ð &‰ˆ�Ø#‰ˆˆuÜ×&Ñ& v¨u°f¸eÓDˆÜ˜Ÿ
™
 AÕ&r=   c                 ót   — d\  }}d\  }}t        j                  ||||«      }t        |j                  d«       y )NrŒ  r	  r?   r¿  rÏ  s         r;   Útest_less_than_zero_lambda_hat2z4TestPoissonMeansTest.test_less_than_zero_lambda_hat2Ô  s:   € ð ‰ˆ�Ø‰ˆˆuÜ×&Ñ& v¨u°f¸eÓDˆÜ˜Ÿ
™
 AÕ&r=   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.r¡   r´   z1`k1` and `k2` must be greater than or equal to 0.rh   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 ...r?   r@   ÚerrorrÄ   )rÈ   rš  r   rÀ  r¶   )r5   rÐ  rÑ  rÒ  rÓ  r¸   s         r;   rÉ   z*TestPoissonMeansTest.test_input_validationÜ  s™  € Ø‰ˆ�Ø‰ˆˆuð 4ˆÜœ9¨GÖ4Ü×$Ñ$ R¨°¸Ô>÷ 5äœ9¨GÖ4Ü×$Ñ$ V¨U°B¸Ô>÷ 5ð FˆÜœ:¨WÖ5Ü×$Ñ$ R¨°¸Ô>÷ 6äœ:¨WÖ5Ü×$Ñ$ V¨U°B¸Ô>÷ 6ð :ˆÜœ:¨WÖ5Ü×$Ñ$ V¨R°¸Ô?÷ 6äœ:¨WÖ5Ü×$Ñ$ V¨U°F¸BÔ?÷ 6ð =ˆÜœ:¨WÖ5Ü×$Ñ$ V¨U°F¸EÈÕK÷ 6ð 3ˆÜœ:¨WÖ5Ü×$Ñ$ Q¨¨1¨a¸WÕE÷ 6Ð5÷5 5Ñ4úç4Ñ4ú÷
 6Ñ5úç5Ñ5ú÷
 6Ð5úç5Ð5ú÷
 6Ð5ú÷
 6Ð5ús_   žF*ÁF7ÂGÂ6GÃ*GÄG*ÅG6ÆHÆ*F4Æ7GÇGÇGÇG'Ç*G3Ç6G?ÈHN)ru   rv   rw   r1   rx   ry   rÆ  rÍ  rÔ  rÖ  rÉ   rz   r=   r;   r½  r½  ¬  s‹   „ Ø‡[�[×ÑÐ7â Ú ð:ó ñ
9óð
9ð ‡[�[×ÑÐ?ò
 	=Ú<Ú=Ú>Ú9Ú;ò 	6Ú6ðBó ñ"Eó#ð"Eò'ò'ó!Fr=   r½  c                   ó´   — e Zd Zd„ Zd„ Zej                  j                  dg d¢«      d„ «       Zej                  j                  dg d¢«      d„ «       Z	d„ Z
d	„ Zy
)ÚTestBWSTestc                 ól  — t         j                  j                  d«      }|j                  d¬«      \  }}d}t        j                  t
        |¬«      5  t        j                  ||g||g«       d d d «       d}t        j                  t
        |¬«      5  t        j                  t         j                  g|«       d d d «       d}t        j                  t
        |¬«      5  t        j                  |g «       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‘{ ©r@   rF   rd   z,`x` and `y` must be exactly one-dimensional.r¡   z"`x` and `y` must not contain NaNs.z$`x` and `y` must be of nonzero size.zalternative` must be one of...rÈ  rÄ   z!method` must be an instance of...r|  rÆ   )	rM   rk   rl   r1   r   r¶   r   Úbws_testr]   )r5   rn   r7   r8   r¸   s        r;   Útest_bws_input_validationz%TestBWSTest.test_bws_input_validation  s3  € Ü�i‰i×#Ñ#Ð$7Ó8ˆà�z‰z˜vˆzÓ&‰ˆˆ1à@ˆÜ�]‰]œ:¨WÖ5Ü�N‰N˜A˜q˜6 A q 6Ô*÷ 6ð 7ˆÜ�]‰]œ:¨WÖ5Ü�N‰NœBŸF™F˜8 QÔ'÷ 6ð 9ˆÜ�]‰]œ:¨WÖ5Ü�N‰N˜1˜bÔ!÷ 6ð 3ˆÜ�]‰]œ:¨WÖ5Ü�N‰N˜1˜a¨[Õ9÷ 6ð 6ˆÜ�]‰]œ:¨WÖ5Ü�N‰N˜1˜a¨Õ+÷ 6Ð5÷! 6Ñ5ú÷ 6Ð5ú÷ 6Ð5ú÷ 6Ð5ú÷ 6Ð5ús<   ÁE9Â&FÃFÄFÅF*Å9FÆFÆFÆF'Æ*F3c                 ó    — g d¢}g d¢}t        j                  ||d¬«      }t        |j                  dd¬«       t	        |j
                  d«       y )	N)r?   r@   rA   rB   rD   rF   rG   )rC   rg   rE   rc   rf   rª   r‘  rÒ   rÄ   gºI+‡@rH   r-   g¤f$/•Þg?)r   rÞ  r   r\   r   r^   rÅ  s       r;   Ú test_against_published_referencez,TestBWSTest.test_against_published_reference  s>   € ò "ˆÚ&ˆÜ�n‰n˜Q ¨{Ô;ˆÜ˜Ÿ™ u°4Õ8Ü�S—Z‘Z Õ)r=   )rÅ   r\   r^   ))rÒ   g
»ù-ü?g4ˆñ³B/À?)rÖ   ç
»ù-ü¿g«î0&Àv­?)rØ   râ  gÉñœý“(î?c                 óþ   — t         j                  j                  d«      }|j                  d¬«      \  }}t        j                  |||¬«      }t        |j                  |d¬«       t        |j                  |dd¬	«       y )
NrÜ  rÝ  rd   rÄ   ç‚vIhÂ%<=rT  r}   r¥   rÊ  ©rM   rk   rl   r   rÞ  r   r\   r^   ©r5   rÅ   r\   r^   rn   r7   r8   r`   s           r;   Útest_against_RzTestBWSTest.test_against_R&  sa   € ô �i‰i×#Ñ#Ð$7Ó8ˆØ�z‰z˜vˆzÓ&‰ˆˆ1Ü�n‰n˜Q ¨{Ô;ˆÜ˜Ÿ™ y°uÕ=Ü˜Ÿ
™
 F°¸DÖAr=   ))rÒ   góD 5Hò?g«ÒdüÔ•Ò?)rÖ   ç`�Ñ‡©áï?gÈ²µ×šXë?)rØ   rè  gß4)¡”�Â?c                 ó  — t         j                  j                  d«      }|j                  d¬«      }|j                  d¬«      }t        j                  |||¬«      }t        |j                  |d¬«       t        |j                  |dd	¬
«       y )Nl   ‚.ÅÇs½Z rg   rd   rG   rÄ   rä  rT  r}   r¥   rÊ  rå  ræ  s           r;   Útest_against_R_imbalancedz%TestBWSTest.test_against_R_imbalanced7  sm   € ô �i‰i×#Ñ#Ð$7Ó8ˆØ�J‰J˜AˆJÓˆØ�J‰J˜AˆJÓˆÜ�n‰n˜Q ¨{Ô;ˆÜ˜Ÿ™ y°uÕ=Ü˜Ÿ
™
 F°¸DÖAr=   c                 ó  — t         j                  j                  d«      }|j                  d¬«      \  }}t         j                  j                  d«      }t        j                  d|¬«      }t        j
                  |||¬«      }t        |j                  «      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
                  |||¬«      }t        j                  |j                  |j                  «      rJ ‚y )Nì   /°HøNÏ( )r@   rE   rd   rE   )Ún_resamplesrn   rÆ   l   ÝVC£	ãA )
rM   rk   rl   r   r_  rÞ  r  Únull_distributionr   Úallclose)r5   rn   r7   r8   rÇ   r  r  rB  s           r;   Útest_methodzTestBWSTest.test_methodI  s(  € ä�i‰i×#Ñ#Ð$7Ó8ˆØ�z‰z˜wˆzÓ'‰ˆˆ1ä�i‰i×#Ñ#Ð$7Ó8ˆÜ×(Ñ(°R¸SÔAˆÜ�~‰~˜a ¨6Ô2ˆä�4×)Ñ)Ó*¨bÒ0Ð0Ð0ä�i‰i×#Ñ#Ð$7Ó8ˆÜ×(Ñ(°R¸SÔAˆÜ�~‰~˜a ¨6Ô2ˆä˜×.Ñ.°×0FÑ0FÔGä�i‰i×#Ñ#Ð$7Ó8ˆÜ×(Ñ(°R¸SÔAˆÜ�~‰~˜a ¨6Ô2ˆä—;‘;˜t×5Ñ5°t×7MÑ7MÔNÐNÐNÐNr=   c                 óÀ  — t         j                  j                  d«      }|j                  d¬«      }|dz
  }t        j                  ||d¬«      }|j
                  dkD  sJ ‚t        |j                  dt        |j                  «      z  «       t        j                  ||d¬«      }|j
                  dkD  sJ ‚t        |j                  d«       t        j                  ||d¬«      }|j
                  dk  sJ ‚t        |j                  dt        |j                  «      z  «       t        j                  ||d¬«      }|j
                  dk  sJ ‚t        |j                  d«       y )	Nrì  rC   rd   r?   rØ   rÄ   r   rÖ   )
rM   rk   rl   r   rÞ  r\   r   r^   r  rî  )r5   rn   r7   r8   r`   s        r;   Útest_directionszTestBWSTest.test_directions`  s  € ä�i‰i×#Ñ#Ð$7Ó8ˆØ�J‰J˜AˆJÓˆØ�‰Eˆä�n‰n˜Q ¨yÔ9ˆØ�}‰}˜qÒ Ð Ð Ü�S—Z‘Z ¤S¨×)>Ñ)>Ó%?Ñ!?Ô@ä�n‰n˜Q ¨vÔ6ˆØ�}‰}˜qÒ Ð Ð Ü�S—Z‘Z Ô#ä�n‰n˜Q ¨vÔ6ˆØ�}‰}˜qÒ Ð Ð Ü�S—Z‘Z ¤S¨×)>Ñ)>Ó%?Ñ!?Ô@ä�n‰n˜Q ¨yÔ9ˆØ�}‰}˜qÒ Ð Ð Ü�S—Z‘Z Õ#r=   N)ru   rv   rw   rß  rá  r1   rx   ry   rç  rê  rð  rò  rz   r=   r;   rÚ  rÚ     sw   „ ò,ò4*ð ‡[�[×ÑÐCòNóOñBó	OðBð ‡[�[×ÑÐCòNóOñBó	OðBòOó.$r=   rÚ  )8Ú	itertoolsr   ÚnumpyrM   r†  r1   Ú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._libr   rÍ   Úscipy._lib._array_apir   r   r   r   Úscipy._lib._array_api_no_0dr   r   Úscipy.stats._axis_nan_policyr   r   r    r|   r½   r  rÙ  r  r&  rH  r°  r½  rÚ  rz   r=   r;   Ú<module>rÿ     sJ  ðÝ ã Û Û ß @Ñ @Ý *ç  Ý %÷4÷ 4ñ 4÷ EÑ DÝ 2Ý -÷0ó 0ç Hß Rñ Ð'Ó(÷?2ð ?2ó )ð?2ñD �5×'Ñ'Ó(÷\Oð \Oó )ð\Oñ~ �5×%Ñ%Ó&÷	Cð 	Có 'ð	CôDl<Ð"ô l<÷^P
ñ P
÷fV1ñ V1ñr Ð'Ó(÷^4ð ^4ó )ð^4÷BuBñ uB÷psBñ sB÷rQFñ QF÷ht$ò t$r=   