
    (ph(                       S SK r S SKrS SKrS SKJr  S SKrS SKJr  S SK	J
r
JrJrJrJrJrJrJr  S SKrS SKJr  S SKrS SKJrJrJr  S SKJrJrJr  SS	KJr  S
SK J!r!J"r"  S SK#J$r$  S SK%J&r&  S SK'J(r(J)r)J*r*J+r+  S SK,J-r-  S SK.J/r/J0r0  S SK1J2r2J3r3J4r4  \Rj                  Rl                  r6\7" \&5      r& S SK8r8S\8Rr                  S'   S SK:J;r<  Sr=/ SQr?/ SQr@/ SQrA/ SQrB/ SQrC/ SQrD/ SQrE/ SQrF/ SQrG/ SQrHS  rI " S! S"5      rJ " S# S$5      rK " S% S&5      rL " S' S(5      rM " S) S*5      rN " S+ S,5      rO\- " S- S.5      5       rP " S/ S05      rQ " S1 S25      rR " S3 S45      rSS5 rT " S6 S75      rU " S8 S95      rV " S: S;5      rW/ S<QrX\- " S= S>5      5       rY\- " S? S@5      5       rZ " SA SB5      r[ " SC SD5      r\\6" SESFSG9\Rj                  R                  SH5      \- " SI SJ5      5       5       5       r^/ SKQr_ " SL SM5      r` " SN SO5      ra " SP SQ5      rb " SR SS5      rc " ST SU5      rd " SV SW5      re\- " SX SY5      5       rf " SZ S[5      rg " S\ S]5      rh\- " S^ S_5      5       ri " S` Sa5      rj\- " Sb Sc5      5       rkg! \> a    Sr= GNf = f)d    N)partial)RandomState)assert_array_equalassert_almost_equalassert_array_lessassert_array_almost_equalassert_assert_allcloseassert_equalsuppress_warnings)raises)optimizestatsspecial)
_abw_state_get_As_weibull_Avals_weibull   )check_named_results   )_get_wilcoxon_distr_get_wilcoxon_distr2)_binary_search_for_binom_tst)distcont)SmallSampleWarningtoo_small_nd_omittoo_small_1d_omittoo_small_1d_not_omit)array_api_compatible)array_namespaceis_numpy)xp_assert_closexp_assert_equalxp_assert_lessAggbackendTF)
jt?Zd;?V-?      ?gX9v?-?x&1?+?+?r*   )
r)   r'   r*   r,   灕Cl?r)   r(   r*   r'   V-?)
ʡE?g/$?r/   r-   ףp=
?r.   r*   r-   r(   r(   )
gGz?r,   r.   r*   r2   r.   r)   r(   r,   r(   )
r)   r)   gCl?Gz?r,   rh|?r(   r+   g\(\?r(   )
羟/$?gh|?5?r5   r/   r0   r,   r2   r)   g1Zd?r(   )
r3   Mb?r(   gjt?r)   r*   g}?5^I?g)\(?r(   r,   )
r)   r*   r'   r*   r,   r(   r)   r(   r,   r'   )
r,   r)   r(   r2   r(   r6   r6   r)   r-   r1   )
r1   r2   r4   r.   r/   r/   r1   r)   r6   r/   c                  j    [         R                  " [        R                  R                  " U 0 UD65      $ N)nplogr   gammarvs)argskwargss     S/var/www/html/venv/lib/python3.13/site-packages/scipy/stats/tests/test_morestats.py_old_loggamma_rvsr@   D   s#    66%++//426233    c                   &    \ rS rSrS rS rS rSrg)TestBayes_mvsH   c                 >   / SQn[         R                  " U5      u  p#n[        UR                  S5        [	        UR
                  SSS9  [        UR                  S5        [	        UR
                  SSS9  [        UR                  S	S
S9  [	        UR
                  SSS9  g )N   	            rK            "@gURH#j@gV[%@ư>rtol      $@gai	@gӇu8@&.>_紫@   decimalgYs?g1O@+=)r   	bayes_mvsr   	statisticr
   minmaxselfdatameanvarstds        r?   
test_basicTestBayes_mvs.test_basicI   s     '.3DNNC0%L!	# 	CMM40

$K"	$ 	CMM+=rJ

$L"	$rA   c                 B    [        [        [        R                  / 5        g r8   )assert_raises
ValueErrorr   r[   r_   s    r?   test_empty_inputTestBayes_mvs.test_empty_input[   s    j%//26rA   c                     [         R                  " S5      nSn[        R                  " U5      nU H  n[	        XB5        M     g )N   )r\   r]   )r9   aranger   r[   r   )r_   x
attributesresis        r?   test_result_attributes$TestBayes_mvs.test_result_attributes^   s4    IIbM,
ooa A. rA    N)__name__
__module____qualname____firstlineno__rd   rj   rs   __static_attributes__ru   rA   r?   rC   rC   H   s    $$7/rA   rC   c                   ,    \ rS rSrS rS rS rS rSrg)TestMvsdistg   c                 t   / SQn[         R                  " U5      u  p#n[        UR                  5       S5        [	        UR                  S5      SSS9  [        UR                  5       S5        [	        UR                  S5      SS	S9  [        UR                  5       S
SS9  [	        UR                  S5      SSS9  g )NrF   rM   ?rN   rZ   rP   rR   rS   rT   rU   rV   rW   rY   )r   mvsdistr   ra   r
   intervalr^   s        r?   rd   TestMvsdist.test_basich   s    &t,3DIIK-c* -AGL	N 	CHHJ-S) ,?EJ	L 	CHHJ(:BGS) ,@FK	MrA   c                 B    [        [        [        R                  / 5        g r8   rg   rh   r   r   ri   s    r?   rj   TestMvsdist.test_empty_inputw   s    j%--4rA   c                 H    S/n[        [        [        R                  U5        g Nr   r   r_   r`   s     r?   test_bad_argTestMvsdist.test_bad_argz   s    sj%--6rA   c                    [         R                  " 5          [         R                  " S[        5        [        R
                  " / SQ5       Vs/ s H  oR                  5       PM       n[        R
                  " / SQ5       Vs/ s H  oR                  5       PM       nS S S 5        g s  snf s  snf ! , (       d  f       g = f)Nerrorr   r      r   r   r         )warningscatch_warningssimplefilterRuntimeWarningr   r   ra   r_   ro   s     r?   
test_warnsTestMvsdist.test_warns   sy     $$&!!'>:$}}Y787!VVX78$}}_=>=!VVX=> '&8> '&s)   6B/B%%B/B*B/%
B//
B=ru   N)	rv   rw   rx   ry   rd   rj   r   r   rz   ru   rA   r?   r|   r|   g   s    M57
?rA   r|   c                       \ rS rSrS rS r\R                  R                  S/ S/SS/45      S 5       r	S r
S	 rS
 rSrg)TestShapiro   c                    / SQn[         R                  " U5      u  p#[         R                  " U5      n[        USSS9  [        UR                  SSS9  [        USSS9  [        UR                  SSS9  / SQn[         R                  " U5      u  p#[         R                  " U5      n[        USSS9  [        UR                  SSS9  [        USS	S9  [        UR                  SS	S9  [         R
                  R                  S
S	SSS9n[         R                  " U5      u  p#[         R                  " U5      n[        USSS9  [        UR                  SSS9  [        USS	S9  [        UR                  SS	S9  / SQnSnSn	[         R                  " U5      u  p#[         R                  " U5      n[        X(SS9  [        UR                  USS9  [        X9S
S9  [        UR                  U	S
S9  g )N))\(?{Gz@q=
ףp@HzG$@@Q	@q=
ףp?Q@zG?      @Q?RQ?Q	@(\?zG?zG@(\#@333333@Gz?p=
ף@   ?rG   rW      Ɍ?)(\?=
ףp=?\(\@ffffff@\(\?(\?Gz@(\ףp=
@皙?)\(?RQr   p=
ף?@
ףp=
?{Gz?\(\@{Gz@Q@IddY?Dio?r   r   d   iNa locscalesizerandom_stateg   E?g   Oٴ?)gn?gjt?gffffff?gMb?gjt?g;On?gjt?gX9v?gS?g(\?gI+?gʡE?gx?g|?5^?r   gCl?g1Zd@gS@g(\	@gGz@g rh@g"~j@gQ@gtV@gʡE @ghyܝ?g0M?r   )r   shapiror   r\   pvaluenormr<   )
r_   x1wpwshapiro_testx2x3x4
W_expected
p_expecteds
             r?   rd   TestShapiro.test_basic   s   8 b!}}R(A2A>L224GQRSB 4a@L//1EqQ& b!}}R(Ay!4L22IqIB3L//!D ZZ^^8^Lb!}}R(A11=L224FPQRB 3Q?L//1DaP? 

b!}}R(A15L22JJBA6L//QGrA   c                    / SQ/ SQ/n[         R                  " U5      u  p#[         R                  " U5      n[        USSS9  [        UR                  SSS9  [        USSS9  [        UR                  SSS9  / SQ/ SQ/n[         R                  " U5      u  p#[         R                  " U5      n[        US	SS9  [        UR                  S	SS9  [        US
SS9  [        UR                  S
SS9  g )N)
r   r   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   r   rG   rW   r   )
r   r   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r\   r   )r_   r   r   r   r   r   s         r?   test_2dTestShapiro.test_2d   s     "89 b!}}R(A2A>L224GQRSB 4a@L//1EqQ&' b!}}R(Ay!4L22IqIB3L//!DrA   ro   r   r   c                 .   [         R                  " [        [        S9   [        R
                  " U5      n[        UR                  [        R                  5        [        UR                  [        R                  5        S S S 5        g ! , (       d  f       g = fNmatch)pytestwarnsr   r   r   r   r   r\   r9   nanr   r_   ro   rq   s      r?   test_not_enough_values"TestShapiro.test_not_enough_values   sQ    \\,4IJ--"C/RVV, KJJs   AB
Bc                    [         R                  " S5      n[         R                  US'   [        R                  " U5      u  p#[        R                  " U5      n[        U[         R                  5        [        UR                  [         R                  5        [        U[         R                  5        [        UR                  [         R                  5        g )NrR   rH   )	r9   rn   r   r   r   r   r\   r   r   )r_   ro   r   r   r   s        r?   test_nan_inputTestShapiro.test_nan_input   s    IIcNvv!a }}Q'Q\++RVV4 	B'L//8rA   c                 |    [         R                  " / SQ5      u  p[         R                  " U5      nSn[        X4SS9  g )N)i i = i@ )gPq~?gF?h㈵>rP   )r   boxcoxr   r
   )r_   	trans_valmaxlogrq   refs        r?   test_gh14462TestShapiro.test_gh14462   s5     "LL)AB	mmI& 2t,rA   c                     [         R                  " / SQ5      nUR                  S:  d   e/ SQn[         R                  " U5      n[        UR                  S5        [        UR                  SSS9  g )N)g9B.?        r   r   )g1gIۿg0!?gr??gel?rO   rP   )r   r   r   r
   r\   )r_   rq   ro   s      r?   test_length_3_gh18322!TestShapiro.test_length_3_gh18322   sX     mm:;zzQ KmmA'78

O$?rA   ru   N)rv   rw   rx   ry   rd   r   r   markparametrizer   r   r   r   rz   ru   rA   r?   r   r      sQ    )HVE* [[S2sQF"34- 5-9-"@rA   r   c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS r\R                  R!                  S/ SQ5      S 5       rS rSrg)TestAnderson   c                 t   [        S5      nUR                  SS9nUR                  SS9n[        R                  " U5      u  pEn[        US S U5        [        R                  " U5      u  pEn[        XESS  5        [        R                  " S5      nSUS'   [        R                  " U5      u  pEn[        US5        g )	NI2   r   
   r   g	@)	r   standard_exponentialstandard_normalr   andersonr   r9   onesr
   )r_   rsr   r   Acritsigvs           r?   test_normalTestAnderson.test_normal  s    $$$"$-R(~~b)$s)Q'~~b)!"#Y'GGBK!~~a( 	8$rA   c                 V   [        S5      nUR                  SS9nUR                  SS9n[        R                  " US5      u  pEn[        XESS  5        [        R                  " SS9   [        R                  " US5      u  pEnS S S 5        [        XES   :  5        g ! , (       d  f       N= f)	Nr   r   r   exponr  ignoreallr   )	r   r  r  r   r  r   r9   errstater	   )r_   r  r   r   r  r	  r
  s          r?   
test_exponTestAnderson.test_expon  s    $$$"$-R(~~b'2!"#Y'[[X& >>"g6LAS 'H '&s   &B
B(c           	         [         R                  " S5      nSUS'   [        R                  " US5      u  p#n[	        U5      n[        R
                  R                  U5      u  pg[        R
                  R                  XU5      n[        R
                  R                  XU5      n	[         R                  " SUS-   5      n
U* [         R                  " SU
-  S-
  XS S S2   -   -  5      -
  n[        X+5        g )Nr   r   r   gumbelr   r   r   )r9   r  r   r  lengumbel_lfitlogcdflogsfrn   ra   r
   )r_   r  a2r	  r
  nxbarsr  r  rr   expected_a2s               r?   test_gumbelTestAnderson.test_gumbel"  s     GGCL!q(3#F..$$Q'&&q2$$Qa0IIa1b277AaC!Gtt0D#EFF(rA   c                 B    [        [        [        R                  S/SS9  g Nr   plate_of_shrimpdist)rg   rh   r   r  ri   s    r?   r   TestAnderson.test_bad_arg2  s    j%..1#<MNrA   c                 ~    [        S5      nUR                  SS9n[        R                  " U5      nSn[	        X45        g )Nr   r   r   r\   critical_valuessignificance_level)r   r  r   r  r   )r_   r  ro   rq   rp   s        r?   rs   #TestAnderson.test_result_attributes5  s:    $###,nnQK
C,rA   c                     [        S5      nUR                  SS9n[        R                  " US5      u  p4n[        R                  " US5      u  pgn[	        Xc5        g )Nr   r   r   r  r  )r   r  r   r  r
   )	r_   r  ro   A1crit1sig1A2crit2sig2s	            r?   test_gumbel_lTestAnderson.test_gumbel_l<  sN     $II3I..H54..J74rA   c                    [        S5      nUR                  SS9n[        R                  " S5      nSUS'   [        R
                  " US5      u  pEn[        R
                  " US5      u  pxn	[        XESS  5        [        XxS   :  5        g )	Nr   r   r   r(   r   gumbel_rr  r   )r   r  r9   r  r   r  r   r	   )
r_   r  r   r   r0  r1  r2  r3  r4  r5  s
             r?   test_gumbel_rTestAnderson.test_gumbel_rF  sz     $YYCY WWS\ 1..Z84..Z84"BCj)2YrA   c                    [         R                  " / SQ5      n[        R                  " US5      nUR                  R
                  u  p4n[        X4U4SSS9  [        UR                  SSS9  UR                  UR                  S   :  d   eS	U-  n[        US
SS9  [        S   n[        S   nXvS-
  S-  X-
  -  -   n	[         R                  " UR                  U	:  5      (       d   e[        UR                  U	SS9  g )N)
            r@        rA  u   rB  weibull_min)g
ףp=
@gzGX@gQS@Mb`?rP   gp=
ף?MbP?r   r   g?r  皙?g?atol)r9   arrayr   r  
fit_resultparamsr
   r\   r,  r   r  )
r_   ro   rq   mr   r   cAs40As45As_refs
             r?   test_weibull_min_case_A$TestAnderson.test_weibull_min_case_AU  s    HHGHnnQ.--)=DIu48}}s2215555E6-b!b!S:.$+>>vvc))F23333++V$?rA   c                     [         R                  " / SQ5      nSn[        R                  " [        US9   [
        R                  " US5        S S S 5        g ! , (       d  f       g = f)N)J   9   0        rI   F      rY    ;            iF  z/Maximum likelihood estimation has converged to r   rD  )r9   rK  r   r   rh   r   r  )r_   ro   messages      r?   test_weibull_min_case_B$TestAnderson.test_weibull_min_case_Bh  sB    HH 5 6C]]:W5NN1m, 655s   A
A#c                 @   [         R                  " / SQ5      * nSnSn[        R                  " [        US9n[        R
                  " [        US9nU   U   [        R                  " US5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)N)	r=  K   rW     k   rI   =   +   rY  z:Critical values of the test statistic are given for the...z;An error occurred while fitting the Weibull distribution...r   rD  )	r9   rK  r   r   UserWarningr   rh   r   r  )r_   ro   wmessageemessagewcontextecontexts         r?   test_weibull_warning_error'TestAnderson.test_weibull_warning_errorp  sf     XX=>>OP<<8<==8<xNN1m,  XXxxXXs$   BA>-B>
