
    Џkh0                        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                   j)                  dej*                  i fej,                  i fej.                  ddifg      e j                   j)                  dd dg      d                                    Z edd       edd       edd      e j                   j)                  dg d      e j                   j)                  dddg      d                                    Z edd       edd       edd      e j                   j)                  dej4                  ddifej6                  i fej6                  d difej8                  i fej8                  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jB                  i fejD                  i fe
i fejF                  d$d%ifejH                  d$d%ifejJ                  d&d'ifejL                  d(d'ifejN                  d$d%ifejP                  d$d%ifg      e j                   j)                  dg d      d)                                    Z) edd       edd       edd      e j                   j)                  dd dg      e j                   j)                  d*i g      d+                                    Z* edd       edd       edd      e j                   j)                  d,ejV                  ejX                  ejZ                  g      e j                   j)                  dg d      d-                                    Z. edd       edd       edd       ed.d/      e j                   j)                  d0g d1      e j                   j)                  dg d      d2                                           Z/ edd       edd       edd       ed.d/      e j                   ja                  d3      e j                   j)                  d0g d4      e j                   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                   j)                  d;g d<      e j                   j)                  d=d dg      e j                   j)                  dg d      d>                                                  Z4 edd       edd       edd       ed.d/      e j                   j)                  d?g d@      e j                   j)                  dg d      dA                                           Z5 edd       edd       edd       ed.d/      dB                             Z6dC Z7y)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         j                  |      }t        j                  j	                  |      }g g }}t        |       D ]  }	|j                  |      }
|j                  d      rd|
z  dz  |j                  |      z  }
|
j                  |      }
|j                  |
       |j                  |      dkD  }|j                  |        g }g }t        ||      D ]W  \  }}|j                  |j                  ||             |j                         }|j                  ||<   |j                  |       Y |||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                   Y/var/www/teggl/fontify/venv/lib/python3.12/site-packages/scipy/stats/tests/test_marray.py
get_arraysr1      s/   



#C
))


%Cr5E8_ zzuz%I&d7S=!4!4%!4!@@D{{5!Tzzuz%,T GJ5%( %ts{{5t{45JJL	&&	$)$	% ##    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                  |j                  |             y )Nr6   r   r   r8   )weightsr7   omit)r;   
nan_policyr7   )r1   r   r+   r"   	funkwargsr7   r   r&   r,   narraysresrefs	            r0   
test_xmeanrD   '   sk     'qR0C'
gaj
B'!*4
B6
BC
gaj
U'!*d
Uf
UCCHHbjjo.r2   )r   r8   NkeepdimsFTc                     t        d|      \  }}}t        | |      }t        |d   fd|d   i|}t        |d   f|d   dd|}t        |j                  |j                  |             y )	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   ss     'qR0C'th/F
71:
<wqz
<V
<C
71:
Owqzf
O
OCCHHbjjo.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                  |j	                  |             y Nr8   r:   r7   r   r=   r<   )r1   rI   r   r+   r"   r>   s	            r0   test_severalrV   B   sf    : 'qR0C't_v%F
gaj
#F
#C
gaj
6V
6v
6CCHHbjjo.r2   r@   c                    t        d|      \  }}}t        |       |z  }t        j                  |d   fi |}t        j                  |d   fddi|}t	        |j
                  j                  |j                  |j
                               t	        |j                  d   j                  |j                  |j                  d   j                               t	        |j                  d   j                  |j                  |j                  d   j                               t	        |j                  j                  |j                  |j                  j                               t	        |j                  j                  |j                  |j                  j                               t	        |j                  j                  |j                  |j                  j                               y rT   )r1   rI   r   describer   nobsr+   r"   minmaxvarianceskewnesskurtosis)r7   r@   r   r&   r,   rA   rB   rC   s           r0   test_describer^   f   sJ    'qR0C't_v%F
..
.v
.C
..
A
A&
ACCHHMM2::chh#78CJJqM&&

3::a=3E3E(FGCJJqM&&

3::a=3E3E(FGCLL%%rzz#,,2C2C'DECLL%%rzz#,,2C2C'DECLL%%rzz#,,2C2C'DEr2   r?   c                 Z   | t         j                  k(  rt        d|      nt        d|      \  }}} | |d|i}|j                   | |d|d      }t	        |j
                  |j                      ||j                  |                 t        |j                  |d   j                         y )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     69EJJ5FZb1",Q2"6 C'
w
"T
"C
**S'f4@
ACCHHchhY'bhhsm^)<=CHHgajoo.r2   cupyzspecial functions won't workf_name)ttest_1samp	ttest_rel	ttest_indc                    t        t        |       }t        d|      \  }}}| dk(  r<|j                  |d   ||d u      |d<   t	        j
                  |d   ||d u      |d<    ||d|i} ||d|d}t        |j                  j                  |j                  |j                               t        |j                  j                  |j                  |j                               |j                         }	|j                         }
