
    Ui(                     !   d dl mZmZmZ d dlZd dlZd dlZd dlZd dlZd dl	Z
d dlmZmZ d dlmZ d dlmZ d dlmZmZmZmZmZmZ d dlmZ d dlmZ  eej                            d	d
                    Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(g ej)         e*             e+            ddddfej,        d e+            ddddfej-         e*            ddiddddfej.        dddidddd fej.         e*             e+            dddd fej.         e*            ddidddd  fej/         e*             e+            dddd! fej0         e*             e+            dddd" fej1        d# e+            dddd$ fej2         e*             e+            dddd% fej3         e*             e+            dddd& fej4         e*             e+            dddd' fej5         e*             e+            dddd( fej6         e*             e+            dddd) fej7         e*             e+            dddd* fej8         e*             e+            dddd+ fej8         e*             e+ddg,          ddddfej9         e*             e+            ddddfej:         e
j;        d g          f e+            dd-de!fej<         e*             e+            dd-de!fej=         e*             e+            dd-de!f e"ej:                  d. e+            ddddf e"ej<                   e*             e+            ddddf e"ej=                   e*             e+            ddddfej>         e*             e+            dddd/ fej?         e*             e+            dddd0 fej@         e*             e+            dddd1 fejA         e*             e+            ddddfejB         e*             e+d23          ddddfejC         e*            i ddddfejD         e*            i ddddfejE         e            jF        f e+            dd4dd5 fejG         e*             e+            dd4dd6 fejH         e            jF        f e+            dd4dd7 fejH         e*             e+            dd4dd8 fejI         e*            i ddddfejJ         e*            d9d:d;ddddfejK         e*            i ddddfejL         e*             e+            dddd< fejL         e*             e+            dddd= fejM         e*             e+            ddddfejN         e*             e+            ddddfejO         e*             e+            ddddfejP        d e+            dddd> fejQ         e*             e+            dddd? fejR         e*             e+            ddddfejS         e*            i ddddfejT         e*            i dddd@ fejU         e*            i ddddA fejV         e*            i ddddB fejW         e*            i ddddC fejX         e*            i ddddD fejY         e*            i ddddE fejZ         e*             e+            ddddF fej[         e*             e+            ddddG fej\         e*             e+            ddddH fej]         e*            i ddddfej]         e*            dIdiddddfej^         e*            i ddddJ fej_         e*            i ddddfej`         e*             e+            dd4ddK fe' e*            i ddddfe# e*             e+            ddddL fe$ e*             e+            ddddM fe% e*             e+            ddddN feja         e*             e+            ddddO fejb         e*             e+            ddddP fejc         e*             e+            ddddQ fejd         e*             e+            ddddR fe( e*             e+            ddddS feje         e*             e+            ddTddU fejf         e*             e+            dd4de*fejf         e*             e+            dd4de*fejg         e*             e+            ddde*fejg         e*             e+            ddde*fe& e*             e+            ddddV fejh         e*             e+            ddddfeji         e*             e+            ddddfejj        jk         e*             e+dWX          ddddY fZlh dZZmd[d\hZnej>        e(ejd        hZoejL        eji        ejh        hZpejL        eji        ejh        hZq	 dd]Zr	 dd^Zsdd_ddd`daZteju        v                    db          eju        v                    dc          eju        v                    dd          eju        v                    de          eju        v                    df          eju        v                    dg          eju        w                    dhel          eju        w                    didj          eju        w                    dkdl          eju        w                    dmdn          eju        x                    d          do                                                                                                                                     Zye rQeju        v                    db          eju        v                    dc          eju        v                    dd          eju        v                    dp          eju        v                    df          eju        v                    dg          eju        w                    dhel          eju        w                    didj          eju        w                    dk ezdqd                    eju        w                    dmdr          ds                                                                                                                         Z{dt Z|eju        w                    dhel          eju        w                    didj          eju        w                    dmdu          eju        x                    d          dv                                                 Z}eju        v                    dw          eju        v                    dx          eju        w                    didy          eju        w                    dhel          eju        w                    dzd{          d|                                                             Z~eju        w                    d}ej6        dfej7        dfg          d~             Zeju        w                    dkd          d             Zd Zd Zeju        w                    dhel          d             Zd Zd Zeju        j        eju        w                    dhel          eju        x                    d          d                                     Zd Zeju        w                    dkd dg          eju        w                    dh e                      d                         Zd Zed             Zd Zeju        v                    d          eju        v                    d          eeju        w                    dk ezdqd                    d                                                 Zeju        v                    d          eju        v                    d          ed                                     Zeju        v                    d          eju        v                    d          ed                                     Zd Zd Zeju        w                    dk e e ezdqd          d                    dgz             d             Zeju        v                    d          eju        v                    d          eeju        w                    ddd fdd fdd fdd fg          d                                                 Zd Zeju        w                    de
j        e
j        e
j        g          d             ZdS )    )productcombinations_with_replacementpermutationsN)assert_allcloseassert_equal)stats)norm) _masked_arrays_2_sentinel_arraysSmallSampleWarningtoo_small_nd_omittoo_small_nd_not_omittoo_small_1d_omittoo_small_1d_not_omit)	AxisError)skip_xp_invalid_argSCIPY_XSLOW0c                 t    |                                  \  }}| j        | j        | j        | j        | j        ||fS N)confidence_interval	statisticpvaluedf_standard_error	_estimate)reslowhighs      ~/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/scipy/stats/tests/test_axis_nan_policy.pyunpack_ttest_resultr       s<    ''))ICM3:svs/BM3& &    c                       fd}|S )Nc                  <     | i |}|                                 S r   )r   )argskwargsr   ttests      r   ttest_ciz_get_ttest_ci.<locals>.ttest_ci%   s)    eT$V$$&&(((r!    )r&   r'   s   ` r   _get_ttest_cir)   #   s#    ) ) ) ) ) Or!   c                  Z    |                     dd            t          j        j        | i |S N_no_decopopr   	_stats_py_xp_meanr$   r%   s     r   xp_mean_1sampr2   +   s.    
JJz4   ?#T4V444r!   c                      |                     dd            | d         }t          j        j        | d         g| dd          R d|i|S )Nr,      r      weightsr-   )r$   r%   r6   s      r   xp_mean_2sampr7   0   sS    
JJz4   1gG?#DGRd122hRRRR6RRRr!   c                  Z    |                     dd            t          j        j        | i |S r+   )r.   r   r/   _xp_varr1   s     r   xp_varr:   6   s.    
JJz4   ?"D3F333r!   c                  P    |                     dd            t          j        | i |S r+   )r.   r   gstdr1   s     r   r<   r<   ;   s+    
JJz4   :t&v&&&r!   c                  Z    t          j        | d         g| dd          R | d         dd|S )Nr   r5   r4   stouffer)r6   method)r   combine_pvaluesr1   s     r   combine_pvalues_weightedrA   @   sL     a >48 > >T!W(2> >6<> > >r!   c                     |                     dd          }|                     dd          }t          j        |||          }t          j        | ||fi |S )Naxisr   
nan_policy	propagaterC   rD   )getr   rankdataweightedtau)xyrankr%   rC   rD   s         r   weightedtau_weightedrM   E   s[    ::fa  DL+66J>$TjAAADQ4226222r!      r5   F)lessr?   
asymptotic)prattmodeautoTc                     | j         | j        fS r   r   r   r   s    r   <lambda>rW   T       #-, r!   r4   c                     | j         | j        fS r   rU   rV   s    r   rW   rW   V   rX   r!   c                 *    | j         | j        | j        fS r   )r   r   
zstatisticrV   s    r   rW   rW   X   s    #-S^< r!   c                     | fS r   r(   rJ   s    r   rW   rW   Y       1$ r!   c                     | fS r   r(   r]   s    r   rW   rW   Z   r^   r!   )gQ?c                     | fS r   r(   r]   s    r   rW   rW   [   r^   r!   c                     | fS r   r(   r]   s    r   rW   rW   \        r!   c                     | fS r   r(   r]   s    r   rW   rW   ]   rb   r!   c                     | fS r   r(   r]   s    r   rW   rW   ^       aT r!   c                     | fS r   r(   r]   s    r   rW   rW   _   s    ! r!   c                     | fS r   r(   r]   s    r   rW   rW   `   r^   r!   c                     | fS r   r(   r]   s    r   rW   rW   a   re   r!   c                     | fS r   r(   r]   s    r   rW   rW   b       A4 r!   )order   )r   c                     | j         | j        fS r   )rR   countr]   s    r   rW   rW   l   s    8I r!   c                     | fS r   r(   r]   s    r   rW   rW   m   s    ! r!   c                     | fS r   r(   r]   s    r   rW   rW   n   s    qd r!   normal)distribution   c                 (    g | | j         | j        R S r   statistic_locationstatistic_signrV   s    r   rW   rW   t       C3C.C0BCC r!   c                 (    g | | j         | j        R S r   ru   rV   s    r   rW   rW   v   rx   r!   c                 (    g | | j         | j        R S r   ru   rV   s    r   rW   rW   x   rx   r!   c                 (    g | | j         | j        R S r   ru   rV   s    r   rW   rW   z   rx   r!   trimmedg{Gz?)centerproportiontocutc                     | fS r   r(   r]   s    r   rW   rW          QD r!   c                     | fS r   r(   r]   s    r   rW   rW      rj   r!   c                     | j         | j        fS r   rU   rV   s    r   rW   rW      rX   r!   c                     | j         | j        fS r   rU   rV   s    r   rW   rW      rX   r!   c                     | fS r   r(   r]   s    r   rW   rW      s    qd r!   c                     | fS r   r(   r]   s    r   rW   rW          aT r!   c                     | fS r   r(   r]   s    r   rW   rW      r   r!   c                     | fS r   r(   r]   s    r   rW   rW      r   r!   c                     | fS r   r(   r]   s    r   rW   rW      r   r!   c                     | fS r   r(   r]   s    r   rW   rW      r   r!   c                     | fS r   r(   r]   s    r   rW   rW      re   r!   c                     | fS r   r(   r]   s    r   rW   rW      r   r!   c                     | fS r   r(   r]   s    r   rW   rW      r   r!   	equal_varc                     | j         | j        fS r   rU   rV   s    r   rW   rW      rX   r!   c                      t          |           S r   )tupler]   s    r   rW   rW      s    E!HH r!   c                     | fS r   r(   r]   s    r   rW   rW      r   r!   c                     | fS r   r(   r]   s    r   rW   rW      rj   r!   c                     | fS r   r(   r]   s    r   rW   rW      r   r!   c                     | j         | j        fS r   rU   rV   s    r   rW   rW      rX   r!   c                 *    | j         | j        | j        fS r   r   r   correlationrV   s    r   rW   rW          #-S_= r!   c                 *    | j         | j        | j        fS r   r   rV   s    r   rW   rW      r   r!   c                 *    | j         | j        | j        fS r   r   rV   s    r   rW   rW      r   r!   c                 *    | j         | j        | j        fS r   r   rV   s    r   rW   rW      r   r!      c                 2    t          |           | j        fz   S r   )r   intercept_stderrrV   s    r   rW   rW      s    ss355 r!   c                     | fS r   r(   r]   s    r   rW   rW      s    A4 r!   g      ?)lmbc                     | fS r   r(   r]   s    r   rW   rW      s
    STRV r!   >   division by zeroMean of empty sliceNot enough observations.Inputs must not be empty.divide by zero encounteredData input must not be emptyNot enough test observations`skewtest` requires at leastNot enough other observationsData must be at least length 3 `kurtosistest` requires at least!Degrees of freedom <= 0 for slice!x and y must contain at least two"All `x` coordinates are identical.#No array values within given limits$At least one observation is required$The sample must contain at least two$`x` and `y` must be of nonzero size.'x and y should have at least 5 elements(`x` and `y` must have length at least 2.)Data passed to ks_2samp must not be empty)One or more sample arguments is too small*attempt to get argmax of an empty sequence+Input sample size must be greater than one.+The exact distribution of the Wilcoxon test+Window length (0) must be positive and less+Window length (1) must be positive and less+Window length (2) must be positive and less.zero-size array to reduction operation maximum/At least one slice along `axis` has zero lengthinvalid value encounteredz-Precision loss occurred in moment calculationz/Sample size too small for normal approximation.c           
      b   g }t          |           D ]}d}|rdnd|z   }t          j        |||f          t          j        z  }	t          |          D ]}