B	B
Bdistname)r   r  r  extreme1r  r9  logisticrD  c                    [         R                  R                  S5      nUS;   a  SOUn[        [        U5      n[
        U   nUR                  " USUS.6n[        R                  " Xa5      nUR                  R                  (       d   eg )Nl   'Dah$>   r  rs  r    r   r   )
r9   randomdefault_rnggetattrr   r   r<   r  rL  success)r_   rr  rngreal_distnamer(  rM  ro   rq   s           r?   test_anderson_fit_params%TestAnderson.test_anderson_fit_params{  su    
 ii##$67'/3I'I& 	um,-(HHf4c:nnQ)~~%%%%rA   c                     Sn[        [        SU-  5      [        S   5        [        R                  n[        [        SU-  5      [        S   5        g )Nr   r   r   )r   r   r   r9   inf)r_   rN  s     r?   test_anderson_weibull_As%TestAnderson.test_anderson_weibull_As  s@    _QqS)>"+=>FF_QqS)>!+<=rA   ru   N)rv   rw   rx   ry   r  r  r"  r   rs   r6  r:  rS  rc  rp  r   r   r   r~  r  rz   ru   rA   r?   r   r      sh    %.) O-  @&-	- [[ZOP	&P	&>rA   r   c                   |    \ rS rSrS rS r\R                  R                  S 5       r	S r
S rS rS rS	 rS
 rSrg)TestAndersonKSampi  c                 $   / SQn[         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ5      n[        R                  " XX44SS9u  pVn[	        USS5        [        / S	QUS
S S5        [        USSS9  g )NgYC@g     D@gfffffE@g     @F@g     F@g      G@gG@g      M@gC@gfffffC@gC@g33333D@gfffffD@g33333sE@gfffffE@gfffffF@      A@g     A@g     C@g      D@     E@r        F@g     F@r  ffffffA@r  g33333A@gB@gfffffB@gD@gffffffE@Fmidrankg@r   gCl?gvq-?g,Ԛ?gl@gPk	@r   r   r   gJ4a?Mb0?rI  r9   rK  r   anderson_ksampr   r   r
   r_   t1t2t3t4Tktmps           r?   test_example1a TestAndersonKSamp.test_example1a  s    
 >XXFGXXFGXXFG(("")95I	Bq)!"J"$Qq'1	.60rA   c                 L   [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ5      n[        R                  " XX44SS9u  pVn[	        USS5        [        / S	QUS
S S5        [        USSS9  g )Nr  r  r  r  Tr  gQ@r   r  r   r   r   rE  r  rI  r  r  s           r?   test_example1b TestAndersonKSamp.test_example1b  s    
 XXFGXXFGXXFGXXFG(("")94H	Bq)!"J"$Qq'1	.60rA   c                 "   / SQn/ SQn/ SQn/ SQn/ SQn/ SQn/ SQn/ SQn/ S	Qn	/ S
Qn
/ SQn/ SQn/ SQn/ SQnXX4XVXxXXX4n[         R                  " USS9u  nnn[        USS5        [        / SQUSS S5        [	        USSS9  [
        R                  R                  S5      n[         R                  " SUS9n[         R                  " USUS9n[        UR                  U5        [        UR                  U5        [	        UR                  USS9  g )N   rm   )   rY  !      i  rV   :   %   r   A   rH      i     $      v   
"         r  C   rW  >   rJ      r  Z   r  <      ri  1   rV      8      O   T   ,   r^  rY  r        i6  L   ra  r     r        r[  e   r  rV  rW  rX  rY  rZ  rI   r[  r\  rY  r]  r^  r_  7   i@  r  h         /            r  r  i  W   rJ   x   rV   r  r  r=  G   r  r\  *   r  r   rI   r     r   rV   r  r  rV   r     r  r   r  4   _   a   3   r  r      r     D   M   P   r   r  j      R   6   r     .   o   '   ?   r     r     r  r   r  f   rD   r  r  r   rm         r  X   r  r   r   r  r        r     r  rL   rV   	g  rH   rI   i  i[  r   r  r   i  r      r   i  #   rI   i  r  r   rJ   b   r   U   [   rj     r   r  r     rV   rW  r      r  r^        r_  rV   r  B   ri  r  Fr  gM
@r   g^I+?g~:?g+e?gH.!@gcZB>h@r   r   r   	^)p?r  rI  l   <Ic i'  n_resamplesr|  )r  methodga2U0*C?)r   r  r   r   r
   r9   rx  ry  PermutationMethodr   r\   r,  r   )r_   r  r  r  r  t5t6t7t8t9t10t11t12t13t14samplesr  r  r  r|  r  rq   s                         r?   test_example2a TestAndersonKSamp.test_example2a  s   
 (G45%?@IB14'? 2222CcO((%@	BBq)!"J"$Qq'1	.60ii##$78((TsC""7E&I3=="-3..3

AD1rA   c                    / SQn/ SQn/ SQn/ SQn/ SQn/ SQn/ SQn/ SQn/ S	Qn	/ S
Qn
/ SQn/ SQn/ SQn/ SQn[         R                  " XX4XVXxXXX4SS9u  nnn[        USS5        [        / SQUSS S5        [	        USSS9  g )Nr  r  r  r  r  r  r  r  r  r  r  r  r  r  Tr  g'1Z
@r   r	  r   r   r   r
  r  rI  )r   r  r   r   r
   )r_   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  s                     r?   test_example2b TestAndersonKSamp.test_example2b  s     (G45%?@IB14'? ((""""*,3S*G157	B 	Bq)!"J"$Qq'1	.60rA   c                 R   [         R                  " SSS5      n[        5        nUR                  [        SS9  [
        R                  " XS-   /SS9u  p4nS S S 5        [        WSS	5        [        WS
5        [        5        nUR                  [        SS9  [
        R                  " XS-   /5      u  p4nS S S 5        [        USS	5        [        US
5        [        5        nUR                  [        SS9  [
        R                  " XS-   /SS9u  p4nS S S 5        [        USS5        [        US5        [        5        nUR                  [        SS9  [
        R                  " XS-   /5      u  p4nS S S 5        [        USS5        [        US5        [
        R                  " XS-   /SS9u  p4n[        USS5        [        USSSS9  [
        R                  " XS-   /5      u  p4n[        USS5        [        USSSS9  [
        R                  " XS-   /SS9u  p4n[        USS5        [        USSSS9  [
        R                  " XS-   /SS9u  p4n[        US S5        [        US!S"SS9  g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN4= f)#Nr   r   zp-value floored)rb  g     @D@Fr  g=
ףpD@r   rF  gGzD@zp-value capped      ?g?ܵr         ?g?ܵ      @g!u?gףp=
׳?{Gzt?r   rJ  rQ   rG   gBiq?g鷯?      '@g:M@g46<Rv?gMb@?g      +@g6>W[1@g1ZGUS?-C6?)
r9   linspacer   filterrk  r   r  r   r   r
   )r_   r   supr   _r  s         r?   test_R_kSamples!TestAndersonKSamp.test_R_kSamples  s`   B [[C%  CJJ{,=J>**BT	?EJGA! ! 	Avq)Q CJJ{,=J>**BT	?;GA! ! 	Avq)Q  CJJ{,<J=**BR=%HGA! ! 	Aw*Q CJJ{,<J=**BR=9GA! ! 	Aw*Q &&H~uEaAvq)6A6 &&F|4aAvq)6A6 &&IFaAvq)7a8&&IFaAvq)7a8U !  !  !  ! s/   1I!?2I31J82J!
I03
J
J
J&c                 j    [        [        [        R                  [        R
                  " S5      5        g Nr   rg   rh   r   r  r9   r  ri   s    r?   test_not_enough_samples)TestAndersonKSamp.test_not_enough_samplesI  s    j%"6"6
CrA   c                     [        [        [        R                  [        R
                  " S5      [        R
                  " S5      45        g r.  r/  ri   s    r?   test_no_distinct_observations/TestAndersonKSamp.test_no_distinct_observationsL  s,    j%"6"6wwqz2771:.	0rA   c                 n    [        [        [        R                  [        R
                  " S5      / 45        g r.  r/  ri   s    r?   test_empty_sample#TestAndersonKSamp.test_empty_sampleP  s!    j%"6"6R8HIrA   c                     / SQn[         R                  " / SQ5      n[        R                  " X4SS9nSn[	        X45        [        UR                  UR                  5        g )Nr  r  Fr  r+  )r9   rK  r   r  r   r   r-  r   )r_   r  r  rq   rp   s        r?   rs   (TestAndersonKSamp.test_result_attributesS  sK    =XXFG""B8U;K
C,S++SZZ8rA   ru   N)rv   rw   rx   ry   r  r  r   r   xslowr  r  r+  r0  r3  r6  rs   rz   ru   rA   r?   r  r    sN    1"1  [[$2 $2L1@N9`D0J	9rA   r  c                   B   \ rS rSrS rS rS r\R                  R                  S/ S/4S// 4/5      S 5       r
S rS	 rS
 r\R                  R                  S/ SQ/ SQSS4/ SQ/ SQSS4/ SQ/ SQSS4/ SQ/ SQSS4/ SQ/ SQSS4/ SQ/ SQSS4/5      S 5       rS rSrg)
TestAnsarii_  c                     / SQn/ SQn[        5        nUR                  [        S5        [        R                  " X5      u  pES S S 5        [        WSS5        [        WSS5        g ! , (       d  f       N)= f)Nr   r   r   r   r   r   r   rG   r   rG   r   r   r   %Ties preclude use of exact statistic.g     7@r  g8#oG?)r   r(  rk  r   ansarir   )r_   ro   yr)  Wpvals         r?   
test_smallTestAnsari.test_smalla  s\    $ CJJ{$KLll1(GA ! 	AtR(D"5r:	 ! s   /A%%
A3c                 4   [         R                  " S5      n[         R                  " S5      n[        5        nUR                  [        S5        [
        R                  " X5      u  pES S S 5        [        WSS5        [        WSS5        g ! , (       d  f       N)= f)Nr  rh  r   c   r  r  m   l   r  rI  r  `   r  r  rh  q   t   rM  n   r  rh  rK  r  r  i   r}   rO  rQ  r  r   rL  rK  r}   r  r   rR  rM  rK  r  rI  r@  g     0g@r  g|:?)r9   rK  r   r(  rk  r   rA  r   )r_   ramsayparekhr)  rC  rD  s         r?   test_approxTestAnsari.test_approxj  s|     J K $ %  CJJ{$KLll62GA ! 	Aub)D"5r: ! s   /B		
Bc                 r    [         R                  " / SQ/ SQ5      u  p[        USS5        [        USS5        g )Nr   r   r   r   )rm   r   r  rK   r  rI   rR   r  g?rJ   )r   rA  r   )r_   rC  rD  s      r?   
test_exactTestAnsari.test_exactx  s.    ,,|-CDAtR(D"6:rA   r=   r   c                 (   [         R                  " [        [        S9   [        R
                  " U6 n[        UR                  [        R                  5        [        UR                  [        R                  5        S S S 5        g ! , (       d  f       g = fr   )r   r   r   r   r   rA  r   r\   r9   r   r   )r_   r=   rq   s      r?   r   TestAnsari.test_bad_arg}  sQ    \\,4IJ,,%C/RVV, KJJs   AB
Bc                     / SQn/ SQn[        5        nUR                  [        S5        [        R                  " X5      nS S S 5        Sn[        WU5        g ! , (       d  f       N= f)Nr>  r?  r@  r\   r   )r   r(  rk  r   rA  r   )r_   ro   rB  r)  rq   rp   s         r?   rs   !TestAnsari.test_result_attributes  sP    $ CJJ{$KL,,q$C ! -
C,	 ! s   -A
A%c                     / SQn/ SQnSn[        [        US9   [        R                  " XSS9  S S S 5        g ! , (       d  f       g = f)NrX  r   rG   rJ   rK   z!'alternative' must be 'two-sided'r   fooalternative)rg   rh   r   rA  )r_   r   r   r   s       r?   test_bad_alternativeTestAnsari.test_bad_alternative  s5    3:U3LLU3 433s	   8
Ac                 D   / SQn/ SQn[         R                  " X5      u  p4[         R                  " XSS9R                  n[         R                  " XSS9R                  nUS:  d   eUS:  d   e[        R                  R                  U[        U5      [        U5      5      n[        Xe-   SU-   S	S
9  [        XdS-  S	S
9  [        USU-   US-  -
  S	S
9  [         R                  " X!SS9R                  n[         R                  " X!SS9R                  n	US:  d   eU	S:  d   eg )N)r   r   r  rm   r  r  )r"  g      !@      #@g      %@r%  g      )@lessrc  greaterffffff?皙?r   -q=rI  r   )r   rA  r   r   apmfr  r
   )
r_   r   r   r\   rD  pval_lpval_gprobpval_l_reversepval_g_reverses
             r?   test_alternative_exact!TestAnsari.test_alternative_exact  s   '.  ,,r.	b&9@@b)<CC}}}} ||	3r7CG<T> 	QU3$tAvE: b&AHHb)DKK$$$$$$rA   zx, y, alternative, expectedrX  ra  rj  g@A?rk  r   )r   r   rG   rJ   rK   gG$I?g%I$I?r   )rG   rJ   rK   c                 V    [         R                  " XUS9R                  n[        XTSS9  g )Nrc  rn  rI  )r   rA  r   r
   )r_   ro   rB  rd  expectedrD  s         r?   test_alternative_exact_with_R(TestAnsari.test_alternative_exact_with_R  s$    8 ||Ak:AAU3rA   c                    [         R                  R                  SSSSS9n[         R                  R                  SSSSS9n[         R                  " XSS9R                  n[         R                  " XS	S9R                  n[        US
SS9  [        USSS9  [         R                  R                  SSSSS9n[         R                  R                  SSSSS9n[         R                  " X5      R                  n[         R                  " XSS9R                  n[         R                  " XS	S9R                  n[        XES-  SS9  [        USUS-  -
  SS9  g )Nr   r   r   {   rw  r   rj  rc  rk  r*   rn  rI  r   r        ?r   )r   r   r<   rA  r   r
   )r_   r   r   rq  rr  rD  s         r?   test_alternative_approx"TestAnsari.test_alternative_approx  s   ZZ^^Aqs^=ZZ^^Aqs^= b&9@@b)<CC%0%0 ZZ^^Aqr^<ZZ^^As#^>||B#**b&9@@b)<CCQU3$q&u5rA   ru   N)rv   rw   rx   ry   rE  rU  rY  r   r   r   r   rs   re  rv  rz  r  rz   ru   rA   r?   r<  r<  _  s    ;;;
 [[VrA3i1#r%;<- =--4%6 [[% fo	>
i	A
_fo	>
_i	A
9fo	>
9i	A	C44&6rA   r<  c                       \ rS rSrS rS rS r\R                  R                  SSSS9\R                  R                  S	5      S
 5       5       rS rSrg)TestBartletti  c           
      H   [         [        [        [        [        [
        [        [        [        [        /
nU Vs/ s H  o1R                  U5      PM     nn[        R                  " U6 u  pE[        XAR                  S5      5        [        XQR                  S5      5        g s  snf )NgzU@ /4@gG?)g1g2g3g4g5g6g7g8g9g10asarrayr   bartlettr"   )r_   xpr=   argTrD  s         r?   	test_dataTestBartlett.test_data  sn    BBBBC8+/04C

340..$'::&789jj9: 1s   Bc                     Sn[         R                  " [        US9   [        R                  " UR                  S/5      5        S S S 5        g ! , (       d  f       g = f)Nz-Must enter at least two input sample vectors.r   r*   )r   r   rh   r   r  r  )r_   r  rb  s      r?   test_too_few_argsTestBartlett.test_too_few_args  s8    A]]:W5NN2::rd+, 655s   'A
Ac           
          [         [        [        [        [        [
        [        [        [        [        /
nU Vs/ s H  o1R                  U5      PM     nn[        R                  " U6 nSn[        XEUS9  g s  snf )Nr^  )r  )r  r  r  r  r  r  r  r  r  r  r  r   r  r   )r_   r  r=   r  rq   rp   s         r?   rs   #TestBartlett.test_result_attributes  sX    BBBBC8+/04C

340nnd#,
C3 1s   A5	jax.numpyTz8`var` incorrect when `correction > n` (google/jax#21330))cpu_onlyreasonskip_xp_backendsc                    [         [        [        [        [        [
        [        [        [        [        / 4nU Vs/ s H  o1R                  U5      PM     nn[        U5      (       a:  [        R                  " [        [        S9   [         R"                  " U6 nS S S 5        O|[$        R&                  R)                  5        nUR+                  [,        S5        UR+                  [.        S5        UR+                  [,        S5        [         R"                  " U6 nS S S 5        UR                  UR0                  5      n[3        WR4                  U5        [3        UR6                  U5        g s  snf ! , (       d  f       N[= f! , (       d  f       Nl= f)Nr   invalid value encounteredz$var\(\): degrees of freedom is <= 0.z!Degrees of freedom <= 0 for slice)r  r  r  r  r  r  r  r  r  r  r  r!   r   r   r   r   r   r  r9   testingr   r(  r   rk  r   r#   r\   r   )r_   r  r=   r  rq   r)  NaNs          r?   test_empty_argTestBartlett.test_empty_arg  s   
 BBBBC<+/04C

340B<<08MNnnd+ ON --/3

>+FG

;(OP

>+NOnnd+ 0 jj s+

C( 1NN 0/s   E$E)>AE:)
E7:
Fc                 $   UR                  / SQUR                  S9nUR                  / SQUR                  S9nUR                  / SQUR                  S9n[        R                  " X#U5      nUR	                  UR
                  S:  5      (       d   eg )N)g333333$@gffffff$@g$@g$@dtype)L$@     $@33333$@gfffff$@)g$@r  r  r  r   )r  float32r   r  r  r\   )r_   r  ro  brO  rq   s         r?   test_negative_pvalue_gh21152)TestBartlett.test_negative_pvalue_gh21152  su    JJ/rzzJBJJ32::JFJJ32::JFnnQ1%vvcmmq())))rA   ru   N)rv   rw   rx   ry   r  r  rs   r   r   r  usefixturesr  r  rz   ru   rA   r?   r  r    sb    ;-
4 [[!!dI " K [[/0) 1K)"*rA   r  c                   J    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)
TestLevenei  c           
          [         [        [        [        [        [
        [        [        [        [        /
n[        R                  " U6 u  p#[        USS5        [        USS5        g )NgYpK?rJ   gI{]?)r  r  r  r  r  r  r  r  r  r  r   levener   )r_   r=   rC  rD  s       r?   r  TestLevene.test_data  sE    BBBBC8,,%A115D/15rA   c                     [         R                  " [        [        [        SS9u  p[         R                  " [        [        [        SSS9u  p4[        X5        [        X$5        g )Nra   centertrimmedr   r  proportiontocut)r   r  r  r  r  r   )r_   W1pval1W2pval2s        r?   test_trimmed1TestLevene.test_trimmed1!  sE     LLRF;	LLRI146	B#E)rA   c                 n   / SQn/ SQn[         R                  R                  S5        [         R                  R                  U5      n[        R
                  " XSSS9u  pE[        R
                  " X2SSS9u  pg[        R
                  " USS USS S	S
9u  p[        XH5        [        Xh5        [        Xy5        g )Ng333333?       @      @      @      @      @      @g      Y@r   r        @r  g      @r  g      @      i@  r        ?r  r   r   ra   r  )r9   rx  seedpermutationr   r  r   )
r_   ro   rB  r   W0pval0r  r  r  r  s
             r?   test_trimmed2TestLevene.test_trimmed2*  s    66
		tYY""1% LLi168	LLy168	 LL1R!Ab'&A	B#B#E)rA   c                 B   [         R                  " SSS5      n[         R                  R                  S5        [         R                  R	                  U5      nUS-  n[
        R                  " XSS9u  pE[
        R                  " X#SS9u  pg[        XF5        [        XW5        g )	Nr   r   r\  r  r   ra   r  median)r9   r'  rx  r  r  r   r  r   )r_   ro   r   rB  r  r  r  r  s           r?   test_equal_mean_median!TestLevene.test_equal_mean_median<  su    KKAr"
		tYY""1%qDLLf5	LLx8	B#E)rA   c                 p    [         R                  " SSS5      n[        [        [        R
                  XSS9  g Nr   r   r\  皙?)portiontocut)r9   r'  rg   	TypeErrorr   r  r   s     r?   test_bad_keywordTestLevene.test_bad_keywordF  s&    KKAr"iq#FrA   c                 p    [         R                  " SSS5      n[        [        [        R
                  XSS9  g Nr   r   r\  trimr  )r9   r'  rg   rh   r   r  r   s     r?   test_bad_center_value TestLevene.test_bad_center_valueJ  s&    KKAr"j%,,VDrA   c                 D    [        [        [        R                  S/5        g r   )rg   rh   r   r  ri   s    r?   r  TestLevene.test_too_few_argsN  s    j%,,4rA   c           
          [         [        [        [        [        [
        [        [        [        [        /
n[        R                  " U6 nSn[        X#5        g )Nr^  )r  r  r  r  r  r  r  r  r  r  r   r  r   )r_   r=   rq   rp   s       r?   rs   !TestLevene.test_result_attributesQ  s7    BBBBC8llD!,
C,rA   c                     [         R                  " SS/SS//5      n[        [        [        R
                  [        U5        g )Nr   r   r   r   )r9   rK  rg   rh   r   r  r  r   s     r?   test_1d_inputTestLevene.test_1d_inputX  s/    HHq!fq!f%&j%,,A6rA   ru   N)rv   rw   rx   ry   r  r  r  r  r  r  r  rs   r  rz   ru   rA   r?   r  r    s1    6**$*GE5-7rA   r  c                      \ rS rSrSrS rS rS rS r\	R                  R                  S/ SQ5      S	 5       r\	R                  R                  S/ S
Q5      S 5       r\	R                  R                  S/ SQ5      S 5       r\	R                  R                  S/ SQ5      S 5       r\	R                  R                  S/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ S Q/ S!Q/ S"Q/ S#Q/ S$Q/ S%Q/ S&Q/ S'Q/ S(Q/ S)Q/ S*Q/5      S+ 5       rS, r\	R                  R                  S-S.S//5      S0 5       rS1 rS2 rS3 rS4 rS5 rS6 rS7 r\	R                  R5                  \R8                  S8:*  S9S:9S; 5       rS<rg=)>TestBinomTesti]  zTests for stats.binomtest.c                 p   Sn[         R                  " SSS5      n[        UR                  SUS9  [         R                  " SSS5      n[        UR                  SUS9  [         R                  " S	SS5      n[        UR                  S
US9  [         R                  " SSS5      n[        UR                  SSS9  g )N绽|=iΙ i@o@Q?r*   rP   iΙ gX7?i	ϙ g=?iϙ gybw?rT   r   	binomtestr
   r   r_   rQ   rq   s      r?   test_two_sided_pvalues1%TestBinomTest.test_two_sided_pvalues1d  s     ooh$7

Cd3ooh$7

O$?ooh$7

O$?ooh$7

O$?rA   c                 z   Sn[         R                  " SSSS9n[        UR                  SUS9  [         R                  " SSS5      n[        UR                  S	US9  [         R                  " S
SS5      n[        UR                  SUS9  [         R                  " SSS5      n[        UR                  SUS9  [         R                  " SSS5      n[        UR                  SUS9  [         R                  " SSS5      n[        UR                  SUS9  [         R                  " SSS5      n[        UR                  SUS9  g )Nr  rH   r\  r  r  r  gX-h?rP   r   g㤶y?r  g	y}?rJ   g+,?r   r  r   g      ?r   rH  g{Gz?g333333?g<,?r  r  s      r?   test_two_sided_pvalues2%TestBinomTest.test_two_sided_pvalues2r  s    ooa2.

O$?ooaT*

$5DAoob"d+

O$?ooaT*

O$?ooaR(

G$7ooaB'

Dt4ooaB'

F6rA   c                 $   Sn[         R                  " SSS5      n[        UR                  SUS9  [         R                  " SSS	5      n[        UR                  SUS9  [         R                  " S
SS5      n[        UR                  SUS9  [         R                  " SSS5      n[        UR                  SUS9  [         R                  " SS
S5      n[        UR                  SUS9  [         R                  " SSS5      n[        UR                  SUS9  g )Nr  i  i  r   r   rP   r   r  gAL &W?rL   r  g!YB?rm   r  gE]t?rJ   rG   r  r  r  s      r?   test_edge_casesTestBinomTest.test_edge_cases  s    ooc3,

AD1ooaT*

AD1oob"e,

AD1oob"e,

AD1ooaS)

AD1ooaS)

AD1rA   c           	      |  ^^ SmSmSn[         R                  " [         R                  " TT-  5      TS-   5      n[        R                  R                  UTT5      n[         R                  " [        R                  R                  UTT5      U:*  SS9n[        UU4S jU* [         R                  " TT-  5      T5      nTU-
  [        U[        R                  R                  UTT5      :H  5      -   n[        XFSS	9  S
n[         R                  " [         R                  " TT-  5      S-   5      n[        R                  R                  UTT5      n[         R                  " [        R                  R                  UTT5      U:*  SS9n[        UU4S jUS[         R                  " TT-  5      5      nUS-   n[        XFSS	9  g )Nr  r   r   r   r   axisc                 H   > [         R                  R                  U TT5      * $ r8   r   binomrp  r   r  r  s    r?   <lambda>>TestBinomTest.test_binary_srch_for_binom_tst.<locals>.<lambda>  s    +0;;??2q!+D*DrA   rT   rP   rJ   c                 F   > [         R                  R                  U TT5      $ r8   r  r  s    r?   r  r    s    */++//"a*CrA   )r9   rn   ceilr   r   rp  sumr   intr
   floor)	r_   krr   dy1ixy2r  r  s	          @@r?   test_binary_srch_for_binom_tst,TestBinomTest.test_binary_srch_for_binom_tst  sd    IIbgga!enac*KKOOAq!$VVEKKOOAq!,1:) +E+,"bgga!enaA Vc!u{{r1a8899T*IIbhhq1uo)*KKOOAq!$VVEKKOOAq!,1:) +D*+QQA !VT*rA   z"alternative, pval, ci_low, ci_high))rj  g$W?r   g?)rk  g}?gGI~?r*   )	two-sidedg}G?g>?6?g4M?c                     [         R                  " SSSUS9n[        UR                  USS9  [	        UR
                  S5        UR                  SS	9n[        UR                  UR                  4X44SS9  g )
Nr  r   r!  r  r  rd  rn  rP   皙?rl  confidence_level	r   r  r
   r   r   r\   proportion_cilowhighr_   rd  rD  ci_lowci_highrq   cis          r?   test_confidence_intervals1(TestBinomTest.test_confidence_intervals1  se     oobC4[I

Du5S]]C(5)F+<5IrA   ))rj  ga&+w?r   gny?)rk  g5!Rx?g5%?r*   )r  g~th?gSuR&|?g|KnG?c                     [         R                  " SSSUS9n[        UR                  USS9  [	        UR
                  S5        UR                  SS	9n[        UR                  UR                  4X44SS9  g )
Nr   r   r  r  rO   rP   gQ?r3   r  r  r  s          r?   test_confidence_intervals2(TestBinomTest.test_confidence_intervals2  se     ooa2+F

Dt4S]]D)5)F+<4HrA   zalternative, pval, ci_high))rj  gլ?g̓A?)rk  r*   r*   )r  gEow?g;Kڞj?c                     [         R                  " SSSUS9n[        UR                  USS9  UR	                  SS9n[        UR                  S	5        [        UR                  USS9  g )
Nr   r  r!  r  rd  rO   rP   rl  r  r   )r   r  r
   r   r  r   r  r  )r_   rd  rD  r  rq   r  s         r?   !test_confidence_interval_exact_k0/TestBinomTest.test_confidence_interval_exact_k0  sY     ooatE

Dt45RVVS!t4rA   zalternative, pval, ci_low))rj  r*   r   )rk  6>g@>}_?)r  r'  gcڒ ?c                     [         R                  " SSSUS9n[        UR                  USS9  UR	                  SS9n[        UR                  S5        [        UR                  USS9  g )	Nr  r!  r$  rO   rP   rl  r  r*   )r   r  r
   r   r  r   r  r  )r_   rd  rD  r  rq   r  s         r?   %test_confidence_interval_exact_k_is_n3TestBinomTest.test_confidence_interval_exact_k_is_n  sY     oob"+F

Dt45RWWc"T2rA   z+k, alternative, corr, conf, ci_low, ci_high)r   r  Trl  g`?g?)r   r  Tr3   grt!?g/?)r   r  Frl  gVK5?g5dM?)r   r  Fr3   gXCVu^?g*r[?)r   rj  Trl  r   gP-V?)r   rj  Tr3   r   g^'?)r   rj  Frl  r   gS5a?)r   rj  Fr3   r   g?)r   rk  Trl  g!Շ`ⰸ?r*   )r   rk  Tr3   g$x"?r*   )r   rk  Frl  gW~=?r*   )r   rk  Fr3   g	L?r*   )r   r  Trl  r   gX?)r   r  Frl  r   gN?)r   rj  Trl  r   g/<7#9?)r   rj  Frl  r   gAA?)r   rk  Trl  r   r*   )r   rk  Frl  r   r*   )r  r  Trl  g7?r*   )r  r  Frl  g؍s?r*   )r  rj  Trl  r   r*   )r  rj  Frl  r   r*   )r  rk  Trl  ghadn?r*   )r  rk  Frl  gAB/?r*   c                     [         R                  " USSUS9nU(       a  SnOSnUR                  XHS9n	[        U	R                  U	R
                  4XV4SS9  g )	Nr  r  r  wilsonccwilson)r  r  rO   rP   )r   r  r  r
   r  r  )
r_   r	  rd  corrconfr  r  rq   r  r  s
             r?   test_ci_wilson_method#TestBinomTest.test_ci_wilson_method  sT    > ooa2+FFFD)F+<4HrA   c                     [         R                  " SSS5      n[        UR                  S5        [        UR                  S5        g )Nr   r  r!  r*   )r   r  r   r\   r   r_   rq   s     r?   &test_estimate_equals_hypothesized_prop4TestBinomTest.test_estimate_equals_hypothesized_prop  s2     ooaT*S]]D)SZZ%rA   zk, n)r   r   )r   r   c                     [         R                  " [        SS9   [        R                  " X5        S S S 5        g ! , (       d  f       g = f)Nz must be an integer not less thanr   r   r   rh   r   r  )r_   r	  r  s      r?   test_invalid_k_nTestBinomTest.test_invalid_k_n  s3    ]]:!CEOOA!E E Es	   :
Ac                     [         R                  " [        SS9   [        R                  " SSS5        S S S 5        g ! , (       d  f       g = f)Nz+k \(11\) must not be greater than n \(10\).r   r  r  r!  r7  ri   s    r?   test_invalid_k_too_big$TestBinomTest.test_invalid_k_too_big  s7    ]]:!OQOOBD)Q Q Q	   <
A
c                     [         R                  " [        SS9   [        R                  " SS/SS5        S S S 5        g ! , (       d  f       g = f)Nzk must be an integer.r   r  r  r\  r!  )r   r   r  r   r  ri   s    r?   test_invalid_k_wrong_type'TestBinomTest.test_invalid_k_wrong_type$  s7    ]]9!8:OORHb$/: : :	   >
Ac                 0   Sn[         R                  " [        US9   [        R                  " SSSS9  S S S 5        Sn[         R                  " [        US9   [        R                  " SSSS9  S S S 5        g ! , (       d  f       NI= f! , (       d  f       g = f)	Nzp \(-0.5\) must be in range...r   r            ࿩r  zp \(1.5\) must be in range...r~  r7  r_   rb  s     r?   test_invalid_p_range"TestBinomTest.test_invalid_p_range)  sg    3]]:W5OOBt, 62]]:W5OOBs+ 65 65 65s   A6B6
B
Bc                     [         R                  " SSSS9nSn[        R                  " [        US9   UR                  SS9  S S S 5        g ! , (       d  f       g = f)	Nr   r  r  r  z/confidence_level \(-1\) must be in the intervalr   r   r  r   r  r   r   rh   r  )r_   rq   rb  s      r?   test_invalid_confidence_level+TestBinomTest.test_invalid_confidence_level1  sD    ooa2-D]]:W5r2 655s   A
Ac                     [         R                  " SSSS9n[        R                  " [        SS9   UR                  SS9  S S S 5        g ! , (       d  f       g = f)	Nr   r  r  r  z$method \('plate of shrimp'\) must ber   zplate of shrimpr  rJ  r3  s     r?   test_invalid_ci_method$TestBinomTest.test_invalid_ci_method7  sB    ooa2-]]:-TU%67 VUUs   A		
Ac                     [         R                  " [        SS9   [        R                  " SSSSS9  S S S 5        g ! , (       d  f       g = f)Nzalternative \('ekki'\) not...r   r   r  r  ekkir  r7  ri   s    r?   test_invalid_alternative&TestBinomTest.test_invalid_alternative<  s0    ]]:-MNOOAs? ONNs	   ;
A	c                 p    [         R                  " SSSS9n[        UR                  UR                  5        g )Nr   r  r  r  )r   r  r   proportion_estimater\   r3  s     r?   
test_aliasTestBinomTest.test_alias@  s(    ooa2-S,,cmm<rA   l        z32-bit does not overflowr  c                     [         R                  " [        SS9   [        R                  " SS[
        R                  R                  S9  S S S 5        g ! , (       d  f       g = f)NzError in function...r   r   rG   rE  )r   r   OverflowErrorr   r  sys
float_infominri   s    r?   test_boost_overflow_raises(TestBinomTest.test_boost_overflow_raisesD  s:     ]]=0FGOOAqCNN$6$67 HGGs   /A
A ru   N)rv   rw   rx   ry   __doc__r  r  r  r  r   r   r   r  r!  r%  r)  r0  r4  r8  r;  r?  rG  rK  rO  rS  rW  skipifr\  maxsizer_  rz   ru   rA   r?   r  r  ]  s   $@7"2+@ [[AHIJIJ [[AFGIGI [[9DE5	E5 [[8FG3	G3 [[5	=	;	<	=	0	0	1	1	4	4	4	5	5	6	0	0	-	.	6	7	+	,	4	43	6:I;:I& [[Vfg%67" 8"
*
0
,38
@= [[u,5OP8 Q8rA   r  c                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)TestFligneriK  c                 x    [         R                  " S5      n[        [        R                  " XS-  5      SS5        g )Nr   r   )gnf	@gDq?r  )r9   rn   r   r   fligner)r_   r   s     r?   r  TestFligner.test_dataM  s,    YYq\!%--E":"L"$	&rA   c                 &  ^	 [         R                  R                  S5      m	U	4S jnU" [        5      nU" [        5      nU" [
        5      n[        R                  " X#USS9u  pV[        R                  " X#USSS9u  px[        XW5        [        Xh5        g )Nr}  c                    > [         R                  " U 5      STR                  [        U 5      5      -  -   R	                  5       $ )Nr  )r9   r  randnr  tolist)gr  s    r?   _perturb+TestFligner.test_trimmed1.<locals>._perturbY  s1    JJqMEBHHSV,<$<<DDFFrA   ra   r  r  r   r  )	r9   rx  r   r  r  r  r   rg  r   )
r_   rn  g1_g2_g3_Xsq1r  Xsq2r  r  s
            @r?   r  TestFligner.test_trimmed1T  s{     YY""3'	G rlrlrl mmCc&AmmCc)479D'E)rA   c                     / SQn/ SQn[         R                  " XSSS9u  p4[         R                  " USS USS SS	9u  pV[        X55        [        XF5        g )
Nr  r  r  r  r  r   r   ra   r  )r   rg  r   )r_   ro   rB  rs  r  rt  r  s          r?   r  TestFligner.test_trimmed2g  sU    66mmA49; mmAaGQqWVDD'E)rA   c                 p    [         R                  " SSS5      n[        [        [        R
                  XSS9  g r  )r9   r'  rg   r  r   rg  r   s     r?   r  TestFligner.test_bad_keyword  s&    KKAr"i3GrA   c                 p    [         R                  " SSS5      n[        [        [        R
                  XSS9  g r  )r9   r'  rg   rh   r   rg  r   s     r?   r  !TestFligner.test_bad_center_value  s&    KKAr"j%--fErA   c                 D    [        [        [        R                  S/5        g r   )rg   rh   r   rg  ri   s    r?   test_bad_num_argsTestFligner.test_bad_num_args  s    j%--!5rA   c                 b   [         R                  " S5      n[        R                  " [        [
        S9   [        R                  " XS-  / 5      n[        UR                  [         R                  5        [        UR                  [         R                  5        S S S 5        g ! , (       d  f       g = f)Nr   r   r   )r9   rn   r   r   r   r   r   rg  r   r\   r   r   r   s      r?   r  TestFligner.test_empty_arg  sd    IIaL\\,4IJ--a4,C/RVV, KJJs   A#B  
B.ru   N)rv   rw   rx   ry   r  r  r  r  r  r}  r  rz   ru   rA   r?   re  re  K  s'    &*&
*4HF6-rA   re  c               #     #    / SQn / SQn[        U5       H  u  p#[        R                  R                  U5      nUR                  S5      nUR	                  SSSS9nUR	                  SSSS9n[        Xg5       H#  u  p[        US-   X-   5       H	  n
XX   XZ'   M     M%     UR                  U5        [        R                  " US	5      u  pXS
/X   Q7v   M     g 7f)N))g]YCgQɣ?)gme5gϵ5?)g;jgH?)iFeiHcMi%:r   r   rI  r   )r  r  r   r   r   rj  )		enumerater9   rx  ry  integersziprangeshufflesplit)expected_resultsseedssir  r|  xytie_indnum_ties_per_indrr   r  jro   rB  s                r?   mood_cases_with_tiesr    s     @ .Ee$ii##D)ZZ_,,12A,6<<AAA<>2DA1q5!%( ) 3 	BxxAF1-111 %s   CCc                      \ rS rSr\R
                  R                  S\" 5       5      S 5       r\R
                  R                  S/ SQ5      S 5       r	S r
S rS	 rS
 rS rS r\R
                  R                  S/ SQ5      S 5       rSrg)TestMoodi  z$x,y,alternative,stat_expect,p_expectc                 Z    [         R                  " XUS9u  pg[        XFSS9  [        XWSS9  g)a  
Example code used to generate SAS output:
DATA myData;
INPUT X Y;
CARDS;
1 0
1 1
1 2
1 3
1 4
2 0
2 1
2 4
2 9
2 16
ods graphics on;
proc npar1way mood data=myData ;
   class X;
    ods output  MoodTest=mt;
proc contents data=mt;
proc print data=mt;
  format     Prob1 17.16 Prob2 17.16 Statistic 17.16 Z 17.16 ;
    title "Mood Two-Sample Test";
proc print data=myData;
    title "Data for above results";
  run;
rc  gؗҜ<rI  Nr   moodr
   )r_   ro   rB  rd  stat_expectp_expectr\   r   s           r?   test_against_SASTestMood.test_against_SAS  s+    < "JJqE	U;u5rA   zalternative, expected))r  )3oXQ?gpL?)rj  )r  gԣl?)rk  )r  gpL?c                 T    / SQn/ SQn[         R                  " X4US9n[        XR5        g )NrH  rP  rc  r  )r_   rd  ry  ro   rB  rq   s         r?   test_against_SAS_2TestMood.test_against_SAS_2  s(    <=jj;7&rA   c                 B   [         R                  R                  S5        [         R                  R                  SS5      n[         R                  R                  SS5      n[        R
                  " X5      u  p4[        R
                  " X!5      u  pV[        X4/U* U/5        g )Nr  r  r   rm   )r9   rx  r  rk  r   r  r   )r_   r   r   z1p1z2p2s          r?   test_mood_order_of_args TestMood.test_mood_order_of_args  sn     			tYY__R#YY__R#B#B#!2(bS"I6rA   c                     / SQn/ SQn[         R                  " U5      n[         R                  " U5      nSUl        SUl        [        [        R
                  " XS S9SS/5        g )N)gg۟?gy<7xg1)E?g9cç?g
FAg<=ӟ	2?g{![?g_l?gڻ{ӿgGSsA0?g1?g 3ggL?g_lg,*.gː53?gvNqG?gW=?)gd"g `Y#?g^g?gNgBagp5_%?g(?gv]lοgg?ggr6ʺ?ḡj?gK!ٿg{g&?g*h}gZ?gyBU?g .ۋ4?g|w;?g&ck @gRj2g}+w(o?g@F?g}_9t?g =g	S?gx(gg7Y?g{ih?)r  r   )rm   r   r  g4g^}E	?)r9   rK  shaper   r   r  )r_   r   r   s      r?   test_mood_with_axis_none!TestMood.test_mood_with_axis_none  sY    4	H XXb\XXb\!%**R$"?#1="A	CrA   c                 |   Sn[         R                  R                  S5        [         R                  R                  SU5      n[         R                  R                  SU5      n[        R
                  " X#5      u  pE[        U5       H8  n[        XF   XV   /[        R
                  " US S 2U4   US S 2U4   5      5        M:     UR                  5       nUR                  5       n[        R
                  " X#SS9u  pE[        U5       H6  n[        XG   XW   /[        R
                  " X'S S 24   X7S S 24   5      5        M8     g )Nr   r  r  rm   r   r  )	r9   rx  r  rk  r   r  r  r   	transpose)r_   nyr   r   	z_vectestpval_vectestr  rr   s           r?   test_mood_2dTestMood.test_mood_2d  s     
		tYY__R$YY__R$"'**R"4	rA%y|\_&E&+jjAqD2ad8&DF 
 \\^\\^"'**R!"<	rA%y|\_&E&+jjqD2d8&DF rA   c           
      f   Sn[         R                  R                  S5        [         R                  R                  " U6 n[         R                  R                  " U6 n[	        S5       H  n[
        R                  " X#US9u  pVSS/SS/SS/4n[	        XU   S      5       H  n[	        XU   S      5       Hq  n	US:X  a  US S 2X4   n
US S 2X4   nO+US:X  a  X(S S 2U	4   n
X8S S 2U	4   nOX(U	S S 24   n
X8U	S S 24   n[        XXU	4   XhU	4   /[
        R                  " X5      5        Ms     M     M     g )N)r  r   rG   r  r   r  r   r   r   )r9   rx  r  rk  r  r   r  r   )r_   r  r   r   r  r  r  axes_idxrr   r  slice1slice2s               r?   test_mood_3dTestMood.test_mood_3d  s5   
		tYY__e$YY__e$!HD&+jjd&C#I AAA/H5$!234ud^A%678Aqy!#AqG!#AqG!#q!G!#q!G!#q!G!#q!G-yA/;qD/A/C.3jj.HJ 9 5 rA   c                 2   [         R                  " [        [        S9   [        R
                  " S// 5      n[        UR                  [        R                  5        [        UR                  [        R                  5        S S S 5        g ! , (       d  f       g = f)Nr   r   )r   r   r   r   r   r  r   r\   r9   r   r   r3  s     r?   test_mood_bad_argTestMood.test_mood_bad_arg9  sU    \\,4IJ**aS"%C/RVV, KJJs   A!B
Bc                 L   [         R                  R                  S5        [        R                  R                  SSS9n[        R                  R                  SSS9n[        R                  " XSS9u  p4[        R                  " XSS9u  pV[        R                  " XS	S9u  pxX5s=:X  a  U:X  d   e   e[        USS
S9  [        XdS-  5        [        USUS-  -
  5        [        R                  " [        SS9   [        R                  " XSS9  S S S 5        g ! , (       d  f       g = f)Nr         ?r   )r   r   g      ?r  rc  rj  rk  Hz>rI  r   r   z`alternative` must be...r   z	ekki-ekki)r9   rx  r  r   r   r<   r  r
   r   r   rh   )	r_   ro   rB  stat1r  stat2r  stat3p3s	            r?   test_mood_alternativeTestMood.test_mood_alternative@  s    
		qJJNNCN0JJNNCN0JJq=	JJq8	JJq;	&&&&&&AD)qD!A1H%]]:-GHJJq5 IHHs   6D
D#rd  )r  rj  rk  c                     [         R                  R                  S5      nUR                  S5      nUR                  S5      n[        R
                  " X4US9n[        UR                  UR                  4U5        g )Nl	   hTt fU6H~ )r  r   )rm   r   rc  )	r9   rx  ry  r  r   r  r   r\   r   )r_   rd  r|  r   r   rq   s         r?   test_resultTestMood.test_resultR  s^    ii##$KL  )  )jj[9cmmSZZ0#6rA   ru   N)rv   rw   rx   ry   r   r   r   r  r  r  r  r  r  r  r  r  r  rz   ru   rA   r?   r  r    s    [[C135656@ [[4@A'A'7C8F.J8-6$ [[],LM7 N7rA   r  c                       \ rS rSrS rS rS r\R                  R                  \
(       + SS9S 5       rS rS	 rS
 rSrg)TestProbploti\  c                    [         R                  R                  SSS9n[         R                  " USS9u  p#/ SQn[	        U[
        R                  " U5      5        [	        X$5        [         R                  " USS9u  pV/ SQn[	        Xg5        g )	Nr  90  rw  Fr  )g+/gY3gtg5Z0gFjg!2gsR{ܿg7Կg>hǿgcz隇gcz隇?g>h?g7?gsR{?g!2?gFj?g5Z0?gt?gY3?g+/?T)gƝV?g?gà?)r   r   r<   probplotr
   r9   sort)r_   ro   osmosrosm_expectedrq   res_fitres_fit_expecteds           r?   rd   TestProbplot.test_basic^  sn    JJNNN7>>!/G
 	RWWQZ(*~~aT2?2rA   c                 X   [         R                  R                  SSS9n[         R                  " US SS9u  p#[         R                  " USSS9u  pE[         R                  " USSS9u  pg[	        X$5        [	        X&5        [	        X55        [	        X75        [         R                  " USSS9u  pg )Nr   i@ rw  Fsparamsr  r   ru   )r   r   r<   r  r
   )
r_   ro   osm1osr1osm2osr2osm3osr3r  r  s
             r?   test_sparams_keyword!TestProbplot.test_sparams_keywordm  s    JJNN&N9 ^^At?
^^Aqe<
^^Aru=
####>>!RU;SrA   c                    [         R                  R                  SSS9n[         R                  " USSSS9u  p#[         R                  " US[         R                  SS9u  pE[        X$5        [        X55        [        [        [         R                  USS	9  [        [        [         R                  U/ S	9   " S
 S5      n[         R                  " USSS9u  p#[         R                  " X" 5       SS9u  pE[        X$5        [        X55        g )Nr  r  rw  Ft)r   )r  r(  r  zwrong-dist-namer'  c                       \ rS rSrSrS rSrg)3TestProbplot.test_dist_keyword.<locals>.custom_disti  z6Some class that looks just enough like a distribution.c                 >    [         R                  R                  USS9$ )Nr   )r   )r   r   ppf)r_   qs     r?   r  7TestProbplot.test_dist_keyword.<locals>.custom_dist.ppf  s    zz~~aQ~//rA   ru   N)rv   rw   rx   ry   ra  r  rz   ru   rA   r?   custom_distr    s
    H0rA   r  )r   r  )r(  r  )	r   r   r<   r  r  r
   rg   rh   AttributeError)r_   ro   r  r  r  r  r  s          r?   test_dist_keywordTestProbplot.test_dist_keyword{  s    JJNNN7^^A5sDI
^^A5uwwM
##j%..!:KLnennabA	0 	0
 ^^At?
^^AKMuE
##rA   no matplotlibrY  c                 X   [         R                  " 5       nUR                  S5        [        R                  R                  SSSS9n[        R                  " U[         S9u  p4[         R                  " 5         [        R                  " US S9u  pV[        R                  " US[         S9n[         R                  " 5         [        R                  " USS S9n[        [        U5      [        U5      s=:H  =(       a1    [        U5      s=:H  =(       a    [        U5      s=:H  =(       a    S	:H  Os  5        [        X55        [        X75        [        X85        [        XF5        [         R                  " 5       nUR                  S5      n	[        R                  " USU	S9  [         R                  " 5         g )
Nr  r   r   t rw  plotF)r  r  r   )pltfigureadd_subplotr   r  r<   r  closer	   r  r
   )
r_   figro   res1fitres1res2fitres2res3res4axs
             r?   test_plot_kwargTestProbplot.test_plot_kwarg  s   jjlGGKK'K:qs3		qt4~~aU5		~~aU6 	D	SYEE#d)EEs4yEEAEF###) jjl__S!qe"-		rA   c                 B    [        [        [        R                  S/SS9  g r%  )rg   rh   r   r  ri   s    r?   test_probplot_bad_args#TestProbplot.test_probplot_bad_args  s    j%..1#<MNrA   c                 j   [        [        R                  " / SS9[        R                  " / 5      [        R                  " / 5      45        [        [        R                  " / SS9[        R                  " / 5      [        R                  " / 5      4[        R
                  [        R
                  S445        g )NFr  Tr   )r   r   r  r9   rK  r   ri   s    r?   
test_emptyTestProbplot.test_empty  ss    U^^BE2hhrlBHHRL1	3U^^BD1xx|RXXb\2vvrvvs+-	.rA   c                 :   [         R                  " SS9   [        [        R                  " S/SS9[         R
                  " S/5      [         R
                  " S/5      4[         R                  [         R                  S445        S S S 5        g ! , (       d  f       g = f)Nr  invalidr   Tr  r   )r9   r  r   r   r  rK  r   ri   s    r?   test_array_of_size_one#TestProbplot.test_array_of_size_one  sd    [[*688RD>288QC=9662663/12 +**s   A.B
Bru   N)rv   rw   rx   ry   rd   r  r  r   r   rb  have_matplotlibr  r  r  r  rz   ru   rA   r?   r  r  \  sM    3<$( [[O+OD E0O.2rA   r  c                      \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS r\R"                  R%                  S/ SQ/ SQ/ SQ/5      S 5       rS r\R"                  R*                  S 5       r\R"                  R%                  S/ SQ5      S 5       rS r\R"                  R%                  SSS/5      S 5       r\R"                  R%                  SS\R6                  " 5       45      S 5       rSrg) TestWilcoxoni  c                     [        [        [        R                  SS/SS/S5        [        [        [        R                  SS/SS/SS9  [        [        [        R                  S/S-  SS9  g )Nr   r   dummyrc  r  xyzrN  )rg   rh   r   wilcoxonri   s    r?   test_wilcoxon_bad_arg"TestWilcoxon.test_wilcoxon_bad_arg  sW     	j%..1a&1a&'Jj%..1a&1a&")	+j%..1#b&GrA   c           	         [         R                  " S5      n[         R                  " SS9   [        R                  " XSSS9u  p#[        X#4S[         R                  45        [        R                  " XSSS9u  p#[        X#4S[         R                  45        S S S 5        [        [        R                  " XS	SS9S
5        g ! , (       d  f       N/= f)Nr  r  r  wilcox
asymptoticrN  r   prattzsplit)g     @Z@r*   )r9   rn   r  r   r  r   r   )r_   ro   r   r  s       r?   test_zero_diffTestWilcoxon.test_zero_diff  s    IIbM [[*>>!FDA!#rvv/>>!EDA!#rvv/	 + 	U^^A(<H#	% +*s   A+B??
Cc                 Z    / SQn/ SQn[         R                  " XSSSS9n[        US5        g )NrX  )r   r   r   r   r  r  F)zero_methodr  
correction)r   g|N?)r   r  r
   )r_   ro   rB  rq   s       r?   
test_prattTestWilcoxon.test_pratt  s0     nnQw|(-/78rA   c                     / SQn[         R                  " USSS9n[         R                  " USSS9n[         R                  " USSS9ng )N)r   r   r   r   r   r   r   r   r   r   r   r  r  )r  r  r  r  )r   r  )r_   arrr*  s      r?   test_wilcoxon_arg_type#TestWilcoxon.test_wilcoxon_arg_type  s?     1NN3GLINN3H\JNN3H\JrA   c                 "   / SQn[        SS5      n[        R                  " [        X!5       VVs/ s H  u  p4U/U-  PM     snn5      n[        R                  " UR
                  5      n[        R                  " XVSSSS9u  px[        US5        [        US	5        [        R                  " XVS
SSS9u  px[        US5        [        US5        [        R                  " XVSSSS9u  px[        US5        [        US5        [        R                  " / SQ5      n[        R                  " / SQ5      n[        R                  " XVSSS9u  px[        US5        [        USSS9  [        R                  " XVSSS9u  px[        US5        [        USSS9  g s  snnf )N)	r   r   r  rm   rK   r   r   r   r   r   r  r  Fr  r  i  g.i?r  i  gFYv]Uj?r  iG  g%^ Ez?r  rR  r  r        y   r     rM     p         w   r@  r(     r?  rM  s   r%  r     r  r  r  g^҂<?rO   rP   Tg:b+?)r  r9   concatenater  zerosr   r   r  r
   rK  r   )	r_   freqnumsur  ro   rB  r  r  s	            r?   test_accuracy_wilcoxon#TestWilcoxon.test_accuracy_wilcoxon  sQ   ,R|NND@QC!G@AHHQVV~~aGL).0301~~aH\).0301~~aH\).03+, HHQRHHQR~~au\JQ940~~atLIQ9407 As   F
c                 D   [         R                  " / SQ5      n[         R                  " / SQ5      n[        R                  " XSSS9n[        R                  " XSSS9n[        R                  " XSSS9n[        R                  " XSSS9nX4s=:X  a  Us=:X  a  U:X  d   e   eg )N)r   r   r  rJ      r  r  r   rK   rG  rH   r  )r   r  r   r  r   r   rI   r  rI  rI      r_  r  approxrN  r  )mode)r9   rK  r   r  )r_   ro   rB  r  r  r  r  s          r?   test_approx_modeTestWilcoxon.test_approx_mode  s     HH@AHHAB~~aHX>~~aH\B~~aH8<~~aH<@+t+t+++++rA   c                     [         R                  " / SQ5      n[         R                  " / SQ5      n[        R                  " XSSS9nSn[	        X45        g )Nr"  r)  Fr  r0  r^  )r9   rK  r   r  r   )r_   ro   rB  rq   rp   s        r?   test_wilcoxon_result_attributes,TestWilcoxon.test_wilcoxon_result_attributes  s?    HHQRHHQRnnQeLI,
C,rA   c                    [         R                  R                  S5      nUR                  S5      UR                  S5      p2[        R                  " X#SS9n[        R
                  R                  UR                  S-  5      n[        UR                  U5        [        R                  " X#SS9n[        US5      (       a   e[        R                  " X#5      n[        US5      (       a   eg )Nl   	m$S rm   r  rN  r   exact
zstatistic)r9   rx  ry  r   r  r   r  r   r
   rD  hasattr)r_   r|  ro   rB  rq   r   s         r?   test_wilcoxon_has_zstatistic)TestWilcoxon.test_wilcoxon_has_zstatistic  s    ii##K0zz"~szz"~1nnQ,7jjnnSZZ\*,nnQ'23----nnQ"3-----rA   c                     [         R                  " S/S-  SSS9u  pSn[        US5        [        X#SS	9  [         R                  " S/S-  S
SS9u  pSn[        US5        [        X#SS	9  g )Nr  r  r  Fr!  g4IťY?r   rO   rP   Tr0  gc2_?)r   r  r   r
   )r_   statr  
expected_ps       r?   test_wilcoxon_tieTestWilcoxon.test_wilcoxon_tie"  sp     ..#L,13 
T1D1..#(46 
T1D1rA   c                    / SQn/ SQn[         R                  " XSSSS9u  p4[        US5        [        USS	S
9  [         R                  " XSSSS9u  p4[        US5        [        USS	S
9  [         R                  " XSSSS9u  p4[        US5        [        USS	S
9  [         R                  " XSSSS9u  p4[        US5        [        USS	S
9  g )N)
}   r.  r     rO  r.  rO  rN  rO  rA  )
rO  z   rN  r  rO  |   r}     rA     rj  r  F)rd  r  r  r_  g13}?rG   rW   T)rd  r  r  g7a%?rk  g?gڏoJT?)r   r  r   r   )r_   ro   rB  r   r  s        r?   test_onesidedTestWilcoxon.test_onesided7  s     ?>~~a|).0QAy!4~~a4%13QAy!4~~a	%1eEQAy!4~~a	)-lDQAy!4rA   c                     [        SS5       HY  n[        U5      n[        U5      n[        XS-   -  S-  S-   [	        U5      5        [        [        U5      S5        [        X#5        M[     g )Nr   r  r   )r  r   r   r   r  r  r   )r_   r  pmf1pmf2s       r?   test_exact_basicTestWilcoxon.test_exact_basicW  sX    q"A&q)D'*DaCQD	2TA&%d1 rA   c                 l   [         R                  " / SQ5      n[         R                  " / SQ5      n[        R                  " XSSS9u  p4[	        USSS9  [        R                  " XS	SS9u  p4[	        US
SS9  [        R                  " XSSS9u  p4[	        USSS9  [         R
                  " SS5      S-   n[         R
                  " SSS5      n[        R                  " XSSS9u  p4[	        USSS9  [        R                  " XS	SS9u  p4[	        USSS9  [        R                  " XSSS9u  p4[	        USSS9  g )N)
g(\?g=
ףp=?g(\?gQ޿gQ?g{Gz?gp=
ףgq=
ףp?g      gQ?)
r   g?gɿg333333?皙gܿgzGgQοg(\gRQr  rC  rd  r  g֔  ?rG   rW   rj  gYJ?rk  g*  ?r   r  r   r   g(?g(?gS?)r9   rK  r   r  r   rn   )r_   ro   rB  r*  r  s        r?   test_exact_pvalTestWilcoxon.test_exact_pval_  s   HH # $HH $ %~~aGLAy!4~~awGAy!4~~a	'JAz15IIas"IIb!R ~~aGLAy!4~~awGAy!4~~a	'JAy!4rA   ro   )r   r  r   )r   r   rG  r   r   )r   r  r   r   rh  irJ   rK   c                     [         R                  " U5      u  p#[        R                  " U5      nXS:     R	                  5       n[        X$5        [        US5        g Nr   r   )r   r  r9   rK  r  r   )r_   ro   r   r  wtrues        r?   test_exact_p_1TestWilcoxon.test_exact_p_1{  sD     ~~a HHQKa%QQrA   c           	      D   [         R                  " SS5      S-   n[         R                  " SSS5      n[        [        R                  " X5      [        R                  " XSS95        [        R
                  " 5       n[         R                  " SS5      n[        R                  " U5      u  pV[        XV4[        R                  " XCS95        [         R                  " S	S
5      n[        R                  " U5      u  pV[        XV4[        R                  " USS95        SXDS:H  '   [        R                  " U5      u  pV[        XV4[        R                  " USS95        [         R                  " SS5      n[        [        R                  " U5      [        R                  " USS95        g )Nr   r   r   r   rC  rN  r  r   rh  rH   r  r   r  )r9   rn   r   r   r  r  )r_   ro   rB  pmr
  r   r  s          r?   	test_autoTestWilcoxon.test_auto  s,   IIas"IIb!R U^^A)^^A9	; $$&IIb!~~a 
 	aVU^^A9: IIb!~~a aVU^^AlCDq&	~~a aVU^^AlCD IIaU^^A&q(NOrA   c                     [         R                  " SS5      n[        R                  " U5      nSn[	        X#5        SXS:H  '   [        R                  " U5      nSn[	        X#5        g )Nrh  rK   )g     ;@g     P?r   r   )r  g     0?)r9   rn   r   r  r   )r_   r
  rq   r   s       r?   test_auto_permutation_edge_case,TestWilcoxon.test_auto_permutation_edge_case  sU     IIb!nnQ"Sq&	nnQ SrA   r   )r   r   r  c                 H   [         R                  R                  S5      nUR                  US9n[        R                  " U[        R
                  " 5       S9n[        R                  " USS9n[        UR                  UR                  5        [        UR                  UR                  5        UR                  US-  S9n[         R                  R                  S5      n[        R
                  " SUS9n[        R                  " X6S9n[         R                  R                  S5      n[        R
                  " SUS	9n[        R                  " X6S9n[        [         R                  " UR                  S
5      UR                  5        [        UR                  UR                  5        g )Nl   aQG1X@
r   rN  rC  r  l   VsWFrI  r  )r  r   r   )
r9   rx  ry  r   r  r  r   r\   r   round)r_   r   r|  ro   rq   r   rf  s          r?   test_permutation_method$TestWilcoxon.test_permutation_method  s!   ii##$56JJDJ!nnQu'>'>'@AnnQw/S]]CMM2SZZ,JJDGJ$ii##$56$$=nnQ*ii##$56$$#FnnQ*RXXcjj!,cjj9SZZ,rA   c                 >   [         R                  R                  S5      nUR                  SS9n[         R                  US'   [
        R                  " U5      n[
        R                  " USS9n[        X45        [        US5      (       d   e[        US5      (       a   eg )Nl   HF )Z )r  r   r   )r   r   r  rN  rD  )	r9   rx  ry  normalr   r   r  r
   rE  )r_   r|  r  rq   r   s        r?   6test_method_auto_nan_propagate_ND_length_gt_50_gh20591CTestWilcoxon.test_method_auto_nan_propagate_ND_length_gt_50_gh20591  s     ii##O4JJGJ$&&$nnQnnQ|4!sL))))3-----rA   r  rC  r  c                 p   / SQn/ SQn[         R                  " X#SUS9n[         R                  " X2SUS9n[        U5      [        U5      S-   -  S-  n[        UR                  5      UR                  :w  d   e[        XeR                  -
  UR                  SS	9  [        UR                  UR                  SS	9  g )
N)
r  r  ri  r  rV  r  r  r  r  r^  )
r  r  E   ri  rf  r  r  rD   r  r  rj  r]  rk  r   r   V瞯<rP   )r   r  r  r  r\   r
   r   )r_   r  var1var2r   rq   max_statistics          r?   test_symmetry_gh19872_gh20752*TestWilcoxon.test_symmetry_gh19872_gh20752  s     87nnTVFKnnTYvND	SY]3a73==!S]]2225s}}5Q

CJJU;rA   c                 r    [         R                  " [        R                  " S5      US9n[	        USS/5        g )Nr   rN  r   r   )r   r  r9   r2  r
   )r_   r  rq   s      r?   test_all_zeros_exact!TestWilcoxon.test_all_zeros_exact  s*    
 nnRXXa[8aV$rA   ru   N)rv   rw   rx   ry   r  r  r  r  r6  r=  r@  rF  rK  rT  rY  r^  r   r   r   rc  rg  r:  rj  rn  rr  rz  r   r  r}  rz   ru   rA   r?   r  r    s$   H%9K1@	,-.2*5@258 [[S;#5#@#B CCP< [[  [[VZ0- 1-(.  [[X'>?
< @
< [[X1H1H1J'KL% M%rA   r  )gףp=
W0@gQ%@gGz'@g+@g33333/@g3333332@g
ףp=
@gq=
ףp$@g
ףp=
)@g\(\-@gGz0@gGzn3@g=
ףp= @gffffff&@gfffff)@g
ףp=-@Gz0@g3@g!@g)\('@g333333(@g
ףp=
.@r  g{G0@gQ3@gq=
ף"@g\(\'@gR*@g33333.@g\(3@c                       \ rS rSrS rS rS r\R                  R                  SSS/5      S 5       r
\R                  R                  S	/ S
Q5      S 5       rSrg)	TestKstati  c           	      0   [         R                  R                  S5        UR                  [         R                  R	                  S5      UR
                  S9nUR                  S Vs/ s H  n[        R                  " X#5      PM     sn5      nUR                  / SQUR                  S9n[        XESS9  [        R                  " USS	9n[        R                  " US
S	9n[        R                  " USS	9n[        UR                  XgU45      US S SSS9  g s  snf )Ni}  r  r  rX  )gHQ,?glZ)rI?g88}?gcJN?r&  rP   r   )orderr   r   r   g{Gz?{Gz?r$  )r9   rx  r  r  rk  float64r   kstatr  r"   moment)	r_   r  r`   r  momentsry  m1m2m3s	            r?    test_moments_normal_distribution*TestKstat.test_moments_normal_distribution  s    
		uzz"))//%0

zC**LILqekk$2LIJ::I$(JJ  05 \\$a(\\$a(\\$a(

BB<0(3B-dQUV Js   & Dc                    [        U5      (       aL  [        R                  " [        [        S9   [
        R                  " UR                  / 5      5      nS S S 5        OB[        R                  " SS9   [
        R                  " UR                  / 5      5      nS S S 5        [        WUR                  UR                  5      5        g ! , (       d  f       N4= f! , (       d  f       NE= fNr   r  r  )r!   r   r   r   r   r   r  r  r9   r  r#   r   )r_   r  rq   s      r?   rj   TestKstat.test_empty_input  s    B<<08MNkk"**R.1 ON X.kk"**R.1 /RZZ/0 ON /.s   &C1&C
C
C$c                     UR                  S5      nUR                  US:H  UR                  UR                  5      U5      n[	        [
        R                  " U5      UR                  UR                  5      5        g NrR   rG   rn   wherer  r   r#   r   r  r_   r  r`   s      r?   r   TestKstat.test_nan_input  R    yy~xx	2::bff#5t<D)2::bff+=>rA   r  r   g/$@c                     UR                  S5      nSn[        R                  " [        US9   [        R
                  " X1S9  S S S 5        g ! , (       d  f       g = f)Nr  z'k-statistics only supported for 1<=n<=4r   r  )rn   r   r   rh   r   r  )r_   r  r  r`   rb  s        r?   test_kstat_bad_argTestKstat.test_kstat_bad_arg  s<     yy};]]:W5KK" 655s   A
Acase))r   gM~,@)r   2.L)@)r   gP'')r    -"bac                     Uu  p4[         R                  " UR                  [        5      U5      n[	        XRR                  U5      5        g r8   )r   r  r  x_kstatr"   )r_   r  r  r  r   rq   s         r?   test_against_RTestKstat.test_against_R  s4     kk"**W-q1ZZ_-rA   ru   N)rv   rw   rx   ry   r  rj   r   r   r   r   r  r  rz   ru   rA   r?   r  r    sg    W1? [[S1e*-# .# [[V &? @.	@.rA   r  c                   |    \ rS rSrS rS r\" SSS9\R                  R                  S5      S 5       5       r
S	 rS
rg)TestKstatVari.  c                    UR                  / 5      n[        U5      (       a=  [        R                  " [        [
        S9   [        R                  " U5      nS S S 5        O3[        R                  " SS9   [        R                  " U5      nS S S 5        [        WUR                  UR                  5      5        g ! , (       d  f       N4= f! , (       d  f       NE= fr  )r  r!   r   r   r   r   r   kstatvarr9   r  r#   r   )r_   r  ro   rq   s       r?   rj   TestKstatVar.test_empty_input0  s    JJrNB<<08MNnnQ' ON X.nnQ' /RZZ/0 ON /.s   B83C	8
C	
Cc                     UR                  S5      nUR                  US:H  UR                  UR                  5      U5      n[	        [
        R                  " U5      UR                  UR                  5      5        g r  r  r  s      r?   r   TestKstatVar.test_nan_input:  r  rA   Tz2input validation of `n` does not depend on backendnp_onlyr  r  c                     S/nSnSn[         R                  " [        US9   [        R                  " XS9  S S S 5        g ! , (       d  f       g = f)Nr   r  zOnly n=1 or n=2 supported.r   r  )r   r   rh   r   r  )r_   r`   r  rb  s       r?   r   TestKstatVar.test_bad_arg@  s;    
 s.]]:W5NN4% 655s	   ?
Ac                 z   [        [        5      nSnSn[        R                  " UR	                  [        5      S5      nX2-  n[        XQR	                  U5      5        [        R                  " UR	                  [        5      S5      nSUS-  -  U-  US-
  U-  -   X"S-   -  -  n[        XQR	                  U5      5        g )Nr  r  r   r   )r  r  r   r  r  r"   )r_   r  r  k2k4rq   r   s          r?   test_against_R_mathworld%TestKstatVar.test_against_R_mathworldK  s    
 LnnRZZ0!4fZZ_-nnRZZ0!4QwqyAaC8#qS	2ZZ_-rA   ru   N)rv   rw   rx   ry   rj   r   r  r   r   r  r   r  rz   ru   rA   r?   r  r  .  sI    1? dQS[[/0& 1S&.rA   r  c                   |    \ rS rSrS rS rS r\R                  R                  \
(       + SS9S 5       rS rS	 rS
rg)TestPpccPloti^  c                 *    [        SSSS9S-   U l        g Nr     r  rw  r@   ro   ri   s    r?   setup_methodTestPpccPlot.setup_method_      "13WEIrA   c           	          Sn[         R                  " U R                  SSUS9u  p#/ SQn[        U[        R
                  " SSUS95        [        X45        g )Nr   r  N)g9%	?gxM _?g";9?g®XZ?g?num)r   	ppcc_plotro   r
   r9   r'  )r_   r  svalsppccppcc_expecteds        r?   rd   TestPpccPlot.test_basicb  sG    oodffc2;%r{{3:;,rA   c                 D   [         R                  " U R                  SSSS9u  p[         R                  " U R                  SS[         R                  S9u  p4[	        XSS9  [	        X$SS9  [         R                  " U R                  SS5      u  pV[	        XSS9  [	        X&SS9  g )Nr  r  tukeylambdar'  g#B;rP   )r   r  ro   r  r
   )r_   svals1ppcc1svals2ppcc2svals3ppcc3s          r?   	test_distTestPpccPlot.test_distj  s    RmLR-2->->@U351R8U351rA   r  rY  c                 J   [         R                  " 5       nUR                  S5      n[        R                  " U R
                  SS[         S9  UR                  U5        UR                  S5      n[        R                  " U R
                  SSUS9  [         R                  " 5         g Nr  ir  r  )r  r  r  r   r  ro   delaxesr  r_   r  r  s      r?   r  TestPpccPlot.test_plot_kwargv  sm     jjl__S!Rc2B __S!Rb1		rA   c           	          [        [        [        R                  U R                  SS5        [        [        [        R                  / SQSSSS9  g )Nr   r   r   r&  r'  )rg   rh   r   r  ro   ri   s    r?   test_invalid_inputs TestPpccPlot.test_invalid_inputs  s5    j%//4661a@ 	j%//9a,	.rA   c           	          [         R                  " / SS5      u  p[        U[        R                  " SSSS95        [        U[        R
                  " S[        S95        g )Nr   r   r  r  r  )r   r  r
   r9   r'  r2  float)r_   r  r  s      r?   r  TestPpccPlot.test_empty  sD     oob!Q/r{{1aR89bhhr78rA   ro   N)rv   rw   rx   ry   r  rd   r  r   r   rb  r  r  r  r  rz   ru   rA   r?   r  r  ^  sH    J-
2 [[O+OD
 E
.9rA   r  c                   ,    \ rS rSrS rS rS rS rSrg)TestPpccMaxi  c                 F    S/n[        [        [        R                  USS9  g r%  )rg   rh   r   ppcc_maxr   s     r?   test_ppcc_max_bad_arg!TestPpccMax.test_ppcc_max_bad_arg  s    sj%..$=NOrA   c                     [         R                  R                  SSSSSS9S-   n[        [         R                  " U5      SS	S
9  g )Nffffffr   r   '   r        @{rJ   rW   )r   r  r<   r   r  r   s     r?   test_ppcc_max_basicTestPpccMax.test_ppcc_max_basic  sF    !!$ASu/6 " 8:=>ENN1-/CQOrA   c                 *   [         R                  R                  SSSSSS9S-   n[         R                  " USS	9n[         R                  " U[         R                  S	9n[	        US
SS9  [	        US
SS9  [         R                  " U5      n[	        US
SS9  g )Nr  r   r   r  r  r   r  r  r'  r  r   rW   )r   r  r<   r  r   )r_   ro   max1max2max3s        r?   r  TestPpccMax.test_dist  s    !!$ASu/6 " 8:=> ~~am4~~ae&7&78D"6BD"6B ~~a D"6BrA   c                     [         R                  R                  SSSSSS9S-   n[        [        [         R
                  USS	9  [        [         R
                  " US
S	9SSS9  [        [         R
                  " USS	9SSS9  g )Nr  r   r   r  r  r   r  )r   r*   r   brack)r   r   r  rJ   rW   r  r   )r   r  r<   rg   rh   r  r   r   s     r?   
test_brackTestPpccMax.test_brack  sx    !!$ASu/6 " 8:=>j%..!?KENN1F;0!	= 	ENN1G<0!	=rA   ru   N)	rv   rw   rx   ry   r  r  r  r  rz   ru   rA   r?   r  r    s    P
P
C	=rA   r  r  z)JAX arrays do not support item assignmentrY  r  c                       \ rS rSr\R
                  R                  SSS/5      S 5       r\" SSS9S	 5       r	S
 r
S rS rS rSrg)TestBoxcox_llfi  r  r  r  c                 j   [        X!5      n[        R                  R                  SSSS9nSn[        R                  " XRR                  XCS95      nUR                  * S-  [        R                  " [        R                  " UR                  5       S-  5      5      -  n[        XbR                  XsS95        g )	Nr  r  1  r   r   r   r   r  r  r   )rz  r   r   r<   
boxcox_llfr  r   r9   r:   r  rc   r"   )r_   r  r  dtro   lmbdallfllf_expecteds           r?   rd   TestBoxcox_llf.test_basic  s    RJJNN2ENBujjj&=>w|bffRVVAEEGQJ-?&@@ZZZ?@rA   Tz,array-likes only accepted for NumPy backend.r  c                     [         R                  R                  SSSS9nSn[         R                  " X25      n[         R                  " U[	        U5      5      n[        XESS9  g Nr   r  r  r  r   rn  rP   )r   r   r<   r  listr"   r_   r  ro   r  r  llf2s         r?   test_array_likeTestBoxcox_llf.test_array_like  sQ     JJNN%N@u(tAw/.rA   c                 2   [         R                  R                  SSSS9nSn[         R                  " X25      n[         R                  " U[        R
                  " X"/5      R                  5      n[        UR                  XD/5      UR                  U5      SS9  g r  )	r   r   r<   r  r9   vstackr  r"   r  r  s         r?   test_2d_inputTestBoxcox_llf.test_2d_input  st     JJNN%N@u(ryy!'8':':;

C:.

40@uMrA   c           
          UR                  UR                  [        R                  " SUR                  / 5      5      5      5      (       d   eg r   )isnanr  r   r  )r_   r  s     r?   r  TestBoxcox_llf.test_empty  s5    xx

5#3#3Arzz"~#FGHHHHrA   c                     UR                  / SQ5      n[        R                  " SU5      n[        X1R                  S5      5        g )N)g     h@      m@r  g     x@ig#:x1)r  r   r  r"   r_   r  r`   r  s       r?   test_gh_6873TestBoxcox_llf.test_gh_6873  s7     zz67r4(ZZ(:;<rA   c                     UR                  / SQ5      n[        R                  " SU5      n[        X1R                  SUR                  S95        g )N)i  i  i  i  i  :0yE>gl.r  )r  r   r  r"   r  r  s       r?   test_instability_gh20021'TestBoxcox_llf.test_instability_gh20021  s?    zz89tT* 	ZZ(=RZZZPQrA   ru   N)rv   rw   rx   ry   r   r   r   rd   r  r  r
  r  r  r  rz   ru   rA   r?   r  r    se    
 [[Wy)&<=A >A dKM/M/NI=RrA   r  (  iU>  iϵ i i_
 i7 i is iv  i+ i* i-q ir: i  i i i i_ i4  i iD  i i, iE i\  i i| ig  iM iӢ i[  i! i if6 iP i i iI i/ iF& i i i`# i i  i& i i iQ ia i
 iXZ iw  i_ im  iD i- iB  i:C i	 i' i  i % ix i  iz_ iQ i!# i= i  ix i
 iU7 i_ i1k iW9 i& ix iI i  iT i
 i i  irv im i͟  i iO iv i) iP i4 i= ii  iU i i ig> ix	 i` i| i0 i` iM	 i ' i[ i8 i  i3[ i  i) i`N i
	 i  i[ i:+ ip i	% i
  iV i[$ iX  i_ ib ieZ i i`?	 it i  i iE i iT iy i imv i< iZ i! i i(  ir
 i i iɪ i| i i> ii  i i* i# ix i i& i i# i1g iP i) iۆ i{% i? i۽ i| i i& i- iư) i+c i7  iQ i	o i& i|_ iy
 i6 i  i i i:J i#j i8 i  i%  i i%W i( i` i: ina  i  i i% i$ i4 iA( iq  i  i" iy iXZ i izr i i$ i; is igY i i7 ip	 ip iL6" iDH i i!3 i iI( i|C iш i im  iS i  i{8 i  i i iP i2L i( i@ is iu i2 i_ ij i)m igZ i_ iu	 i9 ik  i'; i ii iK i܃ i i= iv i= i ia  ir  i i i}W i*  i  iJ i i  i2  iUF iNj	 iV," ip iA i% i iv9 iI5 i  iT- i  i8~ i?e` i1 iV  i/X i= i4 i iح i^ i i/ ig i( i i|B; ip i ic iE' iE i$
 i i{ ik i: iI iA_ i iP ioP  i6_ i iܲ iO	 iA7 iL  iA i iV  iwm i iZh i|V iԇC iw i& i~ i i'  i!  i i
 i} ie i3 i i i_ i  i@) i  iV ii iF i? i&
 i"Y iw i  iH iS ird ib i@ iK iA; iz| id+ i	 i
8 i"  i	 iO i_ i$l i!9 ii iT iuL iQ'% iqp iC i]K@ i! i i  iIp| i i?	B i i io0 i i

 i  i5% i i i* i i iv0 i* i* iw i  ive i$ i i- iD~ i- i i,4 ib i  i iP0 i) im i	 iR iQ i
 i i c            	       0   \ rS rSrS rS rS rS rS rS r	\
R                  R                  S/ S	Q5      S
 5       rS r\
R                  R                  S/ SQ5      S 5       rS r\
R                  R                  S\R$                  " / SQ5      \R$                  " \R&                  SS/5      /5      S 5       r\
R                  R                  S\R$                  " / SQ5      \R$                  " / SQ5      \R$                  " / SQ5      /5      S 5       rSrg)
TestBoxcoxi"  c                 0   [        SSSS9S-   n[        R                  " USS9n[        X!S-
  5        [        R                  " USS9n[        USSU-  -
  5        [        R                  " USS9n[        U[        R
                  " U5      5        [        R                  " [        U5      SS9n[        U[        R
                  " U5      5        [        R                  " [        R                  " S	5      S
5      n[        U[        R                  " S	5      5        g )Nr   r   r  rw  r   r  r   r   r  r   )
r@   r   r   r
   r9   r:   r  r  r   r2  )r_   ro   xts      r?   test_fixed_lmbdaTestBoxcox.test_fixed_lmbda$  s    abu=A\\!1%E"\\!2&A!G$\\!1%BFF1I& \\$q'+BFF1I& \\"''"+q)R"&rA   c                     Sn[         R                  R                  SSSS9nX!-  S-   U* -  n[         R                  " U5      u  pE[	        USU-  SS	9  g )
Ng      @r  iP  i  )r   r   r   r   r   r   rW   )r   r   r<   r   r   )r_   r  ro   x_invr  r   s         r?   test_lmbda_NoneTestBoxcox.test_lmbda_None6  sS     JJNNrDNAQ5&)\\%(
FBJ:rA   c                    [         R                  R                  S5      n[        SSUS9S-   n[        R
                  " USS9u    p4[        USS/5        [        R
                  " US	S9u    p4[        US
S/5        [        SSUS9S-   n[        R
                  " USS9u    p4[        USS/5        [        R
                  " USS9u    p4[        USS/5        g )Nr  r   r   rw  r  )alphagx@gv[%@rm  gxˉEk?g8Bhk @rJ   r  rm   rF  g\?gx̡&@r-   g7(U@gp:sY@)r9   rx  r   r@   r   r   r
   )r_   r|  ro   r*  r   s        r?   
test_alphaTestBoxcox.test_alpha@  s    ii##D)abs;a? at41#46G"HIat41#57H"IJ ac<rAau519k":;au51:z":;rA   c                 H   [         R                  " SS/5      n[        [        [        R
                  U5        [        [        [        R
                  [         R                  " S/5      5        [        [        [        R
                  [         R                  " S/S//5      5        g )Nr   r   r   )r9   rK  rg   rh   r   r   r   s     r?   test_boxcox_bad_argTestBoxcox.test_boxcox_bad_argQ  s_    HHb!Wj%,,2j%,,!>j%,,1#s0DErA   c                 \    [        [        R                  " / 5      R                  S:H  5        g N)r   )r	   r   r   r  ri   s    r?   r  TestBoxcox.test_emptyZ  s    R &&$./rA   c                 R    [         R                  " [        5      u  p[        USSS9  g )NgsHjdrr   rP   r   r   _boxcox_datar
   )r_   rB  lams      r?   r  TestBoxcox.test_gh_6873]  s     l+ 	YT2rA   bounds)r   r   )r   r   )r  r\  c                 z   ^ U4S jn[         R                  " [        S US9u  p4TS   Us=:  a
  TS   :  d   e   eg )Nc                 0   > [         R                  " U TSS9$ Nbounded)r2  r  r   minimize_scalarfunr2  s    r?   	optimizerBTestBoxcox.test_bounded_optimizer_within_bounds.<locals>.optimizerh      ++C3<> >rA   r  r<  r   r   )r   r   r/  )r_   r2  r<  r*  r  s    `   r?   $test_bounded_optimizer_within_bounds/TestBoxcox.test_bounded_optimizer_within_boundse  s?    	> <<DINay5,6!9,,,,,rA   c                    ^^ [         R                  " [        S S9u  pUS-   US-   4mSS0mUU4S jn[         R                  " [        S US9u  pXB:w  d   e[        UTS   5        g )	Nr  r  r   xatolrn  c                 2   > [         R                  " U TSTS9$ )Nr7  )r2  r  optionsr8  )r;  r2  rE  s    r?   r<  PTestBoxcox.test_bounded_optimizer_against_unbounded_optimizer.<locals>.optimizerz  s!    ++C3<gO OrA   r?  r   r.  )r_   r*  r  r<  lmbda_boundedr2  rE  s        @@r?   2test_bounded_optimizer_against_unbounded_optimizer=TestBoxcox.test_bounded_optimizer_against_unbounded_optimizero  so    
 <<D9 #+uqy)E"	O
 !<<D2;=%%%vay1rA   r<  )strr   r   r  c                     [         R                  " [        SS9   [        R                  " [
        S US9  S S S 5        g ! , (       d  f       g = f)Nz`optimizer` must be a callabler   r?  r   r   rh   r   r   r/  r_   r<  s     r?   $test_bad_optimizer_type_raises_error/TestBoxcox.test_bad_optimizer_type_raises_error  s0     ]]:-MNLLTYG ONNrA  c                     S nSn[         R                  " [        US9   [        R                  " [
        S US9  S S S 5        g ! , (       d  f       g = f)Nc                     gr   ru   )r;  s    r?   r<  CTestBoxcox.test_bad_optimizer_value_raises_error.<locals>.optimizer  s    rA   z/return an object containing the optimal `lmbda`r   r?  rM  )r_   r<  rb  s      r?   %test_bad_optimizer_value_raises_error0TestBoxcox.test_bad_optimizer_value_raises_error  s9    
	 D]]:W5LLTYG 655s   A
Abad_x)r   ig@r  r   c                     Sn[         R                  " [        US9   [        R                  " U5        SSS5        g! , (       d  f       g= f)zHTest boxcox_normmax raises ValueError if x contains non-positive values.z#only positive, finite, real numbersr   N)r   r   rh   r   boxcox_normmax)r_   rV  rb  s      r?   "test_negative_x_value_raises_error-TestBoxcox.test_negative_x_value_raises_error  s1    
 8]]:W5  ' 655s	   <
A
ro   
     L@     x@     4@     @@     d@r`  g     @g     <@g     \@g     @r\  r]  r^  r_  r`  gFq$jgS	#jgGewa$jgVBi$jg[(>2$jc                     [         R                  " [        SS9   [        R                  " U5      u  p#[
        R                  " [
        R                  " U5      5      (       d   e S S S 5        g ! , (       d  f       g = f)NThe optimal lambda isr   )r   r   rk  r   r   r9   r  isfinite)r_   ro   xt_bclam_bcs       r?   test_overflowTestBoxcox.test_overflow  sM     \\+-DE!LLOME66"++e,---- FEEs   A
A..
A<ru   N)rv   rw   rx   ry   r  r!  r%  r(  r  r  r   r   r   r@  rH  rO  rT  r9   rK  r   rY  rh  rz   ru   rA   r?   r  r  "  s   '$;<"F03 [[X'FG- H-2* [[[*>?H @H

H [[bhh01288RVVRO3LM
(
( [[S
 : 	; 	9:
MN# ..rA   r  c                      \ rS rSrS rS rS rS r\R                  R                  S/ SQ5      \R                  R                  S/ S	Q5      S
 5       5       r\R                  R                  S 5       rS r\R                  R                  S/ SQ/ SQ45      S 5       rS r\R                  R                  S\R$                  " / SQ\R&                  S9\R$                  " / SQ\R&                  S9\R$                  " / SQ\R(                  S9\R$                  " / SQ\R(                  S9/5      \R                  R                  S/ SQ5      \R                  R                  SS/5      S 5       5       5       r\R                  R                  S/ SQ/ SQ/5      \R                  R                  SS/5      S 5       5       rSrg)TestBoxcoxNormmaxi  c                 *    [        SSSS9S-   U l        g Nr   r   r  rw  r  ri   s    r?   r  TestBoxcoxNormmax.setup_method      "12EBQFrA   c                 Z    [         R                  " U R                  5      n[        USSS9  g )Nm?rO   rP   r   rX  ro   r
   r_   r   s     r?   test_pearsonrTestBoxcoxNormmax.test_pearsonr  s"    %%dff-t4rA   c                     [         R                  " U R                  SS9n[        USSS9  [         R                  " U R                  5      u  p#[        X15        g )NmlerN  	.!?rO   rP   )r   rX  ro   r
   r   )r_   r   r*  maxlog_boxcoxs       r?   test_mleTestBoxcoxNormmax.test_mle  sC    %%dffU;t4 !<</.rA   c                 \    [         R                  " U R                  SS9n[        USS/SS9  g )Nr  rN  rq  rx  rO   rP   rr  )r_   
maxlog_alls     r?   test_allTestBoxcoxNormmax.test_all  s)    ))$&&?

Xx$8tDrA   r  )rw  pearsonrr  r2  r3  c                    ^ U4S jn[         R                  " U R                  UUS9n[        R                  " TS   U:  5      (       d   e[        R                  " UTS   :  5      (       d   eg )Nc                 0   > [         R                  " U TSS9$ r6  r8  r:  s    r?   r<  ITestBoxcoxNormmax.test_bounded_optimizer_within_bounds.<locals>.optimizer  r>  rA   )r  r<  r   r   )r   rX  ro   r9   r  )r_   r  r2  r<  r   s     `  r?   r@  6TestBoxcoxNormmax.test_bounded_optimizer_within_bounds  sa    	> %%dffV09;vvfQi&())))vvfvay())))rA   c                 8  ^^ [         R                  " U R                  5      n[        R                  " US5      n[        R
                  " US-
  US-   S5      m " S S5      mUU4S jn[         R                  " U R                  US9nXA:w  d   e[        XAS5        g )	Nr   r  i  c                       \ rS rSrSrg)?TestBoxcoxNormmax.test_user_defined_optimizer.<locals>.MyResulti  ru   N)rv   rw   rx   ry   rz   ru   rA   r?   MyResultr    s    rA   r  c                    > / nT H  nUR                  U " U5      5        M     T" 5       nT[        R                  " U5         Ul        U$ r8   )appendr9   argminro   )r;  objsr  rq   r  lmbda_ranges       r?   r<  @TestBoxcoxNormmax.test_user_defined_optimizer.<locals>.optimizer  sB    D$CJ' %*C		$0CEJrA   r<  r   )r   rX  ro   r9   rm  r'  r
   )r_   r  lmbda_roundedr<  lmbda2r  r  s        @@r?   test_user_defined_optimizer-TestBoxcoxNormmax.test_user_defined_optimizer  s     $$TVV,*kk-"4mD6H$O	 		 %%dff	Bt,rA   c                 
   [         R                  n[        R                  " U R                  S US9  [
        R                  " [        SS9   [        R                  " U R                  SUS9  S S S 5        g ! , (       d  f       g = f)N)r  r<  z,`brack` must be None if `optimizer` is givenr   )g       r  )r   r9  r   rX  ro   r   r   rh   rN  s     r?   2test_user_defined_optimizer_and_brack_raises_errorDTestBoxcoxNormmax.test_user_defined_optimizer_and_brack_raises_error  sj    ,,	 	TVV49E
 ]]: .D E   {+46E E Es   
!A44
Bro   ra  )gx	 ?gN~jh ?g{ ?gXkI ?g}9" ?c                 N   Sn[         R                  " [        US9   [        R                  " USS9nS S S 5        [
        R                  " [        R                  " UW5      5      R                  5       (       d   e[
        R                  " [
        R                  5      R                  S-  nUS:  a  [
        R                  " U5      O[
        R                  " U5      n[        R                  " XS5      n[        Xd[
        R                  " U5      -  5        g ! , (       d  f       N= f)NzThe optimal lambda is...r   rw  rN  r  r   )r   r   rk  r   rX  r9   re  r   r   r  finfor  maxr^  r
   sign)r_   ro   rb  r  ymaxx_treme	y_extremes          r?   rh  TestBoxcoxNormmax.test_overflow  s     -\\+W5((59E 6{{7>>!U3488::::xx

#''%/$qy"&&)bffQiNN72		"''%.#89 65s   D
D$c                     [         R                  " [        SS9   [        R                  " U R
                  SS9  S S S 5        g ! , (       d  f       g = f)Nz `ymax` must be strictly positiver   r   )r  )r   r   rh   r   rX  ro   ri   s    r?   test_negative_ymax$TestBoxcoxNormmax.test_negative_ymax	  s2    ]]:-OP  b1 QPPs    A
Ar  )g	i@g     `h@gfffffh@r  gi@)gKH9KH9r  r  r  r  r  )g    _Bgꌠ9Y>)FNrw  c           	         [         R                  " [        SS9   Ub  SU0O0 n[        R                  " U4SU0UD6n[
        R                  " U5      [
        R                  " U5      /n[        [        [        R                  " Xe5      5      5      nUc-  [
        R                  " UR                  5      R                  S-  n[        X'SS9  S S S 5        g ! , (       d  f       g = f)Nrd  r   r  r  r  r   rP   )r   r   rk  r   rX  r9   r^  r  absr   r  r  r
   )r_   ro   r  r  kwarglmbr  ymax_ress           r?   'test_user_defined_ymax_input_float64_329TestBoxcoxNormmax.test_user_defined_ymax_input_float64_32	  s    & \\+-DE&*&6VTNBE&&qAA5ACvvay"&&),G3u||G9:;H|xx(,,u4D6 FEEs   B1C
C"c                    [         R                  " U[         R                  S9n[         R                  " U[         R                  S9n[        R
                  " [        SS9   [        R                  " X2S9  S S S 5        [        R                  " XBS9  [        R                  " U[         R                  US9n[        R                  " U[         R                  US9n[        XVSS9  g ! , (       d  f       Nu= f)Nr  rd  r   rN  )r  r  r  rP   )r9   r  r  r  r   r   rk  r   rX  r  r
   )r_   ro   r  x_32x_64lmb_32lmb_64s          r?   test_user_defined_ymax_inf,TestBoxcoxNormmax.test_user_defined_ymax_inf%	  s     zz!2::.zz!2::. \\+-DE  5 FT1 %%dG%%dGT2 FEs    C$$
C2r  N)rv   rw   rx   ry   r  rt  rz  r~  r   r   r   r@  slowr  r  rh  r  r9   rK  r  r  r  r  rz   ru   rA   r?   rk  rk    s   G5/E [[X'AB[[X'FG	* H C	* [[- -,6  [[6JLM	:M	:2 [[S
9zz	# 	Mzz	# 	4zz	# 	;zz	##  [[V%78[[Xw/
7 0 9"
7 [[S+2	#  [[Xw/3 03rA   rk  c                   v    \ rS rSrS rS r\R                  R                  \	(       + SS9S 5       r
S rS rS	rg
)TestBoxcoxNormploti<	  c                 *    [        SSSS9S-   U l        g r  r  ri   s    r?   r  TestBoxcoxNormplot.setup_method=	  r  rA   c           	          Sn[         R                  " U R                  SSUS9u  p#/ SQn[        U[        R
                  " SSUS95        [        X45        g )Nr   r  r  r  )g!X4}?g΁i?g-	15?gW$?g\ܱ{?r  )r   boxcox_normplotro   r
   r9   r'  )r_   r  lmbdasr  r  s        r?   rd   TestBoxcoxNormplot.test_basic@	  sI    ,,TVVS"B%C ;<,rA   r  rY  c                 J   [         R                  " 5       nUR                  S5      n[        R                  " U R
                  SS[         S9  UR                  U5        UR                  S5      n[        R                  " U R
                  SSUS9  [         R                  " 5         g r  )r  r  r  r   r  ro   r  r  r  s      r?   r  "TestBoxcoxNormplot.test_plot_kwargH	  sq     jjl__S!dffc2C8B __S!dffc2B7		rA   c                     [        [        [        R                  U R                  SS5        [        [        [        R                  SS/SS5        g )Nr   r   r   )rg   rh   r   r  ro   ri   s    r?   r  &TestBoxcoxNormplot.test_invalid_inputsU	  s6    j%"7"7AFj%"7"7"a!QGrA   c                 `    [        [        R                  " / SS5      R                  S:H  5        g ra  )r	   r   r  r   ri   s    r?   r  TestBoxcoxNormplot.test_empty[	  s$    %%b!Q/449:rA   r  N)rv   rw   rx   ry   r  rd   r   r   rb  r  r  r  r  rz   ru   rA   r?   r  r  <	  sD    J- [[O+OD
 E
H;rA   r  c                   &    \ rS rSrS rS rS rSrg)TestYeojohnson_llfi_	  c                     [         R                  R                  SSSS9nSn[         R                  " X!5      n[         R                  " U[	        U5      5      n[        X4SS9  g )Nr   r   r  r  r   rn  rP   )r   r   r<   yeojohnson_llfr  r
   r_   ro   r  r  r  s        r?   r  "TestYeojohnson_llf.test_array_likea	  sO    JJNNN?""5,##E473.rA   c                     [         R                  R                  SSSS9nSn[         R                  " X!5      n[         R                  " U[        R
                  " X/5      R                  5      n[        X3/USS9  g r  )r   r   r<   r  r9   r	  r  r
   r  s        r?   r
   TestYeojohnson_llf.test_2d_inputh	  s`    JJNN%N@""5,##E299aV+<+>+>?
Du5rA   c                 l    [        [        R                  " [        R                  " S/ 5      5      5        g r   )r	   r9   r  r   r  ri   s    r?   r  TestYeojohnson_llf.test_emptyo	  s     --a456rA   ru   N)rv   rw   rx   ry   r  r
  r  rz   ru   rA   r?   r  r  _	  s    /67rA   r  c                      \ rS rSrS r\R                  R                  S/ SQ5      S 5       rS r	S r
\R                  R                  S\R                  \R                  /5      S	 5       r\R                  R                  S\R                  \R                   \R"                  \R$                  /5      S
 5       rS r\R                  R                  S\R*                  " S\" S5      S/5      \R*                  " S\" S5      S/5      \R*                  " S\" S5      * S/5      \R*                  " S\" S5      \" S5      \" S5      * S/5      /5      S 5       r\R                  R                  S\R*                  " / SQ5      \R*                  " / SQ5      \R*                  " / SQ5      /5      S 5       r\R                  R                  S\R*                  " / SQ5      \R*                  " / SQ5      /5      \R                  R                  S/ SQ5      \R                  R                  SSS/5      S 5       5       5       r\R                  R                  S\R*                  " / SQ5      \R*                  " / SQ5      \R*                  " / SQ5      /5      \R                  R                  SSS/5      \R                  R                  S S!S"/5      S# 5       5       5       rS$rg!)%TestYeojohnsonis	  c                    [         R                  R                  S5      n[        SSUS9S-   n[         R                  " US:  5      (       d   e[
        R                  " USS9n[        X25        [
        R                  " USS9n[        USSUS-   -  -
  5        [
        R                  " USS9n[        U[         R                  " US-   5      5        [
        R                  " USS9n[        X25        [        SSUS9S-
  n[         R                  " US:  5      (       d   e[
        R                  " US	S9n[        U[         R                  " U* S-   5      * 5        [
        R                  " USS9n[        X25        [
        R                  " US
S9n[        USU* S-   -  S-
  5        [        SSUS9S	-
  n[         R                  " US:  5      (       a   e[         R                  " US:  5      (       a   eUS:  n[
        R                  " USS9n[        X4   X$   5        [
        R                  " USS9n[        X4   SSX$   S-   -  -
  5        [
        R                  " USS9n[        X4   [         R                  " X$   S-   5      5        [
        R                  " USS9n[        X4   X$   5        U) n[
        R                  " US	S9n[        X5   [         R                  " X%   * S-   5      * 5        [
        R                  " USS9n[        X5   X%   5        [
        R                  " US
S9n[        X5   SX%   * S-   -  S-
  5        g )Nr  r   r   rw  r   r   r  r   r   r   )	r9   rx  r   r@   r  r   
yeojohnsonr
   r:   )r_   r|  ro   r  posnegs         r?   r  TestYeojohnson.test_fixed_lmbdau	  s   ii##E* abs;a?vva!e}}}aq)ar*AQUO,aq)BFF1q5M*aq) abs;a?vva!e}}}aq)RVVQBF^O,aq)aq)A!aL1,- abs;a?66!a%==  66!q&>>!!1faq)(ar*Q!&1*%5!56aq)
!34aq)(daq)"&&!&1"5!56aq)(aq)qvgk!2Q!67rA   r  )r   r  r   r   c                    S nSn[         R                  R                  S5        [         R                  R                  SSUS9nU" XA5      n[        R
                  " U5      u  pg[        XqSS9  [        S[         R                  R                  XF-
  5      U-  S	S
9  [        SUR                  5       SS
9  [        SUR                  5       SS
9  g )Nc                 "   [         R                  " U R                  U R                  S9nU S:  n[	        U5      [         R
                  " S5      :  a  [         R                  " X   5      S-
  X#'   O'[         R                  " X   U-  S-   SU-  5      S-
  X#'   [	        US-
  5      [         R
                  " S5      :  a2  S[         R                  " SU-
  * X)    -  S-   SSU-
  -  5      -
  X#) '   U$ S[         R                  " X)    * 5      -
  X#) '   U$ )Nr  r   r*   r   r   )r9   r2  r  r  r  spacingexppower)ro   r  r   r  s       r?   _inverse_transform:TestYeojohnson.test_lmbda_None.<locals>._inverse_transform	  s    HHQWWAGG4Eq&C 5zBJJrN*VVAF^a/
XXafunq&8!e)DqH
 519~

2."((QY<!D'+AA+E+,E	?#< <d
 L  "&&!D'"22dLrA   i N  r  r   r   )r   r   r   r  rI  r   rW   )r9   rx  r  rq  r   r  r
   r   linalgr   ra   rc   )r_   r  r  	n_samplesro   r   r  r   s           r?   r!  TestYeojohnson.test_lmbda_None	  s    
	& 	
		wII!9>"1,%%e,
D1Aryy~~af5	A1MArwwy!4Arvvx3rA   c                 \    [        [        R                  " / 5      R                  S:H  5        g r+  )r	   r   r  r  ri   s    r?   r  TestYeojohnson.test_empty	  s       $**d23rA   c                     [         R                  R                  SSSS9n[         R                  " U5      u  p#[         R                  " [	        U5      5      u  pC[        X$SS9  g )Nr   r   r  r  rn  rP   )r   r   r<   r  r  r
   )r_   ro   xt1r*  xt2s        r?   r  TestYeojohnson.test_array_like	  sL    JJNNN?!!!$!!$q'*u-rA   r  c                     [         R                  " SUS9nSn[        R                  " [        US9   [
        R                  " U5        S S S 5        g ! , (       d  f       g = f)NrG   r  z>Yeo-Johnson transformation is not defined for complex numbers.r   )r9   rn   r   r   rh   r   r  )r_   r  ro   err_msgs       r?   test_input_dtype_complex'TestYeojohnson.test_input_dtype_complex	  sA    IIau%]]:W5Q 655s   A
Ac                     [         R                  " SUS9n[         R                  " S[         R                  S9n[        R                  " U5      u  pE[        R                  " U5      u  pg[        XFSS9  [        XWSS9  g )NrK   r  r  rP   )r9   rn   r  r   r  r
   )r_   r  x_intx_floatxt_int	lmbda_intxt_floatlmbda_floats           r?   test_input_dtype_integer'TestYeojohnson.test_input_dtype_integer	  s`    		!5)))ARZZ0!,,U3 % 0 0 9t4	T:rA   c                     [         R                  " / SQ5      n[        R                  " U5      u  p#[        R                  " US-   5      u  pE[        X$SS9  [        X5SS9  g )N)(HAG."A    5fAg(@Ag   VAgHzuoAg)\¿+Ar  g(\^@Ag    RAr  g    #Ag\µ=Ag
ףNAr  gp=oHAg    6bAg{csAg)\tmhAg/BAg   '|Ag(\wipAg    ݃hAgQlBAgףp @Ar   rO   rP   )r9   rK  r   r  r   r
   )r_   ro   xt_yeolam_yeoxt_boxlam_boxs         r?   test_input_high_variance'TestYeojohnson.test_input_high_variance	  sQ    HH " #  **1-,,q1u-T2t4rA   ro   r*   r   r  r        c                     [         R                  " [        SS9   [        R                  " U5      u  p#S S S 5        g ! , (       d  f       g = f)Nz Yeo-Johnson input must be finiter   )r   r   rh   r   r  )r_   ro   r  r  s       r?   test_nonfinite_input#TestYeojohnson.test_nonfinite_input	  s2     ]]:-OP#..q1OF QPPr=  r[  ra  rb  c           	         S n[         R                  " SS9   [        R                  " U5      u  p4[        R                  " US-   [        X$S9S9u  pV[         R                  " [         R                  " U5      5      (       d   e[         R                  " [         R                  " U5      5      (       d   e[        XFSS9  [        X5S	S9  S S S 5        g ! , (       d  f       g = f)
Nc                 j    [         R                  " X* USS9n[         R                  " 5       nX#l        U$ )Ng`sbO>)xtol)r   	fminboundOptimizeResultro   )r;  r  outresults       r?   r<  /TestYeojohnson.test_overflow.<locals>.optimizer
  s0    $$S(G(KC,,.FHMrA   raiser  r   )r  r  rO   rP   r&  )	r9   r  r   r  r   r   re  rb   r
   )r_   ro   r<  r  r  r  r  s          r?   rh  TestYeojohnson.test_overflow	  s    	 [[W%#..q1OF#llA!DFOF;;rvvf~....;;rvvf~....G48F6 &%%s   B0C
Cr   )r   rn  g3#I9gu?j/ gnFgZbtir  r   r   c                    [         R                  " SS9   [        R                  " X1-  U-  5      u  pE[         R                  " [         R
                  " X1-  5      [         R
                  " U5      :H  5      (       d   e[         R                  " U5      (       d   e[         R                  " [         R                  " U5      5      (       d   e S S S 5        g ! , (       d  f       g = f)Nr  r  )r9   r  r   r  r  r  re  rb   )r_   ro   r   r  r  r  s         r?   #test_overflow_underflow_signed_data2TestYeojohnson.test_overflow_underflow_signed_data
  s     [[W%#..tx%/?@OF66"''$(+rwwv>????;;w'''';;rvvf~....	 &%%s   B6C
C#)r   r   r   r   )r   r   r   rG  )r   r   r   r  Nr  c                    [         R                  " SS9   X!-  nUR                  [         R                  5      n[        R
                  " XCS9n[        R                  " XFS9n[        R
                  " XSS9n[        R                  " XXS9n	[         R                  " [         R                  " U5      [         R                  " U5      :H  5      (       d   e[         R                  " U5      (       d   e[         R                  " [         R                  " U5      5      (       d   eXh:X  d   e[         R                  " Xy:H  5      (       d   e S S S 5        g ! , (       d  f       g = f)Nr  r  r  r  )r9   r  astyper  r   yeojohnson_normmaxr  r  r  re  rb   )
r_   ro   r  r  r  r  lam_yeo_int
xt_yeo_intlam_yeo_floatxt_yeo_floats
             r?   test_integer_signed_data'TestYeojohnson.test_integer_signed_data%
  s     [[W%HEll2::.G225FK))%CJ!44WJM ++GIL66"''%.BGGJ,??@@@@;;{++++;;rvvj12222///66*45555 &%%s   D0E
Eru   )rv   rw   rx   ry   r  r   r   r   r!  r  r  r9   	complex64
complex128r  int8uint8int16int32r  r  rK  r  r  rh  r  r  rz   ru   rA   r?   r  r  s	  s   -8^ [[Wn5"4 6"4H4. [[Wr||R]]&CD  E  [[Wrww"((BHH&MN; O;5 [[S
#uU|S)*
#uU|S)*
#e}c*+
$eeElU5\M3GH	# 22 [[S
 : 	; 	9:
MN# 77$ [[S
 : 	;
9:# 
 [[W&LM[[VaW-/ . N/ [[S

 
# 
 [[VaW-[[WtWo66 7 .6rA   r  c                   &    \ rS rSrS rS rS rSrg)TestYeojohnsonNormmaxi;
  c                 *    [        SSSS9S-   U l        g rm  r  ri   s    r?   r  "TestYeojohnsonNormmax.setup_method<
  ro  rA   c                 Z    [         R                  " U R                  5      n[        USSS9  g )Ng?rO   rP   )r   r  ro   r
   rs  s     r?   rz  TestYeojohnsonNormmax.test_mle?
  s"    ))$&&1t4rA   c                 r    / SQn[         R                  " U5      n[        R                  " USSS9(       d   eg )N)gffffff@g r*   r  ffffff?g333333@r  gffffff@g?g@r  r  g"@r"  g      gzG?rF  rI  )r   r  r9   allclose)r_   ro   r  s      r?   test_darwin_example)TestYeojohnsonNormmax.test_darwin_exampleC
  s/    ((+{{5%d333rA   r  N)rv   rw   rx   ry   r  rz  r!  rz   ru   rA   r?   r  r  ;
  s    G54rA   r  c                      \ rS rSr\R
                  R                  S\R                  S4\R                  S4\R                  S4/5      S 5       rS r\R
                  R                  S\R                  \R                  4\R                  \R                  4\R                  \R                   4/5      S	 5       r\R
                  R                  S
\R                  \R                  \R                  /5      S 5       r\R
                  R                  S\R                  S4\R                  S4\R                  S4/5      S 5       r\R
                  R                  S\R                  \R                  \R                  /5      S 5       r\R
                  R                  S\R                  \R                  \R                  /5      S 5       r\" SSS9\R
                  R                  S\R                  \R.                  SSS.4\R                  \R.                  SSS.4\R                  \R.                  SSS.4/5      S 5       5       rS rS rS rS rS  rS! rS"rg#)$TestCircFuncsiL
  test_func,expectedA:wv?gpz?E|2@c                 j    UR                  / SQ5      n[        U" USS9UR                  U5      5        g )N)g     0v@r  r       pv@rR        u@h  r  r  r"   r_   	test_funcry  r  ro   s        r?   test_circfuncsTestCircFuncs.test_circfuncsT
  s-    
 JJ67	!#.

80DErA   c                    UR                  / SQUR                  S9nUR                  U5      n[        R                  " USS9n[        XCSS9  [        U5      nUR                  X!R                  -  S-  SS	9nUS
-  n[        R                  " USS9n[        XvSS9  UR                  USS	9n[        R                  " USS9n	[        XSS9  g )N)r  r\  r  r     g     4@g3333333@r  r+  r,  r   rP   r#  r   r  r  r&  )r  r  ra   r   circmeanr"   r    rb   picircvarrc   circstd)
r_   r  ro   M1M2xp_testV1V2S1S2s
             r?   test_circfuncs_small"TestCircFuncs.test_circfuncs_small\
  s     JJ7rzzJJWWQZ^^AC(T* "!$[[55[3 "W]]13'T*[[q[)]]13'T*rA   ztest_func, numpy_funcc                     [         R                  " S/S-  S/S-  -   5      nU" UR                  U5      5      nUR                  U" U5      5      n[        XVSS9  g )Ng˛ɦv9?r  guv9?r   g:0yU>rI  )r9   r  r"   )r_   r/  
numpy_funcr  ro   circstatrq  s          r?   test_circfuncs_close"TestCircFuncs.test_circfuncs_closer
  sW     JJ+,r15H4IC4OOPRZZ]+JqM*t4rA   circfuncc           	         UR                  / SQ/ SQ/ SQ/5      nU" USS9nU" UR                  US5      SS9n[        XAR                  U5      5        U" USSS9n[        UR                  S	   5       Vs/ s H  ob" X6S S 24   SS9PM     nn[        XAR                  U5      5        U" USS	S9n[        UR                  S   5       Vs/ s H  ob" US S 2U4   SS9PM     nn[        XAR                  U5      5        g s  snf s  snf )
N)c  r   r   r  r  ^  )_  rJ   r   `  rH   ]  )ie  rH   rK   if  r   g     @v@r+  r,  r   r   r  r  r   )r  reshaper"   r  r  )r_   r  rG  ro   rq   r   rr   s          r?   test_circmean_axis TestCircFuncs.test_circmean_axis}
  s     JJ1013 4 qs#rzz!U+#6ZZ_-qs+49!''!*4EF4EqxQ$c*4EFZZ_-qs+49!''!*4EF4Eqx!Q$c*4EFZZ_- G Gs   5C=	D @pz?c                 j    UR                  / SQ5      n[        U" USS9UR                  U5      5        g )N)rI  r   r   r  r  r*  r+  r,  r-  r.  s        r?   test_circfuncs_array_like'TestCircFuncs.test_circfuncs_array_like
  s-    
 JJ12	!#.

80DErA   r/  c                    UR                   nUR                  / US9n[        U5      (       a/  [        R                  " [
        [        S9   U" U5      nS S S 5        O[[        R                  R                  5        nUR                  [        S5        UR                  [        S5        U" U5      nS S S 5        [        WUR                  UR                  US95        g ! , (       d  f       N3= f! , (       d  f       ND= f)Nr  r   zMean of empty slicer  )r  r  r!   r   r   r   r   r9   r  r   r(  r   r#   r   )r_   r/  r  r  ro   rq   r)  s          r?   r  TestCircFuncs.test_empty
  s     

JJrJ'B<<08MNl ON --/3

>+@A

>+FGl	 0
 	RZZeZ<= ON 0/s   
	C:5C-
C*-
C;c           	          UR                  SSSSSS[        R                  /5      n[        U" USS9UR                  UR                  5      5        g )	NrI  r   r   r  r  rJ  r+  r,  )r  r9   r   r#   )r_   r/  r  ro   s       r?   test_nan_propagate TestCircFuncs.test_nan_propagate
  sC     JJQ3C89	!#.

2660BCrA   cupyzcupy/cupy#8391rY  g5:v@gfPb?ra  gee?gOQOv?g#q@gauy+@c                 8   UR                  / SQSSSSSS[        R                  /S[        R                  [        R                  [        R                  [        R                  [        R                  [        R                  //5      nUR                  5        H  nU" US	US
9nUc&  [	        XcR                  UR                  5      5        M4  [        US   UR                  X%   5      5        [	        USS  UR                  USS  UR                  5      5        M     g )N)rI  r   r   r  r  rJ  r   rK  rJ   r   rL  rH   rM  r   r+  rO  r   )r  r9   r   keysr#   r"   	full_like)r_   r/  ry  r  ro   r  r  s          r?   test_nan_propagate_array&TestCircFuncs.test_nan_propagate_array
  s     JJ4aCC8BFFBFFBFFBFFBFFBFFKM N MMODACd3C|ZZ%78A

8>(BCABc!"grvv)FG $rA   c                 p    UR                  S5      S   nUn[        R                  " U5      n[        XCSS9  g )Nr*   ru   r   rP   )r  r   r5  r"   )r_   r  ro   r9  r:  s        r?   test_circmean_scalar"TestCircFuncs.test_circmean_scalar
  s1    JJrN2^^AT*rA   c                    [         R                  " UR                  SSS5      UR                  UR                  * 5      n[	        X!R                  UR                  5      5        [	        U* UR                  UR                  5      5        g )Nr   r   r  )r   r5  rn   r6  r$   r  )r_   r  rN  s      r?   test_circmean_range!TestCircFuncs.test_circmean_range
  s[     NN299Q3/?q**RUU+,r2::bee,-rA   c                 P   UR                  SS/UR                  S9n[        [        R                  " USS9UR                  S5      5        [        [        R
                  " USS9UR                  S5      5        [        [        R                  " USS9UR                  S5      5        g )	NrC  r  r  r#  r,  g     @e@gLwqA?g)#p_4@)r  r  r"   r   r5  r7  r8  )r_   r  ro   s      r?   test_circfuncs_uint8"TestCircFuncs.test_circfuncs_uint8
  sx     JJRyJ1qs3RZZ5FGac2BJJ4OPac2BJJ{4KLrA   c                     [         R                  " UR                  S/5      5      n[        R                  " SU5      S:X  d   eg )Nr   r*   )r   r8  r  mathcopysign)r_   r  rB  s      r?   test_circstd_zeroTestCircFuncs.test_circstd_zero
  s3    MM"**aS/*}}S!$+++rA   c                    UR                  SSS5      nUR                  UR                  U5      U:H  5      (       a(  UR                  UR                  U5      S:H  5      (       d   eUSUR                  -  -  SUR                  -  -  U:g  nUR                  U5      (       d   eX#   n[        R                  " US S 2S 4   SS9nUR                  XB:H  5      (       d   eg )NrT   r  r   r*   r   r   r  )r'  r  sincosr6  anyr   r5  )r_   r  ro   rN  rB  s        r?   !test_circmean_accuracy_tiny_input/TestCircFuncs.test_circmean_accuracy_tiny_input
  s     KKdC(vvbffQi1n%%"&&c1A*B*BBB!bee)_BEE	*q0vvayyyDNN1QW:A.vvaf~~~rA   c                 >   UR                  SUR                  S9n[        R                  " UR	                  U5      UR                  U5      5      nUR                  X1R                  S9n[        R                  " X!R                  UR                  * S9n[        XTSSS9  g )Ng ؅W4vCr  )r  r  rv  r   )rQ   rJ  )
r  r  rl  atan2rq  rr  r   r5  r6  r"   )r_   r  ro   rB  ry  actuals         r?   !test_circmean_accuracy_huge_input/TestCircFuncs.test_circmean_accuracy_huge_input
  st     JJt2::J.JJrvvay"&&),::azz:2BEE6:u3?rA   ru   N) rv   rw   rx   ry   r   r   r   r   r5  r7  r8  r0  r@  r9   ra   rb   rc   rE  rQ  rU  r  rZ  r  r   r`  rc  rf  ri  rn  rt  ry  rz   ru   rA   r?   r$  r$  L
  sv    [[1$~~{;$}}.BC$}}k:<=F	=F+, [[4$~~rww7$}}bff5$}}bff5785	85 [[Z%..*/--*/--*9 :.:.  [[1$~~{;$}}.BC$}}k:<=F	=F [[[5>>5==+0==+: ;>;> [[[5>>5==+0==+: ;D;D f%56[[1$~~&(ff*MO$}}&(ff#7#7 9:  %}}&(ff
KMNO
HO 7
H+.M,
*@rA   r$  c                      \ rS rSr\R
                  R                  S\R                  S\	R                  " / SQ5      \	R                  " SS/5      S.4\R                  S\	R                  " / S	Q5      \	R                  S
-  S-  -  \	R                  " SS/5      S.4\R                  S\	R                  " / SQ5      \	R                  " SS/5      S.4/5      S 5       r\R
                  R                  S\R                  S4\R                  S4\R                  S4/5      S 5       r\R
                  R                  S\R                  \R                  \R                  /5      S 5       r\R
                  R                  S\R                  \R                  \R                  /5      S 5       r\R
                  R                  SSSSSSS\	R$                  /\	R                  " SSSSSS\	R$                  /SS S!S"\	R$                  S#S$//5      /5      \R
                  R                  S\R                  \R                  \R                  /5      S% 5       5       r\R
                  R                  SSSSSSS\	R$                  /\	R                  " SSSSSS\	R$                  /SS S!S"\	R$                  S#S$//5      /5      \R
                  R                  S\R                  \R                  \R                  /5      S& 5       5       rS'rg())TestCircFuncsNanPolicyi
  r%  grQvv@)g     v@r  r  g     8v@ri  g     u@g5@v?g2>Bjv@ra  gG2?)gaF+?z?r}  gA ~@碲?r~  r#  r   rS  gX҄?gJPm$@)gj  @竃 ?r  g)h;@{ ?r  gun2@g+fa @c                    [         R                  " SSSSSS[         R                  /SSS	S
SS[         R                  /[         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  //5      nUR                  5        H  nUc  U" USSUS9n[	        XRU   SS9  M  [
        R                  " [        [        S9   U" USSUS9n[	        US S X$   SS9  [        [         R                  " US   5      5        S S S 5        M     g ! , (       d  f       M  = f)NrI  r   r   r  r  rJ  rK  rJ   r   rL  rH   rM  r+  omit)r  
nan_policyr  r  rP   r   r   )r9   rK  r   r^  r
   r   r   r   r   r	   r  )r_   r/  ry  ro   r  r  s         r?   test_nan_omit_array*TestCircFuncsNanPolicy.test_nan_omit_array  s   ( HHsAq#r37Aq#q#rvv6vvrvvrvvrvvrvvrvvrvvNP Q MMOD|TJd^$?\\"4<MN#ACFNC#CHhn4HBHHSW-. ON $
 ONs   8<E
E	r&  r'  c                 T    SSSSSS[         R                  /n[        U" USSS	9US
S9  g )NrI  r   r   r  r  rJ  r+  r  r  r  r  rP   )r9   r   r
   )r_   r/  ry  ro   s       r?   test_nan_omit$TestCircFuncsNanPolicy.test_nan_omit%  s4    
 !QRbff-	!#&A t	-rA   r/  c           
      T   [         R                  [         R                  [         R                  [         R                  [         R                  /n[        R                  " [        [
        S9   [        [         R                  " U" USS95      5        S S S 5        g ! , (       d  f       g = f)Nr   r  r  )r9   r   r   r   r   r   r	   r  r_   r/  ro   s      r?   test_nan_omit_all(TestCircFuncsNanPolicy.test_nan_omit_all.  s]     VVRVVRVVRVVRVV4\\,4EFBHHYqV<=> GFFs   +%B
B'c           	      f   [         R                  " [        [        S9   [        R
                  " [        R                  [        R                  [        R                  [        R                  [        R                  /[        R                  [        R                  [        R                  [        R                  [        R                  //5      nU" USSS9n[        [        R                  " U5      R                  5       5        [        [        U5      S:H  5        S S S 5        g ! , (       d  f       g = f)Nr   r  r   )r  r  r   )r   r   r   r   r9   rK  r   r	   r  r  r  )r_   r/  ro   r  s       r?   test_nan_omit_all_axis-TestCircFuncsNanPolicy.test_nan_omit_all_axis5  s     \\,4EF266266266266266B66266266266266BD EAA&q9CBHHSM%%'(CHM" GFFs   C;D""
D0ro   rI  r   r  r  rJ  rK  rJ   r   rL  rH   rM  c                 $    [        [        XSSS9  g )Nr+  r  r  rg   rh   r  s      r?   test_nan_raise%TestCircFuncsNanPolicy.test_nan_raise?  s     	j)SWMrA   c                 $    [        [        XSSS9  g )Nr+  foobarr  r  r  s      r?   test_bad_nan_policy*TestCircFuncsNanPolicy.test_bad_nan_policyH  s     	j)SXNrA   ru   N)rv   rw   rx   ry   r   r   r   r   r5  r9   rK  r7  r6  r8  r  r  r  r  r   r  r  rz   ru   rA   r?   r|  r|  
  s3    [[1$~~&7#%88 -4 $5#%88Z,F#G IJ
  %}}&:#%88 -N $./1uuSy1n$= $&88-A-@-B $C	 DE  %}}&7#%88 -9 $: $&88Z,D#E	 GHIJ&/'J&/ [[1$~~{;$}}.BC$}}k:<=-	=-
 [[[5>>5==+0==+: ;?;?
 [[[5>>5==+0==+: ;#;# [[S"Aq#r3? hhaCS"&&(I),aCC(H(J KLM [[[5>>5==+0==+: ;N;	MN [[S"Aq#r3? hhaCS"&&(I),aCC(H(J KLM [[[5>>5==+0==+: ;O;	MOrA   r|  c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS r\R                   R#                  SSS/5      S 5       rSrg)TestMedianTestiR  c                 F    [        [        [        R                  / SQ5        g Nr   rg   rh   r   median_testri   s    r?   test_bad_n_samples!TestMedianTest.test_bad_n_samplesT  s    j%"3"3Y?rA   c                 H    [        [        [        R                  / / SQ5        g r  r  ri   s    r?   r6   TestMedianTest.test_empty_sampleX  s    j%"3"3RCrA   c           	      P    [        [        [        R                  / SQ/ SQSS/SS9  g )N)r   r   r   r   )r   r   r   r   r   r  tiesr  ri   s    r?   test_empty_when_ties_ignored+TestMedianTest.test_empty_when_ties_ignored\  s$    
 	j%"3"3"I1vH	FrA   c                     [        [        [        R                  / SQ/ SQ5        [        [        [        R                  / SQ/ SQSS9  g )N)r   r   r   abover  r  ri   s    r?   test_empty_contingency_row)TestMedianTest.test_empty_contingency_rowd  s3    
 	j%"3"3Y	J 	j%"3"3Y	"	$rA   c                 J    [        [        [        R                  / SQSS/SS9  g )Nr   r   r   rb  r  r  ri   s    r?   test_bad_tiesTestMedianTest.test_bad_tiesp  s    j%"3"3YA 	"rA   c                 J    [        [        [        R                  / SQSS/SS9  g )Nr   r   r   r  r  r  ri   s    r?   r  "TestMedianTest.test_bad_nan_policyt  s    j%"3"3YA!)	+rA   c                 J    [        [        [        R                  / SQSS/SS9  g )Nr   r   r   rb  )rb  )rg   r  r   r  ri   s    r?   r  TestMedianTest.test_bad_keywordx  s    i!2!2I1v	!rA   c                     / SQn/ SQn[         R                  " X5      u  p4pV[        US5        [        USS/SS//5        [        US5        [        US5        g )Nr   r  r   r   r   )r   r  r   r   )r_   ro   rB  rI  r  medtbls          r?   test_simpleTestMedianTest.test_simple|  sZ    !--a3 	S#3!Q!Q 01 	T1QrA   c                 h   / SQnSS/n/ SQn[         R                  " XU5      u  pEpg[        US5        [        U/ SQ/ SQ/5        [         R                  " XUSS9u  pEpg[        US5        [        U/ SQ/ S	Q/5        [         R                  " XUS
S9u  pEpg[        US5        [        U/ SQ/ S	Q/5        g )NrX  r   rG   )rJ   rK   rH   )r   r   r   )r   r   r   r  r  )r   r   r   r  )r   r   r   )r   r  r   )r_   ro   rB  zrI  r  rN  r  s           r?   test_ties_options TestMedianTest.test_ties_options  s    F  ++A!4QS9i01++A!(CQS9i01++A!'BQS9i01rA   c                    SS[         R                  /n/ SQn[        R                  " XSS9n[        R                  " XSS9u  pEpg[	        U[         R                  [         R                  [         R                  S 45        [        US5        [        US5        [	        US	5        [	        U[         R                  " S
S/SS//5      5        [        [        [        R                  XSS9  g )Nr   r   )r   r   rG   	propagater  r  g     ?gإvao?r  r   r  )	r9   r   r   r  r   r
   rK  rg   rh   )r_   ro   rB  mt1r   r  rN  r  s           r?   test_nan_policy_options&TestMedianTest.test_nan_policy_options  s    266N=&&q?
aS266266266489././QQ1a&1a&!123j%"3"3QgNrA   c                 p   / SQn/ SQn[         R                  " X5      u  p4pV[        US5        [        USS/SS//5        [         R                  " U5      u  pxp[	        X75        [	        XH5        [         R                  " XSS9u  p4pV[        US5        [        USS/SS//5        [         R                  " USS9u  pxp[	        X75        [	        XH5        [         R                  " XSS	9u  p4pV[        US5        [        USS/SS//5        [         R                  " USS	9u  pxp[	        X75        [	        XH5        g )
Nr   )r   r   rG   rK   r   r   r   r   )lambda_Fr4  )r   r  r   chi2_contingencyr
   )r_   ro   rB  rI  r  rN  r  exp_statexp_pdofes              r?   rd   TestMedianTest.test_basic  s$    ++A1QSAq6Aq6*+"'"8"8"='!++A!<QSAq6Aq6*+"'"8"8a"H'!++AUCQSAq6Aq6*+"'"8"8"O'!rA   r  FTc                     / SQn/ SQn[         R                  " X#US9n[        UR                  UR                  UR
                  UR                  4U5        g )Nr   r4  )r   r  r   r\   r   r  table)r_   r  ro   rB  rq   s        r?   r  TestMedianTest.test_result  sA    <cmmSZZSYYGMrA   ru   N)rv   rw   rx   ry   r  r6  r  r  r  r  r  r  r  r  rd   r   r   r   r  rz   ru   rA   r?   r  r  R  sh    @DF
$"+!2(O"> [[\E4=9N :NrA   r  c                   6   \ rS rSrS r\R                  R                  S\R                  * S-  \R                  S-  /S4SS\R                  -  /S4/5      S 5       r
S	 rS
 r\" SSS9S 5       rS r\R                  R                  SSS/5      S 5       rSrg)TestDirectionalStatsi  c                    [         R                  " [         R                  " / SQ5      5      * n[         R                  " [         R                  " / SQ5      5      * n[         R                  " [         R                  " U5      [         R                  " U5      -  [         R                  " U5      [         R
                  " U5      -  [         R
                  " U5      4SS9nUR                  UR                  5       5      nUR                  UR                  5       5      nUR                  UR                  5       5      n[        R                  " U5      nUR                  nUR                  / SQ5      n[        XgSS9  g )N)	g33333su@g      O@g33333sB@g      ;@r)  g@g333333I@gYv@r  )	gfffffP@g,Q@gfffffQ@gfffffT@g     S@g     @R@g33333SQ@gffffffM@g33333I@r   r  )gHP?g&S:g[<r&  rI  )r9   deg2radrK  stackrr  rq  r  rl  r   directional_statsmean_directionr"   )r_   r  declinclr`   dirstatsdirectional_meanreference_means           r?   "test_directional_stats_correctness7TestDirectionalStats.test_directional_stats_correctness  s    

288 %< = > >

288 %< = > >xxt4t4'  
 zz$++-(zz$++-(zz$++-(**40#22$>?(tDrA   zangles, refr   r*   r   r   c                    UR                  U5      nUR                  U5      nUR                  UR                  U5      UR                  U5      /SS9nS[        R
                  " U5      R                  -
  n[        XR5        g )Nr   r  )r  r  rr  rq  r   r  mean_resultant_lengthr"   )r_   anglesr   r  r`   rq   s         r?   'test_directional_stats_2d_special_cases<TestDirectionalStats.test_directional_stats_2d_special_cases  si    
 F#jjoxx8qxA%))$/EEE!rA   c                 R   [         R                  R                  S5      nUR                  SUR                  -  UR                  S5      -  5      nUR                  UR                  U5      UR                  U5      4SS9n[        R                  " U5      nUR                  n[        U5      nUR                  US   US   5      nUSUR                  -  -  n[        R                  " U5      n	[        X5        SUR                  -
  n
[        R                   " U5      n[        X5        g )Nl	   }7Qh0P4u&4M r   )rv  r   r  r   r*   )r9   rx  ry  r  r6  r  rr  rq  r   r  r  r    rw  r5  r"   r  r7  )r_   r  r|  testdatatestdata_vectorr  r  r;  directional_mean_angler5  directional_varcircular_vars               r?   test_directional_stats_2d.TestDirectionalStats.test_directional_stats_2d  s    ii##$FG::a"%%i#**X*>>?((BFF8$4$&FF8$4$6() # + **?;#22!"23!(/?/B/?/B"D!71ruu9!E>>(+.9x===}}X.6rA   c                    UR                  / SQ/ SQ/5      nUR                  UR                  US5      5      nUR                  / SQ/ SQ// SQ/ SQ//5      n[        R                  " USS9n[	        UR
                  U5        g )N+Pz?r   r   )r  rD  r   )r   r   r   r   )r*   r   r   r   r  )r  tiler   r  r"   r  )r_   r  r`   
full_arrayry  r  s         r?    test_directional_mean_higher_dim5TestDirectionalStats.test_directional_mean_higher_dim  s     zz/02 3ZZl ;<
:: , . , , ./ 0 **:A>//:rA   Tzchecking array-like inputr  c                 Z   / SQ/ SQ/nUR                  X!R                  S9n[        R                  " U5      n[        R                  " U5      n[	        UR
                  UR                  UR
                  5      5        [	        UR                  UR                  UR                  5      5        g )Nr  )r  rD  r   r  )r  r  r   r  r"   r  r  )r_   r  r`   
data_arrayr   rq   s         r?   )test_directional_stats_list_ndarray_input>TestDirectionalStats.test_directional_stats_list_ndarray_input  s     %&:;ZZJJZ7
%%d+%%j1**

3#5#56	811

3#<#<=	?rA   c                     UR                  S5      nSn[        R                  " [        [        R
                  " U5      S9   [        R                  " U5        S S S 5        g ! , (       d  f       g = f)N)r   zIsamples must at least be two-dimensional. Instead samples has shape: (5,)r   )r  r   r   rh   reescaper   r  )r_   r  r`   rb  s       r?   test_directional_stats_1d_error4TestDirectionalStats.test_directional_stats_1d_error%  sH    wwu~6]]:RYYw-?@##D) A@@s   A!!
A/r  r  r  c                    [         R                  " / SQ/ SQ/US9n[        R                  " UR	                  U5      SS9nU[         R
                  R                  USSS9-  n[        R                  " USS9n[        UR                  UR	                  UR                  5      5        [        UR                  UR	                  UR                  5      5        g )	Nr  )g+Pz?r  r   r  T)	normalizer   )r  keepdimsF)
r9   rK  r   r  r  r  r   r"   r  r  )r_   r  r  r`   rq   normalized_datar   s          r?    test_directional_stats_normalize5TestDirectionalStats.test_directional_stats_normalize-  s    
 xx--/6;=%%bjj&6$G29= "0 "? ?%%oG**

3#5#56	811

3#<#<=	?rA   ru   N)rv   rw   rx   ry   r  r   r   r   r9   r6  r  r  r  r  r  r  r  rz   ru   rA   r?   r  r    s    E, [[]55&(BEE!G	b!
QY- "	"7*; d+FG	? H	?* [[Wy)&<=? >?rA   r  c                       \ rS rSrS rS r\R                  R                  S/ SQS4/ SQS4/5      S	 5       r	S
 r
\R                  R                  S/ SQ5      S 5       rS rSrg)TestFDRControli>  c                    Sn[         R                  " [        US9   [        R                  " / SQ5        S S S 5        [         R                  " [        US9   [        R                  " / SQ5        S S S 5        [         R                  " [        US9   [        R                  " SS[
        R                  /5        S S S 5        Sn[         R                  " [        US9   [        R                  " / SQS	S
9  S S S 5        Sn[         R                  " [        US9   [        R                  " / SQSS9  S S S 5        [         R                  " [        US9   [        R                  " / SQSS9  S S S 5        g ! , (       d  f       GNB= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nz.`ps` must include only numbers between 0 and 1r   )r   r   r  )r   r  r   r   r  zUnrecognized `method` 'YAK')r   r  r   YAKrN  z#`axis` must be an integer or `None`r~  r  rK  )r   r   rh   r   false_discovery_controlr9   r   rF  s     r?   test_input_validation$TestFDRControl.test_input_validation?  s   B]]:W5)).9 6]]:W5))-8 6]]:W5))3RVV*<= 6 0]]:W5))/%H 6 8]]:W5))/D 6]]:W5))/G 65 655555 65 6555sG   E0F(FF%F6G0
E?
F
F"%
F36
G
Gc                 T    / SQn[         R                  " U5      n/ SQn[        X#SS9  g )N)r#  g;On?g~jt?gI+?g&1?gB`"۹?gv?S㥛?);On?r  I+?r  gˡE?gHzG?r  r  rF  rI  )r   r  r
   )r_   psrq   r   s       r?   test_against_TileStats%TestFDRControl.test_against_TileStatsR  s&    E++B/Ft,rA   r  )
go?gQ]
Y?ghD@?u?D?gn@t?g=T	[ے?g=!s?r  r  g	L?bh)
glߢ?gq?g.0?R]D?g)<Gh?g$͂?g2-p?r  r  g]:?byc                     Uu  p#[         R                  R                  S5      n[        R                  R                  SSSUS9nUS   US'   [        R                  " XSS9n[        XbS	S
9  g )N   <U) rF  r   r  rw  rJ   r   rN  rO   rI  )r9   rx  ry  r   
loguniformr<   r  r
   )r_   r  r   r  r|  r	  rq   s          r?   r  TestFDRControl.test_against_RY  sf     ii##$78!!$"3!G11++B>t,rA   c                 
   [         R                  R                  S5      n[        R                  R                  SSSUS9n[        R                  " US S9n[        R                  " UR                  5       5      n[        X45        g Nr  rF  r   )r   r   r   rw  r  )	r9   rx  ry  r   r  r<   r  ravelr   )r_   r|  r	  rq   r   s        r?   test_axis_NoneTestFDRControl.test_axis_Nonek  sf    ii##$78!!$)#!N++BT:++BHHJ7SrA   r  )r   r   r   c                 
   [         R                  R                  S5      n[        R                  R                  SSSUS9n[        R                  " X1S9n[         R                  " [        R                  X5      n[        XE5        g r  )	r9   rx  ry  r   r  r<   r  apply_along_axisr   )r_   r  r|  r	  rq   r   s         r?   	test_axisTestFDRControl.test_axisr  sf    ii##$78!!$)#!N++B:!!%"?"?JSrA   c                     [        [        R                  " S/5      S/5        [        [        R                  " S5      S5        [        [        R                  " / 5      / 5        g )Nr!  )r   r   r  ri   s    r?   r  TestFDRControl.test_edge_casesz  sE    588$@4&I588>E588<bArA   ru   N)rv   rw   rx   ry   r  r
  r   r   r   r  r  r  r  rz   ru   rA   r?   r  r  >  s    H&- [[V 89=? 89=?@A	-A	- [[VZ0 1BrA   r  c                       \ rS rSr\R
                  R                  S\R                  0 4\R                  SS04\R                  SS04\R                  0 4/5      S 5       rSrg)	TestCommonAxisi  r  r  r   r   c                 r   Uu  p4[         R                  R                  S5      nUR                  UR                  S5      5      nU" U40 UDSS0D6nUR                  [	        UR
                  S   5       Vs/ s H  o" US S 2U4   40 UD6PM     sn5      n	[        Xy5        U" U40 UDSS0D6nUR                  [	        UR
                  S   5       Vs/ s H  o" XhS S 24   40 UD6PM     sn5      n	[        Xy5        U" U40 UDSS 0D6nU" UR                  US5      40 UD6n	[        Xy5        g s  snf s  snf )Nl   @ms|Y)rG   rJ   r  r   r   rN  )r9   rx  ry  r  r  r  r"   rP  )
r_   r  r  r;  r>   r|  ro   rq   rr   r   s
             r?   r  TestCommonAxis.test_axis  s*   
 ii##N3JJszz&)*!&v&A&jj%
:KL:KQ#a1g00:KLM!!&v&A&jj%
:KL:KQ#a1g00:KLM!!)v)D)"**Q&1&1! M Ms   6D/D4ru   N)rv   rw   rx   ry   r   r   r   r   semr  	variationr  rz   ru   rA   r?   r   r     sb     [[Vuyy"o',{{S!H&=',{{S!H&=',&;&= >"	>"rA   r   )lrl  r   r\  	functoolsr   numpyr9   numpy.randomr   numpy.testingr   r   r   r   r	   r
   r   r   r   r   rg   r  scipyr   r   r   scipy.stats._morestatsr   r   r   common_testsr   
_hypotestsr   r   scipy.stats._binomtestr   scipy.stats._distr_paramsr   scipy.stats._axis_nan_policyr   r   r   r   scipy.conftestr   scipy._lib._array_apir    r!   scipy._lib._array_api_no_0dr"   r#   r$   r   r  dict
matplotlibrcParamsmatplotlib.pyplotpyplotr  r  	Exceptionr  r  r  r  r  r  r  r  r  r  r@   rC   r|   r   r   r  r<  r  r  r  re  r  r  r  r  r  r  r  r  r  r  r  r/  r  rk  r  r  r  r  r$  r|  r  r  r  r   ru   rA   r?   <module>r9     s  
   
   $. . .  * 	 * * N N - B ? .T T 0 ;  ;;// >%*J	"#O LKKKKKKKKL
4/ />? ?Bu@ u@pM> M>`L9 L9^C6 C6L /* /* /*dB7 B7Jk8 k8\G- G-T20l7 l7^[2 [2|o% o%j	P
 6. 6. 6.r ,. ,. ,.^39 39l"= "=J +&QR+,.R .R  - S.Rf0fI. I.XK3 K3\ ;  ;F7 7(E6 E6P4 4" n@ n@ n@bQO QOhN NB g? g? g?T?B ?BD " " "cb  Os   0I9 9JJ