o
    Ö­jPK  ã                   @   s¼   d dl Z d dlZd dlmZ d dlmZ d dlmZm	Z	m
Z
mZ d dlmZmZmZmZmZmZ dZG dd„ dƒZG d	d
„ d
ƒZG dd„ dƒZG dd„ dƒZG dd„ dƒZG dd„ dƒZdS )é    N)Úassert_)ÚFuncData)Ú
kolmogorovÚkolmogiÚsmirnovÚsmirnovi)Ú_kolmogcÚ	_kolmogciÚ_kolmogpÚ	_smirnovcÚ
_smirnovciÚ	_smirnovpg»½×Ùß|Û=c                   @   óT   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ ZdS )ÚTestSmirnovc                 C   ó   t t tdtjƒ¡ƒ d S ©Né   )r   ÚnpÚisnanr   Únan©Úself© r   ú`/var/www/html/CropPilot/venv/lib/python3.10/site-packages/scipy/special/tests/test_kolmogorov.pyÚtest_nan   ó   zTestSmirnov.test_nanc                 C   óv   g d¢}t  |¡}tt|ddtd�jtttgd� d|d d …df  |d d …df< tt|ddtd�jtttgd� d S )N))r   çš™™™™™¹?çÍÌÌÌÌÌì?)r   ç      ì?ç      À?)é   r   ç      �?)é   r   ç      `?©r   r   r!   ©Úrtol©Údtypesr   éÿÿÿÿ©	r   Úasarrayr   r   Ú_rtolÚcheckÚintÚfloatr   ©r   Údatasetr   r   r   Ú
test_basic   s   

ÿ
þ 
ÿ

þzTestSmirnov.test_basicc                 C   ó�   dd„ t  tddƒtddƒ¡D ƒ}t |¡}tt|ddtd�jt	t
t
gd	� d
|d d …df  |d d …df< tt|ddtd�jt	t
t
gd	� d S )Nc                 S   ó   g | ]}|d df‘qS r%   r   ©Ú.0Únr   r   r   Ú
<listcomp>!   ó    z/TestSmirnov.test_x_equals_0.<locals>.<listcomp>r!   é   éò  éü  r%   r&   r(   r   r*   ©Ú	itertoolsÚchainÚranger   r,   r   r   r-   r.   r/   r0   r   r1   r   r   r   Útest_x_equals_0    ó   "

ÿ
þ 
ÿ

þzTestSmirnov.test_x_equals_0c                 C   r4   )Nc                 S   r5   ©r   r   r   r6   r   r   r   r9   ,   r:   z/TestSmirnov.test_x_equals_1.<locals>.<listcomp>r!   r;   r<   r=   r%   r&   r(   r   r*   r>   r1   r   r   r   Útest_x_equals_1+   rC   zTestSmirnov.test_x_equals_1c                 C   r   )N)
©r   ç      à?rG   )r!   rG   ç      Ð?)r#   rG   g?„UUUUÅ?)é   rG   g      ¸?)é   rG   gyé&1¬¬?)é   rG   güžæ‡EÊ ?)é   rG   g×>«¨“?)é   rG   gÑÜÿÿÿ!‡?)é	   rG   g+ÁËŽß{?)é
   rG   g’³�™4Ûo?r%   r!   r&   r(   r   r*   r+   r1   r   r   r   Útest_x_equals_0point56   s   

ÿ
þ 
ÿ

þz!TestSmirnov.test_x_equals_0point5c                 C   s”   t jddddd�}t  dgt|ƒ |d| g¡}tt|ddtd�jtt	t	gd	� d|d d …d
f  |d d …d
f< tt
|ddtd�jtt	t	gd	� d S )Nr   r   ée   T©Úendpointr%   r!   r&   r(   r*   )r   ÚlinspaceÚcolumn_stackÚlenr   r   r-   r.   r/   r0   r   )r   Úxr2   r   r   r   Útest_n_equals_1K   s   
ÿ
þ 
ÿ

þzTestSmirnov.test_n_equals_1c                 C   sª   t jddddd�}t  d| d¡}t  dgt|ƒ ¡}t  |||g¡}tt|ddtd�j	t
ttgd	� d|d d …d
f  |d d …d
f< tt|ddtd�j	t
ttgd	� d S )NrG   r   rQ   TrR   r!   r%   r&   r(   r*   ©r   rT   ÚpowerÚarrayrV   rU   r   r   r-   r.   r/   r0   r   ©r   rW   Úpr8   r2   r   r   r   Útest_n_equals_2V   ó   
ÿ
þ 
ÿ

þzTestSmirnov.test_n_equals_2c                 C   sª   t jddddd�}t  d| d¡}t  dgt|ƒ ¡}t  |||g¡}tt|ddtd	�j	t
ttgd
� d|d d …df  |d d …df< tt|ddtd	�j	t
ttgd
� d S )Nçffffffæ?r   é   TrR   r#   r%   r!   r&   r(   r*   rY   r\   r   r   r   Útest_n_equals_3c   r_   zTestSmirnov.test_n_equals_3c                    sN   d‰ t  ‡ fdd„tdddƒD ƒ¡}t  |¡}tt  |dk¡d|› �d	� d S )
Nçš™™™™™Ù?c                    s   g | ]}t |ˆ ƒ‘qS r   )r   r6   ©rW   r   r   r9   t   r:   z,TestSmirnov.test_n_large.<locals>.<listcomp>i�  iL  r;   r   zNot all diffs negative )Úmsg)r   r[   rA   Údiffr   Úall)r   ÚpvalsÚdfsr   rd   r   Útest_n_largep   s    
 zTestSmirnov.test_n_largeN)Ú__name__Ú
__module__Ú__qualname__r   r3   rB   rE   rP   rX   r^   rb   rj   r   r   r   r   r      s    r   c                   @   r   )ÚTestSmirnovic                 C   r   r   )r   r   r   r   r   r   r   r   r   r   z   r   zTestSmirnovi.test_nanc                 C   óv   g d¢}t  |¡}tt|ddtd�jtttgd� d|d d …df  |d d …df< tt|ddtd�jtttgd� d S )N))r   rc   ç333333ã?)r   rp   rc   )r   ç®Gáz®ï?ç{®Gáz„?)r   rr   rq   )r!   r"   r   )r#   r$   r   )rO   g      p=g      î?r%   r!   r&   r(   r   ©	r   r,   r   r   r-   r.   r/   r0   r   r1   r   r   r   r3   }   s   

ÿ
þ 
ÿ

þzTestSmirnovi.test_basicc                 C   ó�   dd„ t  tddƒtddƒ¡D ƒ}t |¡}tt|ddtd�jt	t
t
gd	� d
|d d …d
f  |d d …d
f< tt|ddtd�jt	t
t
gd	� d S )Nc                 S   r5   r%   r   r6   r   r   r   r9   �   r:   z0TestSmirnovi.test_x_equals_0.<locals>.<listcomp>r!   r;   r<   r=   r%   r&   r(   r   ©r?   r@   rA   r   r,   r   r   r-   r.   r/   r0   r   r1   r   r   r   rB   �   rC   zTestSmirnovi.test_x_equals_0c                 C   rt   )Nc                 S   r5   rD   r   r6   r   r   r   r9   ›   r:   z0TestSmirnovi.test_x_equals_1.<locals>.<listcomp>r!   r;   r<   r=   r%   r&   r(   r   ru   r1   r   r   r   rE   š   rC   zTestSmirnovi.test_x_equals_1c                 C   s”   t jddddd�}t  dgt|ƒ |d| g¡}tt|ddtd�jtt	t	gd	� d|d d …df  |d d …df< tt
|ddtd�jtt	t	gd	� d S )
Nr   r   rQ   TrR   r%   r!   r&   r(   )r   rT   rU   rV   r   r   r-   r.   r/   r0   r   )r   Úppr2   r   r   r   rX   ¥   s   
ÿ
þ 
ÿ

þzTestSmirnovi.test_n_equals_1c                 C   sª   t jddddd�}t  d| d¡}t  dgt|ƒ ¡}t  |||g¡}tt|ddtd�j	t
ttgd	� d|d d …df  |d d …df< tt|ddtd�j	t
ttgd	� d S )
NrG   r   rQ   TrR   r!   r%   r&   r(   ©r   rT   rZ   r[   rV   rU   r   r   r-   r.   r/   r0   r   r\   r   r   r   r^   ±   r_   zTestSmirnovi.test_n_equals_2c                 C   sª   t jddddd�}t  d| d¡}t  dgt|ƒ ¡}t  |||g¡}tt|ddtd	�j	t
ttgd
� d|d d …df  |d d …df< tt|ddtd	�j	t
ttgd
� d S )Nr`   r   ra   TrR   r#   r%   r!   r&   r(   rw   r\   r   r   r   rb   ¾   r_   zTestSmirnovi.test_n_equals_3c                 C   sf   dd„ }dd„ }g d¢}t  |¡}t||ddtd�jtttgd	� t||ddtd�jtttgd	� d S )
Nc                 S   ó   t | t| |ƒƒS ©N)r   r   ©r8   r]   r   r   r   Ú_sm_smiÌ   ó   z-TestSmirnovi.test_round_trip.<locals>._sm_smic                 S   rx   ry   )r   r   rz   r   r   r   Ú	_smc_smciÏ   r|   z/TestSmirnovi.test_round_trip.<locals>._smc_smci))r   rc   rc   )r   rp   rp   )r!   r   r   )r#   r   r   )r#   r    r    )rO   ç+‡ÙÎ÷ï?r~   )rO   ç-Cëâ6?r   r%   r!   r&   r(   )r   r,   r   r-   r.   r/   r0   )r   r{   r}   r2   r   r   r   Útest_round_tripË   s   

ÿ
þ
ÿ

þzTestSmirnovi.test_round_tripc                 C   ro   )N)rF   )r!   rG   gwz°Ðõl×?)r!   rH   rG   )r#   rG   g<{»œÓ?)rI   rG   gFÝw“rZÐ?)rJ   rG   gÎ0 Î?)rK   rG   gÀ0ª@ãËË?)rL   rG   g ´AÐòÉ?)rM   rG   g^×CKfÈ?)rN   rG   g©ôÞµ&Ç?)rO   rG   gê§L4JöÅ?r%   r!   r&   r(   r   rs   r1   r   r   r   rP   â   s   

ÿ
þ 
ÿ

þz"TestSmirnovi.test_x_equals_0point5N)rk   rl   rm   r   r3   rB   rE   rX   r^   rb   r€   rP   r   r   r   r   rn   y   s    rn   c                   @   ó<   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )ÚTestSmirnovpc                 C   r   r   )r   r   r   r   r   r   r   r   r   r   ú   r   zTestSmirnovp.test_nanc                 C   sœ   t  dd¡}t  |t  |d¡t  |d¡g¡}tt|ddtd�jtt	t	gd� t  dd¡}t  |t  |d	¡t  |d¡g¡}tt|ddtd�jtt	t	gd� d S )
Nr   rO   r   r*   r%   r!   r&   r(   ç      ð?)
r   ÚarangerU   Ú	full_liker   r   r-   r.   r/   r0   )r   Ún1_10Údataset0Ún2_10Údataset1r   r   r   r3   ý   s(   

þ
ÿ
þ

þ
ÿ

þzTestSmirnovp.test_basicc                 C   s„   t  dd¡}d| }dd|  }| ||d   }|dt  |d ¡d  d 8 }t  |||g¡}tt|ddtd�jtt	t	gd� d S )	Nr   r;   rƒ   r!   rG   r%   r&   r(   )
r   r„   ÚsignrU   r   r   r-   r.   r/   r0   )r   r8   rW   Úxm1Úpp1r‰   r   r   r   Útest_oneminusoneovern  s   
ÿ

þz"TestSmirnovp.test_oneminusoneovernc                 C   sf   t  dd¡}d| }|| d  d| |d   }t  |||g¡}tt|ddtd�jtttgd� d S )Nr   r;   rG   r!   r%   r&   r(   ©	r   r„   rU   r   r   r-   r.   r/   r0   ©r   r8   rW   rv   r‡   r   r   r   Útest_oneovertwon  s   
ÿ

þzTestSmirnovp.test_oneovertwonc                 C   sn   dt  dd¡ }d| }|| d  d| |d   d }t  |||g¡}tt|ddtd�jtttgd� d S )	Nr!   r   rO   rƒ   rG   r%   r&   r(   rŽ   r�   r   r   r   Útest_oneovern%  s   "
ÿ

þzTestSmirnovp.test_oneovernc                 C   sà   t  dd¡}d| dt  t¡j  }|| d  d| |d   }t  |||g¡}tt|ddtd�j	t
ttgd� d| dt  t¡j  }|| d  d| |d   d }t  |||g¡}tt|ddtd�j	t
ttgd� d S )	Nr#   r;   rƒ   r!   r   r%   r&   r(   )r   r„   Úfinfor0   ÚepsrU   r   r   r-   r.   r/   )r   r8   rW   rv   r‡   r‰   r   r   r   Útest_oneovernclose0  s"   
ÿ
þ"
ÿ

þzTestSmirnovp.test_oneoverncloseN)	rk   rl   rm   r   r3   r�   r�   r‘   r”   r   r   r   r   r‚   ù   s    
r‚   c                   @   r�   )ÚTestKolmogorovc                 C   ó   t t ttjƒ¡ƒ d S ry   )r   r   r   r   r   r   r   r   r   r   E  ó   zTestKolmogorov.test_nanc                 C   ó,   g d¢}t  |¡}tt|ddtd� ¡  d S )N))r   rƒ   )rG   çËœ²£Øî?)çBgR‰{{ê?rG   )r   ç	=ò³¬GÑ?)r!   ç —!üE?©r   r   r&   )r   r,   r   r   r-   r.   r1   r   r   r   r3   H  s   
zTestKolmogorov.test_basicc                 C   sj   t  ddd¡}g d¢}g d¢}t  ||g¡}tt|ddtd� ¡  t  ||g¡}tt|ddtd� ¡  d S )	Nr   ç       @é   )rƒ   rƒ   g;îÿÿÿÿï?gCgü{ìÿï?g�”êáÿèï?r™   g<–Ð[4¨ë?g“UÍOpÂæ?gó|ÂX�iá?gÇ\¯ú"Ù?g
=ò³¬GÑ?gT	“@x¿Æ?g1qVçd¼¼?grlïé}n±?g�S¸í.Q¤?gƒrI;NÀ–?gïl©Pzˆ?g‰�Åh�My?gnã¨«D!i?g…9=ºÍúW?gK—!üE?)ç        gl˜AcR5gkC¥ Åa=gz½˜„ã>gþbk g?gQ3¦ÞÄu¢?g§½�._Á?gÚTe`{Ò?g{NÅ,Ý?gœQ¨Ànã?g|á¦)\ç?g«=Ûï!Pê?gÚ1cshì?grÂB0Òí?gÇz$íºî?gl´%ŽýIï?gLZ¥¿žï?gÅt.ýdÍï?gWT»Þæï?gcá"™ôï?gÚü¾÷€úï?r�   r   r&   )r   rT   rU   r   r   r-   r.   r   )r   rW   r2   Ú	dataset_cr   r   r   Útest_linspaceR  s   zTestKolmogorov.test_linspacec                 C   sÞ   t jddddd�}t jdddd	d
dddddddddddddddg}dddddddddddddddd
d	dddt jg}t  |d d … |d d … g¡}tt|d!d td"� ¡  t  |d d#… |d d#… g¡}tt|d!d td"� ¡  d S )$Nr   rƒ   rŸ   TrR   g‰Š£Åºõ?g3É�á”ó?gn¶	o5ò?gÔò	û)ñ?gë(!£”Nð?gýœ¿ÍU#ï?g r¼—ƒÓí?glùé¡ì?gì2|…†ë?rš   gKÇ�)|é?g·Åù‘—„è?g2 ¯•‘ç?g�•Ë��æ?gª²¡u¥å?g•ñN¢ä?gÓkÎ<³‰ã?gŽf¿'Gâ?gä&ò¥ à?r    gå&ò¥ à?gkùé¡ì?gþœ¿ÍU#ï?go¶	o5ò?g4É�á”ó?gŠŠ£Åºõ?r   r�   r&   r*   )	r   rT   ÚinfrU   r   r   r-   r.   r	   )r   r]   r2   r¡   r   r   r   Útest_linspaceii  s*   úúzTestKolmogorov.test_linspaceic                 C   sJ   dt  dd¡ }t  g d¢¡}t  |d| g¡}tt|ddtd� ¡  d S )Nr   r   é   )ç–Z¿'Gâ?gõp=Ì9Ü?g=ÙÐ$7ó×?gÜ,^Ž‰5Õ?gÃ–È¤@Ó?gÂÕ1l4ÃÑ?g†QÅG×“Ð?g�%±›Î5Ï?g	B­§y“Í?gZbqÇf-Ì?g�âæKöÊ?gÆ	Nä¥äÉ?gòé"…ñÈ?r�   r&   )r   r„   r[   rU   r   r   r-   r.   ©r   ÚepsilonrW   r2   r   r   r   Útest_smallx€  s   zTestKolmogorov.test_smallxc                 C   s‚   dd„ }dd„ }t jddddd	�}||d
k|dkB  }t  ||g¡}t||ddtd� ¡  t  ||g¡}t||ddtd� ¡  d S )Nc                 S   ó   t t| ƒƒS ry   )r   r   ©Ú_xr   r   r   Ú_ki_k‹  ó   z-TestKolmogorov.test_round_trip.<locals>._ki_kc                 S   rª   ry   )r	   r   r«   r   r   r   Ú_kci_kcŽ  r®   z/TestKolmogorov.test_round_trip.<locals>._kci_kcr    rž   rŸ   TrR   r   gáz®GáÊ?r�   r   r&   ©r   rT   rU   r   r-   r.   )r   r­   r¯   rW   Úx02Ú	dataset02r2   r   r   r   r€   Š  s   zTestKolmogorov.test_round_tripN)	rk   rl   rm   r   r3   r¢   r¤   r©   r€   r   r   r   r   r•   D  s    

r•   c                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTestKolmogic                 C   r–   ry   )r   r   r   r   r   r   r   r   r   r   œ  r—   zTestKolmogi.test_nanc                 C   r˜   )N))rƒ   r   )r™   rG   )r   r¦   )rG   rš   )r›   r   )rœ   r!   r�   r   r&   )r   r,   r   r   r-   r.   r1   r   r   r   r3   Ÿ  s   
zTestKolmogi.test_basicc                 C   sp   dt  ddd¡ }t  g d¢¡}t  d| |g¡}tt|ddtd� ¡  t  ||g¡}tt|ddtd� ¡  d S )NrG   r   é7   r#   )rš   gzÄa<Õá?gNÊ(¦Û?gœBÃ9|ê×?gáZ"„¶hÕ?g:˜¦Aô‘Ó?gÂi.^ó$Ò?gÚŽ­4æþÐ?gMtþxAÐ?g~ôI÷yÎ?g³^òƒ°Í?gùâcwàË?gÂuz)tÎÊ?g—¶<§ÚÉ?gw(³uRþÈ?gj_#K7È?gvn@Óè�Ç?g2¬n.²ÛÆ?r�   r&   ©	r   r„   r[   rU   r   r   r-   r.   r	   r§   r   r   r   Útest_smallpcdfª  s   zTestKolmogi.test_smallpcdfc                 C   sp   dt  ddd¡ }t  g d¢¡}t  ||g¡}tt|ddtd� ¡  t  d| |g¡}tt|ddtd� ¡  d S )NrG   r   r´   r#   )rš   gI\%	ãõ?g»ÓúŽI¤ú?gX¼Ôï~=ÿ?g½A^12Ÿ@g§›�k@g	‘é@gd1Ô.–@g[ì{U¹@gNîo[¸\	@gHÍa‘I¤
@gåióÇÓÜ@g¦Ê/a<@gAÑ—†
(@g‘ÂÕï~=@g[5;Ò$@gM Ýú­¦@gHÚ€²$@r�   r&   rµ   r§   r   r   r   Útest_smallpsf½  s   zTestKolmogi.test_smallpsfc                 C   sB   dd„ }t jddddd�}t  ||g¡}t||dd	td
� ¡  d S )Nc                 S   rª   ry   )r   r   )Ú_pr   r   r   Ú_k_kiÑ  r®   z*TestKolmogi.test_round_trip.<locals>._k_kir   rƒ   rO   TrR   r�   r   r&   r°   )r   r¹   r]   r2   r   r   r   r€   Ð  s   zTestKolmogi.test_round_tripN)rk   rl   rm   r   r3   r¶   r·   r€   r   r   r   r   r³   ›  s    r³   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestKolmogpc                 C   r–   ry   )r   r   r   r
   r   r   r   r   r   r   Ú  r—   zTestKolmogp.test_nanc                 C   r˜   )N))r    g       €)gš™™™™™É?g‰ÿ=·¹å½)rc   g¬t˜éé¹¿)rp   g^ÔÞÚ›/õ¿)gš™™™™™é?g!á$®Jú¿)rƒ   gÔ2ˆ³&ñ¿)g333333ó?guäÍk~;á¿)gffffffö?g”gKk|qÌ¿)gš™™™™™ù?gÿ£”•³¿)gÍÌÌÌÌÌü?g‡?Éüð�–¿)rž   gzå!üu¿r�   r   r&   )r   r,   r   r
   r-   r.   r1   r   r   r   r3   Ý  s   
zTestKolmogp.test_basicN)rk   rl   rm   r   r3   r   r   r   r   rº   Ù  s    rº   )r?   Únumpyr   Únumpy.testingr   Úscipy.special._testutilsr   Úscipy.specialr   r   r   r   Úscipy.special._ufuncsr   r	   r
   r   r   r   r-   r   rn   r‚   r•   r³   rº   r   r   r   r   Ú<module>   s     l KW>