|	|
d d d d f         }t	          dddd|dz
  |g          D ]=\  }}|                    |          d |         }|                    |          |||f<   >|                    |d          |d d <   |gdg| z  z   |gz   }d|d|z   <   |	                    |          }	t          j        |	d	|          }	|	                    |	           |S )
Nr      r   r4   r5   rN   sizerC   )
rangenponesnan	enumeratepermutationrandomreshapemoveaxisappend)	n_samplesn_repetitionsrC   rngpaireddatai
n_patternsn_obsrJ   jsampleskn_realsindices	new_shapes                   r   _mixed_data_generatorr      sm    D9  
("q&G]J677"&@}%% 	: 	:A111aaajG (Aq!U1We(DEE ? ?
7//%00':&)jjgj&>&>7
## q99GAAAJJ
 #Oqc)m3ug=		!a%IIi  K2t$$AKr!   c                 2   g }t          |           D ]}|rdnd|z   }|gdg| z  z   |gz   }	d|	d|z   <   |r!t          j        |	          t          j        z  n|                    |	          }
t          j        |
d|          }
|                    |
           |S )Nr   r4   r5   r   )r   r   r   r   r   r   r   )r   r   rC   r   r   all_nansr   r   r   shaperJ   s              r   _homogeneous_data_generatorr     s    
 D9  ("q&1#i-/5'9a!e'/FBGENNRV##SZZ5F5FK2t$$AKr!   raise	n_outputsrD   r   r,   c                P  
 |dk    r;|D ]7}	t          j        t          j        |	                    rt          d          8n|dk    rV| t          vrM|D ]I}	t          j        t          j        |	                    r!t          j        |t           j                  c S Jnq|dk    rk|sd |D             }n\t          j        |d                   
|dd          D ])}	t          j        
t          j        |	                    
*
fd|D             } | | g ||R d	|i|          S )
Nr   The input contains nan valuesrE   omitc                 D    g | ]}|t          j        |                    S r(   )r   isnan.0samples     r   
<listcomp>z!nan_policy_1d.<locals>.<listcomp>1  s*    EEEFfbhv.../EEEr!   r   r4   c                 "    g | ]}|          S r(   r(   )r   r   nan_masks     r   r   z!nan_policy_1d.<locals>.<listcomp>6  s     ===FfhY'===r!   r,   )r   anyr   
ValueErroroverride_propagate_funcsfullr   
logical_or)hypotestdata1dunpackerr   rD   r   r,   r$   kwdsr   r   s             @r   nan_policy_1dr     s    W 	B 	BFvbhv&&'' B !@AAAB	B 
#
#666
  	2 	2Fvbhv&&'' 2wy"&111112	2 
