a
    Qe                     @   s   d dl Zd dlmZ d dlm  mZ d dlm	Z	m
Z
mZmZ dd Zdd Zdd Zd	d
 Zdd Zdd ZG dd dZdd ZdS )    N)assert_equalassert_almost_equalassert_assert_allclosec                  C   sJ   t d} | d }tt| |d t jdddd}tt| |d d S )N   
   r      )numgX?)nparanger   msZcompare_medians_msZlinspace)xyy2 r   X/var/www/sunrise/env/lib/python3.9/site-packages/scipy/stats/tests/test_mstats_extras.pytest_compare_medians_ms	   s
    
r   c                  C   s   t d} tt| ddd t | | _d| jd d< tt| ddd ttj| dd	jd
k t d	d}ttj|ddddg t ||_d|jd dd d f< ttj|ddddg d S )N      g+=)ZrtolFr      Tvar      )r   r   r   axisr      )
mar   r   r   ZhdmedianZ	make_maskmaskr   sizereshape)r   Zx2r   r   r   test_hdmedian   s    
r!   c                  C   sV   t jd t jd} t| }t|j| jk tj| ddgd}t|jdk d S )Ni d   r         ?)Zpointsr   )	r
   randomseedZrandnr   Zrshr   shaper   )r   resr   r   r   test_rsh&   s    
r(   c                  C   s(   t g d} tt| g dd d S )N)M   W   X   r                  i  i(  i+  i2  ix  i  i    i  i3
  )gTK@gϽKF@gQh@r   )r   arrayr   r   Zmjcidatar   r   r   	test_mjci3   s    r6   c                  C   sD   t g d} tt| ddd ttt| ddddg d S )N)i!  i+  i.  i<  i?  i@  iB  iD  iR  i]  i{  i  i  i  r2   皙?g@r   )r7   r7   gfffff@g̴@)	r   r3   r   r   Ztrimmed_meanr   r
   roundZtrimmed_mean_cir4   r   r   r   test_trimmed_mean_ci:   s
    r9   c                  C   s   t d} tt t| ddgd | ddd}ttj|ddg d	g d
gd ttj|dd| ddd ddg} t| }tt 	|
  d S )Nr"   RBj8@]kSUR@r   r   r   r   )r:   r:   r:   )r;   r;   r;   r   r   )r
   r   r   Zasarrayr   Zidealfourthsrepeatr    r   isnanall)testZtest_2D_resultr   r   r   test_idealfourthsC   s"    

rB   c                   @   s,   e Zd Zg dZdd Zdd Zdd ZdS )	TestQuantiles)dgxc%?gF4vE?g݌Y?gn?gJ]X?g'h?g|f2?g!}_z`?g3!?g[Q,?gW1y?g+?gZy7В?g?g|GA?gPw2?g0?g3;??g,7tZ?gxދ?gޠt$O?giL?g|rmq?gsl?g݋Y?g)چ?g
zS?g'	A?g9io?gOB?g5G~?g9 ?g*sD?g\?gN?g6??gƟ	'?g$	?gLw5?g2J(?g2^?g?]?gͬ?g8~n7?gxY?gE!?ga@'?gʇ3?gF~\?gB誽?gX/u?g/:L@{?gb9?gvY?g5XEs?gd"2?g-=X.?giE"?g/E?g4J3H?ǒ?g+[{?go?gbm?g\-?g'W?@?g0?tz?g=z5?g}v?gXPT?g<*R?gX?gO{F?g::2?gǺ?g/i?g6?gRfU?gu9?g!G[?gT=~?g?gAM07?g,jKV?g"ЄI?g΅?g\?gRSI?g	o?g2QJ)d~?g4n/?g+--C?gX?g|wiƘ?gttњc,?g{˻;Ib?gّ?gv+:?gR <e?c                 C   s.  | j }tt|ddgddg t|g d}t|g d t|dd}tj|g ddd	}t|d d df t|d d df g d t|d d d
f t|d d d
f g d tj|g dddd}t|d tj|d d df g ddd t|d tj|d d d
f g ddd d S )Ng        r#   rE   rD   )g      ?      ?g      ?)g]Ar4?g5$?i?gJJ5d?r   r   r   r<   T)r   r   ).r   r   ).r<   )r5   r   r   hdquantilesr
   r3   r    )selfr5   Zhdqr   r   r   test_hdquantilesi   s"    ..zTestQuantiles.test_hdquantilesc           	      C   s   t | j}t| j}t| j||f}tt|}|| ||d }t j	|dd}tj
|dd}|d | tj|| d dd d }t|| t|g d t ddg}t|g d d S )Nr   r   r   r   rF   )giYk?gK4U}?gN5i	t?)rF   rF   rF   )r   Zhdquantiles_sdr5   lenr
   Zbroadcast_toZlogical_notZeyer    rG   meansumr   )	rH   Zhd_std_errsnjdataZ	jselectorZjdistZ
jdist_meanZjstdZtwo_data_pointsr   r   r   test_hdquantiles_sdz   s    
&
z!TestQuantiles.test_hdquantiles_sdc                 C   s4   t | j\}}t|j|j  ko(dkn   d S )Nr   )r   Zmquantiles_cimjr5   r   r   )rH   Zci_lowerZci_upperr   r   r   test_mquantiles_cimj   s    z"TestQuantiles.test_mquantiles_cimjN)__name__
__module____qualname__r5   rI   rO   rP   r   r   r   r   rC   S   s   rC   c                  C   s>   t jd} | jdd}tt|d tt|dd d S )Nl   WE~-S    )r   )gl?gz0JL?g?)g/?gL0?)r
   r$   Zdefault_rngr   r   Zmedian_cihs)rngr   r   r   r   test_median_cihs   s    
	rV   )numpyr
   Znumpy.mar   Zscipy.stats.mstatsstatsZmstatsr   Znumpy.testingr   r   r   r   r   r!   r(   r6   r9   rB   rC   rV   r   r   r   r   <module>   s   		D