
    9i.                    r   S SK r S SKr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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/J0r0J1r1J2r2  \Rf                  Rh                  r4\5" \'5      r' S SK6r6S\6Rn                  S'   S SK8J9r:  Sr;/ SQr=/ SQr>/ SQr?/ SQr@/ SQrA/ SQrB/ SQrC/ SQrD/ SQrE/ SQrFS rG " S  S!5      rH " S" S#5      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 " S0 S15      rP " S2 S35      rQS4 rR " S5 S65      rS " S7 S85      rT " S9 S:5      rU/ S;QrV " S< S=5      rW " S> S?5      rX " S@ SA5      rY " SB SC5      rZ " SD SE5      r[/ SFQr\ " SG SH5      r] " SI SJ5      r^ " SK SL5      r_ " SM SN5      r` " SO SP5      ra " SQ SR5      rb " SS ST5      rc " SU SV5      rd " SW SX5      re " SY SZ5      rf " S[ S\5      rg " S] S^5      rhg! \< a    Sr; GNnf = f)_    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)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(   r0   r,   r'   r&   r*   r&   )
r'   r'   gCl?Gz?r*   rh|?r&   r)   g\(\?r&   )
羟/$?gh|?5?r3   r-   r.   r*   r0   r'   g1Zd?r&   )
r1   Mb?r&   gjt?r'   r(   g}?5^I?g)\(?r&   r*   )
r'   r(   r%   r(   r*   r&   r'   r&   r*   r%   )
r*   r'   r&   r0   r&   r4   r4   r'   r+   r/   )
r/   r0   r2   r,   r-   r-   r/   r'   r4   r-   c                  j    [         R                  " [        R                  R                  " U 0 UD65      $ N)nplogr   gammarvs)argskwargss     `/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/scipy/stats/tests/test_morestats.py_old_loggamma_rvsr>   E   s#    66%++//426233    c                   &    \ rS rSrS rS rS rSrg)TestBayes_mvsI   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   	            rI            "@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_basicJ   s     '.3DNNC0%L!	# 	CMM40

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

$L"	$r?   c                 B    [        [        [        R                  / 5        g r6   )assert_raises
ValueErrorr   rY   r]   s    r=   test_empty_inputTestBayes_mvs.test_empty_input\   s    j%//26r?   c                     [         R                  " S5      nSn[        R                  " U5      nU H  n[	        XB5        M     g )N   )rZ   r[   )r7   aranger   rY   r   )r]   x
attributesresis        r=   test_result_attributes$TestBayes_mvs.test_result_attributes_   s4    IIbM,
ooa A. r?    N)__name__
__module____qualname____firstlineno__rb   rh   rq   __static_attributes__rs   r?   r=   rA   rA   I   s    $$7/r?   rA   c                   ,    \ rS rSrS rS rS rS rSrg)TestMvsdisth   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 )NrD   rK   ?rL   rX   rN   rP   rQ   rR   rS   rT   rU   rW   )r   mvsdistr   r_   r
   intervalr\   s        r=   rb   TestMvsdist.test_basici   s    &t,3DIIK-c* -AGL	N 	CHHJ-S) ,?EJ	L 	CHHJ(:BGS) ,@FK	Mr?   c                 B    [        [        [        R                  / 5        g r6   re   rf   r   r~   rg   s    r=   rh   TestMvsdist.test_empty_inputx   s    j%--4r?   c                 H    S/n[        [        [        R                  U5        g Nr   r   r]   r^   s     r=   test_bad_argTestMvsdist.test_bad_arg{   s    sj%--6r?   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~   r_   r]   rm   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=rs   N)	rt   ru   rv   rw   rb   rh   r   r   rx   rs   r?   r=   rz   rz   h   s    M57
?r?   rz   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=
ף@   ?rE   rU      Ɍ?)(\?=
ף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   rZ   pvaluenormr:   )
r]   x1wpwshapiro_testx2x3x4
W_expected
p_expecteds
             r=   rb   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Gr?   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   rE   rU   r   )
r   r   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   rZ   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//!Dr?   rm   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   rZ   r7   nanr   r]   rm   ro   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 )NrP   rF   )	r7   rl   r   r   r   r   rZ   r   r   )r]   rm   r   r   r   s        r=   test_nan_inputTestShapiro.test_nan_input   s    IIcNvv!a }}Q'Q\++RVV4 	B'L//8r?   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㈵>rN   )r   boxcoxr   r
   )r]   	trans_valmaxlogro   refs        r=   test_gh14462TestShapiro.test_gh14462   s5     "LL)AB	mmI& 2t,r?   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?rM   rN   )r   r   r   r
   rZ   )r]   ro   rm   s      r=   test_length_3_gh18322!TestShapiro.test_length_3_gh18322   sX     mm:;zzQ KmmA'78

O$?r?   rs   N)rt   ru   rv   rw   rb   r   r   markparametrizer   r   r   r   rx   rs   r?   r=   r   r      sQ    )HVE* [[S2sQF"34- 5-9-"@r?   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\R                  R                  S 5       r\R                  R#                  S/ SQ5      S 5       rS rSrg)TestAndersoni  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   r7   onesr
   )r]   rsr   r   Acritsigvs           r=   test_normalTestAnderson.test_normal  s    $$$"$-R(~~b)$s)Q'~~b)!"#Y'GGBK!~~a( 	8$r?   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   r7   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   )r7   r  r   r  lengumbel_lfitlogcdflogsfrl   r_   r
   )r]   r  a2r  r  nxbarsr  r  rp   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(r?   c                 B    [        [        [        R                  S/SS9  g Nr   plate_of_shrimpdist)re   rf   r   r  rg   s    r=   r   TestAnderson.test_bad_arg3  s    j%..1#<MNr?   c                 ~    [        S5      nUR                  SS9n[        R                  " U5      nSn[	        X45        g )Nr   r   r   rZ   critical_valuessignificance_level)r   r   r   r  r   )r]   r  rm   ro   rn   s        r=   rq   #TestAnderson.test_result_attributes6  s:    $###,nnQK
C,r?   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  rm   A1crit1sig1A2crit2sig2s	            r=   test_gumbel_lTestAnderson.test_gumbel_l=  sN     $II3I..H54..J74r?   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  r7   r  r   r  r   r	   )
r]   r  r   r   r-  r.  r/  r0  r1  r2  s
             r=   test_gumbel_rTestAnderson.test_gumbel_rG  sz     $YYCY WWS\ 1..Z84..Z84"BCj)2Yr?   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=        r>  u   r?  weibull_min)g
ףp=
@gzGX@gQS@Mb`?rN   gp=
ף?MbP?r   r   g?r   皙?g?atol)r7   arrayr   r  
fit_resultparamsr
   rZ   r)  r   r  )
r]   rm   ro   mr   r   cAs40As45As_refs
             r=   test_weibull_min_case_A$TestAnderson.test_weibull_min_case_AV  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$?r?   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        rG   F      rV    ;            iF  z/Maximum likelihood estimation has converged to r   rA  )r7   rH  r   r   rf   r   r  )r]   rm   messages      r=   test_weibull_min_case_B$TestAnderson.test_weibull_min_case_Bi  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   rT     k   rG   =   +   rV  z:Critical values of the test statistic are given for the...z;An error occurred while fitting the Weibull distribution...r   rA  )	r7   rH  r   r   UserWarningr   rf   r   r  )r]   rm   wmessageemessagewcontextecontexts         r=   test_weibull_warning_error'TestAnderson.test_weibull_warning_errorq  sf     XX=>>OP<<8<==8<xNN1m,  XXxxXXs$   BA>-B>
B	B
Bdistname)r   r  r  extreme1r  r6  logisticrA  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  rp  r    r   r   )
r7   randomdefault_rnggetattrr   r   r:   r  rI  success)r]   ro  rngreal_distnamer%  rJ  rm   ro   s           r=   test_anderson_fit_params%TestAnderson.test_anderson_fit_params}  su    
 ii##$67'/3I'I& 	um,-(HHf4c:nnQ)~~%%%%r?   c                     Sn[        [        SU-  5      [        S   5        [        R                  n[        [        SU-  5      [        S   5        g )Nr   r   r   )r   r   r   r7   inf)r]   rK  s     r=   test_anderson_weibull_As%TestAnderson.test_anderson_weibull_As  s@    _QqS)>"+=>FF_QqS)>!+<=r?   rs   N)rt   ru   rv   rw   r	  r  r  r   rq   r3  r7  rP  r`  r   r   thread_unsaferm  r   r{  r  rx   rs   r?   r=   r   r     s    %.) O-  @&- [[	- 	- [[ZOP	&P	&>r?   r   c                       \ rS rSrS rS r\R                  R                  S 5       r	S r
\R                  R                  S 5       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?rF  r7   rH  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0r?   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   rB  r  rF  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0r?   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   rk   )   rV  !      i  rT   :   %   r   A   rF      i     $      v   
"         r  C   rT  >   rH      r  Z   r   <      rf  1   rT      8      O   T   ,   r[  rV  r        i6  L   r^  r     r        rX  e   r  rS  rT  rU  rV  rW  rG   rX  rY  rV  rZ  r[  r\  7   i@  r  r{         /            r  r  i  W   rH   x   rT   r  r  r:  G   r  rY  *   r  r   rG   r     r   rT   r  r  rT   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   H   r  r  r   rk         r  X   r  r   r   r  r        r     r  rJ   rT   	g  rF   rG   i  i[  r   r{   r   i  r      r   i  #   rG   i  r  r   rH   b   r   U   [   rg     r   r  r     rT   rT  r      r  r[        r\  rT   r   B   rf  r  Fr  gM
@r   g^I+?g~:?g+e?gH.!@gcZB>h@r   r   r   	^)p?r  rF  l   <Ic i'  n_resamplesry  )r  methodga2U0*C?)r   r  r   r   r
   r7   ru  rv  PermutationMethodr   rZ   r)  r   )r]   r  r  r  r  t5t6t7t8t9t10t11t12t13t14samplesr  r  r  ry  r  ro   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1r?   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  rF  )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0r?   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)r_  g     @D@Fr  g=