v		 	>EEfEEEFFxq	**H * E E=28F3C3CDD====f===F8HHGfGtGGGhG$GGHHHr!   z3ignore:Sample size too small for normal:UserWarningz0ignore:`kurtosistest` p-value may be:UserWarningz5ignore:all input arrays have length 1.:RuntimeWarningz7ignore:Degrees of freedom <= 0 for slice:RuntimeWarningz2ignore:Invalid value encountered in:RuntimeWarningz0ignore:divide by zero encountered:RuntimeWarning)r   r$   r   r   r   r   r   rD   )rE   r   r   rC   )r4   data_generator)mixedc
                     | t           j        t           j        hv rt          st	          j        d           t          | |||||||||	
  
         d S )N	Too slow.)r   cramervonmises_2sampkruskalr   pytestskip_axis_nan_policy_test
r   r$   r   r   r   r   r   rD   rC   r   s
             r   test_axis_nan_policy_fastr  =  sd    2 E.>>>{>K   (D$	9f"JnF F F F Fr!   z1ignore:Degrees of freedom <= 0 for:RuntimeWarning)r   
all_finiter   c
                 6    t          | |||||||||	
  
         d S r   )r  r  s
             r   test_axis_nan_policy_fullr  c  s:    2 	hdIy&&
D.	J 	J 	J 	J 	Jr!   c
           
      j   |sd }t           j                            d          }
d}|||
|d}|	dk    rd}t          di |}n3|	dk    rd}d	|d<   t	          di |}n|	d
k    rd}d|d<   t	          di |}|g|g|z  z   fd|D             }fd|D             }t          j        |gz             }t          j        t          j                            D ]`\  }fd|D             }t          d |D                       }d}|dk    r|rt          j	        t          |          5  t          | ||g|R |||d	d| d d d            n# 1 swxY w Y   t          j	        t          |          5   | g ||R d|i| d d d            n# 1 swxY w Y   	 t          | ||g|R |||d	d|}nz# t          t          t          t          f$ rZ}t          |          t          fdt           D                       r t          j        |t           j                  }n Y d }~nd }~ww xY w|dk    rW|	dk    rQ| t&          vrHt          j        t*          t,                    5   | g ||R d|i|}d d d            n# 1 swxY w Y   n|dk    ru|	dk    ro| t&          vrft           j                                        5 }|                    t*          t,                      | g ||R d|i|}d d d            n# 1 swxY w Y   n | g ||R d|i|} ||          }t5          ||d           ||<   bt          j        |dd          }|dk    rM|	d
k    sGd}t          j	        t          |          5   | g ||R |d| d d d            n# 1 swxY w Y   d S |dk    rV|	dv rR| t&          vrIt          j        t*          t8                    5   | g ||R |d|}d d d            n# 1 swxY w Y   n | g ||R |d|} ||          }t5          ||d           d S )Nc                     | S r   r(   rV   s    r   r   z'_axis_nan_policy_test.<locals>.unpacker      Jr!   r   rN   )r   r   rC   r   r   r   r   r   r5   Tr	  Fc                 <    g | ]}t          j        |d           S r   )r   r   )r   r   rC   s     r   r   z)_axis_nan_policy_test.<locals>.<listcomp>  s'    ???bk&$++???r!   c                 X    g | ]&}t          j        ||j        d          gz             'S r  )r   broadcast_tor   )r   r   output_shapes     r   r   z)_axis_nan_policy_test.<locals>.<listcomp>  sD     $ $ $ oflfl26F5G&GHH $ $ $r!   c                      g | ]
}|         S r(   r(   )r   r   r   s     r   r   z)_axis_nan_policy_test.<locals>.<listcomp>  s    111&)111r!   c                 Z    g | ](}t          j        |                                          )S r(   )r   r   r   r   s     r   r   z)_axis_nan_policy_test.<locals>.<listcomp>  s.    HHHvBHV,,0022HHHr!   r   r   matchr   rD   c                 T    g | ]$}t                                        |          %S r(   str
startswithr   msgea_strs     r   r   z)_axis_nan_policy_test.<locals>.<listcomp>  s-    NNNCCKK**3//NNNr!   r   V瞯<rtolr   rF   >   r   r   g+=r(   )r   r   default_rngr   r   zerosndenumerater   r  raisesr   r   RuntimeWarningZeroDivisionErrorUserWarningr  too_small_messagesr   r   too_small_special_case_funcswarnsr   r   testingsuppress_warningsfilterr   r   r   )r   r$   r   r   r   r   r   rD   rC   r   r   r   data_gen_kwdsinherent_sizer   data_bres_1d_r   contains_nanmessageres_1daear   supres_1dbres_ndr  r   r  s           `                  @@@r   r  r    s     	 	 	 )


"
"C M"+m!#A AM  $55}55	:	%	%$(j!*;;];;	<	'	'$)j!*;;];;!?m_Y%>>L
 @???$???F$ $ $ $"$ $ $FXli[011Frx5566 4 411111&111HHHHHII 2  \ z999 D Dh D4 D D(1)3%+dD D ?CD D DD D D D D D D D D D D D D D D z999 H HG&G4GGGJG$GGGH H H H H H H H H H H H H H H 

	#Hfh J J J.7/9+1DJ J EIJ JGG N,={K 	 	 	WWFNNNN;MNNNOO ')RV44 	 &  ^z%A%A">>>08IJJJ N NhMMMMM*MMMN N N N N N N N N N N N N N N F""~'@'@">>>--// N3

-/@AAAhMMMMM*MMMN N N N N N N N N N N N N N N
 (IFITIIIjIDIIC(3--u5555q		[Q''F W^|%C%C1]:W555 	M 	MHLdLtLL*LLtLLL	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	f3H!H!H:::\,4EFFF 	S 	S(RDRTRRt
RRTRRC	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S hNNNN4JNNNN Xc]]FFF//////s   1EE	E	;FF	F	$F<<H3AH..H3+JJ	J	0LL		L	 NN!$N!O::O>O>)r   r	  r   emptyc	           	         |sd }t           j                            d          |dk    rfdt          |          D             }	nfdt          |          D             }	|dk    rAfdt          |          D             }
t	          |	|
          D ]\  }}t           j        ||<   n|dk    rd	 |	D             }	d
 |	D             }|dk    r|dvrd}t          j        t          |          5   | g |	|R d |d| d d d            n# 1 swxY w Y   t          j        t          |          5   | g ||R d |d| d d d            n# 1 swxY w Y   d S t          j
                    5  t          j        d           d\  }}	 t          | ||g|R |||dd|}n;# t          t          t          t          f$ r}d }t!          |          Y d }~nd }~ww xY w	  | g ||R d|i|}n&# t"          $ r}t!          |          }Y d }~nd }~ww xY w	  | g |	|R d |d|}n&# t"          $ r}t!          |          }Y d }~nd }~ww xY wd d d            n# 1 swxY w Y   s|s|rt%          fdt&          D                       }|sJ t(          t*          h}t!          |          |v sJ t!          |          |v sJ t          j
                    5  t          j        d            | g ||R d|i|} | g |	|R d |d|}d d d            n# 1 swxY w Y    ||           ||          }}t-          ||           t/          |          t/          |          z   }|$t1          ||d           |t/          |          z  }|D ]>}t          j        |j        t           j                  sJ t          j        |          sJ ?d S )Nc                     | S r   r(   rV   s    r   r   z3test_axis_nan_policy_axis_is_None.<locals>.unpacker  r  r!   r   r;  c                 :    g | ]}                     d           S ))r5   r   r   r   r   r   s     r   r   z5test_axis_nan_policy_axis_is_None.<locals>.<listcomp>
  s%    ===q

6""===r!   c                 :    g | ]}                     d           S )r5   r   r?  r@  s     r   r   z5test_axis_nan_policy_axis_is_None.<locals>.<listcomp>  s%    >>>

7##>>>r!   r   c                 B    g | ]}                     d           dk    S )rB  g?r?  r@  s     r   r   z5test_axis_nan_policy_axis_is_None.<locals>.<listcomp>  s*    EEEqG$$s*EEEr!   r   c                 ,    g | ]}|t           j        z  S r(   )r   r   r   s     r   r   z5test_axis_nan_policy_axis_is_None.<locals>.<listcomp>  s    333F333r!   c                 6    g | ]}|                                 S r(   ravelr   s     r   r   z5test_axis_nan_policy_axis_is_None.<locals>.<listcomp>  s     666vFLLNN666r!   r   >   r;  r	  r   r  rF   error)NNNTr   rD   c                 T    g | ]$}t                                        |          %S r(   r  r  s     r   r   z5test_axis_nan_policy_axis_is_None.<locals>.<listcomp>E  s-    PPPcc&kk,,S11PPPr!   ignorer  r   )r   r   r"  r   zipr   r  r%  r   warningscatch_warningssimplefilterr   r&  r'  r(  r  r   r   r)  r   r   r   listr   
issubdtypedtypenumberisscalar)r   r$   r   r   r   r   r   rD   r   r   masksr   maskdata_raveledr5  eb_strec_strres1dar7  res1dbebres1dcecok_msgdesired_warningsall_resultsitemr  r   s                              @@r   !test_axis_nan_policy_axis_is_Nonerb    s     	 	 	 )


"
"C  ====E),<,<===>>>>U9-=-=>>>  EEEEE)4D4DEEEe,, 	" 	"LFD6F4LL	"	:	%	%33d33366666LW7N!N!N1 ]:W555 	$ 	$H $d $$ $* $ $"$ $ $	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ ]:W555 	$ 	$H $l $$ $* $ $"$ $ $	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	 
	 	"	"  g&&&!1	"8\8 Id I I-6:*04I ICGI IFF 
,={K 	 	 	FWWFFFFFF		XR|RdRRRzRTRRFF! 	 	 	WWFFFFFF		XUtUdUU*UUPTUUFF! 	 	 	WWFFFFFF	'              ,  V V6 V PPPP=OPPPQQ6 ./DE6{{.....6{{.....$&& 	V 	V!(+++XR|RdRRRzRTRRFXUtUdUU*UUPTUUF	V 	V 	V 	V 	V 	V 	V 	V 	V 	V 	V 	V 	V 	V 	V Xf%%xx'7'7FF   v,,f-KU3333tF||# ! !}TZ33333{4      ! !s   0DDD3EEE0IF$#I$GGIGI G0/I0
H:H	IHIH('I(
I2IIIII!I4LLLzignore::UserWarningzignore::RuntimeWarning)r   rE   )sample_shape
axis_cases))r5   rN   rN   rs   )Nr   r   )r   r5   )r4   r   )rN   r4   r5   r   ))
   )r   r   ))r   r   r   r4   c
           
         t           j        t           j        t           j        t           j        h}
dk    r| |
v rt          j        d           | t          hv rt          j        d           |sd }t          j	        
                    d          fdt          |          D             }d |D             }fdt          |          D             }t          ||          D ]\  }}t          j        ||<   |D ]T}t                    }|"t          j        t!                              }n%t#          |t$                    rd	||<   n
|D ]}d	||<   t'          |          } | | g ||R |d
d|          } | | g ||R |dd|          } | | g ||R |d
|	d|          } | | g ||R |d|	d|          }t          ||||          D ]q\  }}}}|j        |k    sJ t          j        ||          }t-          ||d           |j        |k    sJ t          j        ||          }t-          ||d           rVd S )Nre  z$Sample too small; test raises error.z6`rankdata` used in testing doesn't support axis tuple.c                     | S r   r(   rV   s    r   r   ztest_keepdims.<locals>.unpacker}  r  r!   r   c                 :    g | ]}                               S r(   r?  r   r3  r   rc  s     r   r   z!test_keepdims.<locals>.<listcomp>  s%    ???CJJ|$$???r!   c                 6    g | ]}|                                 S r(   )copyr   s     r   r   z!test_keepdims.<locals>.<listcomp>  s     111&111r!   c                 B    g | ]}                               d k     S )皙?r?  rk  s     r   r   z!test_keepdims.<locals>.<listcomp>  s*    III1

<((3.IIIr!   r4   T)rC   keepdimsF)rC   rp  rD   r   gؗҜ<)atol)r   skewtestkurtosistest
normaltestdifferential_entropyr  r  rM   r   r   r"  r   rK  r   rO  r   len
isinstanceintr   r   squeezer   )r   r$   r   r   r   r   r   rc  rd  rD   small_sample_raisesr   nan_datar   r   rU  rC   expected_shapeaxr   res_basenan_resnan_res_baserr_basernrn_baser   s          `                   @r   test_keepdimsr  h  s    !>5+=u?O 57|##4G(G(G:;;;()))LMMM 	 	 	
)


"
"C?????eI.>.>???D11D111HIIIIIi8H8HIIIHHh//  vt 5 5l++<WS%6%677NN$$$ +'(t$$ + +B)*N2&&~..hxx ( ( ( (4$ ( ("&( ( ) )8HH -d -T - -u - -'+- - . .(88 ,X , , ,4-1j, ,&*, , - -  x !H( !HT !H !H274>!H !HBF!H !H I I '*#x*6'8 '8 	5 	5"Avr77n,,,,
14(((AAvE22228~----BT***BBe44444	5+5 5r!   )funnsampc                    d\  }}t           j                            d          }|                    |||f          } | | } | |ddi} | d |D                       }t          ||           t          ||           d S )N)   	   r   r,   Tc                 6    g | ]}|                                 S r(   rF  )r   xis     r   r   z5test_hypotest_back_compat_no_axis.<locals>.<listcomp>  s     '''r

'''r!   )r   r   r"  r   )	r  r  mnr   rJ   r   res2res3s	            r   !test_hypotest_back_compat_no_axisr    s     DAq
)


"
"C

E1a=!!A
#q'C3!D!!D3''Q'''((Dddr!   r   r4   r5   c           	         d}t           j                            d          }|                    |          }|                    |          }t          j        ||dd|           }t          j        ||dd|           }t          ||           d}t          j        t          t          j
        |                    5  t          j        ||dd| |            d d d            d S # 1 swxY w Y   d S )N)r  r  rf  r   Tz	two-sidedr   z6mannwhitneyu() got multiple values for argument 'axis'r  )r   r   r"  r   mannwhitneyur   r  r%  	TypeErrorreescape)rC   r   r   rJ   rK   res1r  r5  s           r   .test_axis_nan_policy_decorated_positional_axisr    s=    E
)


"
"C

5A

5AaD+t<<DaD+DAAADtFG	y	'(:(:	;	;	; E E1a{DtDDDDE E E E E E E E E E E E E E E E E Es   <C$$C(+C(c                     d} t           j                            d          }|                    |           }t           j        |d<   t	          j        |  d}t          j        t          t          j
        |                    5  t	          j        |           d d d            n# 1 swxY w Y   t          j        t          t          j
        |                    5  t	          j        |d|i d d d            d S # 1 swxY w Y   d S )NrN   r  r  rf  r   r   r   r   r   z6kruskal() got an unexpected keyword argument 'samples'r  )r   r   )r   r   r"  r   r   r  r  r%  r  r  r  )r   r   rJ   r5  s       r   .test_axis_nan_policy_decorated_positional_argsr    sm    E
)


"
"C

5AFAjM	M1FG	y	'(:(:	;	;	; ! !a    ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 
y	'(:(:	;	;	; % %q$!$$$% % % % % % % % % % % % % % % % % %s$   B%%B),B)C<<D D c                     d} t           j                            d          }|                    |           }t           j        |d<   t	          j        | }t	          j        |d         |d                   }t          ||           d}t          j        t          t          j        |                    5  t	          j        ||d         |d         d d d d            d S # 1 swxY w Y   d S )N)r5   r  r  rf  r   r  r4   )rJ   rK   z/mannwhitneyu() got multiple values for argumentr  )r   r   r"  r   r   r  r   r  r%  r  r  r  )r   r   rJ   r  r  r5  s         r   .test_axis_nan_policy_decorated_keyword_samplesr    s   
 E
)


"
"C

5AFAjMq!D!!---Dt?G	y	'(:(:	;	;	; / /A11..../ / / / / / / / / / / / / / / / / /s   5C!!C%(C%c                    d| j         v rt          j        d           t          j                            d          }|sd }|                    |ddf          }t          j        |           }	t          j	        |	          }
 | | g ||R dd	i|          } | |
g ||R dd	i|          }t          ||d
           d S )Nr'   z0Can't pickle functions defined within functions.r   c                     | S r   r(   rV   s    r   r   z8test_axis_nan_policy_decorated_pickled.<locals>.unpacker  r  r!   r5      r   rC   r   g-q=r   )__name__r  r  r   r   r"  uniformpickledumpsloadsr   )r   r$   r   r   r   r   r   r   r   pickled_hypotestunpickled_hypotestr  r  s                r   &test_axis_nan_policy_decorated_pickledr    s    X&&&FGGG
)


"
"C  	 	 	 ;;Y2.;//D|H--&6778HH;d;T;;;;d;;<<D8&&EEtEEE"EEEFFDD$U++++++r!   c            	      X   t          d          D ]} t          g d|           D ]}t          t          |                    D ]}t          j        |          f}t
          j                            ||          }|t          j        	                                5 }|
                    t          d           |
                    t          d           |d                             |          }d d d            n# 1 swxY w Y   t          j                            ||           d S )N   r  Mean of empty slice\.?r   r   r   )r   r   rv  r   r#  r   _axis_nan_policy_check_empty_inputsr,  r-  r.  r&  meanr   )r   comborC   r   outputr8  	references          r   test_check_empty_inputsr    s^    1XX ? ?2999a@@ 
	? 
	?Ec%jj)) 	? 	?8E??,/CCGDHJ J%5577 ?3

>3LMMM

>3NOOO$+AJOOO$>$>	? ? ? ? ? ? ? ? ? ? ? ? ? ? ? J++FI>>>	?
	?? ?s   AC:	:C>C>c                 b   t          d | D                       }||dk    r| |z   n|}t          d|dz             D ]q}| |k    r
t                      }| D ]@}||j        k    r3|j        |          dk    r!|                    |j        |                     At          |          dk    r dS rdS )Nc                     g | ]	}|j         
S r(   ndim)r   arrs     r   r   z/_check_arrays_broadcastable.<locals>.<listcomp>&  s    ---s#(---r!   r   r4   FT)maxr   setr  r   addrv  )arraysrC   n_dimsdimdim_lengthsr  s         r   _check_arrays_broadcastabler    s     --f---..F#'199$$Qq!! 
 
44<<ee 	1 	1Cch39cT?a#7#7	3$000{a55  4r!   c           	         | t           j        t           j        hv rt          st	          j        d           | t          v rd}t	          j        |           |d }d }g d}	 |||	          D ]T}
t          d |
D                       st          d |
D                       }t          | |          D ]}	 t           j
                            |
||	          }t          j                                        5 }|                    t           d
           |                    t           d           t          j        ||          t          j        z  t          j                  }fdt          |          D             d d d            n# 1 swxY w Y   | t(          v rY | g g gt+          |
          z  |R i |}t-           ||                    }t          |          D ]}||         |         |<   d         j        r`| t0          vrW|dk    rt2          nt4          }t	          j        t8          |          5   | g |
|R d|i|}d d d            n# 1 swxY w Y   n`t          j                                        5 }|                    t8          d            | g |
|R d|i|}d d d            n# 1 swxY w Y    ||          }t          |          D ]}t;          ||         |                    N# t<          $ r t?          |
|rd n|          rJ d}t	          j         t<          |          5  t           j
                            |
||           d d d            n# 1 swxY w Y   t	          j         t<          |          5   | g |
|R d|i| d d d            n# 1 swxY w Y   Y 	w xY wVd S )Nr   z4Doesn't follow the usual pattern. Tested separately.)reasonc                 "    | d         | d         fS )Nr   r4   r(   rV   s    r   rW   ztest_empty.<locals>.<lambda>G  s    AA/ r!   c              3   j   K   d fdt          |           D             }t          | E d {V  d S )Nc              3   j   K   | D ]-}t          g d|          D ]}t          j        |          V  .d S )Nr  )r   r   r#  )r  r   r  s      r   small_sample_generatorzHtest_empty.<locals>.small_data_generator.<locals>.small_sample_generatorK  sX       * *:999aHH * *E(5//))))** *r!   c                 &    g | ]}           S r(   r(   )r   r   r  r  s     r   r   z<test_empty.<locals>.small_data_generator.<locals>.<listcomp>S  s%    III1&&v..IIIr!   )r   r   )r   r  gensr  s    ` @r   small_data_generatorz(test_empty.<locals>.small_data_generatorI  s`      	* 	* 	* JIIIIi8H8HIIID>!!!!!!!!!r!   r4   r5   rN   c              3   ,   K   | ]}|j         d k    V  dS )r   Nr   r   s     r   	<genexpr>ztest_empty.<locals>.<genexpr>Z  s)      ::6;!#::::::r!   c              3   $   K   | ]}|j         V  d S r   r  r   s     r   r  ztest_empty.<locals>.<genexpr>]  s$      99vv{999999r!   )r   r  r   r   c                 \    g | ](}t          j                                                  )S r(   )r   asarrayrm  )r   r   expecteds     r   r   ztest_empty.<locals>.<listcomp>m  s+    VVV
8==?? ; ;VVVr!   r   r4   r  rC   zall input arrays have length 1/Array shapes are incompatible for broadcasting.)!r   r  friedmanchisquarer   r  r  r   r   r  r   r/   _broadcast_concatenater   r,  r-  r.  r&  r  r   r   empty_special_case_funcsrv  rO  r   r*  r   r   r+  r   r   r   r  r%  )r   r$   r   r   r   r   r   r  r  r  r   max_axisrC   concatr8  rU  	empty_valr   r5  r   r  s                       @r   
test_emptyr  9  s    EM5#:;;;K;K   +++G6""""//" " " YYF''	6:: 8A 8A ::'::::: 	9999999 8)X.. /	A /	AD-A ??GM @ O OZ1133 WsJJ~/HIIIJJ~/JKKK!wvD999BFBH8H--DVVVVU9EUEUVVVHW W W W W W W W W W W W W W W 777 ( MB4G+< M M M M M MI $XXi%8%8 9 9I"9-- 9 9,5aLD))A;# 	K8T(T(T8@A44$9 &8HHH K K&hJJ$JJJTJTJJK K K K K K K K K K K K K K K 5577 K3

#57WXXX&hJJ$JJJTJTJJK K K K K K K K K K K K K K K hsmmy)) 6 6A Q!55556  A A A6w?E7Ott4Q Q Q Q Q
 L]:W=== R RO::7D&QQQR R R R R R R R R R R R R R R]:W=== A AH@g@@@@4@4@@@A A A A A A A A A A A A A A AAI/	A8A 8As   :A L:B	FLFLFB*LILI!!L$I!%"L+J>2L>KLK<L=O "M/	#O /M33O 6M37O N1	%O 1N55O 8N59O ?O c               #   H   K   t           D ]} | \  }}}}}}}|dk    r| V  d S )Nr4   )axis_nan_policy_cases)caser   r$   r   r   r   r   r   s           r   paired_non_broadcastable_casesr    sJ      %  GKD$iFH>>



	 r!   c                    t           j                            d          d}|r.fdt          |          D             }	t	          |	|          }|.d}
t          j        t          |
          5   | g |	|R i | d d d            n# 1 swxY w Y   |sd S                     ddd	          fd
t          |dz
            D             }t                    |xx         dz  cc<                       	          }t          j        t          |
          5   | |g||R i | d d d            d S # 1 swxY w Y   d S )Nl   T;]L Tc           	      h    g | ].}                                         d dd                     /S )r5   d   r   )r   integersr@  s     r   r   z*test_non_broadcastable.<locals>.<listcomp>  sI     . . . ::3<<3Q<#?#?:@@ . . .r!   r   r  r  r5   rf  r   c                 <    g | ]}                                S )r   r?  )r   r   r   r   s     r   r   z*test_non_broadcastable.<locals>.<listcomp>  s'    GGGqCJJEJ**GGGr!   r4   )
r   r   r"  r   r  r  r%  r   r  rO  )r   r$   r   r   r   r   r   rC   get_samplesr   r5  most_samplesother_sampler   r   s                @@r   test_non_broadcastabler    s/    )


/
/CK
 F. . . .!),,. . . 2'EEE	  F @G	z	1	1	1 * *)')D)))D)))* * * * * * * * * * * * * * *  
 LLBQL''EGGGGGE)A+4F4FGGGLKKE	$KKK1KKK::5:))L	z	1	1	1 = =<<t<<<t<<<= = = = = = = = = = = = = = = = = =s$   1BBB!D==EEc                  .   t           j                            d           t           j                            ddd          } t           j                            d          }| dk     }t           j                            | |          } t          j        t           j                  j        }t          j	        |t           j
                   }t          j	        |t           j
                   }t           j        | d<   t           j
        | d<   || d<   t           j        |d	<   t           j
        |d
<   ||d<   t          | |g          \  }}|\  }}	||k    r||k    sJ ||k    sJ | j        }
||
| j        <   t           j                            ||
           |	|u sJ d S )Nr   rf        g      ?)rN   rs   r4   )rs   r  r5   )r  r   rN   r  rl   r   )r   r   seedrandmamasked_arrayfinfofloat64r  	nextafterinfr   r
   r   rU  r,  assert_array_equal)ABrU  	max_float
max_float2
max_float3
out_arrayssentinelA_outB_outA_references              r   "test_masked_array_2_sentinel_arrayr    sk   INN1
	r2r""A
	rAs7D
1d##A $$(Ii"&11Jj26'22JAgJAgJAgJ6AaD6AaDAaD <QFCCJLE5 	!!J(>(>(>(>z!!!! &K"KJ!!%555A::::::r!   c                     t          j        t           j                  j        } t          j        t           j                  j        }t          j        dd| gt           j                  }t           j                            g dt           j        g d          }t           j                            g dt           j        g d          }t          ||g          \  }}|\  }}|| dz
  k    sJ |j
        t           j        k    sJ t          ||d         ||d	         g           ||u sJ t          |t           j        j                  rJ t          ||g          \  }}|\  }}	||k    sJ |j
        t           j        k    sJ t          ||d         ||d	         g           t          |t           j        j                  rJ t          |	t           j        j                  rJ t          j        t           j                  j        t          j        t           j                  j        }}
t          j        |
|dz   t           j                  }t          j        |t"                    }t          j        |t"                    }d
|d<   t           j                            ||          }t          |g          \  }}||
dz   k    sJ d
|d<   t           j                            ||          }d}t%          j        t(          |          5  t          |g           d d d            n# 1 swxY w Y   t           j                            g dg dt           j                  }t-          j        |          j
        t           j        k    sJ d S )Nr4   r5   rQ  )r4   r5   r4   r   r4   r   )rQ  rU  r   r   r   r   r   TrU  z7This function replaces masked elements with sentinel...r  r  )rU  rQ  )r   iinfoint16r  r  
complex128arrayr  int8r
   rQ  r   rw  MaskedArrayminarange
zeros_likeboolr  r%  r   float32r   gmean)max16max128cabcr  r  a_outb_outc_outmin8max8mask1mask0a1a0r5  s                    r   test_masked_dtyper    s`    HRX"Ehr}%%)G 	!Qbh///A
IIIRW999==A
IIIR]CCA <QFCCJLE5uQw;"(""""EAaD(AbE2333A::::%!233333 <QFCCJLE5w;"-''''EAaD(AbE2333%!233333%!233333 "'""&(9(9(=$D
	$Qbg...AM!4(((EM!4(((E E!H	QU	#	#B;RDAAJtAv E!H	QU	#	#BGG	z	1	1	1 / /(".../ / / / / / / / / / / / / / / 	IIIIIIRZ@@A;q>>2:------s   L((L,/L,c                     g d} g d}t          j        | |          }dddt          j        dg}t          j        | |d          }t          j                            ||           g d	}g d
}t          j                            ||          }t          j        | |          }t          j                            ||           dddt          j        ddg}g d}	t          j                            ||	          }t          j        | |d          }
t          j                            |
|           dddt          j        ddg}g d}t          j                            ||          }t          j        | |d          }t          j        | |d          }t          j                            ||           t          j                            ||           d S )N)               )r   r     r  r   r  r$  r  r   )rD   )r   r  r$    r  )FFFTFr  r%  )FFFFTF)FFFTTFrE   r   )r   r  r   r   r,  r  r  r  )malesfemalesr   females2r  females3mask3r  females4mask4res4females5mask5res5res6s                  r   test_masked_stat_1dr2    s      EG

UG
,
,C BBFB'HeX&AAADJ!!$,,, &%%H...Eu!!(!77HeX..DJ!!$,,, BBFD"-H555Eu!!(!77HeX&AAADJ!!$,,, BBFD"-H444Eu!!(!77HeX+FFFDeX'BBBDJ!!$,,,J!!$,,,,,r!   zignore:After omitting NaNs...z(ignore:One or more axis-slices of one...c                    t           j                            d           t           j                            ddd          }t           j                            dd          }t           j                            dd          }|dk     }g d}t           j                            ||          }t           j                            ||          }|                                }t           j        ||<   |                                }	t           j        |	|<   t          j	        |||	d	| 
          }
t          j	        ||||           }t           j
                            |
|           d S )Nr   rN   rs   r  r4   皙?)FFFTr  r   rD   rC   r   )r   r   r  r  r  r  rm  r   r   r  r,  r  )rC   r  r  r  mask_amask_ca_maskedc_maskeda_nansc_nansr   r  s               r   test_masked_stat_3dr<  ;  s!    INN1
	q!QA
	q!A
	q!AWF(((Fu!!!&!11Hu!!!&!11HVVXXFVF6NVVXXFVF6N
-6f4
H
H
HC=1hT:::DJ!!#t,,,,,r!   c                  $   d\  } }d}t           j                            d          }|                    | |          }|                    | |          }|                    | |          dk     }|                    | |          dk     }|                    | |          dk     }|                    | |          dk     }	d|dd d f<   |                                }
|                                }t           j        |
||z  <   t           j        |||	z  <   t           j                            ||	          }t           j                            ||	          }t           j        ||<   t           j        ||	<   t           j                            ||	          }t           j                            ||		          }t           j        ||<   t           j        ||<   t           j                            |||z  	          }t           j                            |||	z  	          }t          j	        |
|d
|          }t          j	        ||d
|          }t          j	        ||d
|          }t          j	        ||d|          }t          j	        ||d|          }t           j
                            ||           t           j
                            ||           t           j
                            ||           t           j
                            ||           d S )NrN   r   r   r   ro  r4  333333?Tr5   r  r   r5  r   rE   )r   r   RandomStater  rm  r   r  r  r   wilcoxonr,  r  )r  r  rC   r   r  r  mask_a1mask_a2mask_b1mask_b2r:  b_nans	a_masked1	b_masked1	a_masked2	b_masked2	a_masked3	b_masked3r   r  r  r  r-  s                          r   test_mixed_mask_nan_1rM  U  s    DAqD
)


"
"CAAAAhhq!nns"Ghhq!nns"Ghhq!nnt#Ghhq!nnt#GGAqqqDMVVXXFVVXXF "F7W "F7W""17"33I""17"33IIgIg""17"33I""17"33IIgIg""1Gg,="??I""1Gg,="??I
.F
F
F
FC>)Y6MMMD>)Y6MMMD>)Y7NNND>)Y%0t= = =D J!!$,,,J!!$,,,J!!$,,,J!!$,,,,,r!   c                     dt           j        dgt           j        t           j        t           j        gg ddt           j        dgdt           j        dgg dg} g dg dg dg dg dg dg}t           j                            | |	          }g d
g}t	          j        ddgg d
          }t	          j        g dg d
          }t	          j        ||dd          }t           j        t           j        t           j        |j        |j        |j        g}t           j        t           j        t           j        |j        |j        |j        g}t           j        	                    |j        |           t           j        	                    |j        |           t	          j        ||dd          }t           j        t           j        t           j        t           j        |j        |j        g}t           j        t           j        t           j        t           j        |j        |j        g}t           j        	                    |j        |           t           j        	                    |j        |           d S )Nr4   r5   r  rN   )r4   r   r4   r  r4   r4   r4   r   r  rs   r  r   r   r   r5  rE   )
r   r   r  r  r   ranksumsr   r   r,  r  )	r  rU  r8  r  ref1ref2r   stat_refp_refs	            r   test_mixed_mask_nan_2rV    s    RVQ"&"&"&1999
RVQ!RVQ	4AIIyyy)))IIyyy)))-Du!!!$!//H	A>1a&))),,D>)))YYY//D .1b
A
A
AC@HVRVRV[$+t{4EJ!!#-:::J!!#*e444 .12
F
F
FC8HVRVRVVT[$+/EJ!!#-:::J!!#*e44444r!   c                      d} t           j                            d          }|                    |           }t          j        |dd i}t          j        |ddi}t           j                            ||           d S )Nr  r   rC   r  )r   r   r"  r   r  r,  r  )r   r   rJ   r   r  s        r   test_axis_None_vs_tuplerX    ss    E
)


"
"C

5A
-
&
&
&C=!,),,DJ!!#t,,,,,r!   c                  8   t           j                            d          } |                     d          }|                     d          }t          j        ||          \  }}t	          j        |                                |                                          }t	          j        ||d           }t	          j        ||d          }t	          j        |                                |                                          }||k    sJ ||k    sJ ||k    sJ d S )Nr   )r  r4   )r4   r  r   rg  )r   r   r"  broadcast_arraysr   r  rG  )	r   rJ   rK   x2y2res0r  r  r  s	            r   )test_axis_None_vs_tuple_with_broadcastingr^    s     )


"
"C

6A

6A A&&FBaggii33Da...Da000Dbhhjj"((**55D4<<<<4<<<<4<<<<<<r!   )r4   c                    t           j                            d          }d}d}|                    |          }|                    |          }| }t          d | D                       } t	          |           } t          t          |                     t          |           k    r`d}t          j        t          t          j        |                    5  t          j        |||           d d d            n# 1 swxY w Y   d S | d         dk     s| d         d	k    r`d
}t          j        t          t          j        |                    5  t          j        |||           d d d            n# 1 swxY w Y   d S t          j        |||          }h dt          |           z
  }	t          t          |	                    }	|}
