
    Yh0                        d dl Z d dlZd dlmZ d dlmZmZ d dlm	Z	m
Z
mZ d dlmZ  e j        d          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j        i fej        i fej        ddif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j        ddifej        i fej        d difej        i fej        d difej        i fej        d!difej        d!difej        d!d"ifej        d!d#ifej        d!difej        d!difej         i fej!        i fej"        i fe
i fej#        d$d%ifej$        d$d%ifej%        d&d'ifej&        d(d'ifej'        d$d%ifej(        d$d%ifg          e j                            dg d          d)                                                             Z) edd           edd           edd          e j                            dd dg          e j                            d*i g          d+                                                             Z* edd           edd           edd          e j                            d,ej+        ej,        ej-        g          e j                            dg d          d-                                                             Z. edd           edd           edd           ed.d/          e j                            d0g d1          e j                            dg d          d2                                                                         Z/ edd           edd           edd           ed.d/          e j        0                    d3          e j                            d0g d4          e j                            dg d          d5                                                                                     Z1d6 Z2 ed7 de28          dDd d9d:            Z3 edd           edd           edd           ed.d/          e j                            d;g d<          e j                            d=d dg          e j                            dg d          d>                                                                                     Z4 edd           edd           edd           ed.d/          e j                            d?g d@          e j                            dg d          dA                                                                         Z5 edd           edd           edd           ed.d/          dB                                                 Z6dC Z7dS )E    N)stats)xp_assert_closexp_assert_equal)_xp_mean_xp_var_length_nonmasked)_axis_nan_policy_factorymarray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                   o/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/scipy/stats/tests/test_marray.py
get_arraysr1      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#11711)reasonz	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 )Nr6   r   r   r8   )weightsr7   omit)r;   
nan_policyr7   )r1   r   r+   r"   	funkwargsr7   r   r&   r,   narraysresrefs	            r0   
test_xmeanrD   '   s     'qR000C'
#gaj
B'!*4
B
B6
B
BC
#gaj
U'!*d
U
Uf
U
UCCHbjjoo.....r2   )r   r8   NkeepdimsFTc                    t          d|          \  }}}t          | |          }t          |d         fd|d         i|}t          |d         f|d         dd|}t          |j        |                    |                     d S )	Nr6   r:   r7   rE   r   r;   r8   r<   r;   r=   )r1   dictr   r   r+   r"   )	r7   rE   r   r&   r,   rA   r@   rB   rC   s	            r0   test_xp_meanrJ   5   s     'qR000C'th///F
71:
<
<wqz
<V
<
<C
71:
Owqzf
O
O
O
OCCHbjjoo.....r2   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 Nr8   r:   r7   r   r=   r<   )r1   rI   r   r+   r"   r>   s	            r0   test_severalrV   B   s    : 'qR000C't___v%F
#gaj
#
#F
#
#C
#gaj
6
6V
6v
6
6CCHbjjoo.....r2   r@   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 rT   )r1   rI   r   describer   nobsr+   r"   minmaxvarianceskewnesskurtosis)r7   r@   r   r&   r,   rA   rB   rC   s           r0   test_describer^   f   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Er2   r?   c                 p   | t           j        k    rt          d|          nt          d|          \  }}} | |d|i}|                     | |d|d          }t	          |j        |j                  ||                    |                               t          |j        |d         j                   d S )Nr6   r:   r8   r7   r<   r=   r7   r   )	r   zmapr1   r"   r   r+   r   isnanr   )r?   r7   r   r&   r,   rA   rB   rC   s           r0   test_zscorerc   x   s     69EJ5F5FZb1111",Q2"6"6"6 C'
#w
"T
"
"C
**SS'f4@@@
A
ACCHchY'bhhsmm^)<===CHgajo.....r2   cupyzspecial functions won't workf_name)ttest_1samp	ttest_rel	ttest_indc                    t          t          |           }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 )	Nr6   r:   rf   r8   rG   r7   r<   r`   )getattrr   r1   meanr   nanmeanr   	statisticr+   r"   pvalueconfidence_intervallowhigh)re   r7   r   fr&   r,   rA   rB   rC   res_ciref_cis              r0   
test_ttestru      sZ    	vA&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&=&=>>>>>r2   z7ignore::scipy.stats._axis_nan_policy.SmallSampleWarning)skewtestkurtosistest
normaltestjarque_berac                 F   t          t          |           }t          d|d          \  }}} ||d|i} ||d|d}t          |j        j        |                    |j                             t          |j        j        |                    |j                             d S )Nr8   r      r   r   r7   r<   r`   )rj   r   r1   r   rm   r+   r"   rn   )	re   r7   r   rr   r&   r,   rA   rB   rC   s	            r0   test_normality_testsr~      s     	vA&qRx@@@C'
!W
 4
 
 C
!Wd
3
3
3CCM&

3=(A(ABBBCJORZZ
%;%;<<<<<r2   c                 6    |                      dd           dndS )Nf_expr6   r8   )get)r@   s    r0   pd_nsamplesr      s    

7D))5111<r2   c                       t          |           S N)tuple)argss    r0   <lambda>r      s    d r2   )paired	n_samplesrU   c                4    t          j        | ||||          S )N)r7   ddoflambda_r   power_divergence)f_obsr   r   r   r7   s        r0   power_divergence_refr      s    !%TgVVVVr2   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 )Nr6   )      r}   )r7   r   r   r   c                  $    t          j        | i |S r   )r   r   )r   r@   s     r0   rr   z*test_power_divergence_chisquare.<locals>.f   s    ?D3F333r2   c                  *    t          j        | di|S )Nr   r   )r   r@   r   s     r0   rr   z*test_power_divergence_chisquare.<locals>.f   s    )4KKFKKKr2   r   r<   )r=   r   r8   TrG   )r1   rI   r   r   rm   r+   r"   rn   r   rb   nansum)r   r   r7   r   r&   r,   rA   r@   rr   rB   rC   common_mask	normalizes   `            r0   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8r2   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 )Nr6   r{   r}   )r   r7   r   r=   r<   r   r;   r8   rH   )	r1   rI   r   combine_pvaluesr   rm   r+   r"   rn   )	r   r7   r   r&   r,   rA   r@   rB   rC   s	            r0   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
%;%;<<<<<r2   c                    d}t          d| |          \  }}}t          j        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 )Nr{   r   r}   c                 6    g | ]}t          j        |          S  )r   rb   ).0args     r0   
<listcomp>z-test_ttest_ind_from_stats.<locals>.<listcomp>  s     %G%G%Gbhsmm%G%G%Gr2   r   rU   c                 "    g | ]}|          S r   r   )r   r   r   s     r0   r   z-test_ttest_ind_from_stats.<locals>.<listcomp>  s    ---csD5z---r2   r6   d   r   )r1   r   r   sumstackboolr   ttest_ind_from_statsr"   anyr   rm   r+   rn   r   r   )r   r   r&   r,   rA   rB   rC   r   s          @r0   test_ttest_ind_from_statsr      s   
 E&qRu===C'9RVBH%G%Gw%G%G%GHHqQQQSWXXD----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$$$$$$r2   c                     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   r8   )r7   r   )r
   r   r   r"   pytestraisesNotImplementedErrorr   )r   r+   r   marrs       r0   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r   )8r   numpyr   scipyr   scipy._lib._array_apir   r   scipy.stats._stats_pyr   r   r   scipy.stats._axis_nan_policyr	   importorskipr
   markskip_xp_backendsskip_backendr1   parametrizegmeanhmeanpmeanrD   rJ   momentskewr]   semkstatkstatvarcircmeancircvarcircstdtmeantvartmintmaxtstdtsemrV   r^   zscoregzscorera   rc   ru   filterwarningsr~   r   r   r   r   r   r   r   r2   r0   <module>r      s	              B B B B B B B B F F F F F F F F F F A A A A A A 
	X	&	&{+ #,&~ $ $ $ $ $2 l#TUUUk"FGGGgk***%+r):*/+r):*/+Qx)@)B C C !Q((/ / )(C C +* 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lWaL!j"j65/"nbnvuo&i_kC8kC8kC8kC8nsAhnsAhnbmRmRr]kHj)*j8Z()j<%&j<%&j8Z()j8Z()+ 0 ../ / /.1  65 HG VU8/ 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u}ej IJJ../ / /. KJ 65 HG VU
/ l#TUUUk"FGGGg4555f;<<<#L#L#LMM..? ? /. NM =< 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 $A $A $A B B..= = /.B B WV =< 65 HG VU== = = 33DKXXXWA W W W W YXW 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 l#TUUUk"FGGGg4555f;<<< $; $; $; < <..= = /.< < =< 65 HG VU=* l#TUUUk"FGGGg4555f;<<<% % =< 65 HG VU%(4 4 4 4 4r2   