ףpD@r   rC  gGzD@zp-value capped      ?g?ܵr         ?g?ܵ      @g!u?gףp=
׳?{Gzt?r   rG  rO   rE   gBiq?g鷯?      '@g:M@g46<Rv?gMb@?g      +@g6>W[1@g1ZGUS?-C6?)
r7   linspacer   filterrh  r   r  r   r   r
   )r]   r   supr  _r  s         r=   test_R_kSamples!TestAndersonKSamp.test_R_kSamples  s`   D [[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   re   rf   r   r  r7   r  rg   s    r=   test_not_enough_samples)TestAndersonKSamp.test_not_enough_samplesL  s    j%"6"6
Cr?   c                     [        [        [        R                  [        R
                  " S5      [        R
                  " S5      45        g r,  r-  rg   s    r=   test_no_distinct_observations/TestAndersonKSamp.test_no_distinct_observationsO  s,    j%"6"6wwqz2771:.	0r?   c                 n    [        [        [        R                  [        R
                  " S5      / 45        g r,  r-  rg   s    r=   test_empty_sample#TestAndersonKSamp.test_empty_sampleS  s!    j%"6"6R8HIr?   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(  )r7   rH  r   r  r   r   r*  r   )r]   r  r  ro   rn   s        r=   rq   (TestAndersonKSamp.test_result_attributesV  sK    =XXFG""B8U;K
C,S++SZZ8r?   rs   N)rt   ru   rv   rw   r  r  r   r   xslowr  r  r  r)  r.  r1  r4  rq   rx   rs   r?   r=   r  r    sh    1"1  [[$2 $2L1@ [[N9 N9`D0J	9r?   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)
TestAnsariib  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   rE   r   rE   r   r   r   %Ties preclude use of exact statistic.g     7@r  g8#oG?)r   r&  rh  r   ansarir   )r]   rm   yr'  Wpvals         r=   
test_smallTestAnsari.test_smalld  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  re  r   c   r  r  m   l   r{   rG  r  `   r  r  re  q   t   rK  n   r  re  rI  r  r  i   g   rM  rO  r{   r   rJ  rI  rP  r{   r   rQ  rK  rI  r  rG  r>  g     0g@r  g|:?)r7   rH  r   r&  rh  r   r?  r   )r]   ramsayparekhr'  rA  rB  s         r=   test_approxTestAnsari.test_approxm  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   )rk   r   r  rI   r   rG   rP   r  g?rH   )r   r?  r   )r]   rA  rB  s      r=   
test_exactTestAnsari.test_exact{  s.    ,,|-CDAtR(D"6:r?   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   r?  r   rZ   r7   r   r   )r]   r;   ro   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>  rZ   r   )r   r&  rh  r   r?  r   )r]   rm   r@  r'  ro   rn   s         r=   rq   !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)NrW  r   rE   rH   rI   z!'alternative' must be 'two-sided'r   fooalternative)re   rf   r   r?  )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   rk   r  r  )r   g      !@      #@g      %@r#  g      )@lessrb  greaterffffff?皙?r   -q=rF  r   )r   r?  r   r   apmfr  r
   )
r]   r   r   rZ   rB  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$$$$$$r?   zx, y, alternative, expectedrW  r`  ri  g@A?rj  r   )r   r   rE   rH   rI   gG$I?g%I$I?r   )rE   rH   rI   c                 V    [         R                  " XUS9R                  n[        XTSS9  g )Nrb  rm  rF  )r   r?  r   r
   )r]   rm   r@  rc  expectedrB  s         r=   test_alternative_exact_with_R(TestAnsari.test_alternative_exact_with_R  s$    8 ||Ak:AAU3r?   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   {   rt  r   ri  rb  rj  r(   rm  rF  r   r        ?r   )r   r   r:   r?  r   r
   )r]   r   r   rp  rq  rB  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5r?   rs   N)rt   ru   rv   rw   rC  rT  rX  r   r   r   r   rq   rd  ru  ry  r~  rx   rs   r?   r=   r:  r:  b  s    ;;;
 [[VrA3i1#r%;<- =--4%6 [[% fo	>
i	A
_fo	>
_i	A
9fo	>
9i	A	C44&6r?   r:  c                   n    \ rS rSrS rS rS r\R                  R                  S5      S 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TrB  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   rf   r   r  r  )r]   r  r_  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  ro   rn   s         r=   rq   #TestBartlett.test_result_attributes  sX    BBBBC8+/04C

340nnd#,
C3 1s   A5z*ignore:invalid value encountered in dividec                    [         [        [        [        [        [
        [        [        [        [        / 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  r7   testingr   r&  r   rh  r   r!   rZ   r   )r]   r  r;   r  ro   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  rZ   )r]   r  rn  brL  ro   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())))r?   rs   N)rt   ru   rv   rw   r  r  rq   r   r   filterwarningsr  r  rx   rs   r?   r=   r  r    s;    ;-
4 [[ LM) N)"*r?   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?rH   gI{]?)r  r  r  r  r  r  r  r  r  r  r   levener   )r]   r;   rA  rB  s       r=   r  TestLevene.test_data  sE    BBBBC8,,%A115D/15r?   c                     [         R                  " [        [        [        SS9u  p[         R                  " [        [        [        SSS9u  p4[        X5        [        X$5        g )Nr_   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)r?   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   r_   r  )r7   ru  seedpermutationr   r  r   )
r]   rm   r@  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)r?   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   rY  r  r   r_   r  median)r7   r%  ru  r  r  r   r  r   )r]   rm   r   r@  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)r?   c                 p    [         R                  " SSS5      n[        [        [        R
                  XSS9  g Nr   r   rY  皙?)portiontocut)r7   r%  re   	TypeErrorr   r  r   s     r=   test_bad_keywordTestLevene.test_bad_keywordE  s&    KKAr"iq#Fr?   c                 p    [         R                  " SSS5      n[        [        [        R
                  XSS9  g Nr   r   rY  trimr  )r7   r%  re   rf   r   r  r   s     r=   test_bad_center_value TestLevene.test_bad_center_valueI  s&    KKAr"j%,,VDr?   c                 D    [        [        [        R                  S/5        g r   )re   rf   r   r  rg   s    r=   r  TestLevene.test_too_few_argsM  s    j%,,4r?   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;   ro   rn   s       r=   rq   !TestLevene.test_result_attributesP  s7    BBBBC8llD!,
C,r?   c                     [         R                  " SS/SS//5      n[        [        [        R
                  [        U5        g )Nr   r   r   r   )r7   rH  re   rf   r   r  r  r   s     r=   test_1d_inputTestLevene.test_1d_inputW  s/    HHq!fq!f%&j%,,A6r?   rs   N)rt   ru   rv   rw   r  r  r  r  r  r  r  rq   r  rx   rs   r?   r=   r  r    s1    6**$*GE5-7r?   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(   rN   iΙ gX7?i	ϙ g=?iϙ gybw?rR   r   	binomtestr
   r   r]   rO   ro   s      r=   test_two_sided_pvalues1%TestBinomTest.test_two_sided_pvalues1c  s     ooh$7

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

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

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

O$?r?   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  rF   rY  r  r  r  gX-h?rN   r   g㤶y?r  g	y}?rH   g+,?r   r   r  g      ?r   rE  g{Gz?g333333?g<,?r  r  s      r=   test_two_sided_pvalues2%TestBinomTest.test_two_sided_pvalues2q  s    ooa2.

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

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

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

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

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

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

F6r?   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   rN   r   r  gAL &W?rJ   r  g!YB?rk   r  gE]t?rH   rE   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1r?   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      * $ r6   r   binomro  r   r  r  s    r=   <lambda>>TestBinomTest.test_binary_srch_for_binom_tst.<locals>.<lambda>  s    +0;;??2q!+D*Dr?   rR   rN   rH   c                 F   > [         R                  R                  U TT5      $ r6   r  r  s    r=   r  r    s    */++//"a*Cr?   )r7   rl   ceilr   r  ro  sumr   intr
   floor)	r]   krp   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*r?   z"alternative, pval, ci_low, ci_high))ri  g$W?r   g?)rj  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  rc  rm  rN   皙?rk  confidence_level	r   r  r
   r   r   rZ   proportion_cilowhighr]   rc  rB  ci_lowci_highro   cis          r=   test_confidence_intervals1(TestBinomTest.test_confidence_intervals1  se     oobC4[I

Du5S]]C(5)F+<5Ir?   ))ri  ga&+w?r   gny?)rj  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  rM   rN   gQ?r1   r  r  r  s          r=   test_confidence_intervals2(TestBinomTest.test_confidence_intervals2  se     ooa2+F

Dt4S]]D)5)F+<4Hr?   zalternative, pval, ci_high))ri  gլ?g̓A?)rj  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  rc  rM   rN   rk  r  r   )r   r  r
   r   r  r   r  r  )r]   rc  rB  r  ro   r  s         r=   !test_confidence_interval_exact_k0/TestBinomTest.test_confidence_interval_exact_k0  sY     ooatE