g d}||	         ||	<   t          j        ||          }|
j        |	         }t          j        |
| d          }
t          j        || d          }t          j        |
|df          }
t          j        ||df          }t          j        |
|d          }t           j                            ||           d S )Nr   rP  )r4   r   c                 (    g | ]}|d k    r|nd|z   S )r   rN   r(   )r   r   s     r   r   z*test_other_axis_tuples.<locals>.<listcomp>  s(    999qQ11AE999r!   z*`axis` must contain only distinct elementsr  r   r   r5   z0`axis` is out of bounds for array of dimension 3>   r   r4   r5   )r4   r4   r   )r4   r5   r4   )r   r   r"  r   sortedrv  r  r  r%  r   r  r  r   r  nextiterr  r   r   r   r,  r  )rC   r   shape_xshape_yrJ   rK   axis_originalr5  r   not_axisr[  shape_y_broadcastedr\  r  r  s                  r   test_other_axis_tuplesrj    s    )


"
"CGG

7A

7AM 99D999::D$<<D
3t99~~T"">]9BIg,>,>??? 	9 	9q!-8888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9Aw{{d2hllD]9BIg,>,>??? 	9 	9q!-8888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9

Q
6
6
6C yy3t99$HDNN##H	
B#))$+H$5!	/	0	0B
A	Rv	&	&B	Rv	&	&B	BB	 	 B	BB	 	 Bb"1---DJ!!#t,,,,,s$   C88C<?C<E00E47E4zweighted_fun_name, unpackerr  c                     | S r   r(   r]   s    r   rW   rW         A r!   hmeanc                     | S r   r(   r]   s    r   rW   rW     rl  r!   pmeanc                     | S r   r(   r]   s    r   rW   rW     rl  r!   r@   c                     | j         | j        fS r   )r   r   r]   s    r   rW   rW   	  s    qx&= r!   c                    | dk    rd nt          t          |           fd}d\  }}d}t          j                            d          }|                    ||f          }|                    ||f          }|                    ||f          dk     }	|                    ||f          d	k     }
|                    ||f          d
k     }|                    ||f          d
k     }d|	dd d f<   |                                }|                                }t          j        ||	|
z  <   t          j        |||z  <   t          j        	                    ||	          }t          j        	                    ||          }t          j        ||
<   t          j        ||<   t          j        	                    ||
          }t          j        	                    ||          }t          j        ||	<   t          j        ||<   t          j        	                    ||	|
z            }t          j        	                    |||z            }t          j
                                        5 }d}|                    t          |            |||d|          } |||d|          } |||d|          } |||d|          } |||d|          }d d d            n# 1 swxY w Y   t          j
                            ||           t          j
                            ||           t          j
                            ||           t          j
                            ||           d S )Nro  c                 *    t          j        | fddi|S )NpgzG?)r   ro  )r  r%   s     r   weighted_funz6test_mean_mixed_mask_nan_weights.<locals>.weighted_fun  s    ;q33D3F333r!   c                  &      | i |          S r   r(   )r$   r%   r   ru  s     r   funcz.test_mean_mixed_mask_nan_weights.<locals>.func  s"    xd5f55666r!   r>  r   l    r   ro  r4  r?  Tr5   r  r   r   )r6   rD   rC   r   rE   )getattrr   r   r   r"  r  rm  r   r  r  r,  r-  r.  r&  r  )weighted_fun_namer   rw  r  r  rC   r   r  r  rB  rC  rD  rE  r:  rF  rG  rH  rI  rJ  rK  rL  r8  r5  r   r  r  r  r-  ru  s    `                          @r    test_mean_mixed_mask_nan_weightsrz     s   " G##	4 	4 	4 	4 u&7887 7 7 7 7 7 DAqD
)



+
+C!Q  A!Q  Akk1vk&&,Gkk1vk&&,Gkk1vk&&-Gkk1vk&&-GGAqqqDMVVXXFVVXXF "F7W "F7W""17"33I""17"33IIgIg""17"33I""17"33IIgIg""1Gg,="??I""1Gg,="??I		%	%	'	' U3-

>7+++d66f4HHHtIyV$OOOtIyV$OOOtIyW4PPPtIy[tTTTU U U U U U U U U U U U U U U J!!$,,,J!!$,,,J!!$,,,J!!$,,,,,s   )A)KK"%K"c                  x   d} t          j        t          |           5  t          j        g dd           d d d            n# 1 swxY w Y   d} t          j        t          |           5  t          j        g dd           d d d            n# 1 swxY w Y   d} t          j        t          |           5  t          j                     d d d            n# 1 swxY w Y   d	} t          j        t          |           5  t          j        g dd
t
          g dd           d d d            d S # 1 swxY w Y   d S )Nz"got an unexpected keyword argumentr  r  T)invalid_argz! got multiple values for argument)r  z&missing 1 required positional argumentz7takes from 1 to 4 positional arguments but 5 were givenr   rO  rf  )r  r%  r  r   r  float)r5  s    r   test_raise_invalid_args_g17713r~  G  s3    3G	y	0	0	0 1 1III400001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2G	y	0	0	0 ' 'III&&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 7G	y	0	0	0                 HG	y	0	0	0 8 8IIIq%B7778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8sG   AA
A+BBB8CCC "D//D36D3rQ  c                      G fdd          }dgdz  g dz   t          j         ||                     }|j        dk    sJ |j        dk    sJ d S )Nc                   "    e Zd Zd Zd fd	ZdS )&test_array_like_input.<locals>.ArrLikec                 "    || _         || _        d S r   )_x_dtype)selfrJ   rQ  s      r   __init__z/test_array_like_input.<locals>.ArrLike.__init__b  s    DGDKKKr!   Nc                 :    t          j        | j                  S )Nr  )r   r  r  )r  rQ  rm  rJ   s      r   	__array__z0test_array_like_input.<locals>.ArrLike.__array__f  s    :at{3333r!   )NN)r  
__module____qualname__r  r  r]   s   r   ArrLiker  a  sB        	  	  	 	4 	4 	4 	4 	4 	4 	4 	4r!   r  r4   r5   )rN   rs   r  r  )r   rR   rn   )rQ  r  r   rJ   s      @r   test_array_like_inputr  \  s    
4 4 4 4 4 4 4 4 4 4 
A			A
*WWQe,,,
-
-C8q====9>>>>>>r!   )F)FT)	itertoolsr   r   r   osr  r  r  rL  numpyr   numpy.testingr   r   scipyr   scipy.statsr	   scipy.stats._axis_nan_policyr
   r   r   r   r   r   scipy._lib._utilr   scipy.conftestr   rx  environrG   r   r    r)   r2   r7   r:   r<   rA   rM   r  r   dictrQ  r  rA  r  rm  ro  semiqrkurtosisskewkstatkstatvarmomentjarque_berattest_1sampr  	ttest_rel	ttest_indrR   ru  	variationr  brunnermunzelmoodshapiroks_1sampcdfks_2sampkstestlevenefligneransarientropyrr  rs  rt  cramervonmisesr  epps_singleton_2sampbartletttmeantvartmintmaxtstdtsemcircmeancircvarcircstdf_onewayalexandergovernr@   lmomentchatterjeexipointbiserialr
kendalltaurI   
linregresstheilslopessiegelslopespower_divergence	chisquare
_morestats_boxcox_llfr  r)  inaccuracy_messagesr   r  r*  r   r   r   markfilterwarningsparametrizeparallel_threadsr  r   r  r  rb  r  r  r  r  r  r  r  r  slowr  r  r  r  r  r2  r<  rM  rV  rX  r^  rO  rj  rz  r~  r  r  r  r  r(   r!   r   <module>r     s   K J J J J J J J J J 				 				        7 7 7 7 7 7 7 7            T T T T T T T T T T T T T T T T ' & & & & & . . . . . . c"*..4455& & &  5 5 5
S S S4 4 4
' ' '
> > >
3 3 3e ]EEGGTTVVQ5$7	e
 ^Y1eT:e 8\":Aq%Ne ^Z&&!11a,,.e ^UUWWddffaD,,.e ^UUWWx61d<<>e [%%''44661a?e [%%''44661a?e ['44661a?e  YAunn=!e" YAunn=#e$ ^UUWWddffaE>>B%e& Z$$&&!Q~~>'e( [%%''44661a?)e* ^UUWWddffaE>>B+e, \5577DDFFAq%@-e. \5577DD1v...1eTB/e0 Aud;1e2 1#($$&&!Q3e6 _eeggttvvq!T3FG7e8 _eeggttvvq!U4GH9e: ]5$%%tTTVVQ5$G;e< ]5?##UUWWddffaD$G=e> ]5?##UUWWddffaE4H?e@ Z$$&&!Q.I.IJAeB $$&&!Q~~NCeD _eeggttvvq!UNNCEeF eeggttvvq!T4@GeH %%''44X#>#>#>1eTRIeJ Z"aE40KeL ]EEGGRAud3MeN ^ddffj]DDFFAq%CCEOeR ^UUWWddffaECCESeV \DDFFJ=$$&&!QCCEWeZ \5577DDFFAq%CCE[e^ \5577B1eT2_e` ]EEGG	dKK5$aed \5577B1eT2eef ]EEGGTTVVQ5..Ageh ]EEGGTTVVQ4@iej ^UUWWddffaE48kel $$&&!Qt<men uuww1eT:oep 9ddffaE,,.qet $$&&!Q,,.uex $$&&!QtDyez ^UUWWb!Qt4{e| [%%''2q!UNN;}e~ Z"aE>>:e@ Z"aE>>:AeB Z"aE>>:CeD Z"aE>>:EeF Z"aE>>:GeH ^UUWWddffaE>>BIeJ ]EEGGTTVVQ5..AKeL ]EEGGTTVVQ5..AMeN ^UUWWb!Qt4OeP ^UUWW{E2Aq%FQeR EEGGRAu,,.SeV EEGGRAud;WeX ]EEGGTTVVQ52D2DEYeZ uuwwAq$=[e\ EEGGTTVVQ5..A]e^ EEGGTTVVQ4@_e` UUWWddffaE>>:aeb $$&&!Q,,.cef 5577DDFFAq$==?gej uuww1d==?ken At==?oer 5577DDFFAq$==?sev uuww1d557wez AtU;{e| AtU;}e~ $$&&!Qe<e@ $$&&!Qe<AeB 
5577DDFFAq%8CeD UUWWddffaE4@EeF _eeggttvvq!UD9GeH !5577DDSMMM1aWIe R   F GHJ  "J(<e>OP  "M5?E<RS  !&u@VW  "'$ $ $ $P 8<     @A$UTI I I I ID QRRNOOSTT
 UVV PQQNOO 01FH H,)GHH&4((*Z88a  F F !  98 )( IHH H PO RQ WV UT PO SR,F  !J [ UVV[ RSS[ WXX
 [ STT [ TUU[ RSS[ 45JL L[l-KLL[fuuR||44[.@B BJ JB B 54 MLL L TS VU UT YX TS WV,Jv0 v0 v0r  01FH H,)GHH*EG Ga  _! _! ! G G IHH H_!R 122455'<== 01FH H" /5 /5 H H >= 65 32/5d ) ;* >1-/0 0	 	0 0	 &9--E E .-E$% % %$/ / /$  01FH H, ,H H,*? ? ?,  B  01FH Ha  RA RA ! H H RAj   !Q(( 07799; ;= =; ; )(=:     F 6. 6. 6.r -  -  -F ;<<FGG&55Q<<00- - 10  HG =<-, ;<<FGG,- ,-  HG =<,-^ ;<<FGG'5 '5  HG =<'5T- - -  $ &ll55Q<<;;<<yHJ J+- +-J J+-\ ;<<FGG"	++	++	++	==>	 8- 8-   HG =<8-v8 8 8* 28RZ"GHH  IH  r!   