
    ^MhPK                        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          Z G d	 d
          Z G d d          Z G d d          Z G d d          Z G d d          ZdS )    N)assert_)FuncData)
kolmogorovkolmogismirnovsmirnovi)_kolmogc	_kolmogci_kolmogp	_smirnovc
_smirnovci	_smirnovpg|=c                   D    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
S )TestSmirnovc                 x    t          t          j        t          dt          j                                       d S N   )r   npisnanr   nanselfs    c/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/special/tests/test_kolmogorov.pytest_nanzTestSmirnov.test_nan   s,    BF++,,-----    c                 r   g d}t          j        |          }t          t          |ddt                                        t          t          t          g           d|d d df         z
  |d d df<   t          t          |ddt                                        t          t          t          g           d S )N))r   皙??)r         ?      ?)   r         ?)   r         `?r   r   r!   rtoldtypesr   	r   asarrayr   r   _rtolcheckintfloatr   r   datasets     r   
test_basiczTestSmirnov.test_basic   s    6 6 6
 *W%%Wfae	
 	
 	

%UE*%
+
+
+WQQQU^+2w	
 	
 	

%UE*%
+
+
+
+
+r   c                    d t          j        t          dd          t          dd                    D             }t          j        |          }t          t          |ddt                                        t          t          t          g           d	|d d d
f         z
  |d d d
f<   t          t          |ddt                                        t          t          t          g           d S )Nc                     g | ]}|d dfS r%    .0ns     r   
<listcomp>z/TestSmirnov.test_x_equals_0.<locals>.<listcomp>!       WWWAq!9WWWr   r!          r%   r&   r(   r   r*   	itertoolschainranger   r,   r   r   r-   r.   r/   r0   r   r1   s     r   test_x_equals_0zTestSmirnov.test_x_equals_0        WWioeArllE$PTDUDU&V&VWWW*W%%Wfae	
 	
 	

%UE*%
+
+
+WQQQU^+2w	
 	
 	

%UE*%
+
+
+
+
+r   c                    d t          j        t          dd          t          dd                    D             }t          j        |          }t          t          |ddt                                        t          t          t          g           d	|d d d
f         z
  |d d d
f<   t          t          |ddt                                        t          t          t          g           d S )Nc                     g | ]}|d dfS r   r   r6   r7   s     r   r:   z/TestSmirnov.test_x_equals_1.<locals>.<listcomp>,   r;   r   r!   r<   r=   r>   r%   r&   r(   r   r*   r?   r1   s     r   test_x_equals_1zTestSmirnov.test_x_equals_1+   rD   r   c                 r   g d}t          j        |          }t          t          |ddt                                        t          t          t          g           d|d d df         z
  |d d df<   t          t          |ddt                                        t          t          t          g           d S )N)
r         ?rK   )r!   rK         ?)r#   rK   g?UUUU?)   rK   g      ?)   rK   gy&1?)   rK   gEʠ?)   rK   g>?)   rK   g!?)	   rK   g+ˎ{?)
   rK   g4o?r%   r!   r&   r(   r   r*   r+   r1   s     r   test_x_equals_0point5z!TestSmirnov.test_x_equals_0point56   s    	+ 	+ 	+ *W%%Wfae	
 	
 	

%UE*%
+
+
+WQQQU^+2w	
 	
 	

%UE*%
+
+
+
+
+r   c                    t          j        dddd          }t          j        dgt          |          z  |d|z
  g          }t	          t
          |ddt                                        t          t          t          g	           d|d d d
f         z
  |d d d
f<   t	          t          |ddt                                        t          t          t          g	           d S )Nr   r   e   Tendpointr%   r!   r&   r(   r*   )r   linspacecolumn_stacklenr   r   r-   r.   r/   r0   r   )r   xr2   s      r   test_n_equals_1zTestSmirnov.test_n_equals_1K   s    K1cD111/A3s1vv:q!A#"677Wfae	
 	
 	

%UE*%
+
+
+WQQQU^+2w	
 	
 	

%UE*%
+
+
+
+
+r   c                    t          j        dddd          }t          j        d|z
  d          }t          j        dgt	          |          z            }t          j        |||g          }t          t          |ddt                    	                    t          t          t          g	           d|d d d
f         z
  |d d d
f<   t          t          |ddt                    	                    t          t          t          g	           d S )NrK   r   rV   TrW   r!   r%   r&   r(   r*   r   rY   powerarrayr[   rZ   r   r   r-   r.   r/   r0   r   r   r\   pr9   r2   s        r   test_n_equals_2zTestSmirnov.test_n_equals_2V   s    KQd333HQqS!HaS3q66\""/1a),,Wfae	
 	
 	

%UE*%
+
+
+WQQQU^+2w	
 	
 	

%UE*%
+
+
+
+
+r   c                    t          j        dddd          }t          j        d|z
  d          }t          j        dgt	          |          z            }t          j        |||g          }t          t          |ddt          	          	                    t          t          t          g
           d|d d df         z
  |d d df<   t          t          |ddt          	          	                    t          t          t          g
           d S )Nffffff?r      TrW   r#   r%   r!   r&   r(   r*   r_   rb   s        r   test_n_equals_3zTestSmirnov.test_n_equals_3c   s    KQT222HQqS!HaS3q66\""/1a),,Wfae	
 	
 	

%UE*%
+
+
+WQQQU^+2w	
 	
 	

%UE*%
+
+
+
+
+r   c                     dt          j        fdt          ddd          D                       }t          j        |          }t	          t          j        |dk              d|            d S )	N皙?c                 0    g | ]}t          |          S r6   )r   )r8   r9   r\   s     r   r:   z,TestSmirnov.test_n_large.<locals>.<listcomp>t   s!    FFFA'!Q--FFFr   i  iL  r<   r   zNot all diffs negative )msg)r   ra   rB   diffr   all)r   pvalsdfsr\   s      @r   test_n_largezTestSmirnov.test_n_largep   sw     FFFFsD"1E1EFFFGGgennsax  &E&E&EFFFFFFr   N)__name__
__module____qualname__r   r3   rC   rH   rT   r]   rd   rh   rq   r6   r   r   r   r      s        . . ., , ,	, 	, 	,	, 	, 	,, , ,*	, 	, 	,, , ,, , ,G G G G Gr   r   c                   D    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
S )TestSmirnovic                 x    t          t          j        t          dt          j                                       d S r   )r   r   r   r   r   r   s    r   r   zTestSmirnovi.test_nanz   s,    !RV,,--.....r   c                 r   g d}t          j        |          }t          t          |ddt                                        t          t          t          g           d|d d df         z
  |d d df<   t          t          |ddt                                        t          t          t          g           d S )N))r   rj   333333?)r   ry   rj   )r   Gz?{Gz?)r   r{   rz   )r!   r"   r   )r#   r$   r   )rS   g      p=g      ?r%   r!   r&   r(   r   	r   r,   r   r   r-   r.   r/   r0   r   r1   s     r   r3   zTestSmirnovi.test_basic}   s    7 7 7 *W%%gvqu	
 	
 	

%UE*%
+
+
+GAAAqDM)1	
 	
 	

%UE*%
+
+
+
+
+r   c                    d t          j        t          dd          t          dd                    D             }t          j        |          }t          t          |ddt                                        t          t          t          g           d	|d d d	f         z
  |d d d	f<   t          t          |ddt                                        t          t          t          g           d S )
Nc                     g | ]}|d dfS r%   r6   r7   s     r   r:   z0TestSmirnovi.test_x_equals_0.<locals>.<listcomp>   r;   r   r!   r<   r=   r>   r%   r&   r(   r   r@   rA   rB   r   r,   r   r   r-   r.   r/   r0   r   r1   s     r   rC   zTestSmirnovi.test_x_equals_0       WWioeArllE$PTDUDU&V&VWWW*W%%gvqu	
 	
 	

%UE*%
+
+
+GAAAqDM)1	
 	
 	

%UE*%
+
+
+
+
+r   c                    d t          j        t          dd          t          dd                    D             }t          j        |          }t          t          |ddt                                        t          t          t          g           d	|d d d	f         z
  |d d d	f<   t          t          |ddt                                        t          t          t          g           d S )
Nc                     g | ]}|d dfS rG   r6   r7   s     r   r:   z0TestSmirnovi.test_x_equals_1.<locals>.<listcomp>   r;   r   r!   r<   r=   r>   r%   r&   r(   r   r   r1   s     r   rH   zTestSmirnovi.test_x_equals_1   r   r   c                    t          j        dddd          }t          j        dgt          |          z  |d|z
  g          }t	          t
          |ddt                                        t          t          t          g	           d|d d df         z
  |d d df<   t	          t          |ddt                                        t          t          t          g	           d S )
Nr   r   rV   TrW   r%   r!   r&   r(   )r   rY   rZ   r[   r   r   r-   r.   r/   r0   r   )r   ppr2   s      r   r]   zTestSmirnovi.test_n_equals_1   s    [AsT222/A3s2ww;AbD"9::gvqu	
 	
 	

%UE*%
+
+
+GAAAqDM)1	
 	
 	

%UE*%
+
+
+
+
+r   c                    t          j        dddd          }t          j        d|z
  d          }t          j        dgt	          |          z            }t          j        |||g          }t          t          |ddt                    	                    t          t          t          g	           d|d d df         z
  |d d df<   t          t          |ddt                    	                    t          t          t          g	           d S )
NrK   r   rV   TrW   r!   r%   r&   r(   r   rY   r`   ra   r[   rZ   r   r   r-   r.   r/   r0   r   rb   s        r   rd   zTestSmirnovi.test_n_equals_2   s    KQd333HQqS!HaS3q66\""/1a),,gvqu	
 	
 	

%UE*%
+
+
+GAAAqDM)1	
 	
 	

%UE*%
+
+
+
+
+r   c                    t          j        dddd          }t          j        d|z
  d          }t          j        dgt	          |          z            }t          j        |||g          }t          t          |ddt          	          	                    t          t          t          g
           d|d d df         z
  |d d df<   t          t          |ddt          	          	                    t          t          t          g
           d S )Nrf   r   rg   TrW   r#   r%   r!   r&   r(   r   rb   s        r   rh   zTestSmirnovi.test_n_equals_3   s    KQT222HQqS!HaS3q66\""/1a),,gvqu	
 	
 	

%UE*%
+
+
+GAAAqDM)1	
 	
 	

%UE*%
+
+
+
+
+r   c                 >   d }d }g d}t          j        |          }t          ||ddt                                        t
          t          t          g           t          ||ddt                                        t
          t          t          g           d S )Nc                 >    t          | t          | |                    S N)r   r   r9   rc   s     r   _sm_smiz-TestSmirnovi.test_round_trip.<locals>._sm_smi   s    1hq!nn---r   c                 >    t          | t          | |                    S r   )r   r   r   s     r   	_smc_smciz/TestSmirnovi.test_round_trip.<locals>._smc_smci   s    Q
1a 0 0111r   ))r   rj   rj   )r   ry   ry   )r!   r   r   )r#   r   r   )r#   r    r    )rS   +?r   )rS   -C6?r   r%   r!   r&   r(   )r   r,   r   r-   r.   r/   r0   )r   r   r   r2   s       r   test_round_tripzTestSmirnovi.test_round_trip   s    	. 	. 	.	2 	2 	2) ) ) *W%%Wfae	
 	
 	

%UE*%
+
+
+w	
 	
 	

%UE*%
+
+
+
+
+r   c                 r   g d}t          j        |          }t          t          |ddt                                        t          t          t          g           d|d d df         z
  |d d df<   t          t          |ddt                                        t          t          t          g           d S )N)rJ   )r!   rK   gwzl?)r!   rL   rK   )r#   rK   g<{?)rM   rK   gFwrZ?)rN   rK   g0 ?)rO   rK   g0@?)rP   rK   g A?)rQ   rK   g^CKf?)rR   rK   g޵&?)rS   rK   gL4J?r%   r!   r&   r(   r   r|   r1   s     r   rT   z"TestSmirnovi.test_x_equals_0point5   s    
- 
- 
- *W%%gvqu	
 	
 	

%UE*%
+
+
+GAAAqDM)1	
 	
 	

%UE*%
+
+
+
+
+r   N)rr   rs   rt   r   r3   rC   rH   r]   rd   rh   r   rT   r6   r   r   rv   rv   y   s        / / /, , ,$	, 	, 	,	, 	, 	,
, 
, 
,, , ,, , ,, , ,., , , , ,r   rv   c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )TestSmirnovpc                 x    t          t          j        t          dt          j                                       d S r   )r   r   r   r   r   r   s    r   r   zTestSmirnovp.test_nan   s,    1bf--../////r   c                 ^   t          j        dd          }t          j        |t          j        |d          t          j        |d          g          }t	          t
          |ddt                                        t          t          t          g           t          j        dd          }t          j        |t          j        |d	          t          j        |d          g          }t	          t
          |ddt                                        t          t          t          g           d S )
Nr   rS   r   r*   r%   r!   r&   r(         ?)
r   arangerZ   	full_liker   r   r-   r.   r/   r0   )r   n1_10dataset0n2_10dataset1s        r   r3   zTestSmirnovp.test_basic   s   	!R  ?E$&L$:$:$&L$;$;$= > > 	x	
 	
 	

%UE*%
+
+
+	!R  ?E$&L$<$<$&L$:$:$< = = 	x	
 	
 	

%UE*%
+
+
+
+
+r   c                 ^   t          j        dd          }d|z  }dd|z  z
  }| ||dz
  z  z  }|dt          j        |dz
            dz  z
  dz  z  }t          j        |||g          }t	          t
          |ddt                                        t          t          t          g           d S )	Nr   r<   r   r!   rK   r%   r&   r(   )
r   r   signrZ   r   r   r-   r.   r/   r0   )r   r9   r\   xm1pp1r   s         r   test_oneminusoneovernz"TestSmirnovp.test_oneminusoneovern  s    IaEAgb1qs8m"'!A#,,/!S((?AsC=11x	
 	
 	

%UE*%
+
+
+
+
+r   c                    t          j        dd          }d|z  }||z  dz    d|z   |dz
  z  z  }t          j        |||g          }t          t          |ddt
                                        t          t          t          g           d S )Nr   r<   rK   r!   r%   r&   r(   	r   r   rZ   r   r   r-   r.   r/   r0   r   r9   r\   r   r   s        r   test_oneovertwonzTestSmirnovp.test_oneovertwon  s    Ia!Gs1uX1!$?Aq":..x	
 	
 	

%UE*%
+
+
+
+
+r   c                 &   dt          j        dd          z  }d|z  }||z  dz    d|z   |dz
  z  z  dz   }t          j        |||g          }t          t          |ddt
                                        t          t          t          g           d S )	Nr!   r   rS   r   rK   r%   r&   r(   r   r   s        r   test_oneovernzTestSmirnovp.test_oneovern%  s     ryBEs1uX1!$s*?Aq":..x	
 	
 	

%UE*%
+
+
+
+
+r   c                    t          j        dd          }d|z  dt          j        t                    j        z  z
  }||z  dz    d|z   |dz
  z  z  }t          j        |||g          }t          t          |ddt                    	                    t          t          t          g           d|z  dt          j        t                    j        z  z   }||z  dz    d|z   |dz
  z  z  dz   }t          j        |||g          }t          t          |ddt                    	                    t          t          t          g           d S )	Nr#   r<   r   r!   r   r%   r&   r(   )r   r   finfor0   epsrZ   r   r   r-   r.   r/   )r   r9   r\   r   r   r   s         r   test_oneovernclosezTestSmirnovp.test_oneovernclose0  s2    IaEAbhuoo)))s1uX1!$?Aq":..x	
 	
 	

%UE*%
+
+
+EAbhuoo)))s1uX1!$q(?Aq":..x	
 	
 	

%UE*%
+
+
+
+
+r   N)	rr   rs   rt   r   r3   r   r   r   r   r6   r   r   r   r      sn        0 0 0, , ,$
, 
, 
,, , ,	, 	, 	,, , , , ,r   r   c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )TestKolmogorovc                 v    t          t          j        t          t          j                                       d S r   )r   r   r   r   r   r   s    r   r   zTestKolmogorov.test_nanE  s*    BF++,,-----r   c                     g d}t          j        |          }t          t          |ddt                                                     d S )N))r   r   )rK   ˜?)BgR{{?rK   )r   	=G?)r!    !E?r   r   r&   )r   r,   r   r   r-   r.   r1   s     r   r3   zTestKolmogorov.test_basicH  sO    0 0 0 *W%%WdAE:::@@BBBBBr   c                 Z   t          j        ddd          }g d}g d}t          j        ||g          }t          t          |ddt
                                                     t          j        ||g          }t          t          |ddt
                                                     d S )	Nr          @   )r   r   g;?gCg{?g?r   g<[4?gUOp?g|Xi?g\"?g
=G?gT	@x?g1qVd?grl}n?gS.Q?grI;N?glPz?ghMy?gn㨫D!i?g9=W?gK!E?)        glAcR5gkC a=gz>gbk g?gQ3u?g._?gTe`{?g{N,?gQn?g|)\?g=!P?g1csh?grB0?gz$?gl%I?gLZ?gt.d?gWT?gc"?g?r   r   r&   )r   rY   rZ   r   r   r-   r.   r	   )r   r\   r2   	dataset_cs       r   test_linspacezTestKolmogorov.test_linspaceR  s    K3##O O OQ Q Q	 /1g,//WdAE:::@@BBBOQ	N33	9dAE:::@@BBBBBr   c                    t          j        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          j        |d d          |d d          g          }t	          t
          |d!d t          "                                           t          j        |d d#         |d d#         g          }t	          t          |d!d t          "                                           d S )$Nr   r   r   TrW   gź?g3?gn	o5?g	)?g(!N?gU#?g r?gl?g2|?r   gK)|?g?g2 ?gˍ?gu?gN?gk<?gf'G?g&?r   g&?gk?gU#?go	o5?g4?gź?r   r   r&   r*   )	r   rY   infrZ   r   r   r-   r.   r
   )r   rc   r2   r   s       r   test_linspaceizTestKolmogorov.test_linspaceii  sG   K3T2226-/A%'9;M%'9;M%'9;M%'9;M%'9;M%'9;MO ();=O');=O');=O');=O');=O');=O');RVE	 /1QRR5'!""+"677'4777==???OQssVYss^$<==	ItQU;;;AACCCCCr   c                     dt          j        dd          z  }t          j        g d          }t          j        |d|z
  g          }t	          t
          |ddt                                                     d S )Nr   r      )Z'G?gp=9?g=$7?g,^5?gȤ@?g1l4?gQGד?g%5?g	By?gZbqf-?gK?g	N?g"?r   r&   )r   r   ra   rZ   r   r   r-   r.   r   epsilonr\   r2   s       r   test_smallxzTestKolmogorov.test_smallx  s|    1b)))H % % % & &
 /1ai.11WdAE:::@@BBBBBr   c                 l   d }d }t          j        dddd          }||dk    |d	k    z           }t          j        ||g          }t          ||d
dt                                                     t          j        ||g          }t          ||d
dt                                                     d S )Nc                 :    t          t          |                     S r   )r   r   _xs    r   _ki_kz-TestKolmogorov.test_round_trip.<locals>._ki_k  s    :b>>***r   c                 :    t          t          |                     S r   )r
   r	   r   s    r   _kci_kcz/TestKolmogorov.test_round_trip.<locals>._kci_kc  s    Xb\\***r   r   r   r   TrW   r   gzG?r   r   r&   r   rY   rZ   r   r-   r.   )r   r   r   r\   x02	dataset02r2   s          r   r   zTestKolmogorov.test_round_trip  s    	+ 	+ 	+	+ 	+ 	+ KS"t444aAH%&OS#J//		4777==???/1a&))'4777==?????r   N)	rr   rs   rt   r   r3   r   r   r   r   r6   r   r   r   r   D  s        . . .C C CC C C.D D D.C C C@ @ @ @ @r   r   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )TestKolmogic                 v    t          t          j        t          t          j                                       d S r   )r   r   r   r   r   r   s    r   r   zTestKolmogi.test_nan  s(    ))*****r   c                     g d}t          j        |          }t          t          |ddt                                                     d S )N))r   r   )r   rK   )r   r   )rK   r   )r   r   )r   r!   r   r   r&   )r   r,   r   r   r-   r.   r1   s     r   r3   zTestKolmogi.test_basic  sO    0 0 0 *W%%'4777==?????r   c                    dt          j        ddd          z  }t          j        g d          }t          j        d|z
  |g          }t	          t
          |ddt                                                     t          j        ||g          }t	          t          |ddt                                                     d S )NrK   r   7   r#   )r   gza<?gN(?gB9|?gZ"h?g:A?gi.^$?gڎ4?gMtxA?g~Iy?g^?gcw?guz)t?g<?gw(uR?gj_#K7?gvn@?g2n.?r   r&   	r   r   ra   rZ   r   r   r-   r.   r
   r   s       r   test_smallpcdfzTestKolmogi.test_smallpcdf  s    1b!,,,
 H R R R S S /1W9a.11'4777==???/7A,//GT15999??AAAAAr   c                    dt          j        ddd          z  }t          j        g d          }t          j        ||g          }t	          t
          |ddt                                                     t          j        d|z
  |g          }t	          t          |ddt                                                     d S )NrK   r   r   r#   )r   gI\%	?gI?gX~=?gA^12@gk@g	@gd1.@g[{U@gNo[\	@gHaI
@gi@g/a<@gAї
(@g~=@g[5;$@gM @gH$@r   r&   r   r   s       r   test_smallpsfzTestKolmogi.test_smallpsf  s    1b!,,,
 H R R R S S /7A,//'4777==???/1W9a.11GT15999??AAAAAr   c                     d }t          j        dddd          }t          j        ||g          }t          ||ddt          	                                           d S )
Nc                 :    t          t          |                     S r   )r   r   )_ps    r   _k_kiz*TestKolmogi.test_round_trip.<locals>._k_ki  s    gbkk***r   r   r   rS   TrW   r   r   r&   r   )r   r   rc   r2   s       r   r   zTestKolmogi.test_round_trip  si    	+ 	+ 	+ KS"t444/1a&))qu555;;=====r   N)rr   rs   rt   r   r3   r   r   r   r6   r   r   r   r     sh        + + +	@ 	@ 	@B B B&B B B&> > > > >r   r   c                       e Zd Zd Zd ZdS )TestKolmogpc                 v    t          t          j        t          t          j                                       d S r   )r   r   r   r   r   r   s    r   r   zTestKolmogp.test_nan  s*    "&))**+++++r   c                     g d}t          j        |          }t          t          |ddt                                                     d S )N))r   g       )g?g=)rj   gt鹿)ry   g^ڛ/)g?g!$J)r   g2&)g333333?guk~;)gffffff?ggKk|q̿)g?g)g?g?𝖿)r   gz!ur   r   r&   )r   r,   r   r   r-   r.   r1   s     r   r3   zTestKolmogp.test_basic  sO    
6 
6 
6 *W%%7D!%888>>@@@@@r   N)rr   rs   rt   r   r3   r6   r   r   r   r     s7        , , ,A A A A Ar   r   )r@   numpyr   numpy.testingr   scipy.special._testutilsr   scipy.specialr   r   r   r   scipy.special._ufuncsr	   r
   r   r   r   r   r-   r   rv   r   r   r   r   r6   r   r   <module>r      s           ! ! ! ! ! ! - - - - - - @ @ @ @ @ @ @ @ @ @ @ @E E E E E E E E E E E E E E E E 	iG iG iG iG iG iG iG iGX}, }, }, }, }, }, }, },@H, H, H, H, H, H, H, H,VT@ T@ T@ T@ T@ T@ T@ T@n;> ;> ;> ;> ;> ;> ;> ;>|A A A A A A A A A Ar   