Dt45RVVS!t4r?   zalternative, pval, ci_low))ri  r(   r   )rj  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  rM   rN   rk  r  r(   )r   r  r
   r   r  r   r  r  )r]   rc  rB  r  ro   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2r?   z+k, alternative, corr, conf, ci_low, ci_high)r   r  Trk  g`?g?)r   r  Tr1   grt!?g/?)r   r  Frk  gVK5?g5dM?)r   r  Fr1   gXCVu^?g*r[?)r   ri  Trk  r   gP-V?)r   ri  Tr1   r   g^'?)r   ri  Frk  r   gS5a?)r   ri  Fr1   r   g?)r   rj  Trk  g!Շ`ⰸ?r(   )r   rj  Tr1   g$x"?r(   )r   rj  Frk  gW~=?r(   )r   rj  Fr1   g	L?r(   )r   r  Trk  r   gX?)r   r  Frk  r   gN?)r   ri  Trk  r   g/<7#9?)r   ri  Frk  r   gAA?)r   rj  Trk  r   r(   )r   rj  Frk  r   r(   )r   r  Trk  g7?r(   )r   r  Frk  g؍s?r(   )r   ri  Trk  r   r(   )r   ri  Frk  r   r(   )r   rj  Trk  ghadn?r(   )r   rj  Frk  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  rM   rN   )r   r  r  r
   r  r  )
r]   r  rc  corrconfr  r  ro   r  r  s
             r=   test_ci_wilson_method#TestBinomTest.test_ci_wilson_method  sT    > ooa2+FFFD)F+<4Hr?   c                     [         R                  " SSS5      n[        UR                  S5        [        UR                  S5        g )Nr   r  r  r(   )r   r  r   rZ   r   r]   ro   s     r=   &test_estimate_equals_hypothesized_prop4TestBinomTest.test_estimate_equals_hypothesized_prop  s2     ooaT*S]]D)SZZ%r?   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   rf   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  r2  rg   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  rY  r  )r   r   r  r   r  rg   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}  r2  r]   r_  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   rf   r  )r]   ro   r_  s      r=   test_invalid_confidence_level+TestBinomTest.test_invalid_confidence_level0  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  rE  r.  s     r=   test_invalid_ci_method$TestBinomTest.test_invalid_ci_method6  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  r2  rg   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_estimaterZ   r.  s     r=   
test_aliasTestBinomTest.test_alias?  s(    ooa2-S,,cmm<r?   l        z32-bit does not overflowreasonc                     [         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   rE   r@  )r   r   OverflowErrorr   r  sys
float_infominrg   s    r=   test_boost_overflow_raises(TestBinomTest.test_boost_overflow_raisesC  s:     ]]=0FGOOAqCNN$6$67 HGGs   /A
A rs   N)rt   ru   rv   rw   __doc__r  r  r  r	  r   r   r   r  r  r   r$  r+  r/  r3  r6  r:  rB  rF  rJ  rN  rR  skipifrX  maxsizer[  rx   rs   r?   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8r?   r  c                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)TestFligneriJ  c                 x    [         R                  " S5      n[        [        R                  " XS-  5      SS5        g )Nr   r   )gnf	@gDq?r  )r7   rl   r   r   fligner)r]   r   s     r=   r  TestFligner.test_dataL  s,    YYq\!%--E":"L"$	&r?   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  )r7   r  randnr  tolist)gr  s    r=   _perturb+TestFligner.test_trimmed1.<locals>._perturbX  s1    JJqMEBHHSV,<$<<DDFFr?   r_   r  r  r   r  )	r7   ru  r   r  r  r  r   rc  r   )
r]   rj  g1_g2_g3_Xsq1r  Xsq2r  r  s
            @r=   r  TestFligner.test_trimmed1S  s{     YY""3'	G rlrlrl mmCc&AmmCc)479D'E)r?   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   r_   r  )r   rc  r   )r]   rm   r@  ro  r  rp  r  s          r=   r  TestFligner.test_trimmed2f  sU    66mmA49; mmAaGQqWVDD'E)r?   c                 p    [         R                  " SSS5      n[        [        [        R
                  XSS9  g r  )r7   r%  re   r  r   rc  r   s     r=   r  TestFligner.test_bad_keyword  s&    KKAr"i3Gr?   c                 p    [         R                  " SSS5      n[        [        [        R
                  XSS9  g r  )r7   r%  re   rf   r   rc  r   s     r=   r  !TestFligner.test_bad_center_value  s&    KKAr"j%--fEr?   c                 D    [        [        [        R                  S/5        g r   )re   rf   r   rc  rg   s    r=   test_bad_num_argsTestFligner.test_bad_num_args  s    j%--!5r?   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   )r7   rl   r   r   r   r   r   rc  r   rZ   r   r   r   s      r=   r  TestFligner.test_empty_arg  sd    IIaL\\,4IJ--a4,C/RVV, KJJs   A#B  
B.rs   N)rt   ru   rv   rw   r  r  r  r  r  ry  r  rx   rs   r?   r=   ra  ra  J  s'    &*&
*4HF6-r?   ra  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   rG  r   )r  r  r   r   r   ri  )		enumerater7   ru  rv  integersziprangeshufflesplit)expected_resultsseedssir  ry  xytie_indnum_ties_per_indrp   r  jrm   r@  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;
rb  gؗҜ<rF  Nr   moodr
   )r]   rm   r@  rc  stat_expectp_expectrZ   r   s           r=   test_against_SASTestMood.test_against_SAS  s+    < "JJqE	U;u5r?   zalternative, expected))r  )3oXQ?gpL?)ri  )r  gԣl?)rj  )r  gpL?c                 T    / SQn/ SQn[         R                  " X4US9n[        XR5        g )NrF  rN  rb  r  )r]   rc  rx  rm   r@  ro   s         r=   test_against_SAS_2TestMood.test_against_SAS_2  s(    <=jj;7&r?   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   rk   )r7   ru  r  rg  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6r?   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   )rk   r   r  g4g^}E	?)r7   rH  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r?   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   rk   r   r  )	r7   ru  r  rg  r   r  r  r   	transpose)r]   nyr   r   	z_vectestpval_vectestr  rp   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 r?   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   rE   r  r   r  r   r   r   )r7   ru  r  rg  r  r   r  r   )r]   r  r   r   r  r  r  axes_idxrp   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 r?   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   rZ   r7   r   r   r.  s     r=   test_mood_bad_argTestMood.test_mood_bad_arg8  sU    \\,4IJ**aS"%C/RVV, KJJs   A!B
Bc                 P   [         R                  R                  S5      n[        R                  R                  SSUS9n[        R                  R                  SSUS9n[        R                  " X#SS9u  pE[        R                  " X#SS9u  pg[        R                  " X#S	S9u  pXFs=:X  a  U:X  d   e   e[        USS
S9  [        XuS-  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   r   g      ?r  rb  ri  rj  Hz>rF  r   r   z`alternative` must be...r   z	ekki-ekki)r7   ru  r   r   r   r:   r  r
   r   r   rf   )
r]   ry  rm   r@  stat1r  stat2r  stat3p3s
             r=   test_mood_alternativeTestMood.test_mood_alternative?  s    ii##A&JJNNCcNBJJNNCcNBJJq=	JJq8	JJq;	&&&&&&AD)qD!A1H%]]:-GHJJq5 IHHs   8D
D%rc  )r  ri  rj  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   )rk   r   rb  )	r7   ru  rv  r  r   r  r   rZ   r   )r]   rc  ry  r   r   ro   s         r=   test_resultTestMood.test_resultQ  s^    ii##$KL  )  )jj[9cmmSZZ0#6r?   rs   N)rt   ru   rv   rw   r   r   r   r  r  r  r  r  r  r  r  r  r  rx   rs   r?   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7r?   r  c                       \ rS rSrS rS rS r\R                  R                  \R                  R                  \(       + SS9S 5       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  rt  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
   r7   sort)r]   rm   osmosrosm_expectedro   res_fitres_fit_expecteds           r=   rb   TestProbplot.test_basic]  sn    JJNNN7>>!/G
 	RWWQZ(*~~aT2?2r?   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@ rt  Fsparamsr  r   rs   )r   r   r:   r  r
   )
