
    -ii D              "          d dl Zd dlZd dlmZ d dlmZ d dlmZm	Z	m
Z
 d dlmZmZ d dlmZ d dlmZmZ d dlmZ  ej        d	          Zej                            e d
          gZej        j        ZdeddddZ edd           edd           edd          ej                            d eej        i            eej        i            eej        ddi          g          ej                            dd dg          d                                                             Z edd           edd           edd          ej                            dg d          ej                            ddd g          d!                                                             Z  edd           edd           edd"          ej                            d eej!        d#di           eej"        i            eej"        d$di           eej#        i            eej#        d$di           eej$        i            eej%        d%di           eej%        d%di           eej%        d%d&i           eej%        d%d'i           eej&        d%di           eej&        d%di           eej'        i            eej(        i            eej)        i            eej*        i            eej+        i           ei f eej,        d(d)i           eej-        d(d)i           eej.        d*d+i           eej/        d,d+i           eej0        d(d)i           eej1        d(d)i          g          ej                            dg d          d-                                                             Z2 eej3                   edd           edd           edd"          ej                            dd dg          ej                            d.i g          d/                                                                         Z4 edd           edd           edd"          ej                            d0 eej5                   eej6                   eej7                  g          ej                            dg d          d1                                                             Z8 edd           edd           edd"           ed2d3          ej                            d4 eej9                   eej:                   eej;                  g          ej                            dg d          d5                                                                         Z< edd           edd           edd"           ed2d3          ej        =                    d6          ej                            d4 eej>                   eej?                   eej@                   eejA                  g          ej                            dg d          d7                                                                                     ZBd8 ZC ed9 d eC:          dOd d;d<            ZD eejE        ejF                   edd           edd           edd"           ed2d3          ej                            d=g d>          ej                            d?d dg          ej                            dg d          d@                                                                                                 ZG eejH                   edd           edd           edd"           ed2d3          ej                            dAg dB          ej                            dg d          dC                                                                                     ZI eejJ                   edd           edd           edd"           ed2d3          dD                                                             ZKej                             ejL        ejM                   ejL        dE          k     dF          dG             ZN eejO                   edd           edd           edd"          ej        =                    dH          dI                                                             ZP eejQ                   edd           edd           edd"           ed2d3          ej                            dejQ        i fejR        dJd ifejR        dJdifg          ej                            dg d          dK                                                                                     ZS edd           edd           edd"           ed2d3          ej                            d4 eejT                   eejU                  g          dL                                                             ZV eejW                   edd           edd          ej                            dMdd g          ej                            dg d          dN                                                             ZXdS )P    N)stats)version)xp_assert_closexp_assert_equal_length_nonmasked)make_xp_pytest_parammake_xp_test_case)SCIPY_ARRAY_API)_xp_mean_xp_var)_axis_nan_policy_factorymarrayzcspecial function dispatch to marray required for these tests is hidden behind SCIPY_ARRAY_API flag.)reasonfloat64)      l   !wN4 )dtypexpshapeseedc                   t                               |          }t          j                            |          }g g }}t          |           D ]}	|                    |          }
|                    d          rd|
z  dz  |                    |          z  }
|
                    |          }
|	                    |
           |                    |          dk    }|	                    |           g }g }t          ||          D ]b\  }}|	                    |                    ||                     |                                }|j        ||<   |	                    |           c|||fS )N)sizecomplex
   y              $@g      ?mask)r   _get_namespacenprandomdefault_rngrange
startswithstandard_normalastypeappendzipasarraycopynan)n_arraysr   r   r   r   mxprngdatasmasksidatar   marrays
nan_arraysarray	nan_arrays                   c/var/www/html/bet.cuttalo.com/ml/venv/lib/python3.11/site-packages/scipy/stats/tests/test_marray.py
get_arraysr6      sj   



#
#C
)


