U
    ?h                     @   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$d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2hZ%d3d4hZ&dd5d6Z'dd7d8Z(d	d9d
dd:d;d<Z)ej*+d=e$ej*+d>d?ej*+d@dAej*+dBdCdDdE Z,ej*j-ej*+d=e$ej*+d>d?ej*+d@e.dFdej*+dBdGdHdI Z/dJdK Z0ej*+d=e$ej*+d>d?ej*+dBdLdMdN Z1ej*+d>dOej*+dPeje e ddQd feje ddid	dffej*+dRdSdTdU Z2ej*+dVejdfejdfgdWdX Z3ej*+d@dYdZd[ Z4d\d] Z5d^d_ Z6ej*+d=e$d`da Z7dbdc Z8ddde Z9ej*j-ej*+d=e$dfdg Z:dhdi Z;djdk Z<dldm Z=ej*+d@e.dFddndo Z>dpdq Z?drds Z@dtdu ZAdvdw ZBej*+d@eCee.dFdd	dxg dydz ZDej*+d{d|d}d~gdd ZEdS )    )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)Zconfidence_interval	statisticpvalueZdfZ_standard_errorZ	_estimate)reslowhigh r   X/var/www/html/venv/lib/python3.8/site-packages/scipy/stats/tests/test_axis_nan_policy.pyunpack_ttest_result   s      r         F)lessmethodZ
asymptotic)ZprattmodeautoTc                 C   s   | j | jfS r
   r   r   r   r   r   r   <lambda>        r      c                 C   s   | j | jfS r
   r   r   r   r   r   r   "   r   Zapproxc                 C   s   | j | j| jfS r
   )r   r   Z
zstatisticr   r   r   r   r   $   r   c                 C   s   | fS r
   r   xr   r   r   r   %   r   c                 C   s   | fS r
   r   r   r   r   r   r   &   r   )gQ?c                 C   s   | fS r
   r   r   r   r   r   r   '   r   c                 C   s   | fS r
   r   r   r   r   r   r   (   r   c                 C   s   | fS r
   r   r   r   r   r   r   )   r   c                 C   s   | fS r
   r   r   r   r   r   r   *   r   c                 C   s   | fS r
   r   r   r   r   r   r   +   r   c                 C   s   | fS r
   r   r   r   r   r   r   ,   r   )moment   zThe input contains nanz!Degrees of freedom <= 0 for slicez'x and y should have at least 5 elementszData must be at least length 3z$The sample must contain at least twoz!x and y must contain at least twozdivision by zerozMean of empty slicez)Data passed to ks_2samp must not be emptyzNot enough test observationszNot enough other observationsz$At least one observation is requiredz.zero-size array to reduction operation maximumz$`x` and `y` must be of nonzero size.z+The exact distribution of the Wilcoxon testzData input must not be emptyz-Precision loss occurred in moment calculation/Sample size too small for normal approximation.c              	   C   s  g }t | D ]}d}|rdnd| }t|||ftj }	t |D ]x}
|	|
d d d d f }tdddd|d |gD ].\}}||d | }|j|d|||f< qt|j|dd|d d < qB|gdg|   |g }d|d| < |	|}	t|	d	|}	|	|	 q|S )
N      r   r   r   r   sizeaxis)
rangenponesnan	enumerateZpermutationrandomreshapemoveaxisappend)	n_samplesn_repetitionsr(   rngpaireddataiZ
n_patternsn_obsr   jsampleskZn_realsindicesZ	new_shaper   r   r   _mixed_data_generatorM   s"     
r>   c                 C   s~   g }t | D ]l}|rdnd| }|gdg|   |g }	d|	d| < |rVt|	tj n||	}
t|
d|}
||
 q|S )Nr$   r   r   r)   )r*   r+   r,   r-   r/   r1   r2   )r3   r4   r(   r5   r6   all_nansr7   r8   r9   shaper   r   r   r   _homogeneous_data_generatort   s    rA   raise	n_outputs
nan_policyr6   _no_decoc          
         s   |dkr,|D ]}	t t |	rtdqn|dkrb|D ]&}	t t |	r8t |t j  S q8n`|dkr|s~dd |D }nDt |d  |dd  D ]}	t  t |	 q fd	d|D }|| ||d