r]   rm   osm1osr1osm2osr2osm3osr3r  r  s
             r=   test_sparams_keyword!TestProbplot.test_sparams_keywordl  s    JJNN&N9 ^^At?
^^Aqe<
^^Aru=
####>>!RU;Sr?   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  rt  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~//r?   rs   N)rt   ru   rv   rw   r]  r  rx   rs   r?   r=   custom_distr    s
    H0r?   r  )r   r  )r%  r  )	r   r   r:   r  r  r
   re   rf   AttributeError)r]   rm   r  r  r  r  r  s          r=   test_dist_keywordTestProbplot.test_dist_keywordz  s    JJNNN7^^A5sDI
^^A5uwwM
##j%..!:KLnennabA	0 	0
 ^^At?
^^AKMuE
##r?   no matplotlibrT  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 rt  plotF)r  r  r   )pltfigureadd_subplotr   r  r:   r  closer	   r  r
   )
r]   figrm   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"-		r?   c                 B    [        [        [        R                  S/SS9  g r"  )re   rf   r   r  rg   s    r=   test_probplot_bad_args#TestProbplot.test_probplot_bad_args  s    j%..1#<MNr?   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  r7   rH  r   rg   s    r=   
test_emptyTestProbplot.test_empty  ss    U^^BE2hhrlBHHRL1	3U^^BD1xx|RXXb\2vvrvvs+-	.r?   c           	         Sn[         R                  " SS9   [        R                  " [        US9   [        [        R                  " S/SS9[         R                  " S/5      [         R                  " S/5      4[         R                  [         R                  [         R                  445        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)	N,One or more sample arguments is too small...r  invalidr   r   Tr  r   )
r7   r  r   r   r   r   r   r  rH  r   rA  s     r=   test_array_of_size_one#TestProbplot.test_array_of_size_one  s    @kk(+ll-W=688RD>288QC=966266266245 > ,+== ,+s#   CA<B>-C>
C	C
Crs   N)rt   ru   rv   rw   rb   r  r  r   r   r  r^  have_matplotlibr  r  r  r  rx   rs   r?   r=   r  r  [  s_    3<$( [[[[O+OD E 0O.5r?   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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   dummyrb  r   xyzrI  )re   rf   r   wilcoxonrg   s    r=   test_wilcoxon_bad_arg"TestWilcoxon.test_wilcoxon_bad_arg  sW     	j%..1a&1a&'Jj%..1a&1a&")	+j%..1#b&Gr?   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
asymptoticrI  r   prattzsplit)g     @Z@r(   )r7   rl   r  r   r	  r   r   )r]   rm   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 )NrW  )r   r   r   r   r  r  F)zero_methodr  
correction)r   g|N?)r   r	  r
   )r]   rm   r@  ro   s       r=   
test_prattTestWilcoxon.test_pratt  s0     nnQw|(-/78r?   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r?   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  rk   rI   r   r   r   r   r   r  r  Fr  r  i  g.i?r  i  gFYv]Uj?r  iG  g%^ Ez?r  rQ  r  r        y   r     rK     p         w   r=  r%     r<  rK  s   r"  r     r  r  r  g^҂<?rM   rN   Tg:b+?)r  r7   concatenater  zerosr   r   r	  r
   rH  r   )	r]   freqnumsur  rm   r@  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  rH      r  r  r   rI   rD  rF   r  )r   r   r   r  r   r   rG   r  rG  rG      r\  r  approxrI  r  )mode)r7   rH  r   r	  )r]   rm   r@  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+++++r?   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  r-  r]  )r7   rH  r   r	  r   )r]   rm   r@  ro   rn   s        r=   test_wilcoxon_result_attributes,TestWilcoxon.test_wilcoxon_result_attributes  s?    HHQRHHQRnnQeLI,
C,r?   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 rk   r  rI  r   exact
zstatistic)r7   ru  rv  r   r	  r   r  r   r
   rA  hasattr)r]   ry  rm   r@  ro   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-----r?   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   rM   rN   Tr-  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1r?   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     rL  r+  rL  rK  rL  r>  )
rM  z   rK  r  rL  |   r|  r   r>     ri  r  F)rc  r  r  r\  g13}?rE   rU   T)rc  r  r  g7a%?rj  g?gڏoJT?)r   r	  r   r   )r]   rm   r@  r   r  s        r=   test_onesidedTestWilcoxon.test_onesided9  s     ?>~~a|).0QAy!4~~a4%13QAy!4~~a	%1eEQAy!4~~a	)-lDQAy!4r?   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_basicY  sX    q"A&q)D'*DaCQD	2TA&%d1 r?   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  r@  rc  r  g֔  ?rE   rU   ri  gYJ?rj  g*  ?r   r  r  r   g(?g(?gS?)r7   rH  r   r	  r   rl   )r]   rm   r@  r(  r  s        r=   test_exact_pvalTestWilcoxon.test_exact_pvala  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!4r?   rm   )r   r   r   )r   r   rD  r  r   )r   r   r   r  rg  irH   rI   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	  r7   rH  r  r   )r]   rm   r   r  wtrues        r=   test_exact_p_1TestWilcoxon.test_exact_p_1}  sD     ~~a HHQKa%QQr?   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   r@  rI  r   r   rg  rF   r  r   r  )r7   rl   r   r   r	  r  )r]   rm   r@  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Or?   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 )Nrg  rI   )g     ;@g     P?r   r   )r  g     0?)r7   rl   r   r	  r   )r]   r  ro   r   s       r=   test_auto_permutation_edge_case,TestWilcoxon.test_auto_permutation_edge_case  sU     IIb!nnQ"Sq&	nnQ Sr?   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   rI  r@  r   l   VsWFrG  r	  )r
  r   r   )
r7   ru  rv  r   r	  r  r   rZ   r   round)r]   r   ry  rm   ro   r   rb  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,r?   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  rI  rA  )	r7   ru  rv  normalr   r   r	  r
   rB  )r]   ry  r  ro   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-----r?   r  r@  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  rf  r  rS  r  r  r  r  r[  )
r  r  E   rf  rc  r  r  r  r  r  ri  rY  rj  r   r   V瞯<rN   )r   r	  r  r  rZ   r
   r   )r]   r  var1var2r   ro   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;r?   c                 r    [         R                  " [        R                  " S5      US9n[	        USS/5        g )Nr   rI  r   r   )r   r	  r7   r/  r
   )r]   r  ro   s      r=   test_all_zeros_exact!TestWilcoxon.test_all_zeros_exact  s*    
 nnRXXa[8aV$r?   c                    Sn[         R                  " [        US9   [        R                  " / SQSS/5        S S S 5        Sn[         R                  " [        US9   [        R                  " / SQSS/SS9  S S S 5        [        [        S	S 5      =(       d    [        R                  R                  nS
n[         R                  " X!S9   [        R                  " / SQ/ SQSS9  S S S 5        Sn[         R                  " X!S9   [        R                  " / SQ/ SQSSS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nk= f! , (       d  f       g = f)Nz/Array shapes are incompatible for broadcasting.r   r   r   r   z0operands could not be broadcast together with...T)_no_deco	AxisErrorz8source: axis 3 is out of bounds for array of dimension 1r   r   rE   r   r  z+`axis` must be compatible with the shape...)r  r|  )	r   r   rf   r   r	  rw  r7   
exceptionsr}  )r]   r_  r}  s      r=   .test_wilcoxon_axis_broadcasting_errors_gh22051;TestWilcoxon.test_wilcoxon_axis_broadcasting_errors_gh22051  s     D]]:W5NN9q!f- 6 E]]:W5NN9q!ft< 6 BT2Mbmm6M6M	L]]94NN9ia8 5 @]]94NN9ia$G 54 65 65
 54 54s/   D$D5E?E$