%
%Cr5E8__  zzuz%%I&& 	Ad7S=!4!4%!4!@!@@D{{5!!Tzzuz%%,TGJ5%(( % %ts{{5t{44555JJLL	&	$)$$$$##    z
dask.arrayz/Arrays need `device` attribute: dask/dask#11711z	jax.numpyz"JAX doesn't allow item assignment.torchz	marray#99zfun, kwargsp   axis   c                     t          d|          \  }}} | |d         f|d         |d|} | |d         f|d         d|d|}t          |j        |                    |                     d S )Nr:   r   r   r<   )weightsr;   omit)r?   
nan_policyr;   )r6   r   r0   r'   	funkwargsr;   r   r+   r1   narraysresrefs	            r5   
test_xmeanrH   3   s     'qR000C'
#gaj
B'!*4
B
B6
B
BC
#gaj
U'!*d
U
Uf
U
UCCHbjjoo.....r7   )r   r<   NkeepdimsFTc                    t          d|          \  }}}t          | |          }t          |d         fd|d         i|}t          |d         f|d         dd|}t          |j        |                    |                     d S )	Nr:   r>   r;   rI   r   r?   r<   r@   r?   rA   )r6   dictr   r   r0   r'   )	r;   rI   r   r+   r1   rE   rD   rF   rG   s	            r5   test_xp_meanrN   A   s     'qR000C'th///F
71:
<
<wqz
<V
<
<C
71:
Owqzf
O
O
O
OCCHbjjoo.....r7   zarray-api-compat#242orderbiasn      limits)g?g?
lowerlimitg      ?
upperlimitc                     t          d|          \  }}}t          |          |z  } | |d         fi |} | |d         fddi|}t          |j        |                    |                     d S Nr<   r>   r;   r   rA   r@   )r6   rM   r   r0   r'   rB   s	            r5   test_severalrZ   N   s    > 'qR000C't___v%F
#gaj
#
#F
#
#C
#gaj
6
6V
6v
6
6CCHbjjoo.....r7   rD   c                 t   t          d|          \  }}}t          |           |z  }t          j        |d         fi |}t          j        |d         fddi|}t	          |j        j        |                    |j                             t	          |j        d         j        |                    |j        d         j                             t	          |j        d         j        |                    |j        d         j                             t	          |j	        j        |                    |j	        j                             t	          |j
        j        |                    |j
        j                             t	          |j        j        |                    |j        j                             d S rX   )r6   rM   r   describer   nobsr0   r'   minmaxvarianceskewnesskurtosis)r;   rD   r   r+   r1   rE   rF   rG   s           r5   test_describerb   t   s`    'qR000C't___v%F
.
.
.v
.
.C
.
A
A
A&
A
ACCHM2::ch#7#7888CJqM&

3:a=3E(F(FGGGCJqM&

3:a=3E(F(FGGGCL%rzz#,2C'D'DEEECL%rzz#,2C'D'DEEECL%rzz#,2C'D'DEEEEEr7   rC   c                 p   | t           j        k    rt          d|          nt          d|          \  }}} | |d|i}|                     | |d|d          }t	          |j        |j                  ||                    |                               t          |j        |d         j                   d S )Nr:   r>   r<   r;   r@   rA   r;   r   )	r   zmapr6   r'   r   r0   r   isnanr   )rC   r;   r   r+   r1   rE   rF   rG   s           r5   test_zscorerg      s     69EJ5F5FZb1111",Q2"6"6"6 C'
#w
"T
"
"C
**SS'f4@@@
A
ACCHchY'bhhsmm^)<===CHgajo.....r7   cupyzspecial functions won't workfc                    | j         }t          d|          \  }}}|dk    rE|                    |d         ||d u          |d<   t          j        |d         ||d u          |d<    | |d|i} | |d|d}t          |j        j        |                    |j                             t          |j	        j        |                    |j	                             |
                                }	|
                                }
t          |	j        j        |                    |
j                             t          |	j        j        |                    |
j                             d S )	Nr:   r>   ttest_1sampr<   rK   r;   r@   rd   )__name__r6   meanr   nanmeanr   	statisticr0   r'   pvalueconfidence_intervallowhigh)ri   r;   r   f_namer+   r1   rE   rF   rG   res_ciref_cis              r5   
test_ttestrw      sR    ZF&qR000C'XXgajtd$>NXOO
Z
D@PQQQ

