
    doi?d                    z   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  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,s  J-r.  S SK/J0r0J1r1J2r2J3r3J4r4J5r5  S SK6J7r7J8r8J9r9  \Rt                  Rv                  r;\<" \%5      r% S SK=r=S\=R|                  S'   S SK?J@rA  SrB/ SQrD/ SQrE/ SQrF/ SQrG/ SQrH/ SQrI/ SQrJ/ SQrK/ SQrL/ SQrMS rN " S  S!5      rO " S" S#5      rP " S$ S%5      rQ\Rt                  R                  S&5       " S' S(5      5       rS " S) S*5      rT\Rt                  R                  S+5       " S, S-5      5       rU " S. S/5      rV\1" \R                  5       " S0 S15      5       rX\1" \R                  5       " S2 S35      5       rZ\1" \R                  5       " S4 S55      5       r\ " S6 S75      r]\1" \R                  5       " S8 S95      5       r_S: r`\1" \R                  5       " S; S<5      5       rb " S= S>5      rc\1" \R                  5       " S? S@5      5       re/ SAQrf\1" \R                  5       " SB SC5      5       rh\1" \R                  5       " SD SE5      5       rj " SF SG5      rk " SH SI5      rl\1" \R                  5       " SJ SK5      5       rn/ SLQro " SM SN5      rp " SO SP5      rq " SQ SR5      rr\1" \R                  5       " SS ST5      5       rt " SU SV5      ru " SW SX5      rv\1" \R                  \R                  \R                  5       " SY SZ5      5       rz " S[ S\5      r{ " S] S^5      r|\1" \R                  5       " S_ S`5      5       r~\1" \R                  5       " Sa Sb5      5       r " Sc Sd5      rg! \C a    SrB GNf = f)e    N)partial)RandomState)assert_array_equalassert_almost_equalassert_array_lessassert_array_almost_equalassert_assert_allcloseassert_equal)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_torchmake_xp_test_caseeager_warnsxp_ravelis_numpyxp_default_dtype)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/$?r1   r/   ףp=
?r0   r,   r/   r*   r*   )
gGz?r.   r0   r,   r4   r0   r+   r*   r.   r*   )
r+   r+   gCl?Gz?r.   rh|?r*   r-   g\(\?r*   )
羟/$?gh|?5?r7   r1   r2   r.   r4   r+   g1Zd?r*   )
r5   Mb?r*   gjt?r+   r,   g}?5^I?g)\(?r*   r.   )
r+   r,   r)   r,   r.   r*   r+   r*   r.   r)   )
r.   r+   r*   r4   r*   r8   r8   r+   r/   r3   )
r3   r4   r6   r0   r1   r1   r3   r+   r8   r1   c                  j    [         R                  " [        R                  R                  " U 0 UD65      $ N)nplogr   gammarvs)argskwargss     \/var/www/html/land-ocr/venv/lib/python3.13/site-packages/scipy/stats/tests/test_morestats.py_old_loggamma_rvsrB   D   s#    66%++//426233    c                   &    \ rS rSrS rS rS rSrg)TestBayes_mvsH   c                 >   / SQn[         R                  " U5      u  p#n[        UR                  S5        [	        UR
                  SSS9  [        UR                  S5        [	        UR
                  SSS9  [        UR                  S	S
S9  [	        UR
                  SSS9  g )N   	            rM            "@gURH#j@gV[%@ư>rtol      $@gai	@gӇu8@&.>_紫@   decimalgYs?g1O@+=)r   	bayes_mvsr   	statisticr
   minmaxselfdatameanvarstds        rA   
test_basicTestBayes_mvs.test_basicI   s     '.3DNNC0%L!	# 	CMM40

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

$L"	$rC   c                 B    [        [        [        R                  / 5        g r:   )assert_raises
ValueErrorr   r]   ra   s    rA   test_empty_inputTestBayes_mvs.test_empty_input[   s    j%//26rC   c                     [         R                  " S5      nSn[        R                  " U5      nU H  n[	        XB5        M     g )N   )r^   r_   )r;   aranger   r]   r   )ra   x
attributesresis        rA   test_result_attributes$TestBayes_mvs.test_result_attributes^   s4    IIbM,
ooa A. rC    N)__name__
__module____qualname____firstlineno__rf   rl   ru   __static_attributes__rw   rC   rA   rE   rE   H   s    $$7/rC   rE   c                   ,    \ rS rSrS rS rS rS rSrg)TestMvsdistg   c                 t   / SQn[         R                  " U5      u  p#n[        UR                  5       S5        [	        UR                  S5      SSS9  [        UR                  5       S5        [	        UR                  S5      SS	S9  [        UR                  5       S
SS9  [	        UR                  S5      SSS9  g )NrH   rO   ?rP   r\   rR   rT   rU   rV   rW   rX   rY   r[   )r   mvsdistr   rc   r
   intervalr`   s        rA   rf   TestMvsdist.test_basich   s    &t,3DIIK-c* -AGL	N 	CHHJ-S) ,?EJ	L 	CHHJ(:BGS) ,@FK	MrC   c                 B    [        [        [        R                  / 5        g r:   ri   rj   r   r   rk   s    rA   rl   TestMvsdist.test_empty_inputw   s    j%--4rC   c                 H    S/n[        [        [        R                  U5        g Nr   r   ra   rb   s     rA   test_bad_argTestMvsdist.test_bad_argz   s    sj%--6rC   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   rc   ra   rq   s     rA   
test_warnsTestMvsdist.test_warns   sy     $$&!!'>:$}}Y787!VVX78$}}_=>=!VVX=> '&8> '&s)   6B/B%%B/B*B/%
B//
B=rw   N)	rx   ry   rz   r{   rf   rl   r   r   r|   rw   rC   rA   r~   r~   g   s    M57
?rC   r~   c                       \ rS rSrS rS r\R                  R                  S/ S/SS/45      S 5       r	S r
S	 rS
 rSrg)TestShapiro   c                    / SQn[         R                  " U5      u  p#[         R                  " U5      n[        USSS9  [        UR                  SSS9  [        USSS9  [        UR                  SSS9  / SQn[         R                  " U5      u  p#[         R                  " U5      n[        USSS9  [        UR                  SSS9  [        USS	S9  [        UR                  SS	S9  [         R
                  R                  S
S	SSS9n[         R                  " U5      u  p#[         R                  " U5      n[        USSS9  [        UR                  SSS9  [        USS	S9  [        UR                  SS	S9  / SQnSnSn	[         R                  " U5      u  p#[         R                  " U5      n[        X(SS9  [        UR                  USS9  [        X9S
S9  [        UR                  U	S
S9  g )N))\(?{Gz@q=
ףp@HzG$@@Q	@q=
ףp?Q@zG?      @Q?RQ?Q	@(\?zG?zG@(\#@333333@Gz?p=
ף@   ?rI   rY      Ɍ?)(\?=
ףp=?\(\@ffffff@\(\?(\?Gz@(\ףp=
@皙?)\(?RQr   p=
ף?@
ףp=
?{Gz?\(\@{Gz@Q@IddY?Dio?r   r   d   iNa locscalesizerandom_stateg   E?g   Oٴ?)gn?gjt?gffffff?gMb?gjt?g;On?gjt?gX9v?gS?g(\?gI+?gʡE?gx?g|?5^?r   gCl?g1Zd@gS@g(\	@gGz@g rh@g"~j@gQ@gtV@gʡE @ghyܝ?g0M?r   )r   shapiror   r^   pvaluenormr>   )
ra   x1wpwshapiro_testx2x3x4
W_expected
p_expecteds
             rA   rf   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GrC   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   rI   rY   r   )
r   r   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r^   r   )ra   r   r   r   r   r   s         rA   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//!DrC   rq   r   r   c                 .   [         R                  " [        [        S9   [        R
                  " U5      n[        UR                  [        R                  5        [        UR                  [        R                  5        S S S 5        g ! , (       d  f       g = fNmatch)pytestwarnsr   r   r   r   r   r^   r;   nanr   )ra   rq   rs   s      rA   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 )NrT   rJ   )	r;   rp   r   r   r   r   r^   r   r   )ra   rq   r   r   r   s        rA   test_nan_inputTestShapiro.test_nan_input   s    IIcNvv!a }}Q'Q\++RVV4 	B'L//8rC   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㈵>rR   )r   boxcoxr   r
   )ra   	trans_valmaxlogrs   refs        rA   test_gh14462TestShapiro.test_gh14462   s5     "LL)AB	mmI& 2t,rC   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?rQ   rR   )r   r   r   r
   r^   )ra   rs   rq   s      rA   test_length_3_gh18322!TestShapiro.test_length_3_gh18322   sX     mm:;zzQ KmmA'78

O$?rC   rw   N)rx   ry   rz   r{   rf   r   r   markparametrizer   r   r   r   r|   rw   rC   rA   r   r      sQ    )HVE* [[S2sQF"34- 5-9-"@rC   r   z'ignore: As of SciPy 1.17: FutureWarningc                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS r\R                  R!                  S/ SQ5      S 5       rS rSrg)TestAnderson   c                 t   [        S5      nUR                  SS9nUR                  SS9n[        R                  " U5      u  pEn[        US S U5        [        R                  " U5      u  pEn[        XESS  5        [        R                  " S5      nSUS'   [        R                  " U5      u  pEn[        US5        g )	NI2   r   
   r   g	@)	r   standard_exponentialstandard_normalr   andersonr   r;   onesr
   )ra   rsr   r   Acritsigvs           rA   test_normalTestAnderson.test_normal  s    $$$"$-R(~~b)$s)Q'~~b)!"#Y'GGBK!~~a( 	8$rC   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   r;   errstater	   )ra   r  r   r   r	  r
  r  s          rA   
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  )r;   r  r   r  lengumbel_lfitlogcdflogsfrp   rc   r
   )ra   r  a2r
  r  nxbarsr  r  rt   expected_a2s               rA   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(rC   c                 B    [        [        [        R                  S/SS9  g Nr   plate_of_shrimpdist)ri   rj   r   r  rk   s    rA   r   TestAnderson.test_bad_arg3  s    j%..1#<MNrC   c                 ~    [        S5      nUR                  SS9n[        R                  " U5      nSn[	        X45        g )Nr   r   r   r^   critical_valuessignificance_level)r   r  r   r  r   )ra   r  rq   rs   rr   s        rA   ru   #TestAnderson.test_result_attributes6  s:    $###,nnQK
C,rC   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
   )	ra   r  rq   A1crit1sig1A2crit2sig2s	            rA   test_gumbel_lTestAnderson.test_gumbel_l=  sN     $II3I..H54..J74rC   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  r;   r  r   r  r   r	   )
ra   r  r   r   r1  r2  r3  r4  r5  r6  s
             rA   test_gumbel_rTestAnderson.test_gumbel_rG  sz     $YYCY WWS\ 1..Z84..Z84"BCj)2YrC   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)
            rA        rB  u   rC  weibull_min)g
ףp=
@gzGX@gQS@Mb`?rR   gp=
ף?MbP?r   r   g?r  皙?g?atol)r;   arrayr   r  
fit_resultparamsr
   r^   r-  r   r  )
ra   rq   rs   mr   r   cAs40As45As_refs
             rA   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$?rC   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        rK   F      rZ    ;            iF  z/Maximum likelihood estimation has converged to r   rE  )r;   rL  r   r   rj   r   r  ra   rq   messages      rA   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   rX     k   rK   =   +   rZ  z:Critical values of the test statistic are given for the...z;An error occurred while fitting the Weibull distribution...r   rE  )	r;   rL  r   r   UserWarningr   rj   r   r  )ra   rq   wmessageemessagewcontextecontexts         rA   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  r:  logisticrE  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  ru  r    r   r   )
r;   randomdefault_rnggetattrr   r   r>   r  rM  success)ra   rt  rngreal_distnamer)  rN  rq   rs   s           rA   test_anderson_fit_params%TestAnderson.test_anderson_fit_params|  su    
 ii##$67'/3I'I& 	um,-(HHf4c:nnQ)~~%%%%rC   c                     Sn[        [        SU-  5      [        S   5        [        R                  n[        [        SU-  5      [        S   5        g )Nr   r  r   )r   r   r   r;   inf)ra   rO  s     rA   test_anderson_weibull_As%TestAnderson.test_anderson_weibull_As  s@    _QqS)>"+=>FF_QqS)>!+<=rC   rw   N)rx   ry   rz   r{   r  r  r#  r   ru   r7  r;  rT  re  rr  r   r   r   r  r  r|   rw   rC   rA   r   r      sh    %.) O-  @&-	- [[ZOP	&P	&>rC   r   c                      \ rS rSrS rS rS r\R                  R                  SSS\R                  " SS	\R                  R                  S