D25
E
E
E%rs   N)rt   ru   rv   rw   r
  r  r  r  r3  r:  r=  rC  rH  rP  rU  rZ  r   r   r   r_  rc  r8  rf  rj  rn  rv  r   r  ry  r  rx   rs   r?   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%Hr?   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\R                  R                  S5      S 5       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           	         [         R                  R                  S5      nUR                  UR	                  S5      UR
                  S9nUR                  S Vs/ s H  n[        R                  " X45      PM     sn5      nUR                  / SQUR                  S9n[        XVSS9  [        R                  " USS	9n[        R                  " US
S	9n[        R                  " USS	9n	[        UR                  XxU	45      US S SSS9  g s  snf )Ni}  r  r  rW  )gHQ,?glZ)rI?g88}?gcJN?r$  rN   r   )orderr   r   r   g{Gz?{Gz?r"  )r7   ru  r   r  rg  float64stackr   kstatr  r    moment)
r]   r  ry  r^   r  momentsrx  m1m2m3s
             r=    test_moments_normal_distribution*TestKstat.test_moments_normal_distribution  s    ii##E*zz#))E*"**z=((,G,QEKK0,GH::I$(JJ  05 \\$a(\\$a(\\$a(""."DtT Hs    D1ignore:invalid value encountered in scalar dividec                    [        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  r7   r  r!   r   )r]   r  ro   s      r=   rh   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5      n[        [        R
                  " U5      UR                  UR                  5      5        g NrP   rE   rl   wherer   r!   r   r  r  r]   r  r^   s      r=   r   TestKstat.test_nan_input%  I    yy~xx	26640D)2::bff+=>r?   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  )rl   r   r   rf   r   r  )r]   r  r  r^   r_  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 r6   )r   r  r  x_kstatr    )r]   r  r  r  r   ro   s         r=   test_against_RTestKstat.test_against_R3  s4     kk"**W-q1ZZ_-r?   rs   N)rt   ru   rv   rw   r  r   r   r  rh   r   r   r  r  rx   rs   r?   r=   r  r    s    U [[ ST1 U1? [[S1e*-# .# [[V &? @.	@.r?   r  c                   |    \ rS rSr\R
                  R                  S5      S 5       rS r\	" SSS9S 5       r
S	 rS
rg)TestKstatVariE  r  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   kstatvarr7   r  r!   r   )r]   r  rm   ro   s       r=   rh   TestKstatVar.test_empty_inputF  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5      n[        [        R
                  " U5      UR                  UR                  5      5        g r  r  r  s      r=   r   TestKstatVar.test_nan_inputQ  r  r?   Tz2input validation of `n` does not depend on backendnp_onlyrU  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   rf   r   r  )r]   r  r^   r  r_  s        r=   r   TestKstatVar.test_bad_argW  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k4ro   r   s          r=   test_against_R_mathworld%TestKstatVar.test_against_R_mathworlda  s    
 LnnRZZ0!4fZZ_-nnRZZ0!4QwqyAaC8#qS	2ZZ_-r?   rs   N)rt   ru   rv   rw   r   r   r  rh   r   skip_xp_backendsr   r  rx   rs   r?   r=   r  r  E  sO    [[ ST1 U1? dQS&S&.r?   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)TestPpccPlotit  c                 *    [        SSSS9S-   U l        g Nr     r  rt  r>   rm   rg   s    r=   setup_methodTestPpccPlot.setup_methodu      "13WEIr?   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_plotrm   r
   r7   r%  )r]   r  svalsppccppcc_expecteds        r=   rb   TestPpccPlot.test_basicx  sG    oodffc2;%r{{3:;,r?   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;rN   )r   r  rm   r  r
   )r]   svals1ppcc1svals2ppcc2svals3ppcc3s          r=   	test_distTestPpccPlot.test_dist  s    RmLR-2->->@U351R8U351r?   r  rT  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  rm   delaxesr  r]   r  r  s      r=   r  TestPpccPlot.test_plot_kwarg  sm     jjl__S!Rc2B __S!Rb1		r?   c           	          [        [        [        R                  U R                  SS5        [        [        [        R                  / SQSSSS9  g )Nr   r   r   r#  r$  )re   rf   r   r  rm   rg   s    r=   test_invalid_inputs TestPpccPlot.test_invalid_inputs  s5    j%//4661a@ 	j%//9a,	.r?   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
   r7   r%  r/  float)r]   r  r  s      r=   r  TestPpccPlot.test_empty  sD     oob!Q/r{{1aR89bhhr78r?   rm   N)rt   ru   rv   rw   r  rb   r  r   r   r^  r  r  r  r  rx   rs   r?   r=   r  r  t  sH    J-
2 [[O+OD
 E
.9r?   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"  )re   rf   r   ppcc_maxr   s     r=   test_ppcc_max_bad_arg!TestPpccMax.test_ppcc_max_bad_arg  s    sj%..$=NOr?   c                     [         R                  R                  SSSSSS9S-   n[        [         R                  " U5      SS	S
9  g )Nffffffr   r  '   r        @{rH   rU   )r   r  r:   r   r  r   s     r=   test_ppcc_max_basicTestPpccMax.test_ppcc_max_basic  sF    !!$ASu/6 " 8:=>ENN1-/CQOr?   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   rU   )r   r  r:   r  r   )r]   rm   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Br?   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  rH   rU   r   r   )r   r  r:   re   rf   r  r   r   s     r=   
test_brackTestPpccMax.test_brack  sx    !!$ASu/6 " 8:=>j%..!?KENN1F;0!	= 	ENN1G<0!	=r?   rs   N)	rt   ru   rv   rw   r  r  r  r  rx   rs   r?   r=   r  r    s    P
P
C	=r?   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
\R
                  R                  S 5       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   )rw  r   r   r:   
boxcox_llfr  r   r7   r8   r  ra   r    )r]   r  r  dtrm   lmbdallfllf_expecteds           r=   rb   TestBoxcox_llf.test_basic  s    RJJNN2ENBujjj&=>w|bffRVVAEEGQJ-?&@@ZZZ?@r?   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   rm  rN   )r   r   r:   r  listr    r]   r  rm   r  r  llf2s         r=   test_array_likeTestBoxcox_llf.test_array_like  sQ     JJNN%N@u(tAw/.r?   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  r7   vstackr  r    r  r
  s         r=   test_2d_inputTestBoxcox_llf.test_2d_input  st     JJNN%N@u(ryy!'8':':;

C:.

40@uMr?   c                 T   Sn[        U5      (       a  [        R                  " [        US9O[        R
                  " 5       nU   UR                  UR                  [        R                  " SUR                  / 5      5      5      5      (       d   e S S S 5        g ! , (       d  f       g = f)Nr  r   r   )
r   r   r   r   
contextlibnullcontextisnanr  r   r  )r]   r  r_  contexts       r=   r  TestBoxcox_llf.test_empty  so    @FNrll6<< 2'B"..0 	88BJJu'7'72::b>'JKLLLL WWs   AB
B'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(:;<r?   c                     UR                  / SQUR                  S9n[        R                  " SU5      n[	        X1R                  SUR                  S9SS9  g )N)i  i  i  i  i  r  g:0yE>gl.gƠ>rN   )r  r  r   r  r    r  s       r=   test_instability_gh20021'TestBoxcox_llf.test_instability_gh20021  sL    zz8

zKtT* 	ZZ(=RZZZP!	#r?   c           
         UR                  SS/SS//5      n[        R                  " SUSS9nUR                  [        R                  " SUS S 2S4   5      [        R                  " SUS S 2S4   5      /5      n[	        X45        [        R                  " SUSS9nUR                  [        R                  " SUSS S 24   5      [        R                  " SUSS S 24   5      /5      n[	        XV5        g )Nr      i,  i  r   r   r  )r  r   r  r  r    )r]   r  r^   
llf_axis_0llf_0
llf_axis_1llf_1s          r=   	test_axisTestBoxcox_llf.test_axis  s    zzC:Sz23%%aA6
QQT
+QQT
+
  	
*%%aA6
QQT
+QQT
+
  	
*r?   rs   N)rt   ru   rv   rw   r   r   r   rb   r  r  r  r  r  r  r  r&  rx   rs   r?   r=   r  r    s    [[Wy)&<=A >A dKM/M/N [[M M=#+r?   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)
TestBoxcoxiJ  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  rt  r   r  r   r   r   r   )
r>   r   r   r
   r7   r8   r	  r  r   r/  )r]   rm   xts      r=   test_fixed_lmbdaTestBoxcox.test_fixed_lmbdaL  s    abu=A\\!1%E"\\!2&A!G$\\!1%BFF1I& \\$q'+BFF1I& \\"''"+q)R"&r?   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   rU   )r   r   r:   r   r   )r]   r  rm   x_invr,  r   s         r=   test_lmbda_NoneTestBoxcox.test_lmbda_None^  sS     JJNNrDNAQ5&)\\%(
FBJ:r?   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   rt  r  )alphagx@gv[%@rl  gxˉEk?g8Bhk @rH   r  rk   rC  g\?gx̡&@r+   g7(U@gp:sY@)r7   ru  r   r>   r   r   r
   )r]   ry  rm   r(  r   s        r=   
test_alphaTestBoxcox.test_alphah  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":;r?   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   )r7   rH  re   rf   r   r   r   s     r=   test_boxcox_bad_argTestBoxcox.test_boxcox_bad_argy  s_    HHb!Wj%,,2j%,,!>j%,,1#s0DEr?   c                 \    [        [        R                  " / 5      R                  S:H  5        g N)r   )r	   r   r   r  rg   s    r=   r  TestBoxcox.test_empty  s    R &&$./r?   c                 R    [         R                  " [        5      u  p[        USSS9  g )NgsHjdrr   rN   r   r   _boxcox_datar
   )r]   r@  lams      r=   r  TestBoxcox.test_gh_6873  s     l+ 	YT2r?   bounds)r   r   )r   r   )r   rX  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)rB  r  r   minimize_scalarfunrB  s    r=   	optimizerBTestBoxcox.test_bounded_optimizer_within_bounds.<locals>.optimizer      ++C3<> >r?   r  rL  r   r   )r   r   r?  )r]   rB  rL  r(  r  s    `   r=   $test_bounded_optimizer_within_bounds/TestBoxcox.test_bounded_optimizer_within_bounds  s?    	> <<DINay5,6!9,,,,,r?   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   xatolrm  c                 2   > [         R                  " U TSTS9$ )NrG  )rB  r  optionsrH  )rK  rB  rU  s    r=   rL  PTestBoxcox.test_bounded_optimizer_against_unbounded_optimizer.<locals>.optimizer  s!    ++C3<gO Or?   rO  r   r>  )r]   r(  r  rL  lmbda_boundedrB  rU  s        @@r=   2test_bounded_optimizer_against_unbounded_optimizer=TestBoxcox.test_bounded_optimizer_against_unbounded_optimizer  so    
 <<D9 #+uqy)E"	O
 !<<D2;=%%%vay1r?   rL  )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   rO  r   r   rf   r   r   r?  r]   rL  s     r=   $test_bad_optimizer_type_raises_error/TestBoxcox.test_bad_optimizer_type_raises_error  s0     ]]:-MNLLTYG ONNr<  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   rs   )rK  s    r=   rL  CTestBoxcox.test_bad_optimizer_value_raises_error.<locals>.optimizer  s    r?   z/return an object containing the optimal `lmbda`r   rO  r]  )r]   rL  r_  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   rf   r   boxcox_normmax)r]   rf  r_  s      r=   "test_negative_x_value_raises_error-TestBoxcox.test_negative_x_value_raises_error  s1    
 8]]:W5  ' 655s	   <
A
rm   
     L@     x@     4@     @@     d@rp  g     @g     <@g     \@g     @rl  rm  rn  ro  rp  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   rh  r   r   r7   r  isfinite)r]   rm   xt_bclam_bcs       r=   test_overflowTestBoxcox.test_overflow  sM     \\+-DE!LLOME66"++e,---- FEEs   A
A..
A<rs   N)rt   ru   rv   rw   r-  r1  r5  r8  r  r  r   r   r   rP  rX  r_  rd  r7   rH  r   ri  rx  rx   rs   r?   r=   r)  r)  J  s   '$;<"F03 [[X'FG- H-2* [[[*>?H @H

H [[bhh01288RVVRO3LM
(
( [[S
 : 	; 	9:
MN# ..r?   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  rt  r  rg   s    r=   r  TestBoxcoxNormmax.setup_method      "12EBQFr?   c                 Z    [         R                  " U R                  5      n[        USSS9  g )Nm?rM   rN   r   rh  rm   r
   r]   r   s     r=   test_pearsonrTestBoxcoxNormmax.test_pearsonr  s"    %%dff-t4r?   c                     [         R                  " U R                  SS9n[        USSS9  [         R                  " U R                  5      u  p#[        X15        g )NmlerI  	.!?rM   rN   )r   rh  rm   r
   r   )r]   r   r(  maxlog_boxcoxs       r=   test_mleTestBoxcoxNormmax.test_mle  sC    %%dffU;t4 !<</.r?   c                 \    [         R                  " U R                  SS9n[        USS/SS9  g )Nr  rI  r  r  rM   rN   r  )r]   
maxlog_alls     r=   test_allTestBoxcoxNormmax.test_all  s)    ))$&&?

Xx$8tDr?   r  )r  pearsonrr  rB  rC  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$ rF  rH  rJ  s    r=   rL  ITestBoxcoxNormmax.test_bounded_optimizer_within_bounds.<locals>.optimizer  rN  r?   )r  rL  r   r   )r   rh  rm   r7   r  )r]   r  rB  rL  r   s     `  r=   rP  6TestBoxcoxNormmax.test_bounded_optimizer_within_bounds  sa    	> %%dffV09;vvfQi&())))vvfvay())))r?   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  rs   N)rt   ru   rv   rw   rx   rs   r?   r=   MyResultr    s    r?   r  c                    > / nT H  nUR                  U " U5      5        M     T" 5       nT[        R                  " U5         Ul        U$ r6   )appendr7   argminrm   )rK  objsr  ro   r  lmbda_ranges       r=   rL  @TestBoxcoxNormmax.test_user_defined_optimizer.<locals>.optimizer	  sB    D$CJ' %*C		$0CEJr?   rL  r   )r   rh  rm   r7   ri  r%  r
   )r]   r  lmbda_roundedrL  lmbda2r  r  s        @@r=   test_user_defined_optimizer-TestBoxcoxNormmax.test_user_defined_optimizer  s     $$TVV,*kk-"4mD6H$O	 		 %%dff	Bt,r?   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  rL  z,`brack` must be None if `optimizer` is givenr   )g       r  )r   rI  r   rh  rm   r   r   rf   r^  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rm   rq  )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   r  rI  r  r   )r   r   rh  r   rh  r7   ru  r   r   r  finfor  maxrZ  r
   sign)r]   rm   r_  r  ymaxx_treme	y_extremes          r=   rx  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   rf   r   rh  rm   rg   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>)FNr  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)Nrt  r   r  r  r  r   rN   )r   r   rh  r   rh  r7   rZ  r  absr   r  r  r
   )r]   rm   r  r  kwarglmbr  ymax_ress           r=   'test_user_defined_ymax_input_float64_329TestBoxcoxNormmax.test_user_defined_ymax_input_float64_320	  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  rt  r   rI  )r  r  r  rN   )r7   r  r  r  r   r   rh  r   rh  r~  r
   )r]   rm   r  x_32x_64lmb_32lmb_64s          r=   test_user_defined_ymax_inf,TestBoxcoxNormmax.test_user_defined_ymax_infM	  s     zz!2::.zz!2::. \\+-DE  5 FT1 %%dG%%dGT2 FEs    C$$
C2r  N)rt   ru   rv   rw   r  r  r  r  r   r   r   rP  slowr  r  rx  r  r7   rH  r  r  r  r  rx   rs   r?   r=   r{  r{    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3r?   r{  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
)TestBoxcoxNormplotid	  c                 *    [        SSSS9S-   U l        g r  r  rg   s    r=   r  TestBoxcoxNormplot.setup_methode	  r  r?   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_normplotrm   r
   r7   r%  )r]   r  lmbdasr  r  s        r=   rb   TestBoxcoxNormplot.test_basich	  sI    ,,TVVS"B%C ;<,r?   r  rT  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  rm   r  r  r  s      r=   r  "TestBoxcoxNormplot.test_plot_kwargp	  sq     jjl__S!dffc2C8B __S!dffc2B7		r?   c                     [        [        [        R                  U R                  SS5        [        [        [        R                  SS/SS5        g )Nr   r   r   )re   rf   r   r  rm   rg   s    r=   r  &TestBoxcoxNormplot.test_invalid_inputs}	  s6    j%"7"7AFj%"7"7"a!QGr?   c                 `    [        [        R                  " / SS5      R                  S:H  5        g r]  )r	   r   r  r   rg   s    r=   r  TestBoxcoxNormplot.test_empty	  s$    %%b!Q/449:r?   r  N)rt   ru   rv   rw   r  rb   r   r   r^  r  r  r  r  rx   rs   r?   r=   r  r  d	  sD    J- [[O+OD
 E
H;r?   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   rm  rN   )r   r   r:   yeojohnson_llfr	  r
   r]   rm   r  r  r  s        r=   r  "TestYeojohnson_llf.test_array_like	  sO    JJNNN?""5,##E473.r?   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  r7   r  r  r
   r  s        r=   r   TestYeojohnson_llf.test_2d_input	  s`    JJNN%N@""5,##E299aV+<+>+>?
Du5r?   c                 l    [        [        R                  " [        R                  " S/ 5      5      5        g r   )r	   r7   r  r   r  rg   s    r=   r  TestYeojohnson_llf.test_empty	  s     --a456r?   rs   N)rt   ru   rv   rw   r  r  r  rx   rs   r?   r=   r  r  	  s    /67r?   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!)%TestYeojohnsoni	  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   rt  r   r   r+  r   r   r   )	r7   ru  r   r>   r  r   
yeojohnsonr
   r8   )r]   ry  rm   r,  posnegs         r=   r-  TestYeojohnson.test_fixed_lmbda	  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7r?   r  )r   r  r  r   c                    S nSn[         R                  R                  S5      nUR                  SSUS9nU" XQ5      n[        R
                  " U5      u  px[        XSS9  [        S[         R                  R                  XW-
  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   )r7   r/  r  r  r  spacingexppower)rm   r  r0  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Lr?   i N  r  r   r   )r   r   r   r  rF  r   rU   )r7   ru  r   rm  r   r  r
   r   linalgr   r_   ra   )	r]   r  r  	n_samplesry  rm   r0  r,  r   s	            r=   r1  TestYeojohnson.test_lmbda_None	  s    
	& 	ii##G,JJ1AYJ8"1,%%e,
D1Aryy~~af5	A1MArwwy!4Arvvx3r?   c                 \    [        [        R                  " / 5      R                  S:H  5        g r;  )r	   r   r  r  rg   s    r=   r  TestYeojohnson.test_empty	  s       $**d23r?   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   rm  rN   )r   r   r:   r  r	  r
   )r]   rm   xt1r(  xt2s        r=   r  TestYeojohnson.test_array_like	  sL    JJNNN?!!!$!!$q'*u-r?   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)NrE   r  z>Yeo-Johnson transformation is not defined for complex numbers.r   )r7   rl   r   r   rf   r   r  )r]   r  rm   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 )NrI   r  r  rN   )r7   rl   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:r?   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   rM   rN   )r7   rH  r   r  r   r
   )r]   rm   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4r?   rm   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   rf   r   r  )r]   rm   r  r  s       r=   test_nonfinite_input#TestYeojohnson.test_nonfinite_input
  s2     ]]:-OP#..q1OF QPPr8  rk  rq  rr  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OptimizeResultrm   )rK  r  outresults       r=   rL  /TestYeojohnson.test_overflow.<locals>.optimizer/
  s0    $$S(G(KC,,.FHMr?   raiser  r   )r  r  rM   rN   r$  )	r7   r  r   r  r   r   ru  r`   r
   )r]   rm   rL  r  r  r  r  s          r=   rx  TestYeojohnson.test_overflow#
  s    	 [[W%#..q1OF#llA!DFOF;;rvvf~....;;rvvf~....G48F6 &%%s   B0C
Cr   )r   rm  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  )r7   r  r   r  r  r  ru  r`   )r]   rm   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   rD  )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+  )r7   r  astyper  r   yeojohnson_normmaxr  r  r  ru  r`   )
r]   rm   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_dataM
  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rs   )rt   ru   rv   rw   r-  r   r   r   r1  r  r  r7   	complex64
complex128r  int8uint8int16int32r  r  rH  r  r
  rx  r  r   rx   rs   r?   r=   r  r  	  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 .6r?   r  c                   &    \ rS rSrS rS rS rSrg)TestYeojohnsonNormmaxic
  c                 *    [        SSSS9S-   U l        g r}  r  rg   s    r=   r  "TestYeojohnsonNormmax.setup_methodd
  r  r?   c                 Z    [         R                  " U R                  5      n[        USSS9  g )Ng?rM   rN   )r   r  rm   r
   r  s     r=   r  TestYeojohnsonNormmax.test_mleg
  s"    ))$&&1t4r?   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?rC  rF  )r   r  r7   allclose)r]   rm   r  s      r=   test_darwin_example)TestYeojohnsonNormmax.test_darwin_examplek
  s/    ((+{{5%d333r?   r  N)rt   ru   rv   rw   r  r  r1  rx   rs   r?   r=   r)  r)  c
  s    G54r?   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\R
                  R                  S\R                  \R,                  SSS.4\R                  \R,                  SSS.4\R                  \R,                  SSS.4/5      S 5       rS rS rS rS rS rS rSrg )!TestCircFuncsit
  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@rP        u@h  r  r  r    r]   	test_funcrx  r  rm   s        r=   test_circfuncsTestCircFuncs.test_circfuncs{
  s-    
 JJ67	!#.

80DEr?   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R                  X!R                  -  S-  SS	9nUS
-  n[        R                  " USS9n[        XeSS9  UR                  USS	9n[        R                  " USS9n[        XSS9  g )N)r  rY  r  r     g     4@g3333333@r  r;  r<  r   rN   r   r   r  r  r$  )r  r  r_   r   circmeanr    r`   picircvarra   circstd)	r]   r  rm   M1M2V1V2S1S2s	            r=   test_circfuncs_small"TestCircFuncs.test_circfuncs_small
  s     JJ7rzzJJWWQZ^^AC(T*VVAeeGCKAV. "W]]13'T*VVA!V$]]13'T*r?   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>rF  )r7   r  r    )r]   r?  
numpy_funcr  rm   circstatrm  s          r=   test_circfuncs_close"TestCircFuncs.test_circfuncs_close
  sW     JJ+,r15H4IC4OOPRZZ]+JqM*t4r?   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   ^  )_  rH   r   `  rF   ]  )ie  rF   rI   if  r   g     @v@r;  r<  r   r   r  r  r   )r  reshaper    r  r  r  )r]   r  rV  rm   ro   r   rp   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XXc]+qs+49!''!*4EF4Eqx!Q$c*4EFXXc]+ 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)rX  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Er?   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   r7   r  r   r&  r   r!   r   )r]   r?  r  r  rm   ro   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 )	NrX  r   r   r  r   rY  r;  r<  )r  r7   r   r!   )r]   r?  r  rm   s       r=   test_nan_propagate TestCircFuncs.test_nan_propagate
  sC     JJQ3C89	!#.

2660BCr?   g5:v@gfPb?r]  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)rX  r   r   r  r   rY  r   rZ  rH   r   r[  rF   r\  r   r;  r^  r   )r  r7   r   keysr!   r    	full_like)r]   r?  rx  r  rm   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 $r?   c                 p    UR                  S5      S   nUn[        R                  " U5      n[        XCSS9  g )Nr(   rs   r   rN   )r  r   rE  r    )r]   r  rm   rI  rJ  s        r=   test_circmean_scalar"TestCircFuncs.test_circmean_scalar
  s1    JJrN2^^AT*r?   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   rE  rl   rF  r"   r  )r]   r  rK  s      r=   test_circmean_range!TestCircFuncs.test_circmean_range
  s[     NN299Q3/?q**RUU+,r2::bee,-r?   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 )	Nr>  r   r  r   r<  g     @e@gLwqA?g)#p_4@)r  r%  r    r   rE  rG  rH  )r]   r  rm   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Lr?   c                     [         R                  " UR                  S/5      5      n[        R                  " SU5      S:X  d   eg )Nr   r(   )r   rH  r  mathcopysign)r]   r  r@  s      r=   test_circstd_zeroTestCircFuncs.test_circstd_zero
  s3    MM"**aS/*}}S!$+++r?   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 )NrR   gA:9>r   r(   r   r   r  )r%  r  sincosrF  anyr   rE  )r]   r  rm   rK  r@  s        r=   !test_circmean_accuracy_tiny_input/TestCircFuncs.test_circmean_accuracy_tiny_input  s     KKdB'vvbffQi1n%%"&&c1A*B*BBB!bee)_BEE	*q0vvayyyDNN1QW:A.vvaf~~~r?   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  rr  r   )rO   rG  )
r  r  rz  atan2r  r  r   rE  rF  r    )r]   r  rm   r@  rx  actuals         r=   !test_circmean_accuracy_huge_input/TestCircFuncs.test_circmean_accuracy_huge_input  st     JJt2::J.JJrvvay"&&),::azz:2BEE6:u3?r?   rs   N)rt   ru   rv   rw   r   r   r   r   rE  rG  rH  r@  rO  r7   r_   r`   ra   rT  r`  rd  r  ri  r   rn  rq  rt  rw  r|  r  r  rx   rs   r?   r=   r4  r4  t
  sf    [[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 [[1$~~&(ff*MO$}}&(ff#7#7 9:  %}}&(ff
KMNO
HO
H+.M,
*@r?   r4  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"  r5  grQvv@)g     v@r  r  g     8v@rh  g     u@g5@v?g2>Bjv@r]  gG2?)gaF+?z?r  gA ~@碲?r  r   r   rb  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)NrX  r   r   r  r   rY  rZ  rH   r   r[  rF   r\  r;  omit)r  
nan_policyr  r  rN   r   r   )r7   rH  r   rl  r
   r   r   r   r   r	   r  )r]   r?  rx  rm   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	r6  r7  c                 T    SSSSSS[         R                  /n[        U" USSS	9US
S9  g )NrX  r   r   r  r   rY  r;  r  r  r  r  rN   )r7   r   r
   )r]   r?  rx  rm   s       r=   test_nan_omit$TestCircFuncsNanPolicy.test_nan_omitI  s4    
 !QRbff-	!#&A t	-r?   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  )r7   r   r   r   r   r   r	   r  r]   r?  rm   s      r=   test_nan_omit_all(TestCircFuncsNanPolicy.test_nan_omit_allR  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   r7   rH  r   r	   r  r  r  )r]   r?  rm   r  s       r=   test_nan_omit_all_axis-TestCircFuncsNanPolicy.test_nan_omit_all_axisY  s     \\,4EF266266266266266B66266266266266BD EAA&q9CBHHSM%%'(CHM" GFFs   C;D""
D0rm   rX  r   r  r   rY  rZ  rH   r   r[  rF   r\  c                 $    [        [        XSSS9  g )Nr;  r  r  re   rf   r  s      r=   test_nan_raise%TestCircFuncsNanPolicy.test_nan_raisec  s     	j)SWMr?   c                 $    [        [        XSSS9  g )Nr;  foobarr  r  r  s      r=   test_bad_nan_policy*TestCircFuncsNanPolicy.test_bad_nan_policyl  s     	j)SXNr?   rs   N)rt   ru   rv   rw   r   r   r   r   rE  r7   rH  rG  rF  rH  r  r  r  r  r   r  r  rx   rs   r?   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r?   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)TestMedianTestiv  c                 F    [        [        [        R                  / SQ5        g Nr   re   rf   r   median_testrg   s    r=   test_bad_n_samples!TestMedianTest.test_bad_n_samplesx  s    j%"3"3Y?r?   c                 H    [        [        [        R                  / / SQ5        g r  r  rg   s    r=   r4   TestMedianTest.test_empty_sample|  s    j%"3"3RCr?   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  rg   s    r=   test_empty_when_ties_ignored+TestMedianTest.test_empty_when_ties_ignored  s$    
 	j%"3"3"I1vH	Fr?   c                     [        [        [        R                  / SQ/ SQ5        [        [        [        R                  / SQ/ SQSS9  g )N)r   r   r   abover  r  rg   s    r=   test_empty_contingency_row)TestMedianTest.test_empty_contingency_row  s3    
 	j%"3"3Y	J 	j%"3"3Y	"	$r?   c                 J    [        [        [        R                  / SQSS/SS9  g )Nr   r   r   ra  r  r  rg   s    r=   test_bad_tiesTestMedianTest.test_bad_ties  s    j%"3"3YA 	"r?   c                 J    [        [        [        R                  / SQSS/SS9  g )Nr   r   r   r  r  r  rg   s    r=   r  "TestMedianTest.test_bad_nan_policy  s    j%"3"3YA!)	+r?   c                 J    [        [        [        R                  / SQSS/SS9  g )Nr   r   r   ra  )ra  )re   r  r   r  rg   s    r=   r  TestMedianTest.test_bad_keyword  s    i!2!2I1v	!r?   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]   rm   r@  rF  r  medtbls          r=   test_simpleTestMedianTest.test_simple  sZ    !--a3 	S#3!Q!Q 01 	T1Qr?   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 )NrW  r   rE   )rH   rI   rF   )r   r   r   )r   r   r   r  r  )r   r   r   r  )r   r   r   )r   r  r   )r]   rm   r@  zrF  r  rK  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1r?   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~  	propagater  r  g     ?gإvao?r  r   r  )	r7   r   r   r  r   r
   rH  re   rf   )r]   rm   r@  mt1r  r  rK  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Nr?   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   rE   rI   r   r   r   r   )lambda_FrD  )r   r  r   chi2_contingencyr
   )r]   rm   r@  rF  r  rK  r  exp_statexp_pdofes              r=   rb   TestMedianTest.test_basic  s$    ++A1QSAq6Aq6*+"'"8"8"='!++A!<QSAq6Aq6*+"'"8"8a"H'!++AUCQSAq6Aq6*+"'"8"8"O'!r?   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   rD  )r   r  r   rZ   r   r  table)r]   r  rm   r@  ro   s        r=   r  TestMedianTest.test_result  sA    <cmmSZZSYYGMr?   rs   N)rt   ru   rv   rw   r  r4  r  r  r  r  r  r  r  r  rb   r   r   r   r  rx   rs   r?   r=   r  r  v  sh    @DF
$"+!2(O"> [[\E4=9N :Nr?   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      ;@r9  g@g333333I@gYv@r  )	gfffffP@g,Q@gfffffQ@gfffffT@g     S@g     @R@g33333SQ@gffffffM@g33333I@r   r  )gHP?g&S:g[<r$  rF  )r7   deg2radrH  r  r  r  r  rh  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Dr?   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  r  r  r   r  mean_resultant_lengthr    )r]   anglesr   r  r^   ro   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!r?   c                 <   [         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R                  US   US   5      nUSUR                  -  -  n[        R                  " U5      n[        Xx5        SUR                  -
  n	[        R                  " U5      n
[        X5        g )Nl	   }7Qh0P4u&4M r   )rs  r   r  r   r(   )r7   ru  rv  r  rF  r  r  r  r   r  r  r  rE  r    r  rG  )r]   r  ry  testdatatestdata_vectorr  r  directional_mean_anglerE  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!#*:1*=?OPQ?R!S!71ruu9!E>>(+.9x===}}X.6r?   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  r?  r   )r   r   r   r   )r(   r   r   r   r  )r  tiler   r  r    r  )r]   r  r^   
full_arrayrx  r  s         r=    test_directional_mean_higher_dim5TestDirectionalStats.test_directional_mean_higher_dim-  s     zz/02 3ZZl ;<
:: , . , , ./ 0 **:A>//:r?   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  r?  r   r  )r  r  r   r  r    r  r  )r]   r  r^   
data_arrayr   ro   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#<#<=	?r?   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   rf   reescaper   r  )r]   r  r^   r_  s       r=   test_directional_stats_1d_error4TestDirectionalStats.test_directional_stats_1d_errorF  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)
r7   rH  r   r  r  r  r   r    r  r  )r]   r  r  r^   ro   normalized_datar   s          r=    test_directional_stats_normalize5TestDirectionalStats.test_directional_stats_normalizeN  s    
 xx--/6;=%%bjj&6$G29= "0 "? ?%%oG**

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

3#<#<=	?r?   rs   N)rt   ru   rv   rw   r  r   r   r   r7   rF  r  r  r  r  r  r  r	  rx   rs   r?   r=   r  r    s    E, [[]55&(BEE!G	b!
QY- "	"7&; d+FG	? H	?* [[Wy)&<=? >?r?   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}   YAKrI  z#`axis` must be an integer or `None`r}  r  r[  )r   r   rf   r   false_discovery_controlr7   r   rA  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  rC  rF  )r   r  r
   )r]   psro   r   s       r=   test_against_TileStats%TestFDRControl.test_against_TileStatss  s&    E++B/Ft,r?   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) rC  r  r   rt  rH   r   rI  rM   rF  )r7   ru  rv  r   
loguniformr:   r  r
   )r]   r  r   r  ry  r  ro   s          r=   r  TestFDRControl.test_against_Rz  sf     ii##$78!!$"3!G11++B>t,r?   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  rC  r  )r   r   r   rt  r  )	r7   ru  rv  r   r  r:   r  ravelr   )r]   ry  r  ro   r   s        r=   test_axis_NoneTestFDRControl.test_axis_None  sf    ii##$78!!$)#!N++BT:++BHHJ7Sr?   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"  )	r7   ru  rv  r   r  r:   r  apply_along_axisr   )r]   r  ry  r  ro   r   s         r=   r&  TestFDRControl.test_axis  sf    ii##$78!!$)#!N++B:!!%"?"?JSr?   c                     [        [        R                  " S/5      S/5        [        [        R                  " S5      S5        [        [        R                  " / 5      / 5        g )Nr  )r   r   r  rg   s    r=   r  TestFDRControl.test_edge_cases  sE    588$@4&I588>E588<bAr?   rs   N)rt   ru   rv   rw   r  r  r   r   r   r  r$  r&  r  rx   rs   r?   r=   r  r  _  s    H&- [[V 89=? 89=?@A	-A	- [[VZ0 1Br?   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)rE   rH   r  r   r   r]  )	r7   ru  rv  r  r  r  r  r    r_  )
r]   r  r  rK  r<   ry  rm   ro   rp   r   s
             r=   r&  TestCommonAxis.test_axis  s*   
 ii##N3JJszz&)*!&v&A&hhaggaj8IJ8I1AadG.v.8IJK!!&v&A&hhaggaj8IJ8I1AdG.v.8IJK!!)v)D)"**Q&1&1! K Ks   6D/D4rs   N)rt   ru   rv   rw   r   r   r   r   semr  	variationr&  rx   rs   r?   r=   r,  r,    sb     [[Vuyy"o',{{S!H&=',{{S!H&=',&;&= >"	>"r?   r,  )ir  rz  r  rX  r   	functoolsr   numpyr7   numpy.randomr   numpy.testingr   r   r   r   r	   r
   r   r   r   r   re   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._lib._array_apir   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>   rA   rz   r   r   r  r:  r  r  r  ra  r  r  r  r  r  r  r  r  r  r  r?  r)  r{  r  r  r  r)  r4  r  r  r  r  r,  rs   r?   r=   <module>rD     s  
   	 
    $. . .  * * * N N - B ? .T T +  ;;// >%*J	"#O LKKKKKKKKL
4/ />? ?Bu@ u@pN> N>bM9 M9`C6 C6L,* ,*^B7 B7Jk8 k8\G- G-T20l7 l7^^5 ^5BDH DHT
P
7. 7.t,. ,.^39 39l"= "=JC+ C+P0fI. I.XK3 K3\ ;  ;F7 7(E6 E6P4 4"k@ k@\QO QOhN NBe? e?P?B ?BD" "ac  Os   ,H* *H65H6