!W
 4
 
 C
!Wd
3
3
3CCM&

3=(A(ABBBCJORZZ
%;%;<<<$$&&F$$&&FFJORZZ
%;%;<<<FK$bjj&=&=>>>>>r7   z7ignore::scipy.stats._axis_nan_policy.SmallSampleWarningc                    t          d|d          \  }}} | |d|i} | |d|d}t          |j        j        |                    |j                             t          |j        j        |                    |j                             d S )Nr<   r      r   r   r;   r@   rd   r6   r   ro   r0   r'   rp   )ri   r;   r   r+   r1   rE   rF   rG   s           r5   test_normality_testsr}      s     'qRx@@@C'
!W
 4
 
 C
!Wd
3
3
3CCM&

3=(A(ABBBCJORZZ
%;%;<<<<<r7   c                 6    |                      dd           dndS )Nf_expr:   r<   )get)rD   s    r5   pd_nsamplesr      s    

7D))5111<r7   c                       t          |           S N)tuple)argss    r5   <lambda>r      s    d r7   )paired	n_samplesrY   c                4    t          j        | ||||          S )N)r;   ddoflambda_r   power_divergence)f_obsr   r   r   r;   s        r5   power_divergence_refr      s    !%TgVVVVr7   r   )pearsonzlog-likelihoodzfreeman-tukeyzmod-log-likelihoodneymanzcressie-read	chisquarer   c                     t          d|d          \  }}}t          ||          } dk    rd d }n fd} ||d	         fi |}	t          |d	         fd
 d|}
t          |	j        j        |                    |
d	                              t          |	j        j        |                    |
d                              t          j	        |d	                   t          j	        |d                   z  }t          j
        |d         | z  |d          t          j
        |d	         | z  |d          z  }|d	xx         |                    |          z  cc<   |d	xx         |z  cc<    ||i |}	t          |d
 d|}
t          |	j        j        |                    |
d	                              t          |	j        j        |                    |
d                              d S )Nr:   )      r{   )r;   r   r   r   c                  $    t          j        | i |S r   )r   r   )r   rD   s     r5   ri   z*test_power_divergence_chisquare.<locals>.f   s    ?D3F333r7   c                  *    t          j        | di|S )Nr   r   )r   rD   r   s     r5   ri   z*test_power_divergence_chisquare.<locals>.f   s    )4KKFKKKr7   r   r@   )rA   r   r<   TrK   )r6   rM   r   r   ro   r0   r'   rp   r   rf   nansum)r   r   r;   r   r+   r1   rE   rD   ri   rF   rG   common_mask	normalizes   `            r5   test_power_divergence_chisquarer      s    'qRv>>>C't$'''F+	4 	4 	4 	4	L 	L 	L 	L 	L !GAJ
!
!&
!
!C
wqz
Xfg
X
XQW
X
XCCM&

3q6(:(:;;;CJORZZA%7%7888 (71:&&'!*)=)==K71:44$OOO9WQZ;,6TDQQQRIAJJJ"**Y'''JJJAJJJ)JJJ
!W


C
FG
V
Vv
V
VCCM&

3q6(:(:;;;CJORZZA%7%788888r7   method)fisherr   mudholkar_georgetippettstoufferc                    t          d|d          \  }}}t          | |          }t          j        |d         fi |}t          j        |d         fddi|}t	          |j        j        |                    |j                             t	          |j        j        |                    |j                             | dk    rd S t          j        |d         fd	|d
         i|}t          j        |d         f|d
         dd|}t	          |j        j        |                    |j                             t	          |j        j        |                    |j                             d S )Nr:   ry   r{   )r   r;   r   rA   r@   r   r?   r<   rL   )	r6   rM   r   combine_pvaluesr   ro   r0   r'   rp   )	r   r;   r   r+   r1   rE   rD   rF   rG   s	            r5   test_combine_pvaluesr      sh    'qRx@@@C'd+++F



5
5f
5
5C



H
Hv
H
H
HCCM&

3=(A(ABBBCJORZZ
%;%;<<<



I
IGAJ
I&
I
IC


 =GAJ+1= =5;= =C CM&

3=(A(ABBBCJORZZ
%;%;<<<<<r7   c                    d}t          d| |          \  }}}t          j        t          j        d |D                       d                              t
                    fd|D             }|d         d	z  |d
         d	z  c|d<   |d
<   |d         d	z  |d
         d	z  c|d<   |d
<   t          j        | }t          j        | }|                               | 	                              r| 	                               sJ t          |j        j                  |                     |j                             t          |j        j                  |                     |j                             t          |j        j                   t          |j        j                   |j        j        |k    sJ |j        j        |k    sJ d S )Nry   r   r{   c                 6    g | ]}t          j        |          S  )r   rf   ).0args     r5   
<listcomp>z-test_ttest_ind_from_stats.<locals>.<listcomp>  s     ===cBHSMM===r7   r   rY   c                 "    g | ]}|          S r   r   )r   r   r   s     r5   r   z-test_ttest_ind_from_stats.<locals>.<listcomp>  s    ---csD5z---r7   r:   d   r   )r6   r   sumstackr$   boolr   ttest_ind_from_statsr'   anyr   ro   r0   rp   r   r   )r   r   r+   r1   rE   rF   rG   r   s          @r5   test_ttest_ind_from_statsr     s    E&qRu===C'6"(==W===>>QGGGNNtTTD----W---G$QZ#-wqzC/?GAJ
$QZ#-wqzC/?GAJ


$g
.C

$g
.C::dD66$<<)BFFD5MM)))CM&u-rzz#-/H/HIIICJOTE*BJJsz,B,BCCCCM&---CJOT***=%'''':u$$$$$$r7   2z/Call to _getnamespace fails with AttributeErrorc                     t                               t                    } ddgddgg}ddgddgg}|                     ||          }t	          j        t          d	          5  t          |d
|            d d d            d S # 1 swxY w Y   d S )Ng      ?g       @g      @g      @FTr   z7`axis` must be an integer or None for use with `MArray`)match)r   r<   )r;   r   )r   r   r   r'   pytestraisesNotImplementedErrorr   )r   r0   r   marrs       r5   1test_length_nonmasked_marray_iterable_axis_raisesr   .  s     
		r	"	"B#Jc
#DENT5M*D::d:&&D 
*G
I 
I 
I 4 4$V33334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4s   "BB	Bzignore::RuntimeWarningc                 2   t          dd|           \  }}}t          j        | }|d         t          j        t          j        |d                   d                    |d<   t          j        | }t          |j        j        | 	                    |j                             t          |j
        j        | 	                    |j
                             |                     |j        j                  rJ |                     |j
        j                  rJ d S )Nr<   )r   rR   r   r   r   rY   )r6   r   directional_statsr   r   rf   r   mean_directionr0   r'   mean_resultant_lengthr   )r   r+   r1   rE   rF   rG   s         r5   test_directional_statsr   >  s     'qR@@@C'

!7
+CRVBHWQZ$8$8qAAAABGAJ

!7
+CC&+RZZ8J-K-KLLLC-2JJs899; ; ;vvc(-.....vvc/45555555r7   	equal_varc                 "   t          d|          \  }}} | |d|i|} | |d|d|}t          |j        j        |                    |j                             t          |j        j        |                    |j                             d S )NrR   r>   r;   r@   rd   r|   rB   s	            r5   test_k_sample_testsr   O  s     'qR000C'
#w
,T
,V
,
,C
#w6
?
?
?
?CCM&

3=(A(ABBBCJORZZ
%;%;<<<<<r7   c                    t          dd|          \  }}} | | }|\  }}t          j        |          t          j        |          z  } | ||          ||                    }	t          |j        j        |                    |	j                             t          |j        j        |                    |	j                             | t          j	        k    r|
                                \  }
}|	
                                \  }}t          |
j        |                    |                     t          |j        |                    |                     d S d S )Nr:   )   r   )r6   r   rf   r   ro   r0   r'   rp   r   pearsonrrq   )ri   r   r+   r1   rE   rF   xyr   rG   
res_ci_lowres_ci_high
ref_ci_lowref_ci_highs                 r5   test_pearsonrr   b  s3    'q"===C'
!W+CDAq8A;;!$D
!AteHah

CCM&

3=(A(ABBBCJORZZ
%;%;<<<EN"%"9"9";";
K"%"9"9";";
K
J)?)?@@@("**[*A*ABBBBB	 r7   qkc                     t          | rdnd|          \  }}}t          j        |d|i}t          j        |d|d}t          |j        |                    |                     d S )Nr:   r<   r>   r;   r@   rd   )r6   r   entropyr   r0   r'   )r   r;   r   r+   r1   rE   rF   rG   s           r5   test_entropyr   y  sq     'B~qqA"===C'
-
,t
,
,C
-V$
?
?
?CCHbjjoo.....r7   r   )Ynumpyr   r   scipyr   	packagingr   scipy._lib._array_apir   r   r   r   r	   r
   scipy.stats._stats_pyr   r   scipy.stats._axis_nan_policyr   importorskipr   markskipif
pytestmarkskip_xp_backendsskip_backendr6   parametrizegmeanhmeanpmeanrH   rN   momentskewra   semkstatkstatvarcircmeancircvarcircstdgstd	variationtmeantvartmintmaxtstdtsemrZ   r\   rb   zscoregzscorere   rg   rk   	ttest_rel	ttest_indrw   filterwarningsskewtestkurtosistest
normaltestjarque_berar}   r   r   r   r   r   r   r   r   r   parse__version__r   r   r   bartlettf_onewayr   r   pointbiserialrr   r   r   r   r7   r5   <module>r      ss                    U U U U U U U U U U I I I I I I I I 1 1 1 1 1 1 3 3 3 3 3 3 3 3 A A A A A A 
	X	&	&
K6   
 {+"+&~ $ $ $ $ $2 l#TUUUk"FGGGgk***)=)=ek2)N)N)=)=ek2)N)N)=)=ekCQR8)T)T)V W W !Q((/ / )(W W +* HG VU/ l#TUUUk"FGGGgk***..eT]33/ / 43 /. +* HG VU
/ l#TUUUk"FGGGg4555%,!55%*b))%*vuo66%."--%.65/::%)R((%+Qx00%+Qx00%+Qx00%+Qx00%.3(33%.3(33%."--%-,,%-,,%*b))%/2..r]%+*'=>>%*x&<==%*|S&9::%*|S&9::%*x&<==%*x&<==/ 4 ../ / /.5  65 HG VU</ 5>""l#TUUUk"FGGGg4555!Q((B4((
F 
F )( )( 65 HG VU #"
F l#TUUUk"FGGGg4555!5!5el!C!C!5!5em!D!D!5!5ej!A!A!C D D ../ / /.D D 65 HG VU/ l#TUUUk"FGGGg4555f;<<<33E4EFF33EODD33EODDF G G ..? ? /.G G =< 65 HG VU?  l#TUUUk"FGGGg4555f;<<<UVV33ENCC33E4FGG33E4DEE33E4EFFH I I ..= = /.	I I WV =< 65 HG VU== = = 33DKXXXWA W W W W YXW 5?E$:;;l#TUUUk"FGGGg4555f;<<< %2 %2 %2 3 3 !Q((..9 9 /. )(3 3 =< 65 HG VU <;9B 5())l#TUUUk"FGGGg4555f;<<< $; $; $; < <..= = /.< < =< 65 HG VU *)=* 5-..l#TUUUk"FGGGg4555f;<<<% % =< 65 HG VU /.
%* MGM".11MGM#4F4FFL  N N4 4N N4 5*++l#TUUUk"FGGGg4555455	6 	6 65 65 HG VU ,+
	6 5>""l#TUUUk"FGGGg4555f;<<<
^R
^k4()
^k5)*)  
 ..= = /.  =< 65 HG VU #"= l#TUUUk"FGGGg4555f;<<<33ENCC33E4HIIK L LC CL L =< 65 HG VUC" 5=!!l#TUUUk"FGGGt}--../ / /. .- HG VU "!
/ / /r7   