|i|S )NrB   The input contains nan values	propagateomitc                 S   s   g | ]}|t |  qS r   )r+   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      s     rF   )r+   anyrJ   
ValueErrorfullr-   
logical_or)
hypotestdata1dunpackerrD   rE   r6   rF   argskwdsrM   r   rO   r   nan_policy_1d   s     rZ   )rU   rX   rY   r3   rD   r6   rW   rE   )rH   rI   rB   r(   )r   data_generator)mixedc
           
      C   s   t | |||||||||	
 d S r
   _axis_nan_policy_test
rU   rX   rY   r3   rD   r6   rW   rE   r(   r[   r   r   r   test_axis_nan_policy_fast   s       r`   )r?   
all_finiter\   c
           
      C   s   t | |||||||||	
 d S r
   r]   r_   r   r   r   test_axis_nan_policy_full   s    
   rc   c
                    s  |sdd }t jd}
d}|| |
|d}|	dkrDd}tf |}n>|	dkrdd	}d
|d< tf |}n|	dkrd	}d|d< tf |}|g|g|   fdd|D }fdd|D }t }t }t |D ]\}fdd|D }t jddd ztt| ||f||||d
d|}|| ||d|i|}t	|d |d  t
|d	krrt	|d |d  W nD ttttfk
r  ztjtttd( t| ||f||||d
d| W 5 Q R X tjtttd | ||d|i| W 5 Q R X tfddtD rDt |t j}nftfddtD rt <}|t |t t| ||f||||d
d|}W 5 Q R X nW 5 d X Y nX W 5 Q R X |d |< t
|d	kr|d |< q|dkr8|	dks8d}tjt|d | || |d| W 5 Q R X nt T}t jddd: |td |td || || |d|}W 5 Q R X W 5 Q R X t|d |dd t	|d j|j t
|d	krt|d |dd t	|d j|j d S ) Nc                 S   s   | S r
   r   r   r   r   r   rW      s    z'_axis_nan_policy_test.<locals>.unpackerr   r   )r3   r4   r(   r5   r6   r\   r#   r?   r   Trb   Fc                    s   g | ]}t | d qS r)   )r+   r1   rK   r'   r   r   rN      s     z)_axis_nan_policy_test.<locals>.<listcomp>c                    s$   g | ]}t | |jd  g qS rd   )r+   broadcast_tor@   rK   )output_shaper   r   rN      s   c                    s   g | ]}|  qS r   r   rK   )r8   r   r   rN      s     ignoredivideinvalidrC   rE   r   matchc                    s   g | ]}t  |qS r   str
startswithrL   messageer   r   rN   
  s   c                    s   g | ]}t  |qS r   rm   rp   rr   r   r   rN     s   rB   rG   r(   rE   z!Precision loss occurred in momentr"   gV瞯<Zrtol)r+   r/   default_rngr>   rA   zerosZndenumerateerrstaterZ   r   lenRuntimeWarningUserWarningrR   ZeroDivisionErrorpytestraisestypereescapern   rQ   too_small_messagesrS   r-   inaccuracy_messagesr   filterr   dtype)rU   rX   rY   r3   rD   r6   rW   rE   r(   r[   r5   r4   Zdata_gen_kwdsZinherent_sizer7   Zdata_bZ
statisticsZpvalues_rV   Zres1dres1dbsuprq   r   r   )r(   rs   r8   rf   r   r^      s      



 
   




  $
r^   )r?   rb   r\   emptyc	                    s  |sdd }t jd|dkr8fddt|D }	nfddt|D }	|dkrfd	dt|D }
t|	|
D ]\}}t j||< qvn|d
krdd |	D }	dd |	D }|dkr0|dkr0d}tjt|d | |	|d |d| W 5 Q R X tjt|d | ||d |d| W 5 Q R X nd\ }}t j	dddh z&t
| ||f||||dd|}W n2 tttfk
r } zt| W 5 d }~X Y nX z|| ||d|i|}W n2 tttfk
r } zt|}W 5 d }~X Y nX z || |	|d |d|}W n2 tttfk
rJ } zt|}W 5 d }~X Y nX  s^|s^|rt fddtD szt |  kr|ksn tnt|| t|| W 5 Q R X d S )Nc                 S   s   | S r
   r   r   r   r   r   rW   @  s    z3test_axis_nan_policy_axis_is_None.<locals>.unpackerr   r   c                    s   g | ]}  d qS ))r   r   r/   rL   r8   r5   r   r   rN   F  s     z5test_axis_nan_policy_axis_is_None.<locals>.<listcomp>c                    s   g | ]}  d qS )r   r$   r   r   r   r   r   rN   H  s     r\   c                    s   g | ]}  d dkqS )r   g?r   r   r   r   r   rN   K  s     r?   c                 S   s   g | ]}|t j qS r   )r+   r-   rK   r   r   r   rN   O  s     c                 S   s   g | ]}|  qS r   ravelrK   r   r   r   rN   Q  s     rB   >   rb   r   rG   rk   rt   )NNNrg   rh   TrC   rE   c                    s   g | ]}t  |qS r   rm   rp   )ea_strr   r   rN   z  s   )r+   r/   rv   r*   zipr-   r}   r~   rR   rx   rZ   rz   r|   rn   rQ   r   AssertionErrorr   )rU   rX   rY   r3   rD   r6   rW   rE   r[   r7   ZmasksrM   maskZdata_raveledrq   Zeb_strZec_strZres1daZear   ZebZres1dcecr   )r   r5   r   !test_axis_nan_policy_axis_is_None5  s~    



 
 
r   )rI   rH   )rU   rX   rY   r3   rW   c                 C   s   | fS r
   r   r   r   r   r   r     r   )sample_shape
axis_cases)))r   r   r      )Nr   r)   )r   r   )r   r)   )r   r   r   r   ))
   )r   r)   ))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||< q`|D ]4}t}|d krt t}n&t	|t
rd||< n|D ]}d||< qt|}|| |||d	d
|}|| |||dd
|}|| |	||d	|d|}|| |	||d|d|}t||||D ]^\}}}}|j|ksjtt j||d}t|| |j|kstt j||d}t|| qNqxd S )Nc                 S   s   | S r
   r   r   r   r   r   rW     s    ztest_keepdims.<locals>.unpackerr   c                    s   g | ]}  qS r   r   rL   r   r5   r   r   r   rN     s     z!test_keepdims.<locals>.<listcomp>c                 S   s   g | ]}|  qS r   )copyrK   r   r   r   rN     s     c                    s   g | ]}  d k qS )皙?r   r   r   r   r   rN     s     r   T)r(   keepdimsF)r(   r   rE   r'   )r+   r/   rv   r*   r   r-   listr,   ry   
isinstanceinttupler@   r   Zsqueezer   )rU   rX   rY   r3   rW   r   r   rE   r7   Znan_datarP   rM   r   r(   Zexpected_shapeZaxr   Zres_baseZnan_resZnan_res_baserZr_baseZrnZrn_baser   r   r   test_keepdims  sX    



 
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   s   g | ]}|  qS r   r   )rL   xir   r   r   rN     s     z5test_hypotest_back_compat_no_axis.<locals>.<listcomp>)r+   r/   rv   r   )	r   r   mnr5   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 5 Q R X d S )N)r   r   r   r   Tz	two-sidedr'   z6mannwhitneyu() got multiple values for argument 'axis'rk   )r+   r/   rv   r   mannwhitneyur   r}   r~   	TypeErrorr   r   )r(   r@   r5   r   yres1r   rq   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 5 Q R X tjtt	
|d tj|d|i W 5 Q R X d S )Nr   r   r   r   r   r   r   r   r   z6kruskal() got an unexpected keyword argument 'samples'rk   )r;   r;   )r+   r/   rv   r-   r   kruskalr}   r~   r   r   r   )r@   r5   r   rq   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 5 Q R X d S )N)r   r   r   r   r   r   r   )r   r   z/mannwhitneyu() got multiple values for argumentrk   )r+   r/   rv   r-   r   r   r   r}   r~   r   r   r   )r@   r5   r   r   r   rq   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|	}
|| ||ddi|}||
||ddi|}t||d	d
 d S )Nr   c                 S   s   | S r
   r   r   r   r   r   rW     s    z8test_axis_nan_policy_decorated_pickled.<locals>.unpackerr      r%   r(   r)   g-q=ru   )r+   r/   rv   uniformpickledumpsloadsr   )rU   rX   rY   r3   rD   r6   rW   r5   r7   Zpickled_hypotestZunpickled_hypotestr   r   r   r   r   &test_axis_nan_policy_decorated_pickled  s    

r   c                  C   s   t dD ]} tdddg| D ]}t t|D ]r}t|f}tj||}|d k	r,tj	 .}|
td |
td |d j|d}W 5 Q R X tj|| q,qqd S )N   r   r   r   Mean of empty slice.invalid value encounteredr'   )r*   r   ry   r+   rw   r   Z_axis_nan_policyZ_check_empty_inputstestingr   r   rz   meanr   )r8   combor(   r;   outputr   	referencer   r   r   test_check_empty_inputs  s    r   c                 C   s   t dd | D }|d k	r0|dkr,| | n|}td|d D ]^}| |krNq>t }| D ]0}||jkrX|j|  dkrX||j|   qXt|dkr> 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)maxr*   setr   r@   addry   )Zarraysr(   n_dimsdimZdim_lengthsr   r   r   r   _check_arrays_broadcastable/  s    
r   c                 C   s  |d krdd }dd }ddg}|||D ]P}	t dd |	D sDq*td	d |	D }
t|
 |
D ]}ztj|	|}tj 2}|	t
d
 |	t
d tj||dtj }W 5 Q R X | |	|d|i|}||}t|D ]}t|| | qW qb tk
rx   t|	|rtd}tjt|d tj|	| W 5 Q R X tjt|d | |	|d|i| W 5 Q R X Y qbX qbq*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   s8   dd  fddt | D }t| D ]
}|V  q(d S )Nc                 s   s0   | D ]&}t dddg|D ]}t|V  qqd S )Nr   r   r   )r   r+   rw   )r   r8   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  s     z<test_empty.<locals>.small_data_generator.<locals>.<listcomp>)r*   r   )r3   r   Zgensr8   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   Nr%   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   r'   r(   z/Array shapes are incompatible for broadcasting.rk   )rQ   r   r*   r   Z	_stats_pyZ_broadcast_concatenater+   r   r   r   rz   r   r-   r   rR   r   r   r}   r~   )rU   rX   rY   r3   rD   r6   rW   r   r   r;   Zmax_axisr(   concatr   expectedr   r8   rq   r   r   r   
test_emptyP  s4    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r||kst||kst| j}
||
| j< t j||
 |	|kstd S )Nr   r         g      ?)r   r   r   )r   r   r   )r   r#   r   r   r!   r#   )r+   r/   seedrandmamasked_arrayfinfoZfloat64r   Z	nextafterinfr-   r	   r   r7   r   r   assert_array_equal)ABr   Z	max_floatZ
max_float2Z
max_float3
out_arrayssentinelZA_outZB_outZ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dddgt jdddgd}t jjdddgt jdddgd}t	||g\}}|\}}|| d kst
|jt jkst
t||d ||d g ||kst
t|t jjrt
t	||g\}}|\}}	||kst
|jt jkst
t||d ||d g t|t jjrDt
t|	t jjrXt
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st
d|d< t jj||d}d	}tjt|d
 t	|g W 5 Q R X t jjdddgdddgt jd}t|jt jksXt
d S )Nr   r   )r   r   )r   r   r)   Tr   z7This function replaces masked elements with sentinel...rk   r   )r   r   )r+   ZiinfoZint16r   r   Z
complex128arrayr   Zint8r	   r   r   r   r   ZMaskedArrayminZarangeZ
zeros_likeboolr}   r~   rR   Zfloat32r   gmean)Zmax16Zmax128cabcr   r   Za_outZb_outZc_outZmin8Zmax8Zmask1Zmask0Za1Za0rq   r   r   r   test_masked_dtype  sD       r   c                  C   s\  dddddg} dddd	g}t | |}dddtjd	g}t j| |d
d}tj|| ddddd	g}dddddg}tjj||d}t | |}tj|| dddtjdd	g}ddddddg}	tjj||	d}t j| |d
d}
tj|
| dddtjdd	g}ddddddg}tjj||d}t j| |dd}t j| |dd}tj|| tj|| d S )N               r$   r      r   rI   )rE   i  FTr   rH   rB   )r   r   r+   r-   r   r   r   r   )ZmalesZfemalesr   Zfemales2r   Zfemales3Zmask3r   Zfemales4Zmask4res4Zfemales5Zmask5res5Zres6r   r   r   test_masked_stat_1d  s.    r   c                 C   s   t jd t jddd}t jdd}t jdd}|dk }ddddg}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   皙?FTr   rI   rE   r(   r'   )r+   r/   r   r   r   r   r   r-   r   r   r   r   )r(   r   r   r   Zmask_aZmask_ca_maskedZc_maskeda_nansZc_nansr   r   r   r   r   test_masked_stat_3d  s    

r   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$   r)   r   r   r   333333?Tr   r   rI   r   rB   rH   )r+   r/   r   r   r   r-   r   r   r   wilcoxonr   r   )r   r   r(   r   r   mask_a1mask_a2mask_b1mask_b2r   b_nans	a_masked1	b_masked1	a_masked2	b_masked2	a_masked3	b_masked3r   r   r   r   r   r   r   r   test_mixed_mask_nan_1&  sH    



 r  c            	      C   s  dt jdgt jt jt jgdddgdt jdgdt jdgdddgg} dddgdddgdddgdddgdddgdddgg}t jj| |d}dddgg}tddgdddg}tdddgdddg}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#   rI   r)   r   rH   )
r+   r-   r   r   r   ranksumsr   r   r   r   )	r   r   r   r   Zref1Zref2r   Zstat_refZp_refr   r   r   test_mixed_mask_nan_2U  sP     
 
           r  c                  C   sL   d} t jd}|| }tj|dd i}tj|ddi}t j|| d S )Nr   r   r(   r   )r+   r/   rv   r   r   r   r   )r@   r5   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st||kst||kstd S )Nr   )r   r   )r   r   r'   r   )r+   r/   rv   Zbroadcast_arraysr   r   r   r   )	r5   r   r   x2y2Z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rd}tjt j	t
|d tj|||d W 5 Q R X d S | d dk s| d	 d
krd}tjt j	t
|d tj|||d W 5 Q R X d S tj|||d}ddd
ht|  }	tt|	}	|}
dddg}||	 ||	< t ||}|
j|	 }t |
| d}
t || d}t |
|d	f}
t ||d	f}tj|
|dd}t j|| d S )Nr   )r   r   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 elementsrk   r'   r)   r   z0`axis` is out of bounds for array of dimension 3r   r#   )r   r   )r+   r/   rv   r   sortedry   r   r}   r~   Z	AxisErrorr   r   r   r   nextiterre   r@   r1   r0   r   r   )r(   r5   Zshape_xZshape_yr   r   Zaxis_originalrq   r   Znot_axisr  Zshape_y_broadcastedr  r   r   r   r   r   test_other_axis_tuples  s@    



r  weighted_fun_namer   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
 }d}|t| |||d|d}|||d|d}|||d|d}|||d|d}|||d|d}| dkr2t tj| }||||dd}W 5 Q R X tj
|| tj
|| tj
|| tj
|| | dkrtj
| |t|   d S )Nr  c                 [   s   t j| fddi|S )NpgzG?)r   r  )r   kwargsr   r   r   weighted_fun  s    z6test_mean_mixed_mask_nan_weights.<locals>.weighted_funr   r)   l    r%   r   r   r   Tr   r   r   rI   )weightsrE   r(   rB   rH   >   r  r   )r  r(   rF   )getattrr   r+   r/   rv   r   r   r-   r   r   r   r   r   rz   Zmstatsr   r   
compressedrJ   ) r  r  r   r   r(   r5   r   r   r  r  r  r  r   r  r  r  r	  r
  r  r  Zmask_allZ	a_masked4Z	b_masked4r   rq   r   r   r   r   r   Zweighted_fun_mar   r   r   r    test_mean_mixed_mask_nan_weights  s    





     
 
r"  )F)FT)F	itertoolsr   r   r   r   r   r}   numpyr+   Znumpy.testingr   r   r   Zscipyr   Zscipy.stats._axis_nan_policyr	   r   r   r   dictr  r   r  r   r  r  ZkurtosisZskewZkstatZkstatvarr    Zjarque_beraZttest_1sampr   Z	ttest_relZaxis_nan_policy_casesr   r   r>   rA   rZ   markZparametrizer`   Zslowr*   rc   r^   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r  r"  r   r   r   r   <module>   s  
 
(   
  xN+


!=#9#
/*

.