o
    Ö­j�  ã                   @   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   é   )Únumg¨žX�ö†‘?)ÚnpÚaranger   ÚmsÚcompare_medians_msÚlinspace)ÚxÚyÚy2© r   úa/var/www/html/CropPilot/venv/lib/python3.10/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›+¡†›„=)ÚrtolFr   é   T©Úvaré   é   )r   r   r   ©Úaxisr   é   )
Úmar   r   r   ÚhdmedianÚ	make_maskÚmaskr   ÚsizeÚreshape)r   Ú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   ç      ð?)Úpointsr   )	r
   ÚrandomÚseedÚrandnr   Úrshr   Úshaper$   )r   Úresr   r   r   Útest_rsh&   s   
r1   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ŸŽÇTâK@gÏ½‡KŽëF@g…ëQ¸Üh@r   )r    Úarrayr   r   Úmjci©Údatar   r   r   Ú	test_mjci3   s   r@   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•  r;   çš™™™™™É?gš™™™™¡‚@r   )rA   rA   gfffffŽ�@gÍÌÌÌÌ´ƒ@)	r    r<   r   r   Útrimmed_meanr   r
   ÚroundÚtrimmed_mean_cir>   r   r   r   Útest_trimmed_mean_ci:   s
   ÿrE   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(   ç‹RB°ªj8@ç]kïSU¥R@r   r   éÿÿÿÿr   r   )rF   rF   rF   )rG   rG   rG   r   r   )r
   r   r   Úasarrayr   ÚidealfourthsÚrepeatr%   r   ÚisnanÚall)ÚtestÚtest_2DÚ_resultr   r   r   Útest_idealfourthsC   s"   
ÿÿþÿ
rQ   c                   @   s,   e Zd Zg d¢Zdd„ Zdd„ Zdd„ ZdS )	ÚTestQuantiles)dg±xc%œæ?gF4ÆövEç?gÒÝŒÒY±ï?gn……ªí?gJ…]†’XÄ?g'¾�hì?g|f2ä¤Î?g!Ð}_z`Ö?gì 3å!ï?gè�[Q,Ã?gWÿ1¾yûí?gÒéú·+ñÀ?gZy÷7Ð’§?gÏÀšˆä?gÛ|GÉAî?gøPw¥2³Ì?g0úý¹¯è?gÕ3;�?ê?g,7tZ‡ˆÕ?g¤xÞ‹Úâ?gÞ t$ÂOà?gúi¤ñ€Læ?gÓ|rmØqß?gÇslóµíã?gÞÝ‹®YÎè?g´¡¬)Ú†ä?gˆ
zS¾?g'	ÓA¨¼è?gÅ9ioÔ?gOÛÈBè?g–5G¬~¨?gÈ9 ÎÊ×Ý?g*sDÕç®â?gè\¼åæê?gïüNšá?g™6?¥ÚÝ?gÒÆŸ	'à?gÁ$�¸�	Í?gLÎwƒ5×?gå2J¤(ˆì?g2ê…ûû^À?g?ø¤¡³]ß?gÍ¬ Çú¦?g8~n‰Ø7¥?g›Ðöx¹YÔ?gEáá!à?ga¯@ŒÁ'â?gÊ‡3ÎÅÐÛ?gF~ý\ä?gìBèª½«Í?gXü/¢°uÍ?g/:L@{Ä?gÐbË9ê?gÀ›‡vÂYë?g5XEsÜ?gíd¼"2ß?gßÝ-=X.é?gi™‰E³"Ú?g­/¯EôÙ?g4…J3HÐ?ç‘²Ç’Ùï?gœä+§[{Â?g§o¦­ç?gžŽbámƒî?g\-ù�ûÂå?g'¦W?@ÛØ?g›Ëñ0¢ë?çÜÃát®z?g=…zÿÁ5¾?g°}²vœ‘í?gXP—T—Ø?g<*Rï™ì?gXöà’ä?gµùOœ{FÞ?g::2è?g —¼ÇºôÎ?g/ÞÛiµÛ?g½ÓÀ6²æ?g´RfU‡Á?gå…uú9Ã?gŽ!G‚[Þ?gT=‚ã~í?gÃÛÿ×ëÓà?gA¥¥M07È?g,j»ÿKVë?g"¬Ð„I˜ê?g”‹Î…ÓÐ?gËÊ\Éâ?gRïƒÕSIÐ?g	µê�oÎ?g2QJ)d~ê?g4n/ø¼Þ?g+-§-Cã?gò®²šXË?g|šwÂiÆ˜?gttÑšc,á?g{Ë»;Ibæ?güÇÕ×Ù‘ì?gvÓ+:™¸?góìR <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)   rT   rS   )g      Ð?ç      à?g      è?)g]Aréš4Ð?gìÇ5$?ià?gãJJ5dè?r   r   r   rH   T)r   r   ).r   r   ).rH   )r?   r   r   Úhdquantilesr
   r<   r%   )Úselfr?   Ú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   rU   )gÿiY­k£?gKŠ4–U}£?gN5i	èt£?)rU   rU   rU   )r   Úhdquantiles_sdr?   Úlenr
   Úbroadcast_toÚlogical_notÚeyer%   rV   ÚmeanÚsumr   )	rW   Úhd_std_errsÚnÚjdataÚ	jselectorÚjdistÚ
jdist_meanÚjstdÚtwo_data_pointsr   r   r   Útest_hdquantiles_sdz   s   
&
z!TestQuantiles.test_hdquantiles_sdc                 C   s:   t  | j¡\}}t|j|j  kodkƒ d S   ƒ d S )Nr   )r   Úmquantiles_cimjr?   r   r$   )rW   Úci_lowerÚci_upperr   r   r   Útest_mquantiles_cimj‘   s   *z"TestQuantiles.test_mquantiles_cimjN)Ú__name__Ú
__module__Ú__qualname__r?   rY   ri   rm   r   r   r   r   rR   S   s
    rR   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½L´®0ì?)r
   r+   Údefault_rngr   r   Úmedian_cihs)Úrngr   r   r   r   Útest_median_cihs—   s   
	ru   )Únumpyr
   Únumpy.mar    Úscipy.stats.mstatsÚstatsÚmstatsr   Únumpy.testingr   r   r   r   r   r'   r1   r@   rE   rQ   rR   ru   r   r   r   r   Ú<module>   s    		D