t        |	j                  j                  |j                  |
j                               t        |	j                  j                  |j                  |
j                               y )	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      s$    	vA&qR0C'XXgajtd$>NXO
ZZ
D@PQ

W
 4
 C
Wd
3CCMM&&

3==(ABCJJOORZZ

%;<$$&F$$&FFJJOORZZ

%;<FKK$$bjj&=>r2   z7ignore::scipy.stats._axis_nan_policy.SmallSampleWarning)skewtestkurtosistest
normaltestjarque_berac                 N   t        t        |       }t        d|d      \  }}} ||d|i} ||d|d}t        |j                  j
                  |j                  |j                               t        |j                  j
                  |j                  |j                               y )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
3CCMM&&

3==(ABCJJOORZZ

%;<r2   c                 .    | j                  dd       dS dS )Nf_expr6   r8   )get)r@   s    r0   pd_nsamplesr      s    

7D)51<1<r2   c                      t        |       S N)tuple)argss    r0   <lambda>r      s
    d r2   )paired	n_samplesrU   c                6    t        j                  | ||||      S )N)r7   ddoflambda_r   power_divergence)f_obsr   r   r   r7   s        r0   power_divergence_refr      s    !!%Tg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
                  |j                  |
d	                t        |	j                  j
                  |j                  |
d                t        j                  |d	         t        j                  |d         z  }t        j                  |d   | z  |d      t        j                  |d	   | z  |d      z  }|d	xx   |j                  |      z  cc<   |d	xx   |z  cc<    ||i |}	t        |d
 d|}
t        |	j                  j
                  |j                  |
d	                t        |	j                  j
                  |j                  |
d                y )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3r2   c                  2    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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	L GAJ
!&
!C
wqz
Xfg
XQW
XCCMM&&

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

3q6(:;CJJOORZZA%7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                  |j
                               t	        |j                  j                  |j                  |j                               | dk7  ry t        j                  |d   fd	|d
   i|}t        j                  |d   f|d
   dd|}t	        |j
                  j                  |j                  |j
                               t	        |j                  j                  |j                  |j                               y )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      s7    'qRx@C'd+F




5f
5C




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

3==(ABCJJOORZZ

%;<




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

3==(ABCJJOORZZ

%;<r2   c                    d}t        d| |      \  }}}t        j                  t        j                  t        j                  |D cg c]  }t        j
                  |       c}      d      t              }|D cg c]  }||    
 }}|d   dz  |d   dz  c|d<   |d<   |d   dz  |d   dz  c|d<   |d<   t        j                  | }t        j                  | }| j                  |      }| j                  |      r| j                  |       sJ t        |j                  j                  |    | j                  |j                               t        |j                  j                  |    | j                  |j                               t        |j                  j                  |       t        |j                  j                  |       |j                  j                   |k(  sJ |j                  j                   |k(  sJ y c c}w c c}w )	Nr{   r   r}   r   rU   r6   d   r   )r1   r   r   sumstackrb   boolr   ttest_ind_from_statsr"   anyr   rm   r+   rn   r   r   )	r   r   r&   r,   rA   argr   rB   rC   s	            r0   test_ttest_ind_from_statsr      s   
 E&qRu=C'99RVVBHHw%Gbhhsm%GHqQSWXD%,-csD5z-G-$QZ#-wqzC/?GAJ
$QZ#-wqzC/?GAJ


$
$g
.C

$
$g
.C::dD66$<BFFD5M))CMM&&u-rzz#--/HICJJOOTE*BJJszz,BCCMM&&-CJJOOT*==%'''::u$$$ &H-s   H<H	c                      t         j                  t              } ddgddgg}ddgddgg}| j                  ||      }t	        j
                  t        d	      5  t        |d
|        d d d        y # 1 sw Y   y xY w)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 4$V34 4 4s   A00A9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    r2   r0   <module>r      s      B F F A 
		X	&{{++ #,&~ $2 l#TUk"FGgk*%++r):*/++r):*/++Qx)@)B C !Q(/ )C + H V/ l#TUk"FGgk*.eT]3/ 4 / + H V
/ l#TUk"FGg45llWaL!jj"jj65/"nnbnnvuo&ii_kkC8kkC8kkC8kkC8nnsAhnnsAhnnbmmRmmRr]kkHj)*jj8Z()jj<%&jj<%&jj8Z()jj8Z()+0 ./ /1 6 H V8/ l#TUk"FGg45!Q(B4(
F ) ) 6 H V

F l#TUk"FGg45u}}ejj IJ./ / K 6 H V
/ l#TUk"FGg45f;<#LM.? / N = 6 H V?  l#TUk"FGg45f;<UV $A B.= /B W = 6 H V== 3DKXWA W YW l#TUk"FGg45f;< %2 3 !Q(.9 / )3 = 6 H V9B l#TUk"FGg45f;< $; <.= /< = 6 H V=* l#TUk"FGg45f;<% = 6 H V%(4r2   