9\R                  " SS\R                  R                  S
9\R                  " SS\R                  R                  S
9/5      S 5       r\R                  R                  S/ SQ5      S 5       rSrg)TestAndersonMethodi  c                     Sn[         R                  " [        US9   [        R                  " / SQS5        S S S 5        g ! , (       d  f       g = f)NzAs of SciPy 1.17, users...r   r   r   )r   r   FutureWarningr   r  ra   rd  s     rA   test_warningTestAndersonMethod.test_warning  s/    .\\-w7NN9f- 877s	   ?
Ac                     Sn[         R                  " [        US9   [        R                  " / SQSSS9  S S S 5        g ! , (       d  f       g = f)Nz`method` must be either...r   r   r   	ekki-ekkimethod)r   r   rj   r   r  r  s     rA   test_method_input_validation/TestAndersonMethod.test_method_input_validation  s1    .]]:W5NN9f[A 655s	   >
Ac                    [         R                  R                  S5      nSn[        R                  " [
        US9   [        R                  " UR                  S9n[        R                  " / SQSUS9  S S S 5        Sn[        R                  " [
        US9   [        R                  " S	S
9n[        R                  " / SQSUS9  S S S 5        [        R                  " SUS9n[        R                  " / SQSUS9nUR                  S	-  n[         R                  " U5      U:X  d   e[        R                  " [         R                  R                  S5      S9n[        R                  " / SQSUS9n[        R                  " [         R                  R                  S5      S9n[        R                  " / SQSUS9nUR                  UR                  :X  d   e[        R                  " [         R                  R                  S5      S9n[        R                  " / SQSUS9nUR                  UR                  :w  d   eg ! , (       d  f       GN= f! , (       d  f       GN= f)Nl   7.!Y zThe `rvs` attribute...r   )r>   r   r   r  zThe `batch` attribute...r  )batchrJ   n_resamplesr~  l   Fp r~  r   l   Fp )r;   rz  r{  r   r   rm  r   MonteCarloMethodr  r   round)ra   r~  rd  r  rs   ten_pr   s          rA   test_monte_carlo_method*TestAndersonMethod.test_monte_carlo_method  s   ii##N3*\\+W5++

;FNN9fV< 6 -\\+W5++"5FNN9fV< 6 ''A3?nnYv>

Rxx%'''''BII,A,A+,NOnn_fVD''BII,A,A+,NOnn_fVDzzSZZ'''''BII,A,A+,NOnn_fVDzzSZZ'''- 65
 65s   7H6-I6
I
Izdist_name, seed)r   l   k2II)r  l   i!rv  l   v!)marksr  l   w!i;r:  l   {hrc                    [        [        U5      n[        R                  R	                  U5      nUR                  SUS9n[        R                  " XQSS9n[        R                  " XQ[        R                  " US9S9n[        R                  R                  UR                  UR                  5        [        R                  R                  UR                  UR                  SS9  g )Nr   ry  interpolater  r  {Gzt?rJ  )r|  r   r;   rz  r{  r>   r  r  testingr
   r^   r   )ra   	dist_nameseedr)  r~  rq   r   rs   s           rA   test_method_consistency*TestAndersonMethod.test_method_consistency  s     ui(ii##D)HH"3H/nnQ-@nnQ%2H2HS2QR


""3==#--@


""3::szz"FrC   r  )r   r  rv  r  r:  rE  c                    [        [        U5      n[        R                  R	                  S5      nUS:X  a  SO	[        5       nUR                  " USUS.6n[        R                  " [        5         [        R                  " XQ5      nS S S 5        US:X  a#  S[        R                  " WR                  5      -
  O"[        R                  " WR                  5      S-  n[        R                  " U5      n[        R                  " U5      n	[        R                  " UR                  5      n
[        R                  " UR                  5      n[        R                  " XQSS	9nUR                   U
:  d   eUR"                  U	:X  d   e[        R                  " UR                  SS
9USS	9nUR                   U:  d   eUR"                  U:X  d   eg ! , (       d  f       GNH= f)Nl   l2IIrE  )      @r   ry  r   r   r  r  r   )r|  r   r;   rz  r{  tupler>   r   r   r  r  asarrayr.  minmaxr-  r^   r   )ra   r  r)  r~  r?   rq   rs   pvalues
pvalue_min
pvalue_maxstatistic_minstatistic_maxs               rA   test_interpolate_saturation.TestAndersonMethod.test_interpolate_saturation  sc    ui(ii##M2"m3vHHd#6\\-(...C )=F-=W1rzz#"8"899

3#9#9:S@ 	VVG_
VVG_
s223s223 nnQ-@}}},,,zzZ''' nnSZZRZ0)MR}}},,,zzZ'''# )(s   /G
Grw   N)rx   ry   rz   r{   r  r  r  r   r   r   paramxslowr  r  r|   rw   rC   rA   r  r    s    .
B
(8 [[.	 	!	j-v{{7H7H	I	j-v{{7H7H	I	j-v{{7H7H	I		KLGLG [[[LN(N(rC   r  z)ignore:Parameter `variant`...:UserWarningc                   |    \ rS rSrS rS r\R                  R                  S 5       r	S r
S rS rS rS	 rS
 rSrg)TestAndersonKSampi  c                 $   / SQn[         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ5      n[        R                  " XX44SS9u  pVn[	        USS5        [        / S	QUS
S S5        [        USSS9  g )NgYC@g     D@gfffffE@g     @F@g     F@g      G@gG@g      M@gC@gfffffC@gC@g33333D@gfffffD@g33333sE@gfffffE@gfffffF@      A@g     A@g     C@g      D@     E@r        F@g     F@r  ffffffA@r  g33333A@gB@gfffffB@gD@gffffffE@Fmidrankg@r   gCl?gvq-?g,Ԛ?gl@gPk	@r   r   r   gJ4a?Mb0?rJ  r;   rL  r   anderson_ksampr   r   r
   ra   t1t2t3t4Tktmps           rA   test_example1a TestAndersonKSamp.test_example1a  s    
 >XXFGXXFGXXFG(("")95I	Bq)!"J"$Qq'1	.60rC   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   rF  r  rJ  r  r  s           rA   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0rC   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   ro   )   rZ  !      i  rX   :   %   r   A   rJ      i     $      v   
"         r  C   rX  >   rL      r  Z   r  <      rk  1   rX      8      O   T   ,   r_  rZ  r        i6  L   rb  r     r        r\  e   r  rW  rX  rY  rZ  r[  rK   r\  r]  rZ  r^  r_  r`  7   i@  r  h         /            r  r  i  W   rL   x   rX   r  r  r>  G   r  r]  *   r  r   rK   r     r   rX   r	  r  rX   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   rF   r  r  r   ro         r  X   r  r   r   r  r        r     r  rN   rX   	g  rJ   rK   i  i[  r   r  r   i  r      r   i  #   rK   i  r  r   rL   b   r   U   [   rl     r   r  r#     rX   rX  r      r  r_        r`  rX   r3  B   rk  r  Fr  gM
@r   g^I+?g~:?g+e?gH.!@gcZB>h@r   r   r   	^)p?r  rJ  l   <Ic i'  r  )r  r  ga2U0*C?)r   r  r   r   r
   r;   rz  r{  PermutationMethodr   r^   r-  r   )ra   r  r  r  r  t5t6t7t8t9t10t11t12t13t14samplesr  r  r  r~  r  rs   s                         rA   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1rC   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/  r4  Tr  g'1Z
@r   r:  r   r   r   r;  r  rJ  )r   r  r   r   r
   )ra   r  r  r  r  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  r  r  r  s                     rA   test_example2b TestAndersonKSamp.test_example2b-  s     (G45%?@IB14'? ((""""*,3S*G157	B 	Bq)!"J"$Qq'1	.60rC   c                    [         R                  " SSS5      n[        R                  " 5          [        R                  " SS[
        5        [        R                  " XS-   /SS9u  p#nS S S 5        [        WSS	5        [        WS
5        [        R                  " 5          [        R                  " SS[
        5        [        R                  " XS-   /5      u  p#nS S S 5        [        USS	5        [        US
5        [        R                  " 5          [        R                  " SS[
        5        [        R                  " XS-   /SS9u  p#nS S S 5        [        USS5        [        US5        [        R                  " 5          [        R                  " SS[
        5        [        R                  " XS-   /5      u  p#nS S S 5        [        USS5        [        US5        [        R                  " XS-   /SS9u  p#n[        USS5        [        USSSS9  [        R                  " XS-   /5      u  p#n[        USS5        [        USSSS9  [        R                  " XS-   /SS9u  p#n[        USS5        [        USSSS9  [        R                  " XS-   /SS9u  p#n[        US S5        [        US!S"SS9  g ! , (       d  f       GNM= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN4= f)#Nr   r   r  zp-value flooredg     @D@Fr  g=
ףpD@r   rG  gGzD@zp-value capped      ?g?ܵr         ?g?ܵ      @g!u?gףp=
׳?r  r   rK  rS   rI   gBiq?g鷯?      '@g:M@g46<Rv?gMb@?g      +@g6>W[1@g1ZGUS?-C6?)r;   linspacer   r   filterwarningsrm  r   r  r   r   r
   )ra   r   r!  _r  s        rA   test_R_kSamples!TestAndersonKSamp.test_R_kSamplesM  sx   B [[C% $$&##H.?M**BT	?EJGA! ' 	Avq)Q$$&##H.?M**BT	?;GA! ' 	Avq)Q $$&##H.>L**BR=%HGA! ' 	Aw*Q$$&##H.>L**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/   9J-:J?9K<:K#-
J<?
K
K #
K2c                 j    [        [        [        R                  [        R
                  " S5      5        g Nr   ri   rj   r   r  r;   r  rk   s    rA   test_not_enough_samples)TestAndersonKSamp.test_not_enough_samples  s    j%"6"6
CrC   c                     [        [        [        R                  [        R
                  " S5      [        R
                  " S5      45        g rZ  r[  rk   s    rA   test_no_distinct_observations/TestAndersonKSamp.test_no_distinct_observations  s,    j%"6"6wwqz2771:.	0rC   c                 n    [        [        [        R                  [        R
                  " S5      / 45        g rZ  r[  rk   s    rA   test_empty_sample#TestAndersonKSamp.test_empty_sample  s!    j%"6"6R8HIrC   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,  )r;   rL  r   r  r   r   r.  r   )ra   r  r  rs   rr   s        rA   ru   (TestAndersonKSamp.test_result_attributes  sK    =XXFG""B8U;K
C,S++SZZ8rC   rw   N)rx   ry   rz   r{   r  r  r   r   r  rH  rK  rW  r\  r_  rb  ru   r|   rw   rC   rA   r  r    sN    1"1  [[$2 $2L1@N9`D0J	9rC   r  c                   h    \ rS rSrS rS r\R                  R                  SSS/5      S 5       r	Sr
g	)
TestAndersonKSampVarianti  c                 >   / SQn/ SQnSn[         R                  " [        US9   [        R                  " X45      nS S S 5        [        W5      S:X  a  [        US5      (       d   e[         R                  " [        US9   [        R                  " X4SS9nS S S 5        [        WR                  UR                  5        [        UR                  UR                  5        [        U5      S:X  a  [        US5      (       d   e[         R                  " [        US9   [        R                  " X4S	S
S9nS S S 5        [        UR                  UR                  5        [        UR                  UR                  5        [        US5      (       a   e[        R                  " X4S
S9n[        UR                  UR                  5        [        UR                  UR                  5        [        US5      (       a   e[         R                  " [        US9   [        R                  " X4S	S9nS S S 5        [        U5      S:X  a  [        US5      (       d   e[         R                  " [        US9   [        R                  " X4SSS9nS S S 5        [        UR                  UR                  5        [        UR                  UR                  5        [        US5      (       a   e[        R                  " X4SS9n[        UR                  UR                  5        [        UR                  UR                  5        [        US5      (       a   eg ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN?= f! , (       d  f       GN]= f! , (       d  f       GN= f)N)r   r   r   r   r   r   )
r   r   r   r   r   r   rI   rI   rI   rL   z*Parameter `variant` has been introduced...r   r   r-  Tr  Fr  )r  variantri  right)
r   r   rm  r   r  r  hasattrr   r^   r   )ra   rq   yrd  r   rs   s         rA   test_variant_values,TestAndersonKSampVariant.test_variant_values  s   *>\\+W5&&v.C 63x1}.?!@!@@@\\+W5&&vt<C 6S]]CMM2SZZ,3x1}.?!@!@@@\\+W5&&vuiPC 6S]]CMM2SZZ,3 12222""A69=S]]CMM2SZZ,3 12222\\+W5&&vu=C 63x1}.?!@!@@@\\+W5&&vtWMC 6S]]CMM2SZZ,3 12222""A67;S]]CMM2SZZ,3 122222E 65 65 65 65 65s;   M?MM)M;(N
M
M&)
M8;
N

Nc                     [         R                  " S5      nSn[        R                  " [        US9   [
        R                  " X4SS9  S S S 5        g ! , (       d  f       g = f)Nr  z=`variant` must be one of 'midrank', 'right', or 'continuous'.r   Camelotrj  )r;   rp   r   r   rj   r   r  rc  s      rA   test_variant_input_validation6TestAndersonKSampVariant.test_variant_input_validation  s@    IIbMQ]]:W5  !; 655s   A
A 	n_samplesr   r   c                    [         R                  R                  S5      nUR                  US45      S[         R                  " U5      S S 2[         R                  4   -  -   n[
        R                  " USS9n[
        R                  " USS9n[        UR                  UR                  5        [        UR                  UR                  5        g )Nl   0e ro   皙?rk  rj  
continuous)
r;   rz  r{  rp   newaxisr   r  r
   r^   r   )ra   rt  r~  rG  r   rs   s         rA   test_variant_continuous0TestAndersonKSampVariant.test_variant_continuous  s    ii##K0**i_-BIIi4HBJJ4W0WW""7G<""7LAs}}5

CJJ/rC   rw   N)rx   ry   rz   r{   rn  rr  r   r   r   ry  r|   rw   rC   rA   rg  rg    s6    &3P< [[[1a&10 20rC   rg  c                   B   \ rS rSrS rS rS r\R                  R                  SSS9\R                  R                  S/ S	/4S	// 4/5      S
 5       5       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\R                  R                  S/ SQ5      \R                  R                  SSS/5      \R                  R                  S S!S"/5      S# 5       5       5       rS$rg%)&
TestAnsarii  c                     UR                  / SQ5      nUR                  / SQ5      n[        R                  " X#5      u  pE[        XAR                  S5      5        [        XQR                  S5      5        g )N)r   r   r   r   r   )r   r   rI   r   rI   r   r   r   g     7@g8#oG?r  r   ansarir$   ra   xprq   rm  Wpvals         rA   
test_smallTestAnsari.test_small  sR    JJ'JJ/0,,q$::d+,jj)<=>rC   c                     UR                  / SQ5      nUR                  / SQ5      n[        R                  " X#5      u  pE[        XAR                  S5      5        [        XQR                  S5      5        g )Nr  rj  r   c   r#  r  m   l   r  r  r  `   r  r#  rj  q   t   r  n   r0  rj  r  r  r0  i   r   r  r  r  r   r  r  r   r  r   r  r  r  r  r  g     0g@g|:?r~  )ra   r  ramsayparekhr  r  s         rA   test_approxTestAnsari.test_approx  s_     L M & ' ,,v.::e,-jj)<=>rC   c                     UR                  / SQ5      UR                  / SQ5      p2[        R                  " X#5      u  pE[        XAR                  S5      5        [        XQR                  S5      5        g )Nr   r   r   r   )ro   r   r  rM   r  rK   rT   g?r~  r  s         rA   
test_exactTestAnsari.test_exact  sO    zz,'4J)K1,,q$::d+,jj)=>?rC   	jax.numpyzno _axis_nan_policy decoratorreasonr?   r,   c                    U Vs/ s H  o2R                  U5      PM     nn[        R                  " [        [        S9   [
        R                  " U6 n[        UR                  UR                  UR                  5      5        [        UR                  UR                  UR                  5      5        S S S 5        g s  snf ! , (       d  f       g = fr   )r  r   r   r   r   r   r  r%   r^   r   r   )ra   r?   r  argrs   s        rA   r   TestAnsari.test_bad_arg  s     ,004C

340\\,4IJ,,%CCMM2::bff+=>CJJ

266(:; KJ 1JJs   B9A2B>>
Cc                     UR                  / SQ5      nUR                  / SQ5      nSn[        [        US9   [        R                  " X#SS9  S S S 5        g ! , (       d  f       g = f)Nr  r   rI   rL   rM   z!'alternative' must be 'two-sided'r   fooalternative)r  ri   rj   r   r  )ra   r  r   r   r   s        rA   test_bad_alternativeTestAnsari.test_bad_alternative  sG    ZZ%ZZ%3:U3LLU3 433s   A
A$c                    UR                  / SQ5      nUR                  / SQ5      n[        R                  " X#5      u  pE[        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5      UR                  S   UR                  S   5      nUR                  [        U5      5      n[        Xv-   S	U-   S
S9  [        XuS-  S
S9  [        US	U-   US-  -
  S
S9  [        R                  " X2SS9R                  n	[        R                  " X2SS9R                  n
U	S:  d   eU
S:  d   eg )N)r   r   r  ro   r  g      9@)rP  g      !@      #@g      %@rR  g      )@lessr  greaterffffff?皙?r   r   -q=rJ  r   )
r  r   r  r   r   apmffloatshaper$   )ra   r  r   r   r^   r  pval_lpval_gprobpval_l_reversepval_g_reverses              rA   test_alternative_exact!TestAnsari.test_alternative_exact  s;   ZZ34ZZ9:  ,,r.	b&9@@b)<CC}}}} ||i 0"((1+rxx{Kzz%+&T> 	QU3$tAvE: b&AHHb)DKK$$$$$$rC   zx, y, alternative, expectedr  r  r  g@A?r  r   )r   r   rI   rL   rM   gG$I?g%I$I?r   )rI   rL   rM   c                     UR                  U5      UR                  U5      p![        R                  " XUS9R                  n[	        XeR                  U5      SS9  g )Nr  r  rJ  )r  r   r  r   r$   )ra   rq   rm  r  expectedr  r  s          rA   test_alternative_exact_with_R(TestAnsari.test_alternative_exact_with_R4  sD    8 zz!}bjjm1||Ak:AAjj2?rC   c           	      x   UR                  [        R                  R                  SSSSS95      nUR                  [        R                  R                  SSSSS95      n[        R                  " X#SS9R
                  n[        R                  " X#S	S9R
                  n[        XAR                  S
UR                  S9SS9  [        XQR                  SUR                  S9SS9  UR                  [        R                  R                  SSSSS95      nUR                  [        R                  R                  SSSSS95      n[        R                  " X#5      R
                  n[        R                  " X#SS9R
                  n[        R                  " X#S	S9R
                  n[        XVS-  SS9  [        USUS-  -
  SS9  g )Nr   r   r   {   ry  r   r  r  r  r,   dtyper  rJ  r   r        ?r   )r  r   r   r>   r  r   r$   float64)ra   r  r   r   r  r  r  s          rA   test_alternative_approx"TestAnsari.test_alternative_approxT  sV   ZZ

q!#CHIZZ

q!#CHI b&9@@b)<CC

3bjj
 AN

3bjj
 AN ZZ

q!"3GHZZ

q#BSIJ||B#**b&9@@b)<CCQU3$q&u5rC   r  Nfloat32r  r  r  r   tiesFTc                    [        U5      (       a,  UR                  S:  a  US:X  a  [        R                  " S5        Uc  [	        U5      O
[        XA5      n[        R                  R                  S5      nU(       a  UR                  SSU4S9OUR                  SU4S9u  pg[        R                  " Xg5      n[        R                  " UR                  XaS9UR                  XqS95      n	[        U	R                  UR                  UR                  US95        [        U	R                  UR                  UR                  US95        g )	N2.0r  *Scalar dtypes only respected after NEP 50.l   ]M rI   r   r   r  )r"   __version__r   skipr#   r|  r;   rz  r{  integersr   r  r  r$   r^   r   )
ra   r  r  r  r  r~  rq   rm  r   rs   s
             rA   test_dtypesTestAnsari.test_dtypesi  s     B<<BNNU2u	7IKKDE(- $72;Mii##N3/3s||AQF|+!Q9Pll1 ll2::a:5rzz!z7QRrzz#--uz'MN

BJJszzJ$GHrC   rw   N)rx   ry   rz   r{   r  r  r  r   r   skip_xp_backendsr   r   r  r  r  r  r  r|   rw   rC   rA   r|  r|    sP   ?	?@ [[!!+6U!V[[VrB4jB4*%=>< ? W<4%8 [[% fo	>
i	A
_fo	>
_i	A
9fo	>
9i	A	C@@(6* [[W&BC[[S2s),[[VeT]3	I 4 - D	IrC   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	)
TestBartlettix  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g10r  r   bartlettr$   )ra   r  r?   r  Tr  s         rA   	test_dataTestBartlett.test_dataz  sn    BBBBC8+/04C

340..$'::&789jj9: 1   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   rj   r   r  r  ra   r  rd  s      rA   test_too_few_argsTestBartlett.test_too_few_args  s8    A]]:W5NN2::rd+, 655   '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 Nr^   r   r  )r  r  r  r  r  r  r  r  r  r  r  r   r  r   ra   r  r?   r  rs   rr   s         rA   ru   #TestBartlett.test_result_attributes  sX    BBBBC8+/04C

340nnd#,
C3 1   A5 ignore:invalid value encounteredc                    [         [        [        [        [        [
        [        [        [        [        / 4nU Vs/ s H  o1R                  U5      PM     nn[        [        [        US9   [        R                  " U6 nS S S 5        UR                  UR                   5      n[#        WR$                  U5        [#        UR&                  U5        g s  snf ! , (       d  f       N[= fNr   r  )r  r  r  r  r  r  r  r  r  r  r  r    r   r   r   r  r   r%   r^   r   )ra   r  r?   r  rs   NaNs         rA   test_empty_argTestBartlett.test_empty_arg  s    BBBBC<+/04C

340+3HRP..$'C Q jj s+

C( 1PPs   C)C
C 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$@r  )L$@     $@33333$@gfffff$@)g$@r  r  r  r   )r  r  r   r  r  r^   )ra   r  r  brP  rs   s         rA   test_negative_pvalue_gh21152)TestBartlett.test_negative_pvalue_gh21152  su    JJ/rzzJBJJ32::JFJJ32::JFnnQ1%vvcmmq())))rC   rw   N)rx   ry   rz   r{   r  r  ru   r   r   rU  r  r  r|   rw   rC   rA   r  r  x  s;    ;-
4 [[ BC	) D	)*rC   r  c                   D    \ 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           
      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 )NgYpK?gI{]?r  r  r  r  r  r  r  r  r  r  r  r   levener$   ra   r  r?   r  r  r  s         rA   r  TestLevene.test_data  sn    BBBBC8+/04C

340,,%::&89:jj9: 1r  c           
      N   [         [        [        [        [        [
        [        [        [        [        /
nU Vs/ s H  o1R                  U5      PM     nn[        R                  " USS06u  pE[        XAR                  S5      5        [        XQR                  S5      5        g s  snf )Ncenterrc   g F@g(gX?r  r  s         rA   	test_meanTestLevene.test_mean  st    BBBBC8+/04C

340,,4V4::&678jj):;< 1s   B"c                    UR                  [        5      UR                  [        5      UR                  [        5      4n[        R
                  " USS06u  p4[        R
                  " USSS.6u  pV[        X55        [        XF5        g )Nr  rc   trimmedr   r  proportiontocut)r  r  r  r  r   r  r$   )ra   r  r?   W1pval1W2pval2s          rA   test_trimmed1TestLevene.test_trimmed1  sa     

2

2

2?LL$6v6	LL$y#N	%rC   c           
      P   [         [        [        [        [        [
        [        [        [        [        /
nU Vs/ s H  o1R                  U5      PM     nn[        R                  " USSS.6u  pE[        XAR                  S5      5        [        XQR                  S5      5        g s  snf )Nr
  rO  r  g˼> @gwW?r  r  s         rA   test_trimmed2TestLevene.test_trimmed2  ss    BBBBC8+/04C

340,,YM::&678jj);<= 1s   B#c                    [         R                  " SSS5      n[         R                  R                  S5      nUR	                  U5      nUS-  nUR                  U5      UR                  U5      UR                  U5      pTn[        R                  " X%SS9u  pg[        R                  " XESS9u  p[        Xh5        [        Xy5        g )	Nr  r   r]     Kc r   rc   r  median)	r;   rT  rz  r{  permutationr  r   r  r$   )
ra   r  rq   r~  r   rm  r  r  r  r  s
             rA   test_equal_mean_median!TestLevene.test_equal_mean_median  s    KKAr"ii##J/__QqD::a="**R."**Q-qLLf5	LLx8	%rC   c                     UR                  SSS5      nSn[        R                  " [        US9   [        R
                  " X"SS9  S S S 5        g ! , (       d  f       g = fNr  r   r]  z-center must be 'mean', 'median' or 'trimmed'.r   trimr  )rT  r   r   rj   r   r  ra   r  rq   rd  s       rA   test_bad_center_value TestLevene.test_bad_center_value  sA    KKAr"A]]:W5LLf- 655   A
Ac                     Sn[         R                  " [        US9   [        R                  " UR                  S/5      5        S S S 5        g ! , (       d  f       g = f)N"Must provide at least two samples.r   r   )r   r   rj   r   r  r  r  s      rA   r  TestLevene.test_too_few_args  s7    6]]:W5LLQC) 655r  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 r  )r  r  r  r  r  r  r  r  r  r  r  r   r  r   r  s         rA   ru   !TestLevene.test_result_attributes  sX    BBBBC8+/04C

340llD!,
C3 1r  rw   N)rx   ry   rz   r{   r  r  r  r  r  r!  r  ru   r|   rw   rC   rA   r  r    s*    ;=&>	&.*
4rC   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,   rR   iΙ gX7?i	ϙ g=?iϙ gybw?rV   r   	binomtestr
   r   ra   rS   rs   s      rA   test_two_sided_pvalues1%TestBinomTest.test_two_sided_pvalues1  s     ooh$7

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

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

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

O$?rC   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,  rJ   r]  r-  r  r  gX-h?rR   r   g㤶y?r  g	y}?rL   g+,?r   r  rN  g      ?r   rI  g{Gz?g333333?g<,?r.  r0  s      rA   test_two_sided_pvalues2%TestBinomTest.test_two_sided_pvalues2  s    ooa2.

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

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

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

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

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

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

F6rC   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  rN  r   rR   r   r  gAL &W?rN   r  g!YB?ro   r  gE]t?rL   rI   r  r.  r0  s      rA   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1rC   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  rN  r   r   r   axisc                 H   > [         R                  R                  U TT5      * $ r:   r   binomr  r   r  r  s    rA   <lambda>>TestBinomTest.test_binary_srch_for_binom_tst.<locals>.<lambda>&  s    +0;;??2q!+D*DrC   rV   rR   rL   c                 F   > [         R                  R                  U TT5      $ r:   r>  r@  s    rA   rA  rB  2  s    */++//"a*CrC   )r;   rp   ceilr   r?  r  sumr   intr
   floor)	ra   krt   dy1ixy2r  r  s	          @@rA   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*rC   z"alternative, pval, ci_low, ci_high))r  g$W?r   g?)r  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   rO  r  r  r  r  rR   皙?r  confidence_level	r   r/  r
   r   r   r^   proportion_cilowhighra   r  r  ci_lowci_highrs   cis          rA   test_confidence_intervals1(TestBinomTest.test_confidence_intervals19  se     oobC4[I

Du5S]]C(5)F+<5IrC   ))r  ga&+w?r   gny?)r  g5!Rx?g5%?r,   )rO  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   rR  rQ  rQ   rR   gQ?r5   rS  rU  rY  s          rA   test_confidence_intervals2(TestBinomTest.test_confidence_intervals2H  se     ooa2+F

Dt4S]]D)5)F+<4HrC   zalternative, pval, ci_high))r  gլ?g̓A?)r  r,   r,   )rO  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  rO  r  r  rQ   rR   r  rS  r   )r   r/  r
   r   rV  r   rW  rX  )ra   r  r  r[  rs   r\  s         rA   !test_confidence_interval_exact_k0/TestBinomTest.test_confidence_interval_exact_k0W  sY     ooatE

Dt45RVVS!t4rC   zalternative, pval, ci_low))r  r,   r   )r  6>g@>}_?)rO  rf  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  rO  rc  rQ   rR   r  rS  r,   )r   r/  r
   r   rV  r   rX  rW  )ra   r  r  rZ  rs   r\  s         rA   %test_confidence_interval_exact_k_is_n3TestBinomTest.test_confidence_interval_exact_k_is_nd  sY     oob"+F

Dt45RWWc"T2rC   z+k, alternative, corr, conf, ci_low, ci_high)r   rO  Tr  g`?g?)r   rO  Tr5   grt!?g/?)r   rO  Fr  gVK5?g5dM?)r   rO  Fr5   gXCVu^?g*r[?)r   r  Tr  r   gP-V?)r   r  Tr5   r   g^'?)r   r  Fr  r   gS5a?)r   r  Fr5   r   g?)r   r  Tr  g!Շ`ⰸ?r,   )r   r  Tr5   g$x"?r,   )r   r  Fr  gW~=?r,   )r   r  Fr5   g	L?r,   )r   rO  Tr  r   gX?)r   rO  Fr  r   gN?)r   r  Tr  r   g/<7#9?)r   r  Fr  r   gAA?)r   r  Tr  r   r,   )r   r  Fr  r   r,   )r  rO  Tr  g7?r,   )r  rO  Fr  g؍s?r,   )r  r  Tr  r   r,   )r  r  Fr  r   r,   )r  r  Tr  ghadn?r,   )r  r  Fr  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  rv  rQ  wilsonccwilson)rT  r  rQ   rR   )r   r/  rV  r
   rW  rX  )
ra   rH  r  corrconfrZ  r[  rs   r  r\  s
             rA   test_ci_wilson_method#TestBinomTest.test_ci_wilson_methodq  sT    > ooa2+FFFD)F+<4HrC   c                     [         R                  " SSS5      n[        UR                  S5        [        UR                  S5        g )Nr   r  rO  r,   )r   r/  r   r^   r   ra   rs   s     rA   &test_estimate_equals_hypothesized_prop4TestBinomTest.test_estimate_equals_hypothesized_prop  s2     ooaT*S]]D)SZZ%rC   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   rj   r   r/  )ra   rH  r  s      rA   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  rO  rv  rk   s    rA   test_invalid_k_too_big$TestBinomTest.test_invalid_k_too_big  s7    ]]:!OQOOBD)Q Q Q	   <
A
c                     [         R                  " [        SS9   [        R                  " SS/SS5        S S S 5        g ! , (       d  f       g = f)Nzk must be an integer.r   r  r  r]  rO  )r   r   	TypeErrorr   r/  rk   s    rA   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  rv  r  s     rA   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  rv  r4  z/confidence_level \(-1\) must be in the intervalr   r  rS  r   r/  r   r   rj   rV  )ra   rs   rd  s      rA   test_invalid_confidence_level+TestBinomTest.test_invalid_confidence_level  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  rv  r4  z$method \('plate of shrimp'\) must ber   zplate of shrimpr  r  rr  s     rA   test_invalid_ci_method$TestBinomTest.test_invalid_ci_method  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  rv  ekkirQ  rv  rk   s    rA   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  rv  r4  )r   r/  r   proportion_estimater^   rr  s     rA   
test_aliasTestBinomTest.test_alias  s(    ooa2-S,,cmm<rC   l        z32-bit does not overflowr  c                     [         R                  " [        SS9   [        R                  " SS[
        R                  R                  S9  S S S 5        g ! , (       d  f       g = f)NzError in function...r   r   rI   r  )r   r   OverflowErrorr   r/  sys
float_infor  rk   s    rA   test_boost_overflow_raises(TestBinomTest.test_boost_overflow_raises  s:     ]]=0FGOOAqCNN$6$67 HGGs   /A
A rw   N)rx   ry   rz   r{   __doc__r1  r5  r8  rM  r   r   r   r]  r`  rd  rh  ro  rs  rw  rz  r  r  r  r  r  r  skipifr  maxsizer  r|   rw   rC   rA   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8rC   r*  c                       \ rS rSrSS jr\R                  R                  S/ SQ5      S 5       rS r	\R                  R                  SSS	9S
 5       rS rS rS r\R                  R                  SSS9S 5       rSrg)TestFligner  c                     [         R                  R                  U5      n[         R                  " U5      SUR	                  [        U5      5      -  -   R                  5       $ )Nr,  )r;   rz  r{  r  r  r  tolist)ra   gr~  s      rA   _perturbTestFligner._perturb  sF    ii##C(

1(;(;CF(C CCKKMMrC   r  r  c                    [        U5      (       a,  US:X  a&  UR                  S:  a  [        R                  " S5        Uc  [	        U5      O
[        X!5      nUR                  SUS9n[        R                  " X3S-  5      nUR                  SUS9UR                  SUS94n[        US	   US	   5        [        US
   US
   5        g )Nr  2r  r   r  r   gnf	@gDq?r   r   )r"   r  r   r  r#   r|  rp   r   flignerr  r$   )ra   r  r  r   rs   r   s         rA   r  TestFligner.test_data  s    B<<EY.2>>C3GKKDE(- $72;MYYqY&mmBA&zz,Ez:zz.ez<>AA'AA'rC   c                    [         R                  R                  S5      nUR                  U R	                  [
        US95      nUR                  U R	                  [        US95      nUR                  U R	                  [        US95      n[        R                  " X4USS9u  pg[        R                  " X4USSS9u  p[        Xh5        [        Xy5        g )Nl   !Cj"	 r  rc   r  r
  r   r  )r;   rz  r{  r  r  r  r  r  r   r  r$   )
ra   r  r~  g1_g2_g3_Xsq1r  Xsq2r  s
             rA   r  TestFligner.test_trimmed1  s     ii##J/jjrs34jjrs34jjrs34 mmCc&AmmCc)479#%rC   Tz)inconsistent tie-breaking across backendsnp_onlyr  c           
      \   [         [        [        [        [        [
        [        [        [        [        /
nU Vs/ s H  o1R                  X1R                  S9PM     nn[        R                  " USSS.6u  pE[        XAR                  S5      SS9  [        XQR                  S5      SS9  g s  snf )	Nr  r
  rO  r  gP:/@vIh%,=rR   gs4@S_?)r  r  r  r  r  r  r  r  r  r  r  r  r   r  r$   r  s         rA   test_trimmed_nonregression&TestFligner.test_trimmed_nonregression  s     BBBBC8=ABTc

3jj
1TB--iN::&89Fjj)<=EJ Cs   "B)c           
      ^   [         R                  R                  S5      n[        [        [
        [        [        [        [        [        [        [        /
nU Vs/ s H  o@R                  XBS9PM     nn[        R                  " USSS.6nU Vs/ s H  oAR!                  XAR"                  S9PM     nn[        R                  " USSS.6n[%        UR&                  UR!                  UR&                  5      SS9  [%        UR(                  UR!                  UR(                  5      SS9  g s  snf s  snf )	Nl   7m@ r  r
  rO  r  r  r  rR   )r;   rz  r{  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r$   r^   r   )ra   r  r~  r?   r  r   rs   s          rA   test_trimmed_consistency$TestFligner.test_trimmed_consistency  s    ii##J/BBBBC87;<tc+t<mmT)TJ=ABTc

3jj
1TBmmT)TJrzz#--'@uM

BJJszz$:G =Bs   D%"D*c                     UR                  SSS5      nSn[        R                  " [        US9   [        R
                  " X"SS9  S S S 5        g ! , (       d  f       g = fr  )rT  r   r   rj   r   r  r   s       rA   r!  !TestFligner.test_bad_center_value  sA    KKAr"A]]:W5MM!v. 655r#  c                     Sn[         R                  " [        US9   [        R                  " UR                  SS/5      5        S S S 5        g ! , (       d  f       g = f)Nr%  r   r   r   )r   r   rj   r   r  r  r  s      rA   test_bad_num_argsTestFligner.test_bad_num_args  s:    6]]:W5MM"**aV,- 655s   (A
Ar  lazy -> no _axis_nan_policyr  c                    UR                  S5      n[        R                  " [        [        S9   [
        R                  " X"S-  UR                  / 5      5      nS S S 5        [        WR                  UR                  UR                  5      5        [        UR                  UR                  UR                  5      5        g ! , (       d  f       Nm= f)N      @r   r   )rp   r   r   r   r   r   r  r  r%   r^   r   r   ra   r  rq   rs   s       rA   r  TestFligner.test_empty_arg  s    IIbM\\,4IJ--a4B8C Krzz"&&'9:

BJJrvv$67 KJs   *C  
Crw   N)l   \v7F )rx   ry   rz   r{   r  r   r   r   r  r  r  r  r  r!  r  r  r|   rw   rC   rA   r  r    s    N
 [[W&BC
( D
(& [[!!$)T " V	KV	K	H/. [[!!+6S!T8 U8rC   r  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   r  r   )rW  rX  r   r   r   r  )		enumerater;   rz  r{  r  ziprangeshufflesplit)expected_resultsseedssir  r~  xytie_indnum_ties_per_indrt   r  jrq   rm  s                rA   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      \R
                  R                  S/ SQ5      S 5       5       r	\R
                  R                  S	S
S9S 5       r\R
                  R                  S	S
S9S 5       r\R
                  R                  S	S
S9\R
                  R                  SS\" 5       4S/5      S 5       5       r\R
                  R                  S	S
S9\R
                  R                  SS\" 5       4S/5      S 5       5       r\R
                  R                  S	S
S9S 5       r\R
                  R                  S/ SQ5      S 5       rSrg)TestMoodi;  z$x,y,alternative,stat_expect,p_expectc                    UR                  UR                  5       5      UR                  UR                  5       5      p![        R                  " XUS9u  px[	        XvR                  U5      SS9  [	        XR                  U5      S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;
r  gؗҜ<rJ  N)r  r  r   moodr$   )	ra   rq   rm  r  stat_expectp_expectr  r^   r   s	            rA   test_against_SASTestMood.test_against_SAS=  sb    < zz!((*%rzz!((*'=1!JJqE		::k#:G

8 45ArC   r  r  zalternative, expected))rO  )3oXQ?gpL?)r  )r  gԣl?)r  )r  gpL?c                    [        U5      (       a,  UR                  S:  a  US:X  a  [        R                  " S5        Uc  [	        U5      O
[        XA5      n/ SQn/ SQnUR                  XQS9UR                  XaS9pe[        R                  " XVUS9n[        UR                  UR                  US   US95        [        UR                  UR                  US	   US95        g )
Nr  r  !Pre-NEP 50 doesn't respect dtypesr  r  r  r  r   r   )r"   r  r   r  r#   r|  r  r   r  r$   r^   r   )ra   r  r  r  r  rq   rm  rs   s           rA   test_against_SAS_2TestMood.test_against_SAS_2`  s     B<<BNNU2u	7IKK;<(- $72;M<=zz!z)2::a:+E1jj;7rzz(1+Uz'KL

BJJx{%J$HIrC   r  r  r  c                 P   [         R                  R                  S5      nUR                  UR	                  S5      5      nUR                  UR	                  S5      5      n[
        R                  " X45      u  pV[
        R                  " XC5      u  px[        Xu* 5        [        X5        g )Nr  )r  r   )ro   r   )r;   rz  r{  r  r  r   r  r$   )	ra   r  r~  r   r   z1p1z2p2s	            rA   test_mood_order_of_args TestMood.test_mood_order_of_argsv  s|     ii##J/ZZ++G45ZZ++G45B#B#C rC   c                 V   / SQn/ SQnUR                  UR                  U5      S5      nUR                  UR                  U5      S5      n[        R                  " X#S S9n[	        UR
                  UR                  S5      5        [	        UR                  UR                  S5      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   )ro   r   r;  g4g^}E	?)reshaper  r   r  r$   r^   r   )ra   r  r   r   rs   s        rA   test_mood_with_axis_none!TestMood.test_mood_with_axis_none  s    4	H ZZ

20ZZ

20jjd+rzz.'AB

BJJ}$=>rC   zrng_method, argsr  )r  )rM   c                    Sn[         R                  R                  5       n[        XQ5      nU" USSU406nU" USSU406nUR                  n[
        R                  " UR                  XhS9UR                  XxS95      n	[        U5       H  n
[
        R                  " US S 2U
4   US S 2U
4   5      n[        U	R                  U
   UR                  UR                  5      5        [        U	R                  U
   UR                  UR                  5      5        M     UR                  5       nUR                  5       n[
        R                  " UR                  XhS9UR                  XxS9SS9n	[        U5       H  n[
        R                  " XlS S 24   X|S S 24   5      n[        U	R                  U   UR                  UR                  5      5        [        U	R                  U   UR                  UR                  5      5        M     g )Nr   r   r  ro   r  r   r;  )r;   rz  r{  r|  r  r   r  r  r  r$   r^   r   	transpose)ra   
rng_methodr?   r  nyr~  r   r   r  rs   r  r   rt   s                rA   test_mood_2dTestMood.test_mood_2d  s    ii##%S-
-RH--RH-

jjB4bjjj6QRrA**R1Xr!Q$x0CCMM!,bjj.GHCJJqM2::cjj+AB  \\^\\^jjB4bjjj6Q! rA**R1XrQ$x0CCMM!,bjj.GHCJJqM2::cjj+AB	 rC   c                    Sn[         R                  R                  S5      n[        XQ5      nUR	                  U" USU065      nUR	                  U" USU065      n[        S5       H  n[        R                  " XgUS9n	SS/SS/SS/4n
[        XJU   S      5       H  n[        XJU   S      5       H  nUS:X  a  US S 2X4   nUS S 2X4   nO+US:X  a  XkS S 2U4   nX{S S 2U4   nOXkUS S 24   nX{US S 24   n[        R                  " X5      n[        U	R                  X4   UR                  5        [        U	R                  X4   UR                  5        M     M     M     g )	N)r  r   rI   l   |n- r   r   r;  r   r   r   )r;   rz  r{  r|  r  r  r   r  r$   r^   r   )ra   r  r?   r  r  r~  r   r   r<  rs   axes_idxrt   r  slice1slice2r   s                   rA   test_mood_3dTestMood.test_mood_3d  sa    ii##J/S-
ZZ
D5u56ZZ
D5u56!HD**R$/C AAA/H5$!234ud^A%678Aqy!#AqG!#AqG!#q!G!#q!G!#q!G!#q!G**V4C#CMM!$$7G#CJJqt$4cjjA 9 5 rC   c                    [         R                  " [        [        S9   [        R
                  " UR                  S/5      UR                  / 5      5      n[        UR                  UR                  [        R                  5      5        [        UR                  UR                  [        R                  5      5        S S S 5        g ! , (       d  f       g = f)Nr   r,   )r   r   r   r   r   r  r  r%   r^   r;   r   r   ra   r  rs   s      rA   test_mood_bad_argTestMood.test_mood_bad_arg  sz     \\,4IJ**RZZ-rzz"~>CCMM2::bff+=>CJJ

266(:; KJJs   BC
Cc                    [        U5      (       a,  UR                  S:  a  US:X  a  [        R                  " S5        Uc  [	        U5      O
[        X!5      n[        R                  R                  S5      n[        R                  R                  SSUS9n[        R                  R                  SSUS9nUR                  XAS	9UR                  XQS	9pT[        R                  " XES
S9u  pg[        R                  " XESS9u  p[        R                  " XESS9u  pXhs=:X  a  U
:X  d   e   e[        XrR                  SUS	9SS9  [        XR                  US-  US	95        [        XR                  SUS-  -
  US	95        [        R                  " [         SS9   [        R                  " XESS9  S S S 5        g ! , (       d  f       g = f)Nr  r  r  r         ?r   )r   r   r   g      ?r  rO  r  r  r  r   Hz>rJ  r   r   z`alternative` must be...r   r  )r"   r  r   r  r#   r|  r;   rz  r   r   r   r>   r  r  r$   r   rj   )ra   r  r  r~  rq   rm  stat1r  stat2r  stat3p3s               rA   test_mood_alternativeTestMood.test_mood_alternative  se   B<<BNNU2u	7IKK;<(- $72;Mii##A&JJNNCcNBJJNNCcNBzz!z)2::a:+E1JJq=	JJq8	JJq;	&&&&&&JJrJ7dCJJr!t5J9:JJq2a4xuJ=>]]:-GHJJq5 IHHs   F11
F?rw   N)rx   ry   rz   r{   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r|   rw   rC   rA   r  r  ;  s   [[C135B5BB [[W&BC[[4@AJA DJ [[!!+6S!T	  U	  [[!!+6S!T? U?6 [[!!+6S!T[[/3Deg2N2D2F GCG UC8 [[!!+6S!T[[/3Deg2N2D2F GBG UB: [[!!+6S!T< U< [[W&BC6 D6rC   r  c                       \ rS rSrS rS rS r\R                  R                  \
(       + SS9S 5       rS rS	 rS
 rSrg)TestProbploti  c                    [         R                  R                  SSS9n[         R                  " USS9u  p#/ SQn[	        U[
        R                  " U5      5        [	        X$5        [         R                  " USS9u  pV/ SQn[	        Xg5        g )	Nr  90  ry  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
   r;   sort)ra   rq   osmosrosm_expectedrs   res_fitres_fit_expecteds           rA   rf   TestProbplot.test_basic  sn    JJNNN7>>!/G
 	RWWQZ(*~~aT2?2rC   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@ ry  Fsparamsr  r   rw   )r   r   r>   r
  r
   )
ra   rq   osm1osr1osm2osr2osm3osr3r  r  s
             rA   test_sparams_keyword!TestProbplot.test_sparams_keyword  s    JJNN&N9 ^^At?
^^Aqe<
^^Aru=
####>>!RU;SrC   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  ry  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)ra   qs     rA   r"  7TestProbplot.test_dist_keyword.<locals>.custom_dist.ppf(  s    zz~~aQ~//rC   rw   N)rx   ry   rz   r{   r  r"  r|   rw   rC   rA   custom_distr   &  s
    H0rC   r%  )r   r  )r)  r  )	r   r   r>   r
  r  r
   ri   rj   AttributeError)ra   rq   r  r  r  r  r%  s          rA   test_dist_keywordTestProbplot.test_dist_keyword  s    JJNNN7^^A5sDI
^^A5uwwM
##j%..!:KLnennabA	0 	0
 ^^At?
^^AKMuE
##rC   no matplotlibr  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 ry  plotF)r  r-  r   )pltfigureadd_subplotr   r  r>   r
  closer	   r  r
   )
ra   figrq   res1fitres1res2fitres2res3res4axs
             rA   test_plot_kwargTestProbplot.test_plot_kwarg0  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"-		rC   c                 B    [        [        [        R                  S/SS9  g r&  )ri   rj   r   r
  rk   s    rA   test_probplot_bad_args#TestProbplot.test_probplot_bad_argsI  s    j%..1#<MNrC   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
  r;   rL  r   rk   s    rA   
test_emptyTestProbplot.test_emptyM  ss    U^^BE2hhrlBHHRL1	3U^^BD1xx|RXXb\2vvrvvs+-	.rC   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   )
r;   r  r   r   r   r   r   r
  rL  r   r  s     rA   test_array_of_size_one#TestProbplot.test_array_of_size_oneT  s    @kk(+ll-W=688RD>288QC=966266266245 > ,+== ,+s#   CA<B>-C>
C	C
Crw   N)rx   ry   rz   r{   rf   r  r'  r   r   r  have_matplotlibr:  r=  r@  rF  r|   rw   rC   rA   r  r    sM    3<$( [[O+OD E0O.5rC   r  c                   p   \ rS rSrS rS rS rS rS r\	R                  R                  SSS	0S
S	0S
S0/5      S 5       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\	R                  R                  S/ SQ/ SQ/ SQ/5      S 5       rS r\	R                  R*                  \	R                  R-                  SS9S 5       5       r\	R                  R                  S/ SQ5      \	R                  R-                  SS9S  5       5       rS! r\	R                  R                  SS"S/5      S# 5       r\	R                  R                  SS"\R8                  " 5       45      S$ 5       r\	R                  R-                  S%S&S'9S( 5       rS)rg*)+TestWilcoxoni]  c                    UR                  SS/5      nUR                  S/S-  5      nSn[        R                  " [        US9   [        R
                  " X"S5        S S S 5        Sn[        R                  " [        US9   [        R
                  " X"SS	9  S S S 5        S
n[        R                  " [        US9   [        R
                  " USS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       NY= f! , (       d  f       g = f)Nr   r   r  z`zero_method` must be one of...r   zdummy...z`alternative` must be one ofdummyr  z`method` must be one of...xyzr  )r  r   r   rj   r   wilcoxon)ra   r  rq   rI  rd  s        rA   test_wilcoxon_bad_arg"TestWilcoxon.test_wilcoxon_bad_arg_  s     JJ1vJJs2v3]]:W5NN1, 60]]:W5NN1W5 6.]]:W5NN1U+ 65 65 65 65s$   C?C(8C9
C%(
C69
Dc                 r   UR                  S5      n[        R                  " SS9   [        R                  " X"SSS9u  p4[        X1R                  S5      5        [        XAR                  UR                  5      5        [        R                  " X"SSS9u  p4[        X1R                  S5      5        [        XAR                  UR                  5      5        S S S 5        [        R                  " X"S	SS9u  p4[        X1R                  S
5      5        [        XAR                  S5      5        g ! , (       d  f       N[= f)Nr  r  rD  wilcox
asymptoticr  r   prattzsplitg     @Z@r,   )rp   r;   r  r   rN  r%   r  r   )ra   r  rq   r   r  s        rA   test_zero_diffTestWilcoxon.test_zero_diffn  s    IIbM [[*>>!FDAAzz#/Azz"&&12>>!EDAAzz#/Azz"&&12 + ~~aH\B::g./::c?+ +*s   B-D((
D6c                    UR                  / SQ5      nUR                  / SQ5      n[        R                  " X#SSSS9n[        UR                  UR                  S5      5        [        UR
                  UR                  S5      5        g )	Nr  )r   r   r   r   rT  rS  F)zero_methodr  
correctionr   g|N?)r  r   rN  r$   r^   r   )ra   r  rq   rm  rs   s        rA   
test_prattTestWilcoxon.test_pratt~  se     JJ|$JJ|$nnQw|(-/rzz#7

BJJ/B$CDrC   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   rT  rS  )rY  r  rU  rR  )r   rN  )ra   arrrV  s      rA   test_wilcoxon_arg_type#TestWilcoxon.test_wilcoxon_arg_type  s?     1NN3GLINN3H\JNN3H\JrC   c           
      *   / SQn[        SS5      nUR                  [        R                  " [	        X25       VVs/ s H  u  pEU/U-  PM     snn5      5      nUR                  U5      n[        R                  " XgSSSS9u  p[        XR                  S5      5        [        XR                  S	5      5        [        R                  " XgS
SSS9u  p[        XR                  S5      5        [        XR                  S5      5        [        R                  " XgSSSS9u  p[        XR                  S5      5        [        XR                  S5      5        UR                  / SQ5      nUR                  / SQ5      n[        R                  " XgSSS9u  p[        XR                  S5      5        [        XR                  S5      5        [        R                  " XgSSS9u  p[        XR                  S5      5        [        XR                  S5      5        g s  snnf )N)	r   r   r  ro   rM   r   r   r   r   r   rT  rS  Fr  rZ  g     pz@g.i?rU  g     {@gFYv]Uj?rR  g     pt@g%^ Ez?r  r  r  r%        y   r      r     p         w   rA  rj     r@  r  s   rg  r     rZ  r  r  g[ӂ<?TgzM+?)
r  r  r;   concatenater  
zeros_liker   rN  r$   r%   )
ra   r  freqnumsur  rq   rm  r  r  s
             rA   test_accuracy_wilcoxon#TestWilcoxon.test_accuracy_wilcoxon  s   ,R|JJr~~3t?&K?41sQw?&KLMMM!~~aGL).0::d+,::&;<=~~aH\).0::d+,::&;<=~~aH\).0::d+,::&678
 JJSTJJST~~au\J::c?+::&89:~~atLI::c?+::&89:9 'Ls   Hkwargr  approxmoderS  c                 ,   UR                  / SQ5      nUR                  / SQ5      n[        R                  " X4S40 UD6n[        R                  " X4SSS9n[        UR                  UR                  5        [        UR
                  UR
                  5        g )N)r   r   r  rL      r  r0  r   rM   rH  rJ   r  )r   r  r   r  r   r   rK   r  r  rK      r`  rR  rS  r  )r  r   rN  r%   r^   r   )ra   rz  r  rq   rm  rs   r   s          rA   test_approx_modeTestWilcoxon.test_approx_mode  sm    
 JJBCJJCDnnQ85u5nnQ8LAs}}5

CJJ/rC   c                     UR                  / SQ5      nUR                  / SQ5      n[        R                  " X#SSS9nSn[        XEUS9  g )Nrd  rk  FrS  rr  r  r  )r  r   rN  r   )ra   r  rq   rm  rs   rr   s         rA   test_wilcoxon_result_attributes,TestWilcoxon.test_wilcoxon_result_attributes  sA    JJSTJJSTnnQeLI,
C3rC   c                    [         R                  R                  S5      nUR                  S5      UR                  S5      pCUR                  U5      UR                  U5      pC[        R
                  " X4SS9n[        R                  " UR                  S-  5      n[        UR                  U5        [        R
                  " X4SS9n[        US5      (       a   e[        R
                  " X45      n[        US5      (       a   eg )Nl   	m$S ro   rS  r  r   exact
zstatistic)r;   rz  r{  r  r   rN  r   ndtrir   r$   r  rl  )ra   r  r~  rq   rm  rs   r   s          rA   test_wilcoxon_has_zstatistic)TestWilcoxon.test_wilcoxon_has_zstatistic  s    ii##K0zz"~szz"~1zz!}bjjm1nnQ,7mmCJJqL),nnQ'23----nnQ"3-----rC   c                 L   UR                  S/S-  5      nUR                  S5      n[        R                  " USSS9u  pEUR                  S5      n[        XC5        [	        XV5        [        R                  " USSS9u  pEUR                  S	5      n[        XC5        [	        XV5        g )
Nrv  r  r   rS  Frc  g4ťY?TgD2_?)r  r   rN  r%   r$   )ra   r  rI  expected_statstatr  
expected_ps          rA   test_wilcoxon_tieTestWilcoxon.test_wilcoxon_tie  s     JJurz"

3..<EJZZ 45
,&..<DIZZ 34
,&rC   r  r  c                    [        U5      (       a,  UR                  S:  a  US:X  a  [        R                  " S5        Uc  UO
[	        X!5      nUR                  / SQUS9nUR                  / SQUS9nUR                  SUS9n[        R                  " X4SS	S
S9u  pg[        Xe5        [        XrR                  SUS95        [        R                  " X4SSS	S9u  pg[        Xe5        [        XrR                  SUS95        [        R                  " X4SS	S
S9u  pg[        Xe5        [        XrR                  SUS95        [        R                  " X4SSS	S9u  pg[        Xe5        [        XrR                  SUS95        g )Nr  r  z*dtypes not preserved with pre-NEP 50 rules)
}   rp  r     r  rp  r  r  r  rB  r  )
r  z   r  r  r  |   r     rB           ;@r  rS  F)r  r  rZ  g}5}?T)r  rZ  r  gfh%?r  g?gNCJT?)
r"   r  r   r  r|  r  r   rN  r%   r$   )ra   r  r  rq   rm  w_refr   r  s           rA   test_onesidedTestWilcoxon.test_onesided  sP    B<<BNNU2u	7IKKDEGB,>JJIQVJWJJIQVJW

4u
-~~a|).0!::oU:CD~~a4%13!::m5:AB~~a	%1eE!::oU:CD~~a	)-lD!::oU:CDrC   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  rE  r   )ra   r  pmf1pmf2s       rA   test_exact_basicTestWilcoxon.test_exact_basic  sX    q"A&q)D'*DaCQD	2TA&%d1 rC   c                    Uc  UO
[        X!5      nUR                  / SQUS9nUR                  / SQUS9n[        R                  " X4SSS9u  pV[	        XbR                  SUS95        [        R                  " X4SSS9u  pV[	        XbR                  S	US95        [        R                  " X4S
SS9u  pV[	        XbR                  SUS95        UR                  SSUS9S-   nUR                  SSSUS9n[        R                  " X4SSS9u  pV[	        XbR                  SUS95        [        R                  " X4SSS9u  pV[	        XbR                  SUS95        [        R                  " X4S
SS9u  pV[	        XbR                  SUS95        g )N)
g(\?g=
ףp=?g(\?gQ޿gQ?g{Gz?gp=
ףgq=
ףp?g      gQ?r  )
r   g?gɿg333333?皙gܿgzGgQοg(\gRQrO  r  r  r  g      ?r  g?  ?r  g      ?r   g      4@rN        g    ?g?g    ?)r|  r  r   rN  r$   rp   )ra   r  r  rq   rm  rV  r  s          rA   test_exact_pvalTestWilcoxon.test_exact_pval  sr    GB,>JJ %,1  3JJ &-2  4~~aGL::j:>?~~awG::m5:AB~~a	'J::k:?@IIb#UI+c1IIc2s%I0~~aGL::&8:FG~~awG::&8:FG~~a	'J::&8:FGrC   rq   )r  r  r   )r  r   rH  rb  r   )r  r  r   rb  r  irL   rM   c                 "   [         R                  " UR                  U5      5      u  p4[        R                  " U5      nXS:     R                  5       n[        X2R                  [        U5      5      5        [        XBR                  S5      5        g Nr   r,   )r   rN  r  r;   rL  rE  r%   r  )ra   rq   r  r   r  wtrues         rA   test_exact_p_1TestWilcoxon.test_exact_p_1<  s_     ~~bjjm,HHQKa%::eEl34::c?+rC   c           	      F   UR                  SS5      S-   nUR                  SSS5      n[        [        R                  " X#5      R                  [        R                  " X#SS9R                  5        [        U5      (       ac  [        R                  " 5       n[        R                   " SS5      n[        R                  " U5      u  pg[        Xg4[        R                  " XTS95        UR                  S	S
5      n[        R                  " U5      u  p[        [        R                  " USS9R                  UR                  U5      5        [        R                  " U5      US:H     R                  S5      n[        R                  " U5      u  p[        [        R                  " USS9R                  UR                  U5      5        UR                  SS5      n[        R                  " U5      u  p[        [        R                  " USS9R                  UR                  U5      5        g )Nr   g      I@rN  r  r  r  r  r   r  rJ   rS  r   r   r  )rp   r%   r   rN  r   r"   r<  r;   r   r  xpxatset)	ra   r  rq   rm  pmrI  r   r  rV  s	            rA   	test_autoTestWilcoxon.test_autoF  s   IIb#$IIc2s#q,33qG<CC	E B<<((*B		"a A>>!$DA
 !!=> IIb!~~a q>EErzzRS}UFF1Ia1f!!!$~~a q>EErzzRS}U IIa~~a q>EErzzRS}UrC   T)r  c                    [         R                  " SS5      n[        R                  " UR	                  U5      5      nUR	                  SS/5      u  pE[        UR                  U5        [        UR                  U5        SX"S:H  '   [        R                  " UR	                  U5      5      nUR	                  SS/5      u  pE[        UR                  U5        [        UR                  U5        g )	Nr  rM   g     ;@g     P?r   r   r6  g     0?)r;   rp   r   rN  r  r%   r^   r   )ra   r  rI  rs   r   r  s         rA   test_auto_permutation_edge_case,TestWilcoxon.test_auto_permutation_edge_casef  s    
 IIb!nnRZZ]+zz4./q)

A&q&	nnRZZ]+zz2|,-q)

A&rC   r   )r   r   r  c                 z   [         R                  R                  S5      nUR                  UR                  US95      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R                  US-  S95      n[         R                  R                  S5      n[        R                  " SUS9n[        R
                  " XGS9n[         R                  R                  S5      n[        R                  " SUS	9n[        R
                  " XGS9n[        UR                  UR                  S
5      UR                  5        [        UR                  UR                  5        g )Nl   aQG1X@
r   r  r  r  l   VsWFr  r  )r  r   r   )r;   rz  r{  r  r   rN  r<  r%   r^   r   r  )ra   r   r  r~  rq   rs   r   r  s           rA   test_permutation_method$TestWilcoxon.test_permutation_methodz  s5    ii##$56JJszztz,-nnQu'>'>'@AnnQw/s}}5

CJJ/JJszztBwz/0ii##$56$$=nnQ*ii##$56$$#FnnQ*Q/<

CJJ/rC   c                    [         R                  R                  S5      nUR                  SS9n[         R                  US'   UR                  U5      n[        R                  " U5      n[        R                  " USS9n[        UR                  UR                  5        [        UR                  UR                  5        [        US5      (       d   e[        US5      (       a   eg )Nl   HF )Z )r  r   r   )r   r   rS  r  r  )r;   rz  r{  normalr   r  r   rN  r$   r^   r   rl  )ra   r  r~  r	  rs   r   s         rA   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$&&$JJqMnnQnnQ|4s}}5

CJJ/sL))))3-----rC   r  c                    UR                  / SQ5      nUR                  / SQ5      n[        R                  " X4SUS9n[        R                  " XCSUS9nUR                  S   UR                  S   S-   -  S-  n[	        UR
                  5      UR
                  :w  d   e[        XvR
                  -
  UR
                  5        [        UR                  UR                  5        g )	N)
r  r9  rk  r  rW  r  r  r  r  r_  )
r	  r	  E   rk  rh  r	  r  rF   r  r  r  r  r  r   r   r   )r  r   rN  r  rF  r^   r$   r   )ra   r  r  var1var2r   rs   max_statistics           rA   test_symmetry_gh19872_gh20752*TestWilcoxon.test_symmetry_gh19872_gh20752  s     zzBCzzBCnnTVFKnnTYvN

1A):;a?3==!S]]2225s}}E

CJJ/rC   c                    US:w  a  [         R                  " S5        [        R                  " UR	                  S5      US9n[        UR                  UR                  S5      5        [        UR                  UR                  S5      5        g )Nr  z5PermutationMethod is NumPy-only until gh-23772 mergesr   r  r   r,   )	r   r  r   rN  zerosr$   r^   r  r   )ra   r  r  rs   s       rA   test_all_zeros_exact!TestWilcoxon.test_all_zeros_exact  s]    
 WKKOPnnRXXa[8rzz"~6

BJJrN3rC   r  zlazy->limited input validationr  c                 "   UR                  / SQ5      nUR                  / SQ5      nSn[        R                  " [        US9   [        R
                  " X#S S 5        S S S 5        [        U5      (       d  g Sn[        R                  " [        US9   [        R
                  " X#S S SS9  S S S 5        [        [        S	S 5      =(       d    [        R                  R                  nS
n[        R                  " XTS9   [        R
                  " X#SS9  S S S 5        Sn[        R                  " XTS9   [        R
                  " X#SSS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nf= f! , (       d  f       g = f)Nr   r   r   rI   z/Array shapes are incompatible for broadcasting.r   r  z0operands could not be broadcast together with...T)_no_deco	AxisErrorz8source: axis 3 is out of bounds for array of dimension 1r   r;  z+`axis` must be compatible with the shape...)r<  r  )r  r   r   rj   r   rN  r"   r|  r;   
exceptionsr  )ra   r  rq   rm  rd  r  s         rA   .test_wilcoxon_axis_broadcasting_errors_gh22051;TestWilcoxon.test_wilcoxon_axis_broadcasting_errors_gh22051  s   
 JJy!JJy!C]]:W5NN1f% 6 ||D]]:W5NN1ft4 6 BT2Mbmm6M6M	L]]94NN1a( 5 @]]94NN1a$7 54! 65 65
 54 54s0   EE9E/-F 
E
E,/
E= 
Frw   N) rx   ry   rz   r{   rO  rV  r[  r_  rx  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r<  r  r  r|   rw   rC   rA   rJ  rJ  ]  s   ,, EK;B [[W
H	1FL3IJL0L04.', [[W&BC$E D$EL2 [[W&BCH DHD [[S;#5#@#B C,C,V@ [[[[!!$!/' 0 '$ [[VZ0[[!!$!/0 0 10(.$ [[X'>?
0 @
0 [[X1H1H1J'KL4 M4 [[!!+6V!W8 X8rC   rJ  )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  r  )gHQ,?glZ)rI?g88}?gcJN?rS  rR   r   )orderr   r   r  g{Gz?{Gz?rQ  )r;   rz  r   r  randnr  stackr   kstatr  r$   moment)
ra   r  r~  rb   r  momentsr  m1m2m3s
             rA    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r  c                     [        [        [        US9   [        R                  " UR                  / 5      5      nS S S 5        [        WUR                  UR                  5      5        g ! , (       d  f       N4= fr  )r    r   r   r   r  r  r%   r   r  s      rA   rl   TestKstat.test_empty_input  sM    +3HRP++bjjn-C QRZZ/0 QPs   &A((
A6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 NrT   rI   rp   wherer   r%   r   r  r  ra   r  rb   s      rA   r   TestKstat.test_nan_input  I    yy~xx	26640D)2::bff+=>rC   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  )rp   r   r   rj   r   r  )ra   r  r  rb   rd  s        rA   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 r:   )r   r  r  x_kstatr$   )ra   r  r  r  r   rs   s         rA   test_against_RTestKstat.test_against_R  s4     kk"**W-q1ZZ_-rC   rw   N)rx   ry   rz   r{   r  r   r   rU  rl   r   r   r  r  r|   rw   rC   rA   r  r    s    U [[ BC1 D1
? [[S1e*-# .# [[V &? @.	@.rC   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)TestKstatVari  r  c                     UR                  / 5      n[        [        [        US9   [        R
                  " U5      nS S S 5        [        WUR                  UR                  5      5        g ! , (       d  f       N4= fr  )r  r    r   r   r   kstatvarr%   r   r  s       rA   rl   TestKstatVar.test_empty_input  sR    JJrN+3HRP..#C QRZZ/0 QPs   A**
A8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      rA   r   TestKstatVar.test_nan_input  r  rC   Tz2input validation of `n` does not depend on backendr  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   rj   r   r  )ra   r  rb   r  rd  s        rA   r   TestKstatVar.test_bad_arg%  s;     s.]]:W5NN4% 655s	   ?
Ac                 z   [        [        5      nSnSn[        R                  " UR	                  [        5      S5      nX2-  n[        XQR	                  U5      5        [        R                  " UR	                  [        5      S5      nSUS-  -  U-  US-
  U-  -   X"S-   -  -  n[        XQR	                  U5      5        g )Nr  r  r   r   )r  r  r   r  r  r$   )ra   r  r  k2k4rs   r   s          rA   test_against_R_mathworld%TestKstatVar.test_against_R_mathworld/  s    
 LnnRZZ0!4fZZ_-nnRZZ0!4QwqyAaC8#qS	2ZZ_-rC   rw   N)rx   ry   rz   r{   r   r   rU  rl   r   r  r   r  r|   rw   rC   rA   r  r    sO    [[ BC1 D1? dQS&S&.rC   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)TestPpccPlotiB  c                 *    [        SSSS9S-   U l        g Nr     r+  ry  rB   rq   rk   s    rA   setup_methodTestPpccPlot.setup_methodC      "13WEIrC   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_plotrq   r
   r;   rT  )ra   r  svalsppccppcc_expecteds        rA   rf   TestPpccPlot.test_basicF  sG    oodffc2;%r{{3:;,rC   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;rR   )r   r  rq   r  r
   )ra   svals1ppcc1svals2ppcc2svals3ppcc3s          rA   	test_distTestPpccPlot.test_distN  s    RmLR-2->->@U351R8U351rC   r)  r  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/  r0  r   r  rq   delaxesr1  ra   r2  r9  s      rA   r:  TestPpccPlot.test_plot_kwargZ  sm     jjl__S!Rc2B __S!Rb1		rC   c           	          [        [        [        R                  U R                  SS5        [        [        [        R                  / SQSSSS9  g )Nr   r   r   r'  r(  )ri   rj   r   r  rq   rk   s    rA   test_invalid_inputs TestPpccPlot.test_invalid_inputsg  s5    j%//4661a@ 	j%//9a,	.rC   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
   r;   rT  r  r  )ra   r  r  s      rA   r@  TestPpccPlot.test_emptyo  sD     oob!Q/r{{1aR89bhhr78rC   rq   N)rx   ry   rz   r{   r  rf   r  r   r   r  rH  r:  r%  r@  r|   rw   rC   rA   r  r  B  sH    J-
2 [[O+OD
 E
.9rC   r  c                   ,    \ rS rSrS rS rS rS rSrg)TestPpccMaxix  c                 F    S/n[        [        [        R                  USS9  g r&  )ri   rj   r   ppcc_maxr   s     rA   test_ppcc_max_bad_arg!TestPpccMax.test_ppcc_max_bad_argy  s    sj%..$=NOrC   c                     [         R                  R                  SSSSSS9S-   n[        [         R                  " U5      SS	S
9  g )Nffffffr   rN  '   r        @{rL   rY   )r   r  r>   r   r-  r   s     rA   test_ppcc_max_basicTestPpccMax.test_ppcc_max_basic~  sF    !!$ASu/6 " 8:=>ENN1-/CQOrC   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 )Nr1  r   rN  r2  r3  r   r4  r  r(  r5  r   rY   )r   r  r>   r-  r   )ra   rq   max1max2max3s        rA   r  TestPpccMax.test_dist  s    !!$ASu/6 " 8:=> ~~am4~~ae&7&78D"6BD"6B ~~a D"6BrC   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 )Nr1  r   rN  r2  r3  r   r4  )r   r,   rN  brack)r   r   r5  rL   rY   r  r   )r   r  r>   ri   rj   r-  r   r   s     rA   
test_brackTestPpccMax.test_brack  sx    !!$ASu/6 " 8:=>j%..!?KENN1F;0!	= 	ENN1G<0!	=rC   rw   N)	rx   ry   rz   r{   r.  r6  r  rA  r|   rw   rC   rA   r+  r+  x  s    P
P
C	=rC   r+  c                       \ rS rSr\R
                  R                  SSS/5      S 5       r\" SSS9S	 5       r	S
 r
S rS rS rS r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 )	Nr2  r  1  r   r   r   r   r         @r   )r|  r   r   r>   
boxcox_llfr  r   r;   r<   rE  re   r$   )ra   r  r  dtrq   lmbdallfllf_expecteds           rA   rf   TestBoxcox_llf.test_basic  s    RJJNN2ENBujjj&=>w|bffRVVAEEGQJ-?&@@ZZZ?@rC   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  rF  rG  r   r  rR   )r   r   r>   rI  listr$   ra   r  rq   rK  rL  llf2s         rA   test_array_likeTestBoxcox_llf.test_array_like  sQ     JJNN%N@u(tAw/.rC   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 rP  )	r   r   r>   rI  r;   vstackr  r$   r  rR  s         rA   test_2d_inputTestBoxcox_llf.test_2d_input  st     JJNN%N@u(ryy!'8':':;

C:.

40@uMrC   c                     Sn[        [        X!S9   UR                  UR                  [        R
                  " SUR                  / 5      5      5      5      (       d   e S S S 5        g ! , (       d  f       g = fNrC  r  r   )r    r   isnanr  r   rI  r  s      rA   r@  TestBoxcox_llf.test_empty  sR    @+7B88BJJu'7'72::b>'JKLLLL CBBs   AA''
A5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   rI  r$   ra   r  rb   rL  s       rA   test_gh_6873TestBoxcox_llf.test_gh_6873  s7     zz67r4(ZZ(:;<rC   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Ơ>rR   )r  r  r   rI  r$   r`  s       rA   test_instability_gh20021'TestBoxcox_llf.test_instability_gh20021  sL    zz8

zKtT* 	ZZ(=RZZZP!	#rC   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   rI  r  r$   )ra   r  rb   
llf_axis_0llf_0
llf_axis_1llf_1s          rA   	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
+
  	
*rC   rw   N)rx   ry   rz   r{   r   r   r   rf   r  rT  rX  r@  ra  rd  rl  r|   rw   rC   rA   rD  rD    si     [[Wy)&<=A >A dKM/M/NM
=#+rC   rD  (  iU>  iϵ i i_
 i7 i is iv  i+ i* i-q ir: i  i i i i_ i4  i iD  i i, iE i\  i i| ig  iM iӢ i[  i! i if6 iP i i iI i/ iF& i i i`# i i  i& i i iQ ia i
 iXZ iw  i_ im  iD i- iB  i:C i	 i' i  i % ix i  iz_ iQ i!# i= i  ix i
 iU7 i_ i1k iW9 i& ix iI i  iT i
 i i  irv im i͟  i iO iv i) iP i4 i= ii  iU i i ig> ix	 i` i| i0 i` iM	 i ' i[ i8 i  i3[ i  i) i`N i
	 i  i[ i:+ ip i	% i
  iV i[$ iX  i_ ib ieZ i i`?	 it i  i iE i iT iy i imv i< iZ i! i i(  ir
 i i iɪ i| i i> ii  i i* i# ix i i& i i# i1g iP i) iۆ i{% i? i۽ i| i i& i- iư) i+c i7  iQ i	o i& i|_ iy
 i6 i  i i i:J i#j i8 i  i%  i i%W i( i` i: ina  i  i i% i$ i4 iA( iq  i  i" iy iXZ i izr i i$ i; is igY i i7 ip	 ip iL6" iDH i i!3 i iI( i|C iш i im  iS i  i{8 i  i i iP i2L i( i@ is iu i2 i_ ij i)m igZ i_ iu	 i9 ik  i'; i ii iK i܃ i i= iv i= i ia  ir  i i i}W i*  i  iJ i i  i2  iUF iNj	 iV," ip iA i% i iv9 iI5 i  iT- i  i8~ i?e` i1 iV  i/X i= i4 i iح i^ i i/ ig i( i i|B; ip i ic iE' iE i$
 i i{ ik i: iI iA_ i iP ioP  i6_ i iܲ iO	 iA7 iL  iA i iV  iwm i iZh i|V iԇC iw i& i~ i i'  i!  i i
 i} ie i3 i i i_ i  i@) i  iV ii iF i? i&
 i"Y iw i  iH iS ird ib i@ iK iA; iz| id+ i	 i
8 i"  i	 iO i_ i$l i!9 ii iT iuL iQ'% iqp iC i]K@ i! i i  iIp| i i?	B i i io0 i i

 i  i5% i i i* i i iv0 i* i* iw i  ive i$ i i- iD~ i- i i,4 ib i  i iP0 i) im i	 iR iQ i
 i i c            	       0   \ rS rSrS rS rS rS rS rS r	\
R                  R                  S/ S	Q5      S
 5       rS r\
R                  R                  S/ SQ5      S 5       rS r\
R                  R                  S\R$                  " / SQ5      \R$                  " \R&                  SS/5      /5      S 5       r\
R                  R                  S\R$                  " / SQ5      \R$                  " / SQ5      \R$                  " / SQ5      /5      S 5       rSrg)
TestBoxcoxi	  c                 0   [        SSSS9S-   n[        R                  " USS9n[        X!S-
  5        [        R                  " USS9n[        USSU-  -
  5        [        R                  " USS9n[        U[        R
                  " U5      5        [        R                  " [        U5      SS9n[        U[        R
                  " U5      5        [        R                  " [        R                  " S	5      S
5      n[        U[        R                  " S	5      5        g )Nr   r   r  ry  r   rK  r  r   r  r   )
rB   r   r   r
   r;   r<   rQ  r  r   r  )ra   rq   xts      rA   test_fixed_lmbdaTestBoxcox.test_fixed_lmbda	  s    abu=A\\!1%E"\\!2&A!G$\\!1%BFF1I& \\$q'+BFF1I& \\"''"+q)R"&rC   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   rY   )r   r   r>   r   r   )ra   rK  rq   x_invrr  r   s         rA   test_lmbda_NoneTestBoxcox.test_lmbda_None*	  sS     JJNNrDNAQ5&)\\%(
FBJ:rC   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   ry  r  )alphagx@gv[%@r  gxˉEk?g8Bhk @rL   r  ro   rG  g\?gx̡&@r/   g7(U@gp:sY@)r;   rz  r   rB   r   r   r
   )ra   r~  rq   rV  r   s        rA   
test_alphaTestBoxcox.test_alpha4	  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":;rC   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   )r;   rL  ri   rj   r   r   r   s     rA   test_boxcox_bad_argTestBoxcox.test_boxcox_bad_argE	  s_    HHb!Wj%,,2j%,,!>j%,,1#s0DErC   c                 \    [        [        R                  " / 5      R                  S:H  5        g N)r   )r	   r   r   r  rk   s    rA   r@  TestBoxcox.test_emptyN	  s    R &&$./rC   c                 R    [         R                  " [        5      u  p[        USSS9  g )NgsHjdrr   rR   r   r   _boxcox_datar
   )ra   rm  lams      rA   ra  TestBoxcox.test_gh_6873Q	  s     l+ 	YT2rC   bounds)r  r   )r   r   )r  r  c                 z   ^ U4S jn[         R                  " [        S US9u  p4TS   Us=:  a
  TS   :  d   e   eg )Nc                 0   > [         R                  " U TSS9$ Nbounded)r  r  r   minimize_scalarfunr  s    rA   	optimizerBTestBoxcox.test_bounded_optimizer_within_bounds.<locals>.optimizer\	      ++C3<> >rC   rK  r  r   r   )r   r   r  )ra   r  r  rV  rK  s    `   rA   $test_bounded_optimizer_within_bounds/TestBoxcox.test_bounded_optimizer_within_boundsY	  s?    	> <<DINay5,6!9,,,,,rC   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 )	Nrq  rv  r   xatolr  c                 2   > [         R                  " U TSTS9$ )Nr  )r  r  optionsr  )r  r  r  s    rA   r  PTestBoxcox.test_bounded_optimizer_against_unbounded_optimizer.<locals>.optimizern	  s!    ++C3<gO OrC   r  r   r  )ra   rV  rK  r  lmbda_boundedr  r  s        @@rA   2test_bounded_optimizer_against_unbounded_optimizer=TestBoxcox.test_bounded_optimizer_against_unbounded_optimizerc	  so    
 <<D9 #+uqy)E"	O
 !<<D2;=%%%vay1rC   r  )strr   r   rv  c                     [         R                  " [        SS9   [        R                  " [
        S US9  S S S 5        g ! , (       d  f       g = f)Nz`optimizer` must be a callabler   r  r   r   rj   r   r   r  ra   r  s     rA   $test_bad_optimizer_type_raises_error/TestBoxcox.test_bad_optimizer_type_raises_errorx	  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   rw   )r  s    rA   r  CTestBoxcox.test_bad_optimizer_value_raises_error.<locals>.optimizer	  s    rC   z/return an object containing the optimal `lmbda`r   r  r  )ra   r  rd  s      rA   %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   rj   r   boxcox_normmax)ra   r  rd  s      rA   "test_negative_x_value_raises_error-TestBoxcox.test_negative_x_value_raises_error	  s1    
 8]]:W5  ' 655s	   <
A
rq   
     L@     x@     4@     @@     d@r  g     @g     <@g     \@g     @r  r  r  r  r  gFq$jgS	#jgGewa$jgVBi$jg[(>2$jc                     [         R                  " [        SS9   [        R                  " U5      u  p#[
        R                  " [
        R                  " U5      5      (       d   e S S S 5        g ! , (       d  f       g = f)NThe optimal lambda isr   )r   r   rm  r   r   r;   r  isfinite)ra   rq   xt_bclam_bcs       rA   test_overflowTestBoxcox.test_overflow	  sM     \\+-DE!LLOME66"++e,---- FEEs   A
A..
A<rw   N)rx   ry   rz   r{   rs  rw  r{  r~  r@  ra  r   r   r   r  r  r  r  r;   rL  r   r  r  r|   rw   rC   rA   ro  ro  	  s   '$;<"F03 [[X'FG- H-2* [[[*>?H @H

H [[bhh01288RVVRO3LM
(
( [[S
 : 	; 	9:
MN# ..rC   ro  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  ry  r  rk   s    rA   r  TestBoxcoxNormmax.setup_method	      "12EBQFrC   c                 Z    [         R                  " U R                  5      n[        USSS9  g )Nm?rQ   rR   r   r  rq   r
   ra   r   s     rA   test_pearsonrTestBoxcoxNormmax.test_pearsonr	  s"    %%dff-t4rC   c                     [         R                  " U R                  SS9n[        USSS9  [         R                  " U R                  5      u  p#[        X15        g )Nmler  	.!?rQ   rR   )r   r  rq   r
   r   )ra   r   rV  maxlog_boxcoxs       rA   test_mleTestBoxcoxNormmax.test_mle	  sC    %%dffU;t4 !<</.rC   c                 \    [         R                  " U R                  SS9n[        USS/SS9  g )Nr  r  r  r  rQ   rR   r  )ra   
maxlog_alls     rA   test_allTestBoxcoxNormmax.test_all	  s)    ))$&&?

Xx$8tDrC   r  )r  pearsonrr  r  r  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$ r  r  r  s    rA   r  ITestBoxcoxNormmax.test_bounded_optimizer_within_bounds.<locals>.optimizer	  r  rC   )r  r  r   r   )r   r  rq   r;   r  )ra   r  r  r  r   s     `  rA   r  6TestBoxcoxNormmax.test_bounded_optimizer_within_bounds	  sa    	> %%dffV09;vvfQi&())))vvfvay())))rC   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	  rw   N)rx   ry   rz   r{   r|   rw   rC   rA   MyResultr  	  s    rC   r  c                    > / nT H  nUR                  U " U5      5        M     T" 5       nT[        R                  " U5         Ul        U$ r:   )appendr;   argminrq   )r  objsrK  rs   r  lmbda_ranges       rA   r  @TestBoxcoxNormmax.test_user_defined_optimizer.<locals>.optimizer	  sB    D$CJ' %*C		$0CEJrC   r  r   )r   r  rq   r;   r  rT  r
   )ra   rK  lmbda_roundedr  lmbda2r  r  s        @@rA   test_user_defined_optimizer-TestBoxcoxNormmax.test_user_defined_optimizer	  s     $$TVV,*kk-"4mD6H$O	 		 %%dff	Bt,rC   c                 
   [         R                  n[        R                  " U R                  S US9  [
        R                  " [        SS9   [        R                  " U R                  SUS9  S S S 5        g ! , (       d  f       g = f)N)r?  r  z,`brack` must be None if `optimizer` is givenr   )g       rH  )r   r  r   r  rq   r   r   rj   r  s     rA   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rq   r  )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  r  r2  r   )r   r   rm  r   r  r;   r  r   r   r  finfor  r  r  r
   sign)ra   rq   rd  rK  ymaxx_treme	y_extremes          rA   r  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   rj   r   r  rq   rk   s    rA   test_negative_ymax$TestBoxcoxNormmax.test_negative_ymax	  s2    ]]:-OP  b1 QPPs    A
Ar  )g	i@g     `h@gfffffh@g      i@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)Nr  r   r  r  r2  r   rR   )r   r   rm  r   r  r;   r  r  absr   r  r  r
   )ra   rq   r  r  rz  lmbr  ymax_ress           rA   'test_user_defined_ymax_input_float64_329TestBoxcoxNormmax.test_user_defined_ymax_input_float64_32	  s    & \\+-DE&*&6VTNBE&&qAA5ACvvay"&&),G3u||G9:;H|xx(,,u4D6 FEEs   B1C
C"c                    [         R                  " U[         R                  S9n[         R                  " U[         R                  S9n[        R
                  " [        SS9   [        R                  " X2S9  S S S 5        [        R                  " XBS9  [        R                  " U[         R                  US9n[        R                  " U[         R                  US9n[        XVSS9  g ! , (       d  f       Nu= f)Nr  r  r   r  )r  r  r  rR   )r;   r  r  r  r   r   rm  r   r  r  r
   )ra   rq   r  x_32x_64lmb_32lmb_64s          rA   test_user_defined_ymax_inf,TestBoxcoxNormmax.test_user_defined_ymax_inf
  s     zz!2::.zz!2::. \\+-DE  5 FT1 %%dG%%dGT2 FEs    C$$
C2r)  N)rx   ry   rz   r{   r  r  r  r  r   r   r   r  slowr  r  r  r  r;   rL  r  r  r  r  r|   rw   rC   rA   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3rC   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
)TestBoxcoxNormploti0
  c                 *    [        SSSS9S-   U l        g r  r  rk   s    rA   r  TestBoxcoxNormplot.setup_method1
  r	  rC   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_normplotrq   r
   r;   rT  )ra   r  lmbdasr  r  s        rA   rf   TestBoxcoxNormplot.test_basic4
  sI    ,,TVVS"B%C ;<,rC   r)  r  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/  r0  r   r  rq   r!  r1  r"  s      rA   r:  "TestBoxcoxNormplot.test_plot_kwarg<
  sq     jjl__S!dffc2C8B __S!dffc2B7		rC   c                     [        [        [        R                  U R                  SS5        [        [        [        R                  SS/SS5        g )Nr   r   r  )ri   rj   r   r  rq   rk   s    rA   r%  &TestBoxcoxNormplot.test_invalid_inputsI
  s6    j%"7"7AFj%"7"7"a!QGrC   c                 `    [        [        R                  " / SS5      R                  S:H  5        g Nr   r   )r	   r   r  r   rk   s    rA   r@  TestBoxcoxNormplot.test_emptyO
  s$    %%b!Q/449:rC   r)  N)rx   ry   rz   r{   r  rf   r   r   r  rH  r:  r%  r@  r|   rw   rC   rA   r  r  0
  sD    J- [[O+OD
 E
H;rC   r  c                   &    \ rS rSrS rS rS rSrg)TestYeojohnson_llfiS
  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   rF  rG  r   r  rR   )r   r   r>   yeojohnson_llfrQ  r
   )ra   rq   rK  rL  rS  s        rA   rT  "TestYeojohnson_llf.test_array_likeV
  sO    JJNNN?""5,##E473.rC   c                 (   [         R                  R                  SSSS9nUR                  U5      nSn[         R                  " X25      n[         R                  " X1R                  X"/5      R                  5      n[        XQR                  XD45      SS9  g rP  )r   r   r>   r  r  r  r  r$   )ra   r  rq   rK  r   rs   s         rA   rX   TestYeojohnson_llf.test_2d_input^
  sr    JJNN%N@JJqM""5,""5((A6*:*<*<=XXsj1>rC   c           	          Sn[        [        X!S9   UR                  [        R                  " SUR                  / 5      5      5      (       d   e S S S 5        g ! , (       d  f       g = fr[  )r    r   r\  r   r  r  r  s      rA   r@  TestYeojohnson_llf.test_emptyf
  sI    @+7B88E00BJJrNCDDDD CBBs   =A
A&rw   N)rx   ry   rz   r{   rT  rX  r@  r|   rw   rC   rA   r  r  S
  s    /?ErC   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!)%TestYeojohnsonil
  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   ry  r   r   rq  r  r   r   )	r;   rz  r   rB   r  r   
yeojohnsonr
   r<   )ra   r~  rq   rr  posnegs         rA   rs  TestYeojohnson.test_fixed_lmbdan
  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7rC   rK  )r   rv  rN  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   )r;   r  r  r  r  spacingexppower)rq   rK  rv  r"  s       rA   _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LrC   i N  r3  r   r   )r   r   r   r  rJ  r   rY   )r;   rz  r   r  r   r!  r
   r   linalgr   rc   re   )	ra   rK  r*  rt  r~  rq   rv  rr  r   s	            rA   rw  TestYeojohnson.test_lmbda_None
  s    
	& 	ii##G,JJ1AYJ8"1,%%e,
D1Aryy~~af5	A1MArwwy!4Arvvx3rC   c                 \    [        [        R                  " / 5      R                  S:H  5        g r  )r	   r   r!  r  rk   s    rA   r@  TestYeojohnson.test_empty
  s       $**d23rC   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   rF  rG  r  rR   )r   r   r>   r!  rQ  r
   )ra   rq   xt1rV  xt2s        rA   rT  TestYeojohnson.test_array_like
  sL    JJNNN?!!!$!!$q'*u-rC   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)NrI   r  z>Yeo-Johnson transformation is not defined for complex numbers.r   )r;   rp   r   r   rj   r   r!  )ra   r  rq   err_msgs       rA   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 )NrM   r  r  rR   )r;   rp   r  r   r!  r
   )ra   r  x_intx_floatxt_int	lmbda_intxt_floatlmbda_floats           rA   test_input_dtype_integer'TestYeojohnson.test_input_dtype_integer
  s`    		!5)))ARZZ0!,,U3 % 0 0 9t4	T:rC   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)\¿+ArD  g(\^@Ag    RArC  g    #Ag\µ=Ag
ףNArB  gp=oHAg    6bAg{csAg)\tmhAg/BAg   '|Ag(\wipAg    ݃hAgQlBAgףp @Ar   rQ   rR   )r;   rL  r   r!  r   r
   )ra   rq   xt_yeolam_yeoxt_boxlam_boxs         rA   test_input_high_variance'TestYeojohnson.test_input_high_variance
  sQ    HH " #  **1-,,q1u-T2t4rC   rq   r,   r   rH  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   rj   r   r!  )ra   rq   rE  rF  s       rA   test_nonfinite_input#TestYeojohnson.test_nonfinite_input
  s2     ]]:-OP#..q1OF QPPr|  r  r  r  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OptimizeResultrq   )r  rF  outresults       rA   r  /TestYeojohnson.test_overflow.<locals>.optimizer   s0    $$S(G(KC,,.FHMrC   raiser  r   )rF  r  rQ   rR   rS  )	r;   r  r   r!  r   r   r  rd   r
   )ra   rq   r  rE  rF  rG  rH  s          rA   r  TestYeojohnson.test_overflow
  s    	 [[W%#..q1OF#llA!DFOF;;rvvf~....;;rvvf~....G48F6 &%%s   B0C
Cr   )r   r  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)NrV  r  )r;   r  r   r!  r  r  r  rd   )ra   rq   r   r  rE  rF  s         rA   #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   rH  )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)NrV  r  r>  rq  )r;   r  astyper  r   yeojohnson_normmaxr!  r  r  r  rd   )
ra   rq   r  r?  r9  r:  lam_yeo_int
xt_yeo_intlam_yeo_floatxt_yeo_floats
             rA   test_integer_signed_data'TestYeojohnson.test_integer_signed_data  s     [[W%HEll2::.G225FK))%CJ!44WJM ++GIL66"''%.BGGJ,??@@@@;;{++++;;rvvj12222///66*45555 &%%s   D0E
Erw   )rx   ry   rz   r{   rs  r   r   r   rw  r@  rT  r;   	complex64
complex128r6  int8uint8int16int32r?  rI  rL  r  rL  r  rY  rb  r|   rw   rC   rA   r  r  l
  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 .6rC   r  c                   &    \ rS rSrS rS rS rSrg)TestYeojohnsonNormmaxi4  c                 *    [        SSSS9S-   U l        g r  r  rk   s    rA   r  "TestYeojohnsonNormmax.setup_method5  r  rC   c                 Z    [         R                  " U R                  5      n[        USSS9  g )Ng?rQ   rR   )r   r]  rq   r
   r  s     rA   r  TestYeojohnsonNormmax.test_mle8  s"    ))$&&1t4rC   c                 r    / SQn[         R                  " U5      n[        R                  " USSS9(       d   eg )N)gffffff@g r,   rH  ffffff?g333333@r  gffffff@g?g@g      @      @g"@rP  g      gzG?rG  rJ  )r   r]  r;   allclose)ra   rq   rK  s      rA   test_darwin_example)TestYeojohnsonNormmax.test_darwin_example<  s/    ((+{{5%d333rC   r)  N)rx   ry   rz   r{   r  r  rt  r|   rw   rC   rA   rk  rk  4  s    G54rC   rk  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 )!TestCircFuncsiE  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  rH       pv@rT        u@h  rX  r  r$   ra   	test_funcr  r  rq   s        rA   test_circfuncsTestCircFuncs.test_circfuncsM  s-    
 JJ67	!#.

80DErC   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  r]  r  r     g     4@g3333333@r  r~  r  r   rR   re  r   rZ  rH  rS  )r  r  rc   r   circmeanr$   rd   picircvarre   circstd)	ra   r  rq   M1M2V1V2S1S2s	            rA   test_circfuncs_small"TestCircFuncs.test_circfuncs_smallU  s     JJ7rzzJJWWQZ^^AC(T*VVAeeGCKAV. "W]]13'T*VVA!V$]]13'T*rC   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>rJ  )r;   r  r$   )ra   r  
numpy_funcr  rq   circstatr  s          rA   test_circfuncs_close"TestCircFuncs.test_circfuncs_closei  sW     JJ+,r15H4IC4OOPRZZ]+JqM*t4rC   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  ^  )_  rL   r   `  rJ   ]  )ie  rJ   rM   if  r   g     @v@r~  r  r  r   rX  r<  r   )r  r  r$   r  r  r  )ra   r  r  rq   rs   r   rt   s          rA   test_circmean_axis TestCircFuncs.test_circmean_axist  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)r  r   r   r+  r  r}  r~  r  r  r  s        rA   test_circfuncs_array_like'TestCircFuncs.test_circfuncs_array_like  s-    
 JJ12	!#.

80DErC   r  c                     UR                   nUR                  / US9n[        [        [        US9   U" U5      nS S S 5        [        WUR                  UR                  US95        g ! , (       d  f       N3= f)Nr  r  )r  r  r    r   r   r%   r   )ra   r  r  r  rq   rs   s         rA   r@  TestCircFuncs.test_empty  sc     

JJrJ'+3HRPA,C Q 	RZZeZ<= QPs   	A&&
A4c           	          UR                  SSSSSS[        R                  /5      n[        U" USS9UR                  UR                  5      5        g )	Nr  r   r   r+  r  r  r~  r  )r  r;   r   r%   )ra   r  r  rq   s       rA   test_nan_propagate TestCircFuncs.test_nan_propagate  sC     JJQ3C89	!#.

2660BCrC   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)r  r   r   r+  r  r  r   r  rL   r   r  rJ   r  r   r~  r  r   )r  r;   r   keysr%   r$   	full_like)ra   r  r  r  rq   r<  rS  s          rA   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 $rC   c                 p    UR                  S5      S   nUn[        R                  " U5      n[        XCSS9  g )Nr,   rw   r   rR   )r  r   r  r$   )ra   r  rq   r  r  s        rA   test_circmean_scalar"TestCircFuncs.test_circmean_scalar  s1    JJrN2^^AT*rC   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   rv  )r   r  rp   r  r&   r  )ra   r  rO  s      rA   test_circmean_range!TestCircFuncs.test_circmean_range  s[     NN299Q3/?q**RUU+,r2::bee,-rC   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  re  r  g     @e@gLwqA?g)#p_4@)r  rg  r$   r   r  r  r  )ra   r  rq   s      rA   test_circfuncs_uint8"TestCircFuncs.test_circfuncs_uint8  sx     JJRyJ1qs3RZZ5FGac2BJJ4OPac2BJJ{4KLrC   c                     [         R                  " UR                  S/5      5      n[        R                  " SU5      S:X  d   eg r  )r   r  r  mathcopysign)ra   r  rm  s      rA   test_circstd_zeroTestCircFuncs.test_circstd_zero  s3    MM"**aS/*}}S!$+++rC   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 )NrV   gA:9>r   r,   r   r   r;  )rT  r  sincosr  anyr   r  )ra   r  rq   rO  rm  s        rA   !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~~~rC   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  )rX  rW  gV瞯<r   )rS   rK  )
r  r  r  atan2r  r  r   r  r  r$   )ra   r  rq   rm  r  actuals         rA   !test_circmean_accuracy_huge_input/TestCircFuncs.test_circmean_accuracy_huge_input  st     JJt2::J.JJrvvay"&&),::azz:2BEE6:u3?rC   rw   N)rx   ry   rz   r{   r   r   r   r   r  r  r  r  r  r;   rc   rd   re   r  r  r  r@  r  r   r  r  r  r  r  r  r  r|   rw   rC   rA   rw  rw  E  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,
*@rC   rw  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  rx  grQvv@)g     v@g      @rr  g     8v@r  g     u@g5@v?g2>Bjv@r  gG2?)gaF+?z?r  gA ~@碲?r  re  r   r  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)Nr  r   r   r+  r  r  r  rL   r   r  rJ   r  r~  omit)rX  
nan_policyr<  r  rR   r   r  )r;   rL  r   r  r
   r   r   r   r   r	   r\  )ra   r  r  rq   r<  rS  s         rA   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	ry  rz  c                 T    SSSSSS[         R                  /n[        U" USSS	9US
S9  g )Nr  r   r   r+  r  r  r~  r  rX  r  r  rR   )r;   r   r
   )ra   r  r  rq   s       rA   test_nan_omit$TestCircFuncsNanPolicy.test_nan_omit  s4    
 !QRbff-	!#&A t	-rC   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  )r;   r   r   r   r   r   r	   r\  ra   r  rq   s      rA   test_nan_omit_all(TestCircFuncsNanPolicy.test_nan_omit_all  s]     VVRVVRVVRVVRVV4\\,4EFBHHYqV<=> GFFs   +%B
B'c           	      f   [         R                  " [        [        S9   [        R
                  " [        R                  [        R                  [        R                  [        R                  [        R                  /[        R                  [        R                  [        R                  [        R                  [        R                  //5      nU" USSS9n[        [        R                  " U5      R                  5       5        [        [        U5      S:H  5        S S S 5        g ! , (       d  f       g = f)Nr   r  r   )r  r<  r   )r   r   r   r   r;   rL  r   r	   r\  r  r  )ra   r  rq   rS  s       rA   test_nan_omit_all_axis-TestCircFuncsNanPolicy.test_nan_omit_all_axis%  s     \\,4EF266266266266266B66266266266266BD EAA&q9CBHHSM%%'(CHM" GFFs   C;D""
D0rq   r  r   r+  r  r  r  rL   r   r  rJ   r  c                 $    [        [        XSSS9  g )Nr~  rV  r  ri   rj   r  s      rA   test_nan_raise%TestCircFuncsNanPolicy.test_nan_raise/  s     	j)SWMrC   c                 $    [        [        XSSS9  g )Nr~  foobarr  r  r  s      rA   test_bad_nan_policy*TestCircFuncsNanPolicy.test_bad_nan_policy8  s     	j)SXNrC   rw   N)rx   ry   rz   r{   r   r   r   r   r  r;   rL  r  r  r  r  r  r  r  r   r  r  r|   rw   rC   rA   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rC   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)TestMedianTestiB  c                 F    [        [        [        R                  / SQ5        g Nr   ri   rj   r   median_testrk   s    rA   test_bad_n_samples!TestMedianTest.test_bad_n_samplesD  s    j%"3"3Y?rC   c                 H    [        [        [        R                  / / SQ5        g r  r  rk   s    rA   rb   TestMedianTest.test_empty_sampleH  s    j%"3"3RCrC   c           	      P    [        [        [        R                  / SQ/ SQSS/SS9  g )N)r   r   r   r   )r   r   r   r   r   r  r  r  rk   s    rA   test_empty_when_ties_ignored+TestMedianTest.test_empty_when_ties_ignoredL  s$    
 	j%"3"3"I1vH	FrC   c                     [        [        [        R                  / SQ/ SQ5        [        [        [        R                  / SQ/ SQSS9  g )N)r   r   r   abover  r  rk   s    rA   test_empty_contingency_row)TestMedianTest.test_empty_contingency_rowT  s3    
 	j%"3"3Y	J 	j%"3"3Y	"	$rC   c                 J    [        [        [        R                  / SQSS/SS9  g )Nr   r   r   r  r  r  rk   s    rA   test_bad_tiesTestMedianTest.test_bad_ties`  s    j%"3"3YA 	"rC   c                 J    [        [        [        R                  / SQSS/SS9  g )Nr   r   r   r  r  r  rk   s    rA   r  "TestMedianTest.test_bad_nan_policyd  s    j%"3"3YA!)	+rC   c                 J    [        [        [        R                  / SQSS/SS9  g )Nr   r   r   r  )r  )ri   r~  r   r  rk   s    rA   test_bad_keywordTestMedianTest.test_bad_keywordh  s    i!2!2I1v	!rC   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   rH  r   r   r   )r   r  r   r   )ra   rq   rm  r  r  medtbls          rA   test_simpleTestMedianTest.test_simplel  sZ    !--a3 	S#3!Q!Q 01 	T1QrC   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 )Nr  r   rI   )rL   rM   rJ   )r   r   r   )r   r   r   r  r  )r   r   r   r  )r   r   r   )r   r  r   )ra   rq   rm  zr  r  rO  r  s           rA   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1rC   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?g      @r   rV  )	r;   r   r   r  r   r
   rL  ri   rj   )ra   rq   rm  mt1r!  r  rO  r  s           rA   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NrC   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   rI   rM   r   r   r   r   )lambda_Fr  )r   r  r   chi2_contingencyr
   )ra   rq   rm  r  r  rO  r  exp_statexp_pdofes              rA   rf   TestMedianTest.test_basic  s$    ++A1QSAq6Aq6*+"'"8"8"='!++A!<QSAq6Aq6*+"'"8"8a"H'!++AUCQSAq6Aq6*+"'"8"8"O'!rC   rZ  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   r  )r   r  r   r^   r   r  table)ra   rZ  rq   rm  rs   s        rA   test_resultTestMedianTest.test_result  sA    <cmmSZZSYYGMrC   rw   N)rx   ry   rz   r{   r  rb  r  r  r  r  r  r  r  r  rf   r   r   r   r  r|   rw   rC   rA   r  r  B  sh    @DF
$"+!2(O"> [[\E4=9N :NrC   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@r  r|  g@g333333I@gYv@r  )	gfffffP@g,Q@gfffffQ@gfffffT@g     S@g     @R@g33333SQ@gffffffM@g33333I@r   r;  )gHP?g&S:g[<rS  rJ  )r;   deg2radrL  r  r  r  r  r  r   directional_statsmean_directionr$   )ra   r  declinclrb   dirstatsdirectional_meanreference_means           rA   "test_directional_stats_correctness7TestDirectionalStats.test_directional_stats_correctness  s    

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

288 %< = > >xxt4t4'  
 zz$++-(zz$++-(zz$++-(**40#22$>?(tDrC   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$   )ra   anglesr   r  rb   rs   s         rA   'test_directional_stats_2d_special_cases<TestDirectionalStats.test_directional_stats_2d_special_cases  si    
 F#jjoxx8qxA%))$/EEE!rC   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   )rx  r   r;  r   r,   )r;   rz  r{  r  r  r  r  r  r   r"  r#  r  r  r$   r,  r  )ra   r  r~  testdatatestdata_vectorr&  r'  directional_mean_angler  directional_varcircular_vars              rA   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.6rC   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?rN  r   )r:  r  r   )r   r   r   r   )r,   r   r   r   r;  )r  tiler   r"  r$   r#  )ra   r  rb   
full_arrayr  r&  s         rA    test_directional_mean_higher_dim5TestDirectionalStats.test_directional_mean_higher_dim  s     zz/02 3ZZl ;<
:: , . , , ./ 0 **:A>//:rC   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 )Nr9  )r:  r  r   r  )r  r  r   r"  r$   r#  r,  )ra   r  rb   
data_arrayr   rs   s         rA   )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#<#<=	?rC   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   rj   reescaper   r"  )ra   r  rb   rd  s       rA   test_directional_stats_1d_error4TestDirectionalStats.test_directional_stats_1d_error  sH    wwu~6]]:RYYw-?@##D) A@@s   A!!
A/r  r  r  c                    [         R                  " / SQ/ SQ/US9n[        R                  " UR	                  U5      SS9nU[         R
                  R                  USSS9-  n[        R                  " USS9n[        UR                  UR	                  UR                  5      5        [        UR                  UR	                  UR                  5      5        g )	Nr9  )g+Pz?r  r   r  T)	normalizer  )r<  keepdimsF)
r;   rL  r   r"  r  r,  r   r$   r#  r,  )ra   r  r  rb   rs   normalized_datar   s          rA    test_directional_stats_normalize5TestDirectionalStats.test_directional_stats_normalize  s    
 xx--/6;=%%bjj&6$G29= "0 "? ?%%oG**

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

3#<#<=	?rC   rw   N)rx   ry   rz   r{   r)  r   r   r   r;   r  r.  r6  r=  r  rA  rF  rL  r|   rw   rC   rA   r  r    s    E, [[]55&(BEE!G	b!
QY- "	"7&; d+FG	? H	?* [[Wy)&<=? >?rC   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                  " UR                  / SQ5      5        S S S 5        [         R                  " [        US9   [        R                  " UR                  / SQ5      5        S S S 5        [         R                  " [        US9   [        R                  " UR                  SSUR                  /5      5        S S S 5        Sn[         R                  " [        US9   [        R                  " UR                  / SQ5      S	S
9  S S S 5        Sn[         R                  " [        US9   [        R                  " UR                  / SQ5      SS9  S S S 5        [         R                  " [        US9   [        R                  " UR                  / SQ5      SS9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GNR= f! , (       d  f       G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  rN  rq  )rN  rq  r   rN  rq  zUnrecognized `method` 'YAK')rN  rq  r   YAKr  z#`axis` must be an integer or `None`r  r;  r  )r   r   rj   r   false_discovery_controlr  r   r  s      rA   test_input_validation$TestFDRControl.test_input_validation/  sU   B]]:W5))"**^*DE 6]]:W5))"**]*CD 6]]:W5))"**c35G*HI 6 0]]:W5))"**_*EeT 6 8]]:W5))"**_*ECP 6]]:W5))"**_*EFS 65 655555 65 6555sG   (G%(G.3G*'G<'H'H
G
G'*
G9<
H

H
H,c                     UR                  / SQ5      n[        R                  " U5      nUR                  / SQ5      n[        X4SS9  g )N)r  g;On?g~jt?gI+?g&1?gB`"۹?gv?S㥛?);On?rW  I+?rX  gˡE?gHzG?rV  rV  rG  rJ  )r  r   rR  r$   )ra   r  psrs   r   s        rA   test_against_TileStats%TestFDRControl.test_against_TileStatsB  s:    ZZPQ++B/jjQRt,rC   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                 0   Uu  p4[         R                  R                  S5      n[        R                  R                  SSSUS9R                  5       nUS   US'   [        R                  " UR                  U5      US9n[        XrR                  U5      S	S
9  g )N   <U) rG  rN  r  ry  rL   r   r  rQ   rJ  )
r;   rz  r{  r   
loguniformr>   r  rR  r  r$   )ra   r  r  r   r  r~  rY  rs   s           rA   r  TestFDRControl.test_against_RI  s     ii##$78!!$"3!GNNP11++BJJrN6JZZ_48rC   c                 "   [         R                  R                  S5      n[        R                  R                  SSSUS9nUR                  U5      n[        R                  " US S9n[        R                  " [        U5      5      n[        XE5        g Nra  rG  rN  )r   r   r   ry  r;  )
r;   rz  r{  r   rb  r>   r  rR  r!   r%   )ra   r  r~  rY  rs   r   s         rA   test_axis_NoneTestFDRControl.test_axis_None[  sq    ii##$78!!$)#!NZZ^++BT:++HRL9!rC   r<  )r   r   r  c                 H   [         R                  R                  S5      n[        R                  R                  SSSUS9n[        R                  " UR                  U5      US9n[         R                  " [        R                  X5      n[        XRR                  U5      5        g re  )
r;   rz  r{  r   rb  r>   rR  r  apply_along_axisr$   )ra   r<  r  r~  rY  rs   r   s          rA   rl  TestFDRControl.test_axisc  sx    ii##$78!!$)#!N++BJJrNF!!%"?"?JZZ_-rC   c                 ,   UR                  S/5      n[        [        R                  " U5      U5        UR                  / 5      n[        [        R                  " U5      U5        [	        U5      (       a!  [        [        R                  " S5      S5        g g )NrO  )r  r%   r   rR  r"   )ra   r  rY  s      rA   r8  TestFDRControl.test_edge_casesk  sl    ZZ55b92>ZZ^55b92>B<<E99$?F rC   rw   N)rx   ry   rz   r{   rS  rZ  r   r   r   r  rf  rl  r8  r|   rw   rC   rA   rO  rO  -  s    T&- [[V 89=? 89=?@A	9A	9" [[VZ0. 1.GrC   rO  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)	TestCommonAxisiv  r  r  r   r   c                    [        U5      (       a+  US   [        R                  :X  a  [        R                  " SS9  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 )	Nr   z3copysign doesn't accept scalar array-api-compat#271r  l   @ms|Y)rI   rL   r<  r   r  )r   r   	variationr   xfailr;   rz  r{  r  r  r  r  r$   r  )
ra   r  r  r  r@   r~  rq   rs   rt   r   s
             rA   rl  TestCommonAxis.test_axis}  sO   
 B<<DGu6LL UV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   1E*E/rw   N)rx   ry   rz   r{   r   r   r   r   semr  rp  rl  r|   rw   rC   rA   rn  rn  v  sb     [[Vuyy"o',{{S!H&=',{{S!H&=',&;&= >"	>"rC   rn  )r  rD  r  r   	functoolsr   numpyr;   numpy.randomr   numpy.testingr   r   r   r   r	   r
   r   r   r   ri   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_api_extra_libarray_api_extrar  scipy._lib._array_apir   r   r    r!   r"   r#   scipy._lib._array_api_no_0dr$   r%   r&   r   r  dict
matplotlibrcParamsmatplotlib.pyplotpyplotr.  rH  	Exceptionr  r  r  r  r  r  r  r  r  r  rB   rE   r~   r   rU  r   r  r  rg  r  r|  r  r  r  r  r*  r  r  r  r  r  r  rN  rJ  r  r  r  r  r  r  r+  rI  rD  r  ro  r  r  r  r  r  rk  r  r  r  rw  r  r  r"  r  rR  rO  rn  rw   rC   rA   <module>r     sC  
  	 
    $C C C  * * * N N - B ? .T T ) (? ?  ;;// >%*J	"#O LKKKKKKKKL
4/ />? ?Bu@ u@p EFM> M> GM>`O( O(d GHL9 L9 IL9^60 60r 5<< HI HI !HIV 5>>"&* &* #&*R 5<< >4 >4 !>4Bk8 k8\ 5==!M8 M8 "M8`20 5::~6 ~6 ~6B]5 ]5@ 5>>"v8 v8 #v8xP
 5;;3. 3.  3.l 5>>"(. (. #(.V39 39l"= "=J 5##$@+ @+ %@+J0fI. I.XK3 K3\ ;  ;F 5''(E E )E0E6 E6P4 4" 5>>5==%--@e@ e@ Ae@PQO QOhN ND 5**+e? e? ,e?P 5001EG EG 2EGP" "Mj  Os   9N. .N:9N: