
    >qj!                    t#   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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 d dlmZ  eej>                  jA                  d	d
            Z!d Z" e"       rdndZ#ejH                  diZ%d Z&d Z'd Z(d Z)d Z*d Z+d Z,d Z-ddZ.ddZ/dddZ0g ejb                   e2        e3       ddddfejh                  d e3       ddddfejj                   e2       dd idddd! fejj                   e2       dd"iddddfejl                  d#d$d"iddd%d& fejl                   e2        e3       d'dd%d( fejl                   e2       dd id'dd%d) fejn                   e2        e3       d'd'dd* fejp                   e2        e3       d'd'dd+ fejr                  d, e3       d'd'dd- fejt                  d. e3       d'd'dd/ fejv                   e2        e3       d'd'dd0 fejx                   e2        e3       d'd'dd1 fejz                   e2        e3       d'd'dd2 fej|                   e2        e3       d'd'dd3 fej~                   e2        e3       d'd'dd4 fej                   e2        e3       d'd'dd5 fej                   e2        e3       d'd'dd6 fej                   e2        e3d'dg7      d'dddfej                   e2        e3       d'dddfej                   e
j                  d g      f e3       d'd8de&fej                   e2        e3       dd8d%e&fej                   e2        e3       dd8de&f e'ej                        d9 e3       d'dddf e'ej                         e2        e3       ddd%df e'ej                         e2        e3       ddddfej                   e2        e3       d'dd%d: fej                   e2        e3       d'd'dd; fej                   e2        e3       d'd'dd< fej                   e2        e3       ddd%dfej                   e2        e3d=>      ddddfej                   e2       i ddddfej                   e2       i d'dddfej                  ej                  f e3       d'd?dd@ fej                  ej                  f e3dAB      d'd?ddC fej                  ej                  f e3dDB      d'd?ddE fej                   e2        e3       dd?ddF fej                  ej                  f e3       d'd?ddG fej                   e2        e3       dd?ddH fej                   e2       i ddddfej                   e2       dIdJdKddddfej                   e2       i ddddfej                   e2        e3       d'd'ddL fej                   e2        e3       dd'd%dM fej                   e2        e3       d'dddfej                   e2        e3       d'dddfej                   e2        e3       d'dddfej                  ej                  f e3       d'dddN fej                   e2        e3d O      ddddP fejH                   e2        e3       ddddfej                   e2       i ddddfej                   e2       i d'd'ddQ fej                   e2       i d'd'ddR fej                   e2       i d'd'ddS fej                   e2       i d'd'ddT fej                   e2       i d'd'ddU fej                   e2       i d'd'ddV fej                   e2        e3       d'd'ddW fej                   e2        e3       d'd'ddX fej                   e2        e3       d'd'ddY fej                   e2       i ddddfej                   e2       dZdiddddfej                   e2       i dddd[ fej                   e2       i d'dddfej                   e2        e3       d'd?dd\ fe, e2       i ddd%dfe( e2        e3       d'd'dd] fe) e2        e3       dd'd%d^ fe* e2        e3       d'd'dd_ fej                   e2        e3       ddd%d` fej                   e2        e3       ddd%da fej                   e2        e3       ddd%db fe0 e2        e3       ddd%dc fej                   e2        e3       ddd%dd fe- e2        e3       ddd%de fej                   e2        e3       ddfd%dg fej                   e2        e3       dd?d%e2fej                   e2        e3       d'd?d%e2fej                   e2        e3dhO      dd?d%e2fej                   e2        e3       ddd%e2fej                   e2        e3       d'dd%e2fej                   e2        e3diO      ddd%e2fe+ e2        e3       d'd'ddj fej                   e2        e3       d'dddfej                   e2        e3       d'dddfej                   e2        e3       d'd'ddk fe. e2        e3dlm      d'd'ddn fe/ e2        e3dlm      d'd'ddo fej                  dp e3       d'd'ddq fZth drZudsdthZvej                  e-ej                  hZwej                  ej                  ej                  hZxej                  ej                  ej                  hZy	 dduZz	 ddvZ{ddwdd%dxdyZ|ej                  j                  dz      ej                  j                  d{      ej                  j                  d|      ej                  j                  d}      ej                  j                  d~      ej                  j                  d      ej                  j                  det      ej                  j                  dd      ej                  j                  dd      ej                  j                  dd      d                                                                       Ze!r@ej                  j                  dz      ej                  j                  d{      ej                  j                  d|      ej                  j                  d      ej                  j                  d~      ej                  j                  d      ej                  j                  det      ej                  j                  dd      ej                  j                  d e edd                  ej                  j                  dd      d                                                                       Zd Zd Zej                  j                  det      ej                  j                  dd      ej                  j                  dd      d                      Zej                  j                  d      ej                  j                  d      ej                  j                  dd      ej                  j                  det      ej                  j                  dd      d                                    Zej                  j                  dej~                  d'fej                  d'fg      d        Zej                  j                  dd      d        Zd Zd Zej                  j                  det      d        Zd Zd Zej                  j                  ej                  j                  det      d               Zd Zej                  j                  dd d'g      ej                  j                  d e e                   d               Zd Zed        Zed        Zej                  j                  d      ej                  j                  d      eej                  j                  d e edd                  d                             Zej                  j                  d      ej                  j                  d      ed                      Zej                  j                  d      ej                  j                  d      ed                      Zd Zd Zej                  j                  d e e edd      d            dgz         d        Zej                  j                  d      ej                  j                  d      eej                  j                  ddd fdd fdd fdd fg      d                             Zd Zej                  j                  de
j<                  e
j>                  e
j@                  g      d        Z eejD                  jF                        d        Zy)    )productcombinations_with_replacementpermutationsN)assert_allcloseassert_equal)statsspecial) _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)make_xp_test_case)skip_xp_invalid_argSCIPY_XSLOW0c                  d    t        j                  d      } | d   d   d   j                         dk(  S )NdictszBuild Dependenciesblasname
accelerate)npshow_configlower)configs    e/opt/rentech/trading_bot/.venv/lib/python3.12/site-packages/scipy/stats/tests/test_axis_nan_policy.py_using_accelerater      s4    ^^G$F&'/7==?<OO    gư>gV瞯<g|=c                     | j                         \  }}| j                  | j                  | j                  | j                  | j
                  ||fS N)confidence_interval	statisticpvaluedf_standard_error	_estimate)reslowhighs      r   unpack_ttest_resultr,   (   sD    '')ICMM3::svvs/B/BMM3& &r    c                       fd}|S )Nc                  4     | i |}|j                         S r"   )r#   )argskwargsr)   ttests      r   ttest_ciz_get_ttest_ci.<locals>.ttest_ci0   s!    T$V$&&((r     )r1   r2   s   ` r   _get_ttest_cir4   .   s    ) Or    c                  d    |j                  dd        t        j                  j                  | i |S N_no_decopopr   	_stats_py_xp_meanr/   r0   s     r   xp_mean_1sampr=   6   s*    
JJz4 ??##T4V44r    c                      |j                  dd        | d   }t        j                  j                  | d   g| dd  d|i|S )Nr7      r      weightsr8   )r/   r0   rA   s      r   xp_mean_2samprB   ;   sG    
JJz4 1gG??##DGRd12hRR6RRr    c                  d    |j                  dd        t        j                  j                  | i |S r6   )r9   r   r:   _xp_varr<   s     r   xp_varrE   A   s*    
JJz4 ??""D3F33r    c                  P    |j                  dd        t        j                  | i |S r6   )r9   r   gstdr<   s     r   rG   rG   F   s$    
JJz4 ::t&v&&r    c                  L    t        j                  | d   g| dd  | d   dd|S )Nr   r@   r?   stouffer)rA   method)r   combine_pvaluesr<   s     r   combine_pvalues_weightedrL   K   s>      a >48 >T!W(2>6<> >r    c                     |j                  dd      }|j                  dd      }t        j                  |||      }t        j                  | ||fi |S )Naxisr   
nan_policy	propagaterN   rO   )getr   rankdataweightedtau)xyrankr0   rN   rO   s         r   weightedtau_weightedrX   P   sN    ::fa DL+6J>>$TjADQ42622r    Fc                 |    |r"t         j                  j                  | ||      S t        j                  || fd|i|S N)lmbrN   rN   )r   
_morestats_boxcox_llf
boxcox_llfdatar[   rN   r7   r0   s        r   r^   r^   W   s@    ++Dc+EEC;D;F;;r    c                 |    |r"t         j                  j                  | ||      S t        j                  || fd|i|S rZ   )r   r\   _yeojohnson_llfyeojohnson_llfr_   s        r   rc   rc   ]   s@    //#D/IIT????r    )r7   c                 r    | r!t        j                  j                  |d| i|S t        j                  |i |S r6   )r   r:   _kendalltau
kendalltau)r7   r/   r0   s      r   rf   rf   c   s:    **DN8NvNNT,V,,r       r@   )lessrJ   
asymptoticc                 H    | j                   | j                  | j                  fS r"   r$   r%   
zstatisticr)   s    r   <lambda>rn   p       #--S^^< r    auto)prattmodeTc                 2    | j                   | j                  fS r"   r$   r%   rm   s    r   rn   rn   s       #--, r    r?   c                 2    | j                   | j                  fS r"   rt   rm   s    r   rn   rn   u   ru   r    c                 H    | j                   | j                  | j                  fS r"   rk   rm   s    r   rn   rn   w   ro   r    c                     | fS r"   r3   rU   s    r   rn   rn   x       1$ r    c                     | fS r"   r3   ry   s    r   rn   rn   y   rz   r    )gQ?c                     | fS r"   r3   ry   s    r   rn   rn   z   rz   r    )g?c                     | fS r"   r3   ry   s    r   rn   rn   {       qd r    c                     | fS r"   r3   ry   s    r   rn   rn   |        r    c                     | fS r"   r3   ry   s    r   rn   rn   }   r   r    c                     | fS r"   r3   ry   s    r   rn   rn   ~       aT r    c                     | fS r"   r3   ry   s    r   rn   rn      s    ! r    c                     | fS r"   r3   ry   s    r   rn   rn      rz   r    c                     | fS r"   r3   ry   s    r   rn   rn      r   r    c                     | fS r"   r3   ry   s    r   rn   rn          A4 r    )order   )r   c                 2    | j                   | j                  fS r"   )rr   country   s    r   rn   rn      s    8I r    c                     | fS r"   r3   ry   s    r   rn   rn          ! r    c                     | fS r"   r3   ry   s    r   rn   rn      r~   r    normal)distribution   c                 <    g | | j                   | j                  S r"   statistic_locationstatistic_signrm   s    r   rn   rn      "    C3C..C0B0BC r    greater)alternativec                 <    g | | j                   | j                  S r"   r   rm   s    r   rn   rn      r   r    rh   c                 <    g | | j                   | j                  S r"   r   rm   s    r   rn   rn      r   r    c                 <    g | | j                   | j                  S r"   r   rm   s    r   rn   rn      r   r    c                 <    g | | j                   | j                  S r"   r   rm   s    r   rn   rn      r   r    c                 <    g | | j                   | j                  S r"   r   rm   s    r   rn   rn      r   r    trimmedg{Gz?)centerproportiontocutc                     | fS r"   r3   ry   s    r   rn   rn          QD r    c                     | fS r"   r3   ry   s    r   rn   rn      r   r    c                 2    | j                   | j                  fS r"   rt   rm   s    r   rn   rn      ru   r    )rJ   c                 2    | j                   | j                  fS r"   rt   rm   s    r   rn   rn      ru   r    c                     | fS r"   r3   ry   s    r   rn   rn      s    qd r    c                     | fS r"   r3   ry   s    r   rn   rn          aT r    c                     | fS r"   r3   ry   s    r   rn   rn      r   r    c                     | fS r"   r3   ry   s    r   rn   rn      r   r    c                     | fS r"   r3   ry   s    r   rn   rn      r   r    c                     | fS r"   r3   ry   s    r   rn   rn      r   r    c                     | fS r"   r3   ry   s    r   rn   rn      r   r    c                     | fS r"   r3   ry   s    r   rn   rn      r   r    c                     | fS r"   r3   ry   s    r   rn   rn      r   r    	equal_varc                 2    | j                   | j                  fS r"   rt   rm   s    r   rn   rn      ru   r    c                     t        |       S r"   )tuplery   s    r   rn   rn      s
    E!H r    c                     | fS r"   r3   ry   s    r   rn   rn      r   r    c                     | fS r"   r3   ry   s    r   rn   rn      r   r    c                     | fS r"   r3   ry   s    r   rn   rn      r   r    c                 2    | j                   | j                  fS r"   rt   rm   s    r   rn   rn      ru   r    c                 2    | j                   | j                  fS r"   rt   rm   s    r   rn   rn      ru   r    c                 H    | j                   | j                  | j                  fS r"   r$   r%   correlationrm   s    r   rn   rn          #--S__= r    c                 H    | j                   | j                  | j                  fS r"   r   rm   s    r   rn   rn      r   r    c                 H    | j                   | j                  | j                  fS r"   r   rm   s    r   rn   rn      r   r    c                 H    | j                   | j                  | j                  fS r"   r   rm   s    r   rn   rn      r   r       c                 4    t        |       | j                  fz   S r"   )r   intercept_stderrrm   s    r   rn   rn      s    ss3355 r    jointhierarchicalc                     | fS r"   r3   ry   s    r   rn   rn      s    A4 r    c                     | fS r"   r3   ry   s    r   rn   rn      r   r    g      ?)r[   c                     | fS r"   r3   ry   s    r   rn   rn      s     r    c                     | fS r"   r3   ry   s    r   rn   rn      s    QD r    )g?c                     | fS r"   r3   ry   s    r   rn   rn      r   r    >   division by zero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Mean of empty sliceinvalid value encounteredz-Precision loss occurred in moment calculationz/Sample size too small for normal approximation.c           
      $   g }t        |       D ]  }d}|rdnd|z   }t        j                  |||f      t        j                  z  }	t        |      D ]k  }
|	|
d d d d f   }t	        dddd|dz
  |g      D ]0  \  }}|j                  |      d | }|j                  |      |||f<   2 |j                  |d      |d d  m |gdg| z  z   |gz   }d|d|z   <   |	j                  |      }	t        j                  |	d	|      }	|j                  |	        |S )
Nr      r   r?   r@   rg   sizerN   )
ranger   onesnan	enumeratepermutationrandomreshapemoveaxisappend)	n_samplesn_repetitionsrN   rngpairedr`   i
n_patternsn_obsrU   jsampleskn_realsindices	new_shapes                   r   _mixed_data_generatorr    s<    D9 
"q&GG]J67"&&@}% 	:A1ajG (Aq!U1We(DE ?
7//%0':&)jjgj&>7
#? q9GAJ	:$ #Oqc)m3ug=		!a%IIi KK2t$A9: Kr    c                 *   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|j	                  |	      }
t        j
                  |
d|      }
|j                  |
        |S )Nr   r?   r@   r   )r   r   r   r   r   r   r   )r   r   rN   r   r   all_nansr`   r   r   shaperU   s              r   _homogeneous_data_generatorr
  6  s    
 D9 "q&1#i-/5'9a!e'/BGGENRVV#SZZ5FKK2t$A Kr    raise	n_outputsrO   r   r7   c                   |dk(  r;|D ]5  }	t        j                  t        j                  |	            s,t        d       n|dk(  r^| t        vrV|D ]P  }	t        j                  t        j                  |	            s,t        j
                  |t         j                        c S  n|dk(  r|s'|D 	cg c]  }	|	t        j                  |	           }}	n^t        j                  |d         }
|dd  D ]+  }	t        j                  |
t        j                  |	            }
- |D 	cg c]  }	|	|
    
 }}	 | | g ||d|i|      S c c}	w c c}	w )Nr  The input contains nan valuesrP   omitr   r?   r7   )r   anyisnan
ValueErroroverride_propagate_funcsfullr   
logical_or)hypotestdata1dunpackerr  rO   r   r7   r/   kwdssamplenan_masks              r   nan_policy_1dr  F  sF    W 	BFvvbhhv&' !@AA	B 
#66
  	2Fvvbhhv&'wwy"&&11	2 
v	>DEFfbhhv../EFExxq	*H * E==288F3CDE6<=FfhY'=F=HGfGtGhG$GHH F
 >s   / E!E
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  rO   )rP   r  r  rN   )r?   data_generator)mixedc
                     | t         j                  hv rt        st        j                  d       t        | |||||||||	
       y )N	Too slow.)r   kruskalr   pytestskip_axis_nan_policy_test
r  r/   r  r   r  r   r  rO   rN   r  s
             r   test_axis_nan_policy_fastr'  h  s>    0 EMM?";K (D$	9f"JnFr    z1ignore:Degrees of freedom <= 0 for:RuntimeWarning)r  
all_finiter  c
                 ,    t        | |||||||||	
       y r"   )r%  r&  s
             r   test_axis_nan_policy_fullr+    s"    2 	hdIy&&
D.	Jr    c
           
      f	   |sd }t         j                  j                  d      }
d}||||
|d}|	dk(  rd}t        di |}n/|	dk(  rd}d	|d<   t	        di |}n|	d
k(  rd}d|d<   t	        di |}|gg|z  z   }D cg c]  }t        j
                  ||d       }}|D cg c])  }t        j                  |||j                  d   gz         + }}t        j                  ||gz         }t        j                  t        j                  |            D ]  \  }}|D cg c]  }||   	 }}t        |D cg c]%  }t        j                  |      j                         ' c}      }d}|dk(  rp|rnt        j                  t        |      5  t        | ||g||||d	d| d d d        t        j                  t        |      5   | g ||d|i| d d d        	 t        | ||g||||d	d|}|dk(  rE|	dk(  r@| t0        vr8t        j2                  t4        t6              5   | g ||d|i|}d d d        nm|dk(  rY|	dk(  rT| t0        vrLt9        j:                         5  t9        j<                  dt6        t4                | g ||d|i|}d d d        n | g ||d|i|} |      }t?        ||t@               |||<    t        j
                  |dd      }|dk(  r<|	d
k(  s7d}t        j                  t        |      5   | g ||||d| d d d        y |dk(  rE|	dv rA| t0        vr9t        j2                  t4        tB              5   | g ||||d|}d d d        n | g ||||d|} |      }tE        tF        jI                  | t@              t@              }t?        |||       y c c}w c c}w c c}w c c}w # 1 sw Y   3xY w# 1 sw Y   xY w# t        t         t"        t$        f$ rw}t'        |      }t        t(        D cg c]  }t'        |      j+                  |       nc c}w c}      r%t        j,                  |t         j.                        }n Y d }~d }~ww xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w# 1 sw Y   0xY w)Nc                     | S r"   r3   rm   s    r   r  z'_axis_nan_policy_test.<locals>.unpacker      Jr    r   rg   )r   r   rN   r   r   r  r   r  r@   Tr)  Fr   r  r  matchr  rO   r  ignorertolrQ   >   r  r  r3   )%r   r   default_rngr  r
  r   broadcast_tor	  zerosndenumerater  r  r#  raisesr  r  RuntimeWarningZeroDivisionErrorUserWarningstrtoo_small_messages
startswithr  r   too_small_special_case_funcswarnsr   r   warningscatch_warningsfilterwarningsr   RTOLr   maxtolerance_overridesrR   ) r  r/   r  r   r  r   r  rO   rN   r  r   r   data_gen_kwdsinherent_sizer`   output_shaper  data_bres_1dr   _r  contains_nanmessageres_1daeaea_strmsgr)   res_1dbres_ndr3  s                                    r   r%  r%    s-    	 ))


"C M"+m!#AM $5}5	:	%$(j!*;];	<	'$)j!*;];!?m_Y%>>L
 ;??bkk&$+?F?"$ ooflfll26F5G&GH $F $XXli[01Frxx56 41*01&)11HvBHHV,002HI 2 \z9 Dh D4 D(1)3%+dD ?CDD z9 HG&G4GJG$GH 

	#Hfh J J.7/9+1DJ EIJG & ^z%A">>08IJ NMMM*MMN N F"~'@">>((* N''2CEWXMMM*MMN N
 IFITIjIDIC3-t4q	i4l [[Q'F W^|%C1]]:W5 	MLdLtL*LtL	M 	f3H!H::\\,4EF 	SRDRTRt
RTRC	S 	S NNN4JNN c]F"&&x6=DFF.i @$
 2HD DH H N,={K 	WF;MNCCK**3/NNO'')RVV4 	N N
N N&	M	S 	Ss   ?N?#.OO	6*O
OO O-&R %/RRR&O	 O*	-Q=Q8!Q ?3Q88Q= R
	R	R#&R0c                  X   	 t        j                  d      5  t        j                  ddt         j                  g      } t        j                  |        d d d        y # 1 sw Y   y xY w# t
        $ r7}t        j                  d|j                  j                   d       Y d }~y d }~ww xY w)Nr  )allr?   r@   znan raises unexpected z	 in numpy)
r   errstateasarrayr   mean	Exceptionr#  r$  	__class____name__)rU   es     r   skip_nan_unexpected_exceptionr^  '  s    N[[W% 	

Aq"&&>*AGGAJ	 	 	  N,Q[[-A-A,B)LMMNs4   A) <AA) A&"A) &A) )	B)2-B$$B))r  r)  r  emptyc	           	      
	   |sd }|dk(  r|dk(  r| j                   dv r
t                |dk(  r|dk(  r| j                   dk(  r
t                |dk(  r|dk(  r| j                   dk(  r
t                t        j                  j	                  d	      }	|d
k(  r(t        |      D 
cg c]  }
|	j                  d       }}
n't        |      D 
cg c]  }
|	j                  d       }}
|dk(  rRt        |      D 
cg c]  }
|	j                  d      dkD   }}
t        ||      D ]  \  }}t        j                  ||<    n%|dk(  r |D cg c]  }|t        j                  z   }}|D cg c]  }|j                          }}|dk(  ro|dvrkd}t        j                  t        |      5   | g ||d |d| d d d        t        j                  t        |      5   | g ||d |d| d d d        y t        j                         5  t        j                  d       d\  }}}	 t        | ||g||||dd|}	  | g ||d|i|}	  | g ||d |d|}d d d        ssrt+        t,        D cg c]  }t'        |      j/                  |       c}      }||sJ t0        t2        h}t'              |v sJ t'              |v sJ t        j                         5  t        j                  d        | g ||d|i|} | g ||d |d|}d d d         |       |      }}t5        ||d       t7        |      t7        |      z   }t5        ||d       |t7        |      z  }|D ]I  }t        j8                  |j:                  t        j<                        sJ t        j>                  |      rIJ  y c c}
w c c}
w c c}
w c c}w c c}w # 1 sw Y   &xY w# 1 sw Y   y xY w# t         t        t"        t$        f$ r}d }t'        |      }Y d }~d }~ww xY w# t(        $ r}t'        |      }Y d }~d }~ww xY w# t(        $ r}t'        |      }Y d }~d }~ww xY w# 1 sw Y   xY wc c}w # 1 sw Y   hxY w)Nc                     | S r"   r3   rm   s    r   r  z3test_axis_nan_policy_axis_is_None.<locals>.unpacker:  r.  r    r  rP   )iqrr2   r=   rB   rE   rT   rX   r  r2   r  rE   r   r_  )r@   r   )r@   r   g?r  >   r_  r)  r  r/  rQ   error)NNNTr  rO   r1  g+=r2  ) r\  r^  r   r   r4  r   zipr   ravelr#  r8  r  rA  rB  simplefilterr  r9  r:  r;  r<  r   r  r=  r>  r   r   r   list
issubdtypedtypenumberisscalar)r  r/   r  r   r  r   r  rO   r  r   r   r`   masksr  maskdata_raveledrN  rQ  eb_strec_strres1darP  res1dbebres1dcecrR  ok_msgdesired_warningsall_resultsitems                                  r   !test_axis_nan_policy_axis_is_Nonerz  0  s    	 w:{#: !H H *+
"z;'>z)%'J$6x'%'
))


"C ,1),<=q

6"==-29-=>

7#>> 49)4DEqG$s*EEe, 	"LFD66F4L	"	:	%.23F33156vFLLN6L6W7N!N1 ]]:W5 	$ $d $$* $"$	$ ]]:W5 	$ $l $$* $"$	$ 	 
	 	 	" g&!1	"8\8 Id I-6:*04ICGIF	R|RdRzRTRF	UtUdU*UPTUF%, 6 =OPcc&k,,S1PQ6)) ./DE6{....6{....$$& 	V!!(+R|RdRzRTRFUtUdU*UPTUF	V f%x'7FFFF/v,f-KU3tF|# !}}TZZ333{{4   !i >> F 46	$ 	$	$ 	" 
,={K 	FWF	 " 	WF	
 " 	WF	' 4 Q	V 	Vs   N<O3OO!O OO"Q&O.6P"Q1!Q35Q8O"O+.PPQ&PQ&"	Q+P<6Q&<QQ&	Q#QQ&Q##Q&&Q08Rzignore::UserWarningzignore::RuntimeWarning)r  rP   )sample_shape
axis_cases))r@   rg   rg   r   )Nr   r   )r   r@   )r?   r   )rg   r?   r@   r   ))
   )r   r   ))r   r   r   r?   c
           
      D   t         j                  t         j                  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                  j                  d      }t        |      D cg c]  }|j                  |       }}|D cg c]  }|j                          }}t        |      D cg c]  }|j                  |      dk   }}t        ||      D ]  \  }}t        j                   ||<    |D ]:  }t#        |      }|t        j$                  t'        |            }n"t)        |t*              rd||<   n|D ]  }d||<   	 t-        |      } | | g |||dd	|      } | | g |||d
d	|      } | | g |||d|	d|      } | | g |||d
|	d|      }t        ||||      D ]s  \  }}}}|j.                  |k(  sJ t        j0                  ||      }t3        ||d       |j.                  |k(  sJ t        j0                  ||      }t3        ||d       u = y c c}w c c}w c c}w )Nr}  z$Sample too small; test raises error.z6`rankdata` used in testing doesn't support axis tuple.c                     | S r"   r3   rm   s    r   r  ztest_keepdims.<locals>.unpacker  r.  r    r   皙?r?   T)rN   keepdimsF)rN   r  rO   r   gؗҜ<)atol)r   skewtestkurtosistest
normaltestdifferential_entropyepps_singleton_2sampshapiror#  r$  rX   r   r   r4  r   copyrd  r   rg  r   len
isinstanceintr   r	  squeezer   )r  r/   r  r   r  r   r  r{  r|  rO   small_sample_raisesr   rL  r`   r  nan_datar  rm  rN   expected_shapeaxr)   res_basenan_resnan_res_baserr_basernrn_bases                                r   test_keepdimsr    s    !>>5+=+=u?O?O 55u7Q7Q ==* |#4G(G:;())LM	
))


"C.3I.>?CJJ|$?D?,01&1H18=i8HI1

<(3.IHIHh/ vvt 5l+<WWS%67N$$'(t$ +B)*N2&+~.x ( ( (4$ ("&( )H -d -T -u -'+- .8 ,X , ,4-1j,&*, -   !H( !HT !H274>!HBF!H I '*#x*6'8 	5"Avr777n,,,

14(AAvE288~---BT*BBe4	5+5 @1Is   
J(JJ)funnsampc                    d\  }}t         j                  j                  d      }|j                  |||f      } | | } | |ddi} | |D cg c]  }|j                          c}      }	t	        ||       t	        ||	       y c c}w )N)   	   r   r7   T)r   r   r4  re  r   )
r  r  mnr   rU   r)   res2xires3s
             r   !test_hypotest_back_compat_no_axisr    s     DAq
))


"C

E1a=!A
q'C!D!DQ'r
'(Ddd (s   Br   r?   r@   c           	         d}t         j                  j                  d      }|j                  |      }|j                  |      }t        j                  ||dd|       }t        j                  ||dd|       }t        ||       d}t        j                  t        t        j                  |            5  t        j                  ||dd| |        d d d        y # 1 sw Y   y xY w)N)r  r  r~  r   Tz	two-sidedr   z6mannwhitneyu() got multiple values for argument 'axis'r/  )r   r   r4  r   mannwhitneyur   r#  r8  	TypeErrorreescape)rN   r	  r   rU   rV   res1r  rN  s           r   .test_axis_nan_policy_decorated_positional_axisr    s     E
))


"C

5A

5AaD+t<DaD+DADtFG	y		'(:	; E1a{DtDE E Es   3CC!c                     d} t         j                  j                  d      }|j                  |       }t         j                  |d<   t	        j
                  |  d}t        j                  t        t        j                  |            5  t	        j
                  |       d d d        t        j                  t        t        j                  |            5  t	        j
                  |d|i d d d        y # 1 sw Y   VxY w# 1 sw Y   y xY w)Nrg   r  r  r~  r   r   r   r   r   z6kruskal() got an unexpected keyword argument 'samples'r/  )r  r  )r   r   r4  r   r   r"  r#  r8  r  r  r  )r	  r   rU   rN  s       r   .test_axis_nan_policy_decorated_positional_argsr    s     E
))


"C

5AFFAjM	MM1FG	y		'(:	; !a ! 
y		'(:	; %q$!$% %! !% %s   C4D 4C= D	c                     d} t         j                  j                  d      }|j                  |       }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        y # 1 sw Y   y xY w)N)r@   r  r  r~  r   r  r?   )rU   rV   z/mannwhitneyu() got multiple values for argumentr/  )r   r   r4  r   r   r  r   r#  r8  r  r  r  )r	  r   rU   r  r  rN  s         r   .test_axis_nan_policy_decorated_keyword_samplesr  $  s    
 E
))


"C

5AFFAjMq!D!!-Dt?G	y		'(:	; /A11./ / /s   1CC c                    d| j                   v rt        j                  d       t        j                  j                  d      }|sd }|j                  |ddf      }t        j                  |       }	t        j                  |	      }
 | | g ||dd	i|      } | |
g ||dd	i|      }t        ||d
       y )Nr2   z0Can't pickle functions defined within functions.r   c                     | S r"   r3   rm   s    r   r  z8test_axis_nan_policy_decorated_pickled.<locals>.unpackerB  r.  r    r@      r   rN   r   g-q=r2  )r\  r#  r$  r   r   r4  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  6  s     X&&&FG
))


"C 	 ;;Y2.;/D||H-&67H;d;T;;d;<D&EEtE"EEFDD$U+r    c            	         t        d      D ]  } t        g d|       D ]  }t        t        |            D ]  }t        j                  |      f}t
        j                  j                  ||      }|<t        j                         5  t        j                  ddt               t        j                  ddt               |d   j                  |      }d d d        t        j                  j                  |          y # 1 sw Y   0xY w)N   r  r1  r   r   r   r   )r   r   r  r   r6  r   _axis_nan_policy_check_empty_inputsrA  rB  rC  r9  rY  testingr   )r   comborN   r  output	references         r   test_check_empty_inputsr  M  s     1X ?29a@ 	?Ec%j) ?88E?,//CCGDHJ%!002 ? //$&;^M //$&A>S$+AJOOO$>	? JJ++FI>?	??? ?s   AC?	?Dc                 p   t        | D cg c]  }|j                   c}      }||dk\  r| |z   n|}t        d|dz         D ]m  }| |k(  r
t               }| D ]E  }||j                  k  s|j                  |    dk7  s'|j                  |j                  |           G t        |      dkD  sm y yc c}w )Nr   r?   FT)rE  ndimr   setr	  addr  )arraysrN   arrn_dimsdimdim_lengthss         r   _check_arrays_broadcastabler  e  s     f-s#((-.F#'19$$Qq! 
44<e 	1Cchh399cT?a#7		3$0	1 {a
 ! .s   B3c           
      :   | t         j                  t         j                  hv rt        st	        j
                  d       | t        v rd}t	        j
                  |       |d }d }g d}	 |||	      D ]E  }
t        d |
D              st        d |
D              }t        | |      D ]  }	 t         j                  j                  |
||	      }t        j                         5  t        j                  d
dt               t        j                  d
dt               t!        j"                  ||      t         j$                  z  }t!        j&                  |      }t        |      D cg c]%  }t!        j(                  |j+                               ' }}d d d        | t,        v rF | g g gt/        |
      z  |i |}t1         ||            }t        |      D ]  }||   |   <    d   j2                  rM| t4        vrE|dk(  rt6        nt8        }t	        j:                  t<        |      5   | g |
|d|i|}d d d        nIt        j                         5  d}t        j                  d
|t<                | g |
|d|i|}d d d         |      }t        |      D ]  }t?        ||   ||            H y c c}w # 1 sw Y   3xY w# 1 sw Y   LxY w# 1 sw Y   XxY w# t@        $ r tC        |
|rd n|      rJ d}t	        jD                  t@        |      5  t         j                  j                  |
||       d d d        n# 1 sw Y   nxY wt	        jD                  t@        |      5   | g |
|d|i| d d d        n# 1 sw Y   nxY wY w xY w)Nr!  z4Doesn't follow the usual pattern. Tested separately.)reasonc                     | d   | d   fS )Nr   r?   r3   rm   s    r   rn   ztest_empty.<locals>.<lambda>  s    AA/ r    c              3   |   K   d }t        |       D cg c]
  } ||       }}t        | E d {    y c c}w 7 
w)Nc              3   n   K   | D ],  }t        g d|      D ]  }t        j                  |        . y w)Nr  )r   r   r6  )r  r   r  s      r   small_sample_generatorzHtest_empty.<locals>.small_data_generator.<locals>.small_sample_generator  s9      *:9aH *E((5/)**s   35)r   r   )r   r  r  r   genss        r   small_data_generatorz(test_empty.<locals>.small_data_generator  sA     	* 9>i8HI1&v.IID>!! J!s   <5<:<r?   r@   rg   c              3   :   K   | ]  }|j                   d k(    yw)r   Nr   .0r  s     r   	<genexpr>ztest_empty.<locals>.<genexpr>  s     :6;;!#:s   c              3   4   K   | ]  }|j                     y wr"   )r  r  s     r   r  ztest_empty.<locals>.<genexpr>  s     9vv{{9s   )r   r1  r   r   r   r   r?   r/  rN   zall input arrays have length 1/Array shapes are incompatible for broadcasting.)#r   r"  friedmanchisquarer   r#  r$  r  r  rE  r   r  _broadcast_concatenaterA  rB  rC  r9  r   rY  r   r  rX  r  empty_special_case_funcsr  rg  r   r?  r   r   r@  r   r   r  r  r8  )r  r/   r  r   r  r   r  r  r  r  r  max_axisrN   concatexpectedrm  r   	empty_valrN  r)   rR  s                        r   
test_emptyr    s   
 EMM5#:#:;;KK ++G6"/" F'	6: ;A :'::999 8)X. 2	AD0A //FFwPTNT G V,,. W++ "7I++ "=~O!wwvD9BFFBH88H-DEJ9EUV

8==? ;VHVW 77 ( MB4G+< M M MI $Xi%8 9I"9- 9,5aLD)9 A;##8T(T8@A4$9 &8H K&JJ$JTJTJK K "002 K> //#?QR&JJ$JTJTJ	K
 smy) 6A Q!56I2	A;A0  WW W$K KK K  A6w?Et4Q Q Q
 L]]:W= Y**AA'4QWXY Y Y]]:W= A@g@@4@4@A A AAs   .6K'$BK%*J=
KBK'*K:K'-K2K'=KKK'KK'K$ K''8N"M
		N
M"N1N
		N
NNNc               #   J   K   t         D ]  } | \  }}}}}}}|dk(  r|   y w)Nr?   )axis_nan_policy_cases)caser  r/   r  r   r  r   r  s           r   paired_non_broadcastable_casesr    s8     % GKD$iFH>
	s   !#c           
         t         j                  j                  d      }d}	|	rJt        |      D 
cg c]&  }
|j                  |j	                  ddd            ( }}
t        ||      }	|	rJd}t        j                  t        |      5   | g |d	|i| d d d        |sy |j	                  dd
d      }t        |dz
        D 
cg c]  }
|j                  |       }}
t        |      }||xx   dz  cc<   |j                  |      }t        j                  t        |      5   | |g||d	|i| d d d        y c c}
w # 1 sw Y   xY wc c}
w # 1 sw Y   y xY w)Nl   T;]L Tr@   d   r   r   r  r/  rN   r~  r?   )
r   r   r4  r   integersr  r#  r8  r  rg  )r  r/   r  r   r  r   r  rN   r   get_samplesr   r  rN  r	  most_samplesother_samples                   r   test_non_broadcastabler    ss    ))


/CK
!),. ::3<<3Q<#?:@ . . 2'E	  @G	z	1 54'4D4t4t45 
 LLBQL'E49)A+4FGqCJJEJ*GLGKE	$K1K::5:)L	z	1 HGGtG$G$GH H).5 5 HH Hs#   +EE	
E*E	EE#c                  <   t         j                  j                  d      } | j                  d      }| j                  d      }|dk  }t         j                  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      \  }}|\  }	}
||k7  r||k7  sJ ||k(  sJ |j                  }|||j                  <   t         j                  j                  |	|       |
|u sJ y )NiT=0)r~        r  g      ?)rg   r   r?   )r   r  r@   )r  r   rg   r  r   r   )r   r   r4  mamasked_arrayfinfofloat64rE  	nextafterinfr   r
   r`   rm  r  assert_array_equal)r   ABrm  	max_float
max_float2
max_float3
out_arrayssentinelA_outB_outA_references               r   "test_masked_array_2_sentinel_arrayr  
  sX   
))

	
*C

< A

2As7D
1d#A $((Ii"&&1Jj266'2JAgJAgJAgJ66AaD66AaDAaD <QFCJLE5 	!J(>??z!!! &&K"KJJ!!%5A::r    c                     t        j                  t         j                        j                  } t        j                  t         j
                        j                  }t        j                  dd| gt         j                        }t         j                  j                  g dt         j                  g d      }t         j                  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                  j                  ||      }t        |g      \  }}||
dz   k(  sJ d
|d<   t         j                  j                  ||      }d}t%        j&                  t(        |      5  t        |g       d d d        t         j                  j                  g dg dt         j*                        }t-        j.                  |      j                  t         j*                  k(  sJ y # 1 sw Y   pxY w)Nr?   r@   ri  )r?   r@   r?   r   r?   r   )ri  rm  r   r   r   r   r   Trm  z7This function replaces masked elements with sentinel...r/  r  )rm  ri  )r   iinfoint16rE  r  
complex128arrayr  int8r
   ri  r   r  MaskedArrayminarange
zeros_likeboolr#  r8  r  float32r   gmean)max16max128cabcr  r  a_outb_outc_outmin8max8mask1mask0a1a0rN  s                    r   test_masked_dtyper(  -  s    HHRXX""Ehhr}}%))G 	!Qbhh/A
IRWW9=A
IR]]CA <QFCJLE5uQw;;"(("""EAaD(AbE23A::%!2!2333 <QFCJLE5w;;"--'''EAaD(AbE23%!2!2333%!2!2333 "''"&&(9(=(=$D
		$Qbgg.AMM!4(EMM!4(E E!H	QU	#B;RDAJtAv E!H	QU	#BGG	z	1 /("./ 	IIRZZ@A;;q>2::---/ /s   N==Oc                     g d} g d}t        j                  | |      }dddt        j                  dg}t        j                  | |d      }t        j                  j                  ||       g d	}g d
}t        j                  j                  ||      }t        j                  | |      }t        j                  j                  ||       dddt        j                  ddg}g d}	t        j                  j                  ||	      }t        j                  | |d      }
t        j                  j                  |
|       dddt        j                  ddg}g d}t        j                  j                  ||      }t        j                  | |d      }t        j                  | |d      }t        j                  j                  ||       t        j                  j                  ||       y )N)               )r   r     r  r   r  r/  r  r  )rO   )r   r  r/    r  )FFFTFr  r0  )FFFFTF)FFFTTFrP   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_1dr=  g  s    !EG


UG
,C BBFFB'HeX&ADJJ!!$, &H.Euu!!(!7HeX.DJJ!!$, BBFFD"-H5Euu!!(!7HeX&ADJJ!!$, BBFFD"-H4Euu!!(!7HeX+FDeX'BDJJ!!$,JJ!!$,r    zignore:After omitting NaNs...z(ignore:One or more axis-slices of one...c                 p   t         j                  j                  d      }|j                  d      }|j                  d      }|j                  d      }|dk  }g d}t         j                  j	                  ||      }t         j                  j	                  ||      }|j                         }	t         j                  |	|<   |j                         }
t         j                  |
|<   t        j                  |	||
d| 	      }t        j                  |||| 
      }t         j                  j                  ||       y )Nl   36 rg   r   r  )r   r  )r   r?   皙?)FFFTr  r  rO   rN   r   )r   r   r4  r  r  r  r   r   r"  r  r  )rN   r   r  r  r  mask_amask_ca_maskedc_maskeda_nansc_nansr)   r  s                r   test_masked_stat_3drH    s     ))



+C

9A

6A

6AWF(Fuu!!!&!1Huu!!!&!1HVVXFVVF6NVVXFVVF6N
--6f4
HC==1hT:DJJ!!#t,r    c                     d\  } }d}t         j                  j                  d      }|j                  | |      }|j                  | |      }|j                  | |      dk  }|j                  | |      dk  }|j                  | |      dk  }|j                  | |      dk  }	d|dd d f<   |j	                         }
|j	                         }t         j
                  |
||z  <   t         j
                  |||	z  <   t         j                  j                  ||	      }t         j                  j                  ||	      }t         j
                  ||<   t         j
                  ||	<   t         j                  j                  ||	      }t         j                  j                  ||		      }t         j
                  ||<   t         j
                  ||<   t         j                  j                  |||z  	      }t         j                  j                  |||	z  	      }t        j                  |
|d
|      }t        j                  ||d
|      }t        j                  ||d
|      }t        j                  ||d|      }t        j                  ||d|      }t         j                  j                  ||       t         j                  j                  ||       t         j                  j                  ||       t         j                  j                  ||       y )Nrg   r   r   r   r  r@  333333?Tr@   r  r  rA  r  rP   )r   r   RandomStaterandr  r   r  r  r   wilcoxonr  r  )r  r  rN   r   r  r  mask_a1mask_a2mask_b1mask_b2rF  b_nans	a_masked1	b_masked1	a_masked2	b_masked2	a_masked3	b_masked3r)   r  r  r  r8  s                          r   test_mixed_mask_nan_1rZ    sn    DAqD
))


"CAAAAhhq!ns"Ghhq!ns"Ghhq!nt#Ghhq!nt#GGAqDMVVXFVVXF "F7W "F7W""17"3I""17"3IIgIg""17"3I""17"3IIgIg""1Gg,="?I""1Gg,="?I
..F
FC>>)Y6MD>>)Y6MD>>)Y7ND>>)Y%0t=D JJ!!$,JJ!!$,JJ!!$,JJ!!$,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                  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                  |j                  |       t         j                  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                  |j                  |       t         j                  j                  |j                  |       y )Nr?   r@   r  rg   )r?   r   r?   r  r?   r?   r?   r  r  r   r  r   r  r   rA  rP   )
r   r   r  r  r   ranksumsr$   r%   r  r  )	r  rm  rD  r  ref1ref2r)   stat_refp_refs	            r   test_mixed_mask_nan_2rc    s    RVVQ"&&"&&"&&19
RVVQ!RVVQ	4Ay)y)-Duu!!!$!/H	A>>1a&),D>>)Y/D ..1b
AC@HVVRVVRVV[[$++t{{4EJJ!!#--:JJ!!#**e4 ..12
FC8HVVRVVRVVVVT[[$++/EJJ!!#--:JJ!!#**e4r    c                      d} t         j                  j                  d      }|j                  |       }t        j                  |dd i}t        j                  |ddi}t         j
                  j                  ||       y )Nr  r   rN   r  )r   r   r4  r   r"  r  r  )r	  r   rU   r)   r  s        r   test_axis_None_vs_tuplere    sc    E
))


"C

5A
--
&
&C==!,),DJJ!!#t,r    c                  
   t         j                  j                  d      } | j                  d      }| j                  d      }t        j                  ||      \  }}t	        j
                  |j                         |j                               }t	        j
                  ||d       }t	        j
                  ||d      }t	        j
                  |j                         |j                               }||k(  sJ ||k(  sJ ||k7  sJ y )Nr   )r  r?   )r?   r  r   r  )r   r   r4  broadcast_arraysr   r  re  )	r   rU   rV   x2y2res0r  r  r  s	            r   )test_axis_None_vs_tuple_with_broadcastingrk    s     ))


"C

6A

6A  A&FBaggi3Da.Da0Dbhhj"((*5D4<<4<<4<<r    )r?   c                    t         j                  j                  d      }d}d}|j                  |      }|j                  |      }| }t        | D cg c]  }|dk\  r|nd|z    c}      } t	        |       } t        t        |             t        |       k7  rRd}t        j                  t        t        j                  |            5  t        j                  |||       d d d        y | d   dk  s| d   d	kD  rRd
}t        j                  t        t        j                  |            5  t        j                  |||       d d d        y 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(                  j+                  |	|       y c c}w # 1 sw Y   y xY w# 1 sw Y   y xY w)Nr   r]  )r?   r   rg   z*`axis` must contain only distinct elementsr/  r   r   r@   z0`axis` is out of bounds for array of dimension 3>   r   r?   r@   )r?   r?   r   )r?   r@   r?   )r   r   r4  r   sortedr  r  r#  r8  r   r  r  r   r  nextiterr5  r	  r   r   r  r  )rN   r   shape_xshape_yrU   rV   axis_originalr   rN  r)   not_axisrh  shape_y_broadcastedri  r  r  s                   r   test_other_axis_tuplesrv     s	    ))


"CGG

7A

7AM D9qQ1AE)9:D$<D
3t9~T">]]9BIIg,>? 	9q!-8	9Aw{d2hlD]]9BIIg,>? 	9q!-8	9


Q
6C 3t9$HDN#H	
B#$+H$5!	/	0B
A	Rv	&B	Rv	&B	BB	 B	BB	 Bb"1-DJJ!!#t,C :
	9	9s   II(I!I!I*zweighted_fun_name, unpackerr  c                     | S r"   r3   ry   s    r   rn   rn   V      A r    hmeanc                     | S r"   r3   ry   s    r   rn   rn   W  rx  r    pmeanc                     | S r"   r3   ry   s    r   rn   rn   X  rx  r    rK   c                 2    | j                   | j                  fS r"   )r%   r$   ry   s    r   rn   rn   Y  s    qxx&= r    c                 x   | dk(  rd nt        t        |       fd}d\  }}d}t        j                  j	                  d      }|j                  ||f      }|j                  ||f      }|j                  ||f      dk  }	|j                  ||f      d	k  }
|j                  ||f      d
k  }|j                  ||f      d
k  }d|	dd d f<   |j                         }|j                         }t        j                  ||	|
z  <   t        j                  |||z  <   t        j                  j                  ||	      }t        j                  j                  ||      }t        j                  ||
<   t        j                  ||<   t        j                  j                  ||
      }t        j                  j                  ||      }t        j                  ||	<   t        j                  ||<   t        j                  j                  ||	|
z        }t        j                  j                  |||z        }t        j                         5  d}t        j                  d|t                |||d|      } |||d|      } |||d|      } |||d|      } |||d|      }d d d        t        j                  j                         t        j                  j                  |       t        j                  j                  |       t        j                  j                  |       y # 1 sw Y   xY w)Nr{  c                 2    t        j                  | fddi|S )NpgzG?)r   r{  )r  r0   s     r   weighted_funz6test_mean_mixed_mask_nan_weights.<locals>.weighted_funb  s    ;;q3D3F33r    c                         | i |      S r"   r3   )r/   r0   r  r  s     r   funcz.test_mean_mixed_mask_nan_weights.<locals>.funcg  s    d5f566r    rJ  r   l    r   r  r@  rK  Tr@   r  r   r1  r  )rA   rO   rN   r  rP   )getattrr   r   r   r4  r  r  r   r  r  rA  rB  rC  r9  r  r  )weighted_fun_namer  r  r  r  rN   r   r  r  rO  rP  rQ  rR  rF  rS  rT  rU  rV  rW  rX  rY  rN  r)   r  r  r  r8  r  s    `                         @r    test_mean_mixed_mask_nan_weightsr  P  s   " G#	4 u&787 DAqD
))



+C!Q A!Q Akk1vk&,Gkk1vk&,Gkk1vk&-Gkk1vk&-GGAqDMVVXFVVXF "F7W "F7W""17"3I""17"3IIgIg""17"3I""17"3IIgIg""1Gg,="?I""1Gg,="?I		 	 	" U-'>B66f4HIyV$OIyV$OIyW4PIy[tTU JJ!!$,JJ!!$,JJ!!$,JJ!!$,U Us   AL00L9c                  b   d} t        j                  t        |       5  t        j                  g dd       d d d        d} t        j                  t        |       5  t        j                  g dd       d d d        d} t        j                  t        |       5  t        j                          d d d        d	} t        j                  t        |       5  t        j                  g dd
t
        g dd       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ixY w# 1 sw Y   y xY w)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   r\  r~  )r#  r8  r  r   r  float)rN  s    r   test_raise_invalid_args_g17713r    s     3G	y	0 1I401 2G	y	0 'I&' 7G	y	0  HG	y	0 8Iq%B78 81 1' ' 8 8s/   DDD"D%D
DD"%D.ri  c                      G fdd      }dgdz  g dz   t        j                   ||             }|j                  dk(  sJ |j                  dk(  sJ y )Nc                   &    e Zd Zd Zd fd	Zd Zy)&test_array_like_input.<locals>.ArrLikec                      || _         || _        y r"   )_x_dtype)selfrU   ri  s      r   __init__z/test_array_like_input.<locals>.ArrLike.__init__  s    DGDKr    Nc                 F    t        j                  | j                        S )Nr
  )r   rX  r  )r  ri  r  rU   s      r   	__array__z0test_array_like_input.<locals>.ArrLike.__array__  s    ::at{{33r    c                 ,    t        | j                        S r"   )rp  r  )r  s    r   __iter__z/test_array_like_input.<locals>.ArrLike.__iter__  s    
 = r    )NN)r\  
__module____qualname__r  r  r  ry   s   r   ArrLiker    s    	 	4	!r    r  r?   r@   r?  r
  )r   rr   r   )ri  r  r)   rU   s      @r   test_array_like_inputr    sT    
! ! 
A	A
**WQe,
-C88q==99>>r    c           	      d   t         j                  j                  d      }|j                  d      }|j                  d      }| j                  |      | j                  |      f}t        j
                  j                  |d|       }t        j                  |d      }t        j                  |d   d      }t        d	 |j                  D         D ]`  }|\  }}}	}
}}|
|j                  d   k  r||||	|
||f   ||||	|
||f   k(  r6J ||||	|
|j                  d   z
  ||f   ||||	|
||f   k(  r`J  y )
Nl   e~Z )r  r   r   rg   r?   r   )r   r?   r  r@   r   r(  )rN   xp)r?   r?   r?   r?   r@   r?   )N.)r  r?   r   r?   r?   r?   c              3   2   K   | ]  }t        |        y wr"   )r   )r  r   s     r   r  z.test__broadcast_concatenate.<locals>.<genexpr>  s     5585s   )
r   r   r4  rX  r   r  r  tiler   r	  )r  r   r  r  r  r  indexr   r   r  lr  r  s                r   test__broadcast_concatenater    sC    ))



+C

%&A

?#AjjmRZZ]+F55f2"5MA
%&A
)01A5QWW56 L 1aAqqwwr{?Q1aA%&!Aq!Q1,<*====Q1a!''"+oq!34!Q1a:J8KKKKLr    )r   F)F)FT)	itertoolsr   r   r   osr  r  r#  rA  numpyr   numpy.testingr   r   scipyr   r	   scipy.stats._axis_nan_policyr
   r   r   r   r   r   scipy._lib._utilr   scipy._lib._array_apir   scipy.conftestr   r  environrR   r   r   rD  r  rF  r,   r4   r=   rB   rE   rG   rL   rX   r^   rc   rf   r"  r   dictr^  r  rN  r  ry  r{  	trim_meansemrb  kurtosisskewkstatkstatvarmomentjarque_berattest_1sampr  	ttest_rel	ttest_indrr   r  	variationr  brunnermunzelmoodr  ks_1sampndtrks_2sampkstestlevenefligneransarientropyr  r  r  cramervonmisescramervonmises_2sampbartletttmeantvartmintmaxtstdtsemcircmeancircvarcircstdf_onewayalexandergovernrK   lmomentchatterjeexispearmanrhopointbiserialrrT   
linregresstheilslopessiegelslopespower_divergence	chisquaremedian_abs_deviation	expectiler  r=  inaccuracy_messagesr  r  r?  r  r
  r  markrC  parametrizer'  rg  r   r+  r%  r^  rz  r  r  r  r  r  r  r  r  slowr  r  r  r  r(  r=  rH  rZ  rc  re  rk  rv  r  r  r  r  r  r  r  r  r  r3   r    r   <module>r     sE   K J 	 	     7  T T ' 3 . "**..45P
 !"t 1159 &5
S4
'
>
3<@  % -s ]]EGTVQ5$7	s
 ^^Y1eT:s 8\":Aq%<>s 8V"4aE4Hs ^^Z&&!11a,.s ^^UWdfaD,.s ^^UWx61d<>s [[%'461a?s  [[%'461a?!s" [['461a?#s$ __gtvq!UNC%s& YYAun='s( YYAun=)s* ^^UWdfaE>B+s, ZZ$&!Q~>-s. [[%'461a?/s0 ^^UWdfaE>B1s2 \\57DFAq%@3s4 \\57D1v.1eTB5s6 Aud;7s8 1#($&!Q9s< __egtvq!T3FG=s> __egtvq!U4GH?s@ 5$$%tTVQ5$GAsB 5??#UWdfaD$GCsD 5??#UWdfaE4HEsF ZZ$&!Q.IJGsH $&!Q~NIsJ __egtvq!UNCKsL egtvq!T4@MsN %'4X#>1eTROsP ZZ"aE40QsR ]]EGRAud3SsT ^^gll_dfaECEUsX ^^gll_dy&A1aCEYs\ ^^gll_dv&>1eCE]s` ^^UWdfaECEasd \\GLL?DFAq%CEesh \\57DFAq%CEisl \\57B1eT2msn ]]EG	dK5$osr \\57B1eT2sst ]]EGTVQ5.Ausv ]]EGTVQ4@wsx ^^UWdfaE48ysz $&!Qt<{s| uw1eT:}s~ GLL?DFAq%,.sB $l*CQ5,.CsF $&!QtDGsH ^^UWb!Qt4IsJ [[%'2q!UN;KsL ZZ"aE>:MsN ZZ"aE>:OsP ZZ"aE>:QsR ZZ"aE>:SsT ZZ"aE>:UsV ^^UWdfaE>BWsX ]]EGTVQ5.AYsZ ]]EGTVQ5.A[s\ ^^UWb!Qt4]s^ ^^UW{E2Aq%F_s` EGRAu,.asd EGRAud;esf ]]EGTVQ52DEgsh uwAq$=isj EGTVQ5.Aksl EGTVQ4@msn UWdfaE>:osp $&!Q,.qst At,.usx 57DFAq$=?ys| $&!Q=?}s@ At=?AsD 57DFAq$=?EsH uw1d57IsL AtU;MsN AtU;OsP W!5q!T5IQsR $&!Qe<SsT $&!Qe<UsV $n"=q!T5QWsX 
57DFAq%8YsZ UWdfaE4@[s\ __egtvq!UD9]s^ $&!Q~N_s` $3-AunEasb UWdsmQ5.Icsd __fdfaE>Bes n F GHJ  "JJ(<e>O>OP  "MM5??E<R<RS  !&u@V@VW  "'$P 8<  @A$UTID QRNOST
 UV PQNO 01FH,)GH&4(*Z8F 9 ) IH P R W U P S*F  [[ UV[[ RS[[ WX
 [[ ST [[ TU[[ RS[[ 45JL[[l-KL[[ftE"aL'9:[[.@BJB ; ML T V U Y T W,Jw/zN  01FH,)GH*EGs!G IH
s!z 1245'<= 01FH"05H > 6 305f ) ;;* >>1-/0	0	 &9-E .E$%$/$  01FH,H,*?0B  01FHUAH UAp !Q( 0<>?AHA )H: F 6. 6.r  -  -F ;<FG&4b!#56- 7  H =-, ;<FG,-  H =,-^ ;<FG'5  H ='5T-$ &l5Q<;<yHJ+-J+-\ ;<FG"	+	+	+	=>	8-  H =8-v8* 288RZZ"GH I2 5))@@AL BLr    