o
    i                     @   s  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	m
Z
mZmZ d dlmZ d dlmZ dd Z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d feje e dd	ddd feje ddiddddd feje e ddd
dd feje e ddd
dd fejde ddd
dd feje e ddd
dd feje e ddd
dd feje e ddd
dd feje e ddd
dd feje e ddd
d d feje edd	gd!dd	d
dfej e e dd	d
dfej!e"d gfe dd"d
efej#e e d	d"defgZ$h d#Z%d$d%hZ&	
dpd&d'Z'	dqd(d)Z(d	d*d
dd+d,d-Z)ej*+d.e$ej*+d/d0ej*+d1d2ej*+d3d4d5d6 Z,ej*j-ej*+d.e$ej*+d/d0ej*+d1e.d7dej*+d3d8d9d: Z/d;d< Z0ej*+d.e$ej*+d/d0ej*+d3d=d>d? Z1ej*+d/d@ej*+dAeje e ddBd feje ddid	dffej*+dCdDdEdF Z2ej*+dGejdfejdfgdHdI Z3ej*+d1dJdKdL Z4dMdN Z5dOdP Z6ej*+d.e$dQdR Z7dSdT Z8dUdV Z9ej*j-ej*+d.e$dWdX Z:dYdZ Z;d[d\ Z<d]d^ Z=ej*+d1e.d7dd_d` Z>dadb Z?dcdd Z@dedf ZAdgdh ZBej*+d1eCee.d7dd	dig djdk ZDej*+dlg dmdndo ZEdS )r    )productcombinations_with_replacementpermutationsN)assert_allcloseassert_equalsuppress_warnings)stats) _masked_arrays_2_sentinel_arraysc                 C   s(   |   \}}| j| j| j| j| j||fS N)confidence_interval	statisticpvaluedf_standard_error	_estimate)reslowhigh r   a/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/scipy/stats/tests/test_axis_nan_policy.pyunpack_ttest_result   s   r         F)lessmethod
asymptotic)prattmodeautoTc                 C      | j | jfS r
   r   r   r   r   r   r   <lambda>        r"      c                 C   r   r
   r    r!   r   r   r   r"   "   r#   approxc                 C   s   | j | j| jfS r
   )r   r   
zstatisticr!   r   r   r   r"   $       c                 C      | fS r
   r   xr   r   r   r"   %       c                 C   r(   r
   r   r)   r   r   r   r"   &   r+   )gQ?c                 C   r(   r
   r   r)   r   r   r   r"   '   r+   c                 C   r(   r
   r   r)   r   r   r   r"   (   r+   c                 C   r(   r
   r   r)   r   r   r   r"   )   r+   c                 C   r(   r
   r   r)   r   r   r   r"   *   r+   c                 C   r(   r
   r   r)   r   r   r   r"   +   r+   c                 C   r(   r
   r   r)   r   r   r   r"   ,   r+   )moment   >   division by zeroMean of empty sliceThe input contains nanData input must not be emptyNot enough test observationsNot enough other observationsData must be at least length 3!Degrees of freedom <= 0 for slice!x and y must contain at least two$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)Data passed to ks_2samp must not be empty+The exact distribution of the Wilcoxon test.zero-size array to reduction operation maximumz-Precision loss occurred in moment calculation/Sample size too small for normal approximation.c              	   C   s  g }t | D ]z}d}|rdnd| }t|||ftj }	t |D ]<}
|	|
d d d d f }tdddd|d |gD ]\}}||d | }|j|d|||f< q:|j|dd|d d < q!|gdg|   |g }d|d| < |	|}	t|	d	|}	|	|	 q|S )
N      r   r$   r   r   sizeaxis)
rangenponesnan	enumeratepermutationrandomreshapemoveaxisappend)	n_samplesn_repetitionsrD   rngpaireddatai
n_patternsn_obsr*   jsampleskn_realsindices	new_shaper   r   r   _mixed_data_generatorM   s"    
r^   c                 C   s~   g }t | D ]6}|rdnd| }|gdg|   |g }	d|	d| < |r+t|	tj n||	}
t|
d|}
||
 q|S )Nr@   r$   r   rE   )rF   rG   rH   rI   rL   rN   rO   )rP   rQ   rD   rR   rS   all_nansrT   rU   rW   shaper*   r   r   r   _homogeneous_data_generatort   s   ra   raise	n_outputs
nan_policyrS   _no_decoc          
         s   |dkr|D ]}	t t |	rtdqnK|dkr1|D ]}	t t |	r/t |t j  S qn0|dkra|s?dd |D }n"t |d  |dd  D ]}	t  t |	 qL fd	d|D }|| g ||R d
|i|S )Nrb   The input contains nan values	propagateomitc                 S   s   g | ]
}|t |  qS r   )rG   isnan.0sampler   r   r   
<listcomp>   s    z!nan_policy_1d.<locals>.<listcomp>r   r$   c                    s   g | ]}|   qS r   r   rk   nan_maskr   r   rn          rf   )rG   anyrj   
ValueErrorfullrI   
logical_or)
hypotestdata1dunpackerrd   re   rS   rf   argskwdsrm   r   ro   r   nan_policy_1d   s(    r{   )rv   ry   rz   rP   rd   rS   rx   re   )rh   ri   rb   rD   )r$   data_generator)mixedc
           
      C      t | |||||||||	
 d S r
   _axis_nan_policy_test
rv   ry   rz   rP   rd   rS   rx   re   rD   r|   r   r   r   test_axis_nan_policy_fast   s   r   )r_   
all_finiter}   c
           
      C   r~   r
   r   r   r   r   r   test_axis_nan_policy_full   s   
r   c
                    s  |sdd }t jd}
d}|| |
|d}|	dkr$d}td i |}n#|	dkr6d	}d
|d< td i |}n|	dkrGd	}d|d< td i |}|g|g|   fdd|D }fdd|D }t }t }t |D ]=\}fdd|D }t jddd z<t| ||g|R |||d
d|}|| g ||R d|i|}t	|d |d  t
|d	krt	|d |d  W n ttttfy  ztjtttd t| ||g|R |||d
d| W d    n1 sw   Y  tjtttd | g ||R d|i| W d    n	1 s(w   Y  tfddtD rAt |t j}n?tfddtD r~t $}|t |t t| ||g|R |||d
d|}W d    n	1 sxw   Y  nW Y d nd ww W d    n	1 sw   Y  |d |< t
|d	kr|d |< qp|dkr|	dksd}tjt|d | g ||R  |d| W d    d S 1 sw   Y  d S t =}t jddd% |td |td || g ||R  |d|}W d    n	1 sw   Y  W d    n	1 s)w   Y  t|d |dd t	|d j|j t
|d	kr[t|d |dd t	|d j|j d S d S )!Nc                 S      | S r
   r   r!   r   r   r   rx         z'_axis_nan_policy_test.<locals>.unpackerr   r   )rP   rQ   rD   rR   rS   r}   r?   r_   r   Tr   Fc                    s   g | ]	}t | d qS rE   )rG   rN   rk   rC   r   r   rn          z)_axis_nan_policy_test.<locals>.<listcomp>c                    s$   g | ]}t | |jd  g qS r   )rG   broadcast_tor`   rk   )output_shaper   r   rn      s    c                    s   g | ]}|  qS r   r   rk   )rU   r   r   rn          ignoredivideinvalidrc   re   r$   matchc                       g | ]	}t  |qS r   str
startswithrl   messageer   r   rn   
      c                    r   r   r   r   r   r   r   rn     r   rb   rg   rD   re   z!Precision loss occurred in momentr>   gV瞯<rtolr   )rG   rL   default_rngr^   ra   zerosndenumerateerrstater{   r   lenRuntimeWarningUserWarningrs   ZeroDivisionErrorpytestraisestypereescaper   rr   too_small_messagesrt   rI   inaccuracy_messagesr   filterr   dtype)rv   ry   rz   rP   rd   rS   rx   re   rD   r|   rR   rQ   data_gen_kwdsinherent_sizerT   data_b
statisticspvalues_rw   res1dres1dbsupr   r   r   )rD   r   rU   r   r   r      s   








	1 $

 r   )r_   r   r}   emptyc	                    s(  |sdd }t jd|dkrfddt|D }	nfddt|D }	|dkrFfd	dt|D }
t|	|
D ]	\}}t j||< q;n|d
krQdd |	D }	dd |	D }|dkr|dvrd}tjt|d | g |	|R d |d| W d    n1 sw   Y  tjt|d | g ||R d |d| W d    d S 1 sw   Y  d S d\ }}t j	ddd zt
| ||g|R |||dd|}W n tttfy } z
t| W Y d }~nd }~ww z|| g ||R d|i|}W n tttfy } z
t|}W Y d }~nd }~ww z|| g |	|R d |d|}W n tttfyF } z
t|}W Y d }~nd }~ww  sP|sP|rot fddtD s^J  |  krk|ksnJ  J nt|| t|| W d    d S W d    d S 1 sw   Y  d S )Nc                 S   r   r
   r   r!   r   r   r   rx   @  r   z3test_axis_nan_policy_axis_is_None.<locals>.unpackerr   r   c                       g | ]}  d qS ))r   r   rL   rl   rU   rR   r   r   rn   F  rq   z5test_axis_nan_policy_axis_is_None.<locals>.<listcomp>c                    r   )r   r@   r   r   r   r   r   rn   H  rq   r}   c                    s   g | ]	}  d dkqS )r   g?r   r   r   r   r   rn   K  r   r_   c                 S   s   g | ]}|t j qS r   )rG   rI   rk   r   r   r   rn   O  rq   c                 S      g | ]}|  qS r   ravelrk   r   r   r   rn   Q  r   rb   >   r   r   rg   r   r   )NNNr   r   Trc   re   c                    r   r   r   r   )ea_strr   r   rn   z  r   )rG   rL   r   rF   ziprI   r   r   rs   r   r{   r   r   r   rr   r   r   )rv   ry   rz   rP   rd   rS   rx   re   r|   rT   masksrm   maskdata_raveledr   eb_strec_strres1daear   ebres1dcecr   )r   rR   r   !test_axis_nan_policy_axis_is_None5  s   
"
	
"
$r   )ri   rh   )rv   ry   rz   rP   rx   c                 C   r(   r
   r   r)   r   r   r   r"     r+   )sample_shape
axis_cases)))r   r   r      )Nr   rE   )r   r   )r$   rE   )r   r$   r   r   ))
   )r   rE   ))r@   r   r   r$   c                    s  |sdd }t jd  fddt|D }dd |D }	 fddt|D }
t|	|
D ]	\}}t j||< q0|D ]}t}|d u rNt t}nt	|t
rXd||< n	|D ]}d||< qZt|}|| g ||R |d	d
|}|| g ||R |dd
|}|| g |	|R |d	|d|}|| g |	|R |d|d|}t||||D ],\}}}}|j|ksJ t j||d}t|| |j|ksJ t j||d}t|| qq<d S )Nc                 S   r   r
   r   r!   r   r   r   rx     r   ztest_keepdims.<locals>.unpackerr   c                    s   g | ]}  qS r   r   rl   r   rR   r   r   r   rn     rq   z!test_keepdims.<locals>.<listcomp>c                 S   r   r   )copyrk   r   r   r   rn     r   c                    s   g | ]	}  d k qS )皙?r   r   r   r   r   rn     r   r$   T)rD   keepdimsF)rD   r   re   rC   )rG   rL   r   rF   r   rI   listrH   r   
isinstanceinttupler`   squeezer   )rv   ry   rz   rP   rx   r   r   re   rT   nan_datarp   rm   r   rD   expected_shapeaxr   res_basenan_resnan_res_baserr_basernrn_baser   r   r   test_keepdims  sZ   



r   )funnsampc           	      C   sd   d\}}t jd}||||f}| | }| |ddi}| dd |D }t|| t|| d S )N)   	   r   rf   Tc                 S   r   r   r   )rl   xir   r   r   rn     r   z5test_hypotest_back_compat_no_axis.<locals>.<listcomp>)rG   rL   r   r   )	r   r   mnrR   r*   r   res2res3r   r   r   !test_hypotest_back_compat_no_axis  s   
r   r   r$   r   c              	   C   s   d}t jd}||}||}t||dd| }tj||dd| d}t|| d}tjtt	
|d tj||dd| | d W d    d S 1 sMw   Y  d S )N)r   r   r   r   Tz	two-sidedrC   z6mannwhitneyu() got multiple values for argument 'axis'r   )rG   rL   r   r   mannwhitneyur   r   r   	TypeErrorr   r   )rD   r`   rR   r*   yres1r   r   r   r   r   .test_axis_nan_policy_decorated_positional_axis  s   


"r   c                  C   s   d} t jd}|| }t j|d< tj|  d}tjtt	
|d tj|d W d    n1 s4w   Y  tjtt	
|d tj|d|i W d    d S 1 sWw   Y  d S )Nr   r   r   r   r   r   r   r   r   z6kruskal() got an unexpected keyword argument 'samples'r   )rY   rY   )rG   rL   r   rI   r   kruskalr   r   r   r   r   )r`   rR   r*   r   r   r   r   .test_axis_nan_policy_decorated_positional_args  s   


"r   c                  C   s   d} t jd}|| }t j|d< tj| }tj|d |d d}t|| d}tjt	t
|d tj||d |d d W d    d S 1 sLw   Y  d S )N)r   r   r   r   r   r   r$   )r*   r   z/mannwhitneyu() got multiple values for argumentr   )rG   rL   r   rI   r   r   r   r   r   r   r   r   )r`   rR   r*   r   r   r   r   r   r   .test_axis_nan_policy_decorated_keyword_samples  s   



"r   c                 C   s   t jd}|sdd }|j|ddfd}t| }	t|	}
|| g ||R ddi|}||
g ||R ddi|}t||d	d
 d S )Nr   c                 S   r   r
   r   r!   r   r   r   rx     r   z8test_axis_nan_policy_decorated_pickled.<locals>.unpackerr      rA   rD   rE   g-q=r   )rG   rL   r   uniformpickledumpsloadsr   )rv   ry   rz   rP   rd   rS   rx   rR   rT   pickled_hypotestunpickled_hypotestr   r   r   r   r   &test_axis_nan_policy_decorated_pickled  s   

  r  c                  C   s   t dD ]V} tg d| D ]L}t t|D ]C}t|f}tj||}|d urXtj	 }|
td |
td |d j|d}W d    n1 sLw   Y  tj|| qqqd S )N   r   Mean of empty slice.invalid value encounteredr   rC   )rF   r   r   rG   r   r   _axis_nan_policy_check_empty_inputstestingr   r   r   meanr   )rU   comborD   rY   outputr   	referencer   r   r   test_check_empty_inputs  s$   r  c                 C   s   t dd | D }|d ur|dkr| | n|}td|d D ]/}| |kr'qt }| D ]}||jkrD|j|  dkrD||j|   q,t|dkrN dS qdS )Nc                 S   s   g | ]}|j qS r   ndim)rl   arrr   r   r   rn   =  s    z/_check_arrays_broadcastable.<locals>.<listcomp>r   r$   FT)maxrF   setr  r`   addr   )arraysrD   n_dimsdimdim_lengthsr  r   r   r   _check_arrays_broadcastable/  s   
r  c                 C   s  |d u rdd }dd }ddg}|||D ]}	t dd |	D s!qtd	d |	D }
t|
 |
D ]}zTtj|	|}tj }|	t
d
 |	t
d tj||dtj }W d    n1 s`w   Y  | g |	|R d|i|}||}t|D ]	}t|| | q{W q0 ty   t|	|rJ d}tjt|d tj|	| W d    n1 sw   Y  tjt|d | g |	|R d|i| W d    n1 sw   Y  Y q0w qd S )Nc                 S   s   | d | d fS )Nr   r$   r   r!   r   r   r   r"   W  r'   ztest_empty.<locals>.<lambda>c                 3   s:    dd  fddt | D }t| D ]}|V  qd S )Nc                 s   s0    | D ]}t g d|D ]}t|V  qqd S )Nr   )r   rG   r   )r  rU   r  r   r   r   small_sample_generator[  s   zHtest_empty.<locals>.small_data_generator.<locals>.small_sample_generatorc                    s   g | ]} qS r   r   r   r  r  r   r   rn   c  r   z<test_empty.<locals>.small_data_generator.<locals>.<listcomp>)rF   r   )rP   r  gensrU   r   r  r   small_data_generatorY  s   z(test_empty.<locals>.small_data_generatorr   r   c                 s   s    | ]}|j d kV  qdS )r   NrA   rk   r   r   r   	<genexpr>k  s    ztest_empty.<locals>.<genexpr>c                 s   s    | ]}|j V  qd S r
   r  rk   r   r   r   r   n  s    r  r  rC   rD   z/Array shapes are incompatible for broadcasting.r   )rr   r  rF   r   	_stats_py_broadcast_concatenaterG   r  r   r   r   r  rI   r   rs   r  r   r   )rv   ry   rz   rP   rd   rS   rx   r  r  rY   max_axisrD   concatr   expectedr   rU   r   r   r   r   
test_emptyP  sD   r&  c                  C   s
  t jd t jddd} t jd}| dk }t j| |} t t jj}t 	|t j
 }t 	|t j
 }t j| d< t j
| d< || d< t j|d	< t j
|d
< ||d< t| |g\}}|\}}	||krf||kshJ ||ksnJ | j}
||
| j< t j||
 |	|u sJ d S )Nr   r         g      ?)r   r   r$   )r   r  r   )r  r?   r   r   r-   r?   )rG   rL   seedrandmamasked_arrayfinfofloat64r  	nextafterinfrI   r	   rT   r   r  assert_array_equal)ABr   	max_float
max_float2
max_float3
out_arrayssentinelA_outB_outA_referencer   r   r   "test_masked_array_2_sentinel_array  s,   




r<  c                  C   s\  t t jj} t t jj}t jdd| gt jd}t jjg dt jg dd}t jjg dt jg dd}t	||g\}}|\}}|| d ksIJ |j
t jksQJ t||d ||d	 g ||u scJ t|t jjrlJ t	||g\}}|\}}	||ks~J |j
t jksJ t||d ||d	 g t|t jjrJ t|	t jjrJ t t jjt t jj}
}t j|
|d t jd}t j|td}t j|td}d
|d< t jj||d}t	|g\}}||
d ksJ d
|d< t jj||d}d}tjt|d t	|g W d    n	1 sw   Y  t jjg dg dt jd}t|j
t jks,J d S )Nr$   r   )r   )r$   r   r$   r   r$   r   )r   r   r   r   r   r   rE   Tr   z7This function replaces masked elements with sentinel...r   r$   r   r   )r   r   )rG   iinfoint16r  r-  
complex128arrayr+  int8r	   r   r   r   MaskedArrayminarange
zeros_likeboolr   r   rs   float32r   gmean)max16max128cabcr7  r8  a_outb_outc_outmin8max8mask1mask0a1a0r   r   r   r   test_masked_dtype  sF   r[  c                  C   s6  g d} g d}t | |}dddtjdg}t j| |dd}tj|| g d	}g d
}tjj||d}t | |}tj|| dddtjddg}g d}	tjj||	d}t j| |dd}
tj|
| dddtjddg}g d}tjj||d}t j| |dd}t j| |dd}tj|| tj|| d S )N)               )r@   r'     r(  r@   r'  ra  r(  ri   )re   )r@   r'  ra    r(  )FFFTFr?  rb  )FFFFTF)FFFTTFrh   rb   )r   r   rG   rI   r  r1  r+  r,  )malesfemalesr   females2r   females3mask3r   females4mask4res4females5mask5res5res6r   r   r   test_masked_stat_1d  s.   ro  c                 C   s   t jd t jddd}t jdd}t jdd}|dk }g d}t jj||d}t jj||d}| }t j||< | }	t j|	|< tj	|||	d	| d
}
tj	|||| d}t j
|
| d S )Nr   r   r   r  r$   皙?)FFFTr?  ri   re   rD   rC   )rG   rL   r)  r*  r+  r,  r   rI   r   r   r  r1  )rD   rO  rP  rQ  mask_amask_ca_maskedc_maskeda_nansc_nansr   r   r   r   r   test_masked_stat_3d  s   

rx  c                  C   s  d\} }d}t jd t j| |}t j| |}t j| |dk }t j| |dk }t j| |dk }t j| |dk }d|dd d f< | }	| }
t j|	||B < t j|
||B < t jj||d	}t jj||d	}t j||< t j||< t jj||d	}t jj||d	}t j||< t j||< t jj|||B d	}t jj|||B d	}tj	|	|
d
|d}tj	||d
|d}tj	||d
|d}tj	||d|d}tj	||d|d}t j
|| t j
|| t j
|| t j
|| d S )Nr   r@   rE   r   r   rp  333333?Tr   r?  ri   rq  rb   rh   )rG   rL   r)  r*  r   rI   r+  r,  r   wilcoxonr  r1  )r   r   rD   rO  rP  mask_a1mask_a2mask_b1mask_b2rv  b_nans	a_masked1	b_masked1	a_masked2	b_masked2	a_masked3	b_masked3r   r   r   r   rj  r   r   r   test_mixed_mask_nan_1&  sF   



r  c            	      C   s~  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| |d	}g d
g}tddgg d
}tg dg d
}tj||d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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 )Nr$   r   r@  r   )r$   r   r$   r>  )r$   r$   r$   r=  r?  r   r  r?   ri   rE   rq  rh   )
rG   rI   r+  r,  r   ranksumsr   r   r  r1  )	rO  r   rt  rP  ref1ref2r   stat_refp_refr   r   r   test_mixed_mask_nan_2U  s8   
r  c                  C   sL   d} t jd}|| }tj|dd i}tj|ddi}t j|| d S )Nr   r   rD   r   )rG   rL   r   r   r   r  r1  )r`   rR   r*   r   r   r   r   r   test_axis_None_vs_tuple  s   
r  c            	      C   s   t jd} | d}| d}t ||\}}t| | }tj||d d}tj||dd}t| | }||ksBJ ||ksHJ ||ksNJ d S )Nr   )r  r$   )r$   r  rC   r   )rG   rL   r   broadcast_arraysr   r   r   )	rR   r*   r   x2y2res0r   r   r   r   r   r   )test_axis_None_vs_tuple_with_broadcasting  s   

r  )r$   c                 C   s  t jd}d}d}||}||}| }tdd | D } t| } tt| t| krUd}tjt j	t
|d tj|||d W d    d S 1 sNw   Y  d S | d dk sa| d	 d
krd}tjt j	t
|d tj|||d W d    d S 1 sw   Y  d S tj|||d}h dt|  }	tt|	}	|}
g d}||	 ||	< t ||}|
j|	 }t |
| d}
t || d}t |
|d	f}
t ||d	f}tj|
|dd}t j|| d S )Nr   r  )r$   r?   c                 S   s    g | ]}|d kr
|nd| qS )r   r   r   r   r   r   r   rn     s     z*test_other_axis_tuples.<locals>.<listcomp>z*`axis` must contain only distinct elementsr   rC   rE   r   z0`axis` is out of bounds for array of dimension 3>   r   r$   r   )r$   r$   r?   )r$   r   r$   )rG   rL   r   r   sortedr   r  r   r   	AxisErrorr   r   r   r   nextiterr   r`   rN   rM   r  r1  )rD   rR   shape_xshape_yr*   r   axis_originalr   r   not_axisr  shape_y_broadcastedr  r   r   r   r   r   test_other_axis_tuples  sL   




r  weighted_fun_name)rL  hmeanpmeanc                  C   s  | dkr	dd }nt t| }d\}}d}tjd}|j||fd}|j||fd}|j||fddk }|j||fdd	k }	|j||fdd
k }
|j||fdd
k }d|dd d f< | }| }tj|||	B < tj||
|B < tjj	||d}tjj	||
d}tj||	< tj||< tjj	||	d}tjj	||d}tj||< tj||
< tjj	|||	B d}tjj	||
|B d}||	B |
B |B }tjj	||d}tjj	||d}tj
 K}d}|t| |||d|d}|||d|d}|||d|d}|||d|d}|||d|d}| dvrt tj| }||||dd}W d    n	1 s$w   Y  tj
|| tj
|| tj
|| tj
|| | dvr[tj
| |t|   d S d S )Nr  c                 [   s   t j| fddi|S )NpgzG?)r   r  )rO  kwargsr   r   r   weighted_fun  s   z6test_mean_mixed_mask_nan_weights.<locals>.weighted_funry  rE   l    rA   r   rp  rz  Tr   r?  r  ri   )weightsre   rD   rb   rh   >   rL  r  )r  rD   rf   )getattrr   rG   rL   r   r   r   rI   r+  r,  r  r   r   r   mstatsr1  r   
compressedrj   ) r  r  r   r   rD   rR   rO  rP  r|  r}  r~  r  rv  r  r  r  r  r  r  r  mask_all	a_masked4	b_masked4r   r   r   r   r   r   rj  weighted_fun_marm  r   r   r    test_mean_mixed_mask_nan_weights  s|   







"r  )F)FT)F	itertoolsr   r   r   r   r   r   numpyrG   numpy.testingr   r   r   scipyr   scipy.stats._axis_nan_policyr	   r   r   r   dictr  r   r{  rL  r  r  kurtosisskewkstatkstatvarr,   jarque_berattest_1samprD  	ttest_relaxis_nan_policy_casesr   r   r^   ra   r{   markparametrizer   slowrF   r   r   r   r   r   r   r   r   r  r  r  r&  r<  r[  ro  rx  r  r  r  r  r   r  r  r   r   r   r   <module>   s   

(
xN+


!=#9#
/*

.