
    (phPK                         S SK r S SKrS SKJr  S SKJr  S SKJrJ	r	J
r
Jr  S SKJrJrJrJrJrJr  Sr " S S5      r " S	 S
5      r " S S5      r " S S5      r " S S5      r " S S5      rg)    N)assert_)FuncData)
kolmogorovkolmogismirnovsmirnovi)_kolmogc	_kolmogci_kolmogp	_smirnovc
_smirnovci	_smirnovpg|=c                   J    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)TestSmirnov   c                 r    [        [        R                  " [        S[        R                  5      5      5        g N   )r   npisnanr   nanselfs    V/var/www/html/venv/lib/python3.13/site-packages/scipy/special/tests/test_kolmogorov.pytest_nanTestSmirnov.test_nan   s    BFF+,-    c                 "   / SQn[         R                  " U5      n[        [        USS[        S9R                  [        [        [        /S9  SUS S 2S4   -
  US S 2S4'   [        [        USS[        S9R                  [        [        [        /S9  g )N))r   皙??)r         ?      ?)   r!         ?)   r!         `?r   r   r#   rtoldtypesr   	r   asarrayr   r   _rtolcheckintfloatr   r   datasets     r   
test_basicTestSmirnov.test_basic   s    6
 **W%Wfae	

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

%UE*%
+r   c                    [         R                  " [        SS5      [        SS5      5       Vs/ s H  oSS4PM	     nn[        R                  " U5      n[        [        USS[        S9R                  [        [        [        /S	9  SUS S 2S
4   -
  US S 2S
4'   [        [        USS[        S9R                  [        [        [        /S	9  g s  snf )Nr#          r   r   r'   r(   r*   r,   	itertoolschainranger   r.   r   r   r/   r0   r1   r2   r   r   nr4   s      r   test_x_equals_0TestSmirnov.test_x_equals_0        &/ooeArlE$PTDU&VW&Vq!9&VW**W%Wfae	

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

%UE*%
+ X   C
c                    [         R                  " [        SS5      [        SS5      5       Vs/ s H  oSS4PM	     nn[        R                  " U5      n[        [        USS[        S9R                  [        [        [        /S	9  SUS S 2S
4   -
  US S 2S
4'   [        [        USS[        S9R                  [        [        [        /S	9  g s  snf )Nr#   r8   r9   r:   r   r   r'   r(   r*   r,   r;   r?   s      r   test_x_equals_1TestSmirnov.test_x_equals_1+   rC   rD   c                 "   / SQn[         R                  " U5      n[        [        USS[        S9R                  [        [        [        /S9  SUS S 2S4   -
  US S 2S4'   [        [        USS[        S9R                  [        [        [        /S9  g )N)
r         ?rJ   )r#   rJ         ?)r%   rJ   g?UUUU?)   rJ   g      ?)   rJ   gy&1?)   rJ   gEʠ?)   rJ   g>?)   rJ   g!?)	   rJ   g+ˎ{?)
   rJ   g4o?r'   r#   r(   r*   r   r,   r-   r3   s     r   test_x_equals_0point5!TestSmirnov.test_x_equals_0point56   s    	+ **W%Wfae	

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

%UE*%
+r   c                 n   [         R                  " SSSSS9n[         R                  " S/[        U5      -  USU-
  /5      n[	        [
        USS[        S9R                  [        [        [        /S	9  SUS S 2S
4   -
  US S 2S
4'   [	        [        USS[        S9R                  [        [        [        /S	9  g )Nr   r   e   Tendpointr'   r#   r(   r*   r,   )r   linspacecolumn_stacklenr   r   r/   r0   r1   r2   r   )r   xr4   s      r   test_n_equals_1TestSmirnov.test_n_equals_1K   s    KK1cD1//A3s1v:q!A#"67Wfae	

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

%UE*%
+r   c                    [         R                  " SSSSS9n[         R                  " SU-
  S5      n[         R                  " S/[	        U5      -  5      n[         R
                  " X1U/5      n[        [        USS[        S9R                  [        [        [        /S	9  SUS S 2S
4   -
  US S 2S
4'   [        [        USS[        S9R                  [        [        [        /S	9  g )NrJ   r   rV   TrW   r#   r'   r(   r*   r,   r   rY   powerarrayr[   rZ   r   r   r/   r0   r1   r2   r   r   r\   pr@   r4   s        r   test_n_equals_2TestSmirnov.test_n_equals_2V   s    KKQd3HHQqS!HHaS3q6\"//1),Wfae	

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

%UE*%
+r   c                    [         R                  " SSSSS9n[         R                  " SU-
  S5      n[         R                  " S/[	        U5      -  5      n[         R
                  " X1U/5      n[        [        USS[        S	9R                  [        [        [        /S
9  SUS S 2S4   -
  US S 2S4'   [        [        USS[        S	9R                  [        [        [        /S
9  g )Nffffff?r      TrW   r%   r'   r#   r(   r*   r,   r`   rc   s        r   test_n_equals_3TestSmirnov.test_n_equals_3c   s    KKQT2HHQqS!HHaS3q6\"//1),Wfae	

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

%UE*%
+r   c           	          Sn[         R                  " [        SSS5       Vs/ s H  n[        X!5      PM     sn5      n[         R                  " U5      n[        [         R                  " US:*  5      SU 3S9  g s  snf )N皙?i  iL  r8   r   zNot all diffs negative )msg)r   rb   r>   r   diffr   all)r   r\   r@   pvalsdfss        r   test_n_largeTestSmirnov.test_n_largep   sg     sD"1EF1EA'!-1EFGggensax (?u&EF Gs   A9 N)__name__
__module____qualname____firstlineno__r   r5   rA   rF   rS   r]   re   rj   rs   __static_attributes__ru   r   r   r   r      s0    .,	,	,,*	,,,Gr   r   c                   J    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)TestSmirnoviy   c                 r    [        [        R                  " [        S[        R                  5      5      5        g r   )r   r   r   r   r   r   s    r   r   TestSmirnovi.test_nanz   s    !RVV,-.r   c                 "   / SQn[         R                  " U5      n[        [        USS[        S9R                  [        [        [        /S9  SUS S 2S4   -
  US S 2S4'   [        [        USS[        S9R                  [        [        [        /S9  g )N))r   rm   333333?)r   r   rm   )r   Gz?{Gz?)r   r   r   )r#   r$   r!   )r%   r&   r!   )rR   g      p=g      ?r'   r#   r(   r*   r   	r   r.   r   r   r/   r0   r1   r2   r   r3   s     r   r5   TestSmirnovi.test_basic}   s    7 **W%gvqu	

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

%UE*%
+r   c                    [         R                  " [        SS5      [        SS5      5       Vs/ s H  oSS4PM	     nn[        R                  " U5      n[        [        USS[        S9R                  [        [        [        /S	9  SUS S 2S4   -
  US S 2S4'   [        [        USS[        S9R                  [        [        [        /S	9  g s  snf )
Nr#   r8   r9   r:   r   r   r'   r(   r*   r<   r=   r>   r   r.   r   r   r/   r0   r1   r2   r   r?   s      r   rA   TestSmirnovi.test_x_equals_0       &/ooeArlE$PTDU&VW&Vq!9&VW**W%gvqu	

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

%UE*%
+ XrD   c                    [         R                  " [        SS5      [        SS5      5       Vs/ s H  oSS4PM	     nn[        R                  " U5      n[        [        USS[        S9R                  [        [        [        /S	9  SUS S 2S4   -
  US S 2S4'   [        [        USS[        S9R                  [        [        [        /S	9  g s  snf )
Nr#   r8   r9   r:   r   r   r'   r(   r*   r   r?   s      r   rF   TestSmirnovi.test_x_equals_1   r   rD   c                 n   [         R                  " SSSSS9n[         R                  " S/[        U5      -  USU-
  /5      n[	        [
        USS[        S9R                  [        [        [        /S	9  SUS S 2S4   -
  US S 2S4'   [	        [        USS[        S9R                  [        [        [        /S	9  g )
Nr   r   rV   TrW   r'   r#   r(   r*   )r   rY   rZ   r[   r   r   r/   r0   r1   r2   r   )r   ppr4   s      r   r]   TestSmirnovi.test_n_equals_1   s    [[AsT2//A3s2w;AbD"9:gvqu	

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

%UE*%
+r   c                    [         R                  " SSSSS9n[         R                  " SU-
  S5      n[         R                  " S/[	        U5      -  5      n[         R
                  " X2U/5      n[        [        USS[        S9R                  [        [        [        /S	9  SUS S 2S4   -
  US S 2S4'   [        [        USS[        S9R                  [        [        [        /S	9  g )
NrJ   r   rV   TrW   r#   r'   r(   r*   r   rY   ra   rb   r[   rZ   r   r   r/   r0   r1   r2   r   rc   s        r   re   TestSmirnovi.test_n_equals_2   s    KKQd3HHQqS!HHaS3q6\"//1),gvqu	

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

%UE*%
+r   c                    [         R                  " SSSSS9n[         R                  " SU-
  S5      n[         R                  " S/[	        U5      -  5      n[         R
                  " X2U/5      n[        [        USS[        S	9R                  [        [        [        /S
9  SUS S 2S4   -
  US S 2S4'   [        [        USS[        S	9R                  [        [        [        /S
9  g )Nrh   r   ri   TrW   r%   r'   r#   r(   r*   r   rc   s        r   rj   TestSmirnovi.test_n_equals_3   s    KKQT2HHQqS!HHaS3q6\"//1),gvqu	

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

%UE*%
+r   c                     S nS n/ SQn[         R                  " U5      n[        XSS[        S9R	                  [
        [        [        /S9  [        X#SS[        S9R	                  [
        [        [        /S9  g )Nc                 ,    [        U [        X5      5      $ N)r   r   r@   rd   s     r   _sm_smi-TestSmirnovi.test_round_trip.<locals>._sm_smi   s    1hqn--r   c                 ,    [        U [        X5      5      $ r   )r   r   r   s     r   	_smc_smci/TestSmirnovi.test_round_trip.<locals>._smc_smci   s    Q
1 011r   ))r   rm   rm   )r   r   r   )r#   r!   r!   )r%   r!   r!   )r%   r"   r"   )rR   +?r   )rR   -C6?r   r'   r#   r(   r*   )r   r.   r   r/   r0   r1   r2   )r   r   r   r4   s       r   test_round_tripTestSmirnovi.test_round_trip   sk    	.	2) **W%fae	

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

%UE*%
+r   c                 "   / SQn[         R                  " U5      n[        [        USS[        S9R                  [        [        [        /S9  SUS S 2S4   -
  US S 2S4'   [        [        USS[        S9R                  [        [        [        /S9  g )N)rI   )r#   rJ   gwzl?)r#   rK   rJ   )r%   rJ   g<{?)rL   rJ   gFwrZ?)rM   rJ   g0 ?)rN   rJ   g0@?)rO   rJ   g A?)rP   rJ   g^CKf?)rQ   rJ   g޵&?)rR   rJ   gL4J?r'   r#   r(   r*   r   r   r3   s     r   rS   "TestSmirnovi.test_x_equals_0point5   s    
- **W%gvqu	

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

%UE*%
+r   ru   N)rv   rw   rx   ry   r   r5   rA   rF   r]   re   rj   r   rS   rz   ru   r   r   r|   r|   y   s/    /,$	,	,
,,,,.,r   r|   c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestSmirnovp   c                 r    [        [        R                  " [        S[        R                  5      5      5        g r   )r   r   r   r   r   r   s    r   r   TestSmirnovp.test_nan   s    1bff-./r   c                 0   [         R                  " SS5      n[         R                  " U[         R                  " US5      [         R                  " US5      /5      n[	        [
        USS[        S9R                  [        [        [        /S9  [         R                  " SS5      n[         R                  " U[         R                  " US	5      [         R                  " US5      /5      n[	        [
        USS[        S9R                  [        [        [        /S9  g )
Nr   rR   r   r,   r'   r#   r(   r*         ?)
r   arangerZ   	full_liker   r   r/   r0   r1   r2   )r   n1_10dataset0n2_10dataset1s        r   r5   TestSmirnovp.test_basic   s    		!R ??E$&LL$:$&LL$;$= > 	x	

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

%UE*%
+r   c                 >   [         R                  " SS5      nSU-  nSSU-  -
  nU* X!S-
  -  -  nUS[         R                  " US-
  5      S-  -
  S-  -  n[         R                  " XU/5      n[	        [
        USS[        S9R                  [        [        [        /S9  g )	Nr   r8   r   r#   rJ   r'   r(   r*   )
r   r   signrZ   r   r   r/   r0   r1   r2   )r   r@   r\   xm1pp1r   s         r   test_oneminusoneovern"TestSmirnovp.test_oneminusoneovern  s    IIaEAgb1s8m"''!A#,/!S((??AC=1x	

%UE*%
+r   c                     [         R                  " SS5      nSU-  nX-  S-   * SU-   US-
  -  -  n[         R                  " XU/5      n[        [        USS[
        S9R                  [        [        [        /S9  g )Nr   r8   rJ   r#   r'   r(   r*   	r   r   rZ   r   r   r/   r0   r1   r2   r   r@   r\   r   r   s        r   test_oneovertwonTestSmirnovp.test_oneovertwon  sq    IIa!Gs1uX1!$??A":.x	

%UE*%
+r   c                    S[         R                  " SS5      -  nSU-  nX-  S-   * SU-   US-
  -  -  S-   n[         R                  " XU/5      n[        [        USS[
        S9R                  [        [        [        /S9  g )	Nr#   r   rR   r   rJ   r'   r(   r*   r   r   s        r   test_oneovernTestSmirnovp.test_oneovern%  s}     ryyBEs1uX1!$s*??A":.x	

%UE*%
+r   c                 `   [         R                  " SS5      nSU-  S[         R                  " [        5      R                  -  -
  nX-  S-   * SU-   US-
  -  -  n[         R
                  " XU/5      n[        [        USS[        S9R                  [        [        [        /S9  SU-  S[         R                  " [        5      R                  -  -   nX-  S-   * SU-   US-
  -  -  S-   n[         R
                  " XU/5      n[        [        USS[        S9R                  [        [        [        /S9  g )	Nr%   r8   r   r#   r   r'   r(   r*   )r   r   finfor2   epsrZ   r   r   r/   r0   r1   )r   r@   r\   r   r   r   s         r   test_oneoverncloseTestSmirnovp.test_oneovernclose0  s    IIaEAbhhuo))))s1uX1!$??A":.x	

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

%UE*%
+r   ru   N)rv   rw   rx   ry   r   r5   r   r   r   r   rz   ru   r   r   r   r      s     0,$
,,	,,r   r   c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestKolmogoroviD  c                 p    [        [        R                  " [        [        R                  5      5      5        g r   )r   r   r   r   r   r   s    r   r   TestKolmogorov.test_nanE  s    BFF+,-r   c                 ~    / SQn[         R                  " U5      n[        [        USS[        S9R                  5         g )N))r   r   )rJ   ˜?)BgR{{?rJ   )r   	=G?)r#    !E?r   r   r(   )r   r.   r   r   r/   r0   r3   s     r   r5   TestKolmogorov.test_basicH  s2    0 **W%WdAE:@@Br   c                 ,   [         R                  " SSS5      n/ SQn/ SQn[         R                  " X/5      n[        [        USS[
        S9R                  5         [         R                  " X/5      n[        [        USS[
        S9R                  5         g )	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/   r0   r	   )r   r\   r4   	dataset_cs       r   test_linspaceTestKolmogorov.test_linspaceR  sx    KK3#OQ	 //1,/WdAE:@@BOOQN3	9dAE:@@Br   c                    [         R                  " SSSSS9n[         R                  SSSS	S
SSSSSSSSSSSSSSS/nSSSSSSSSSSSSSSSS
S	SSS[         R                  /n[         R                  " US S  US S  /5      n[	        [
        US!S [        S"9R                  5         [         R                  " US S# US S# /5      n[	        [        US!S [        S"9R                  5         g )$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/   r0   r
   )r   rd   r4   r   s       r   test_linspaceiTestKolmogorov.test_linspaceii  s   KK3T266-/A%'9;M%'9;M%'9;M%'9;M%'9;M%'9;MO ();=O');=O');=O');=O');=O');=O');RVVE	 //1QR5'!"+"67'47==?OOQsVYs^$<=	ItQU;AACr   c                     S[         R                  " SS5      -  n[         R                  " / SQ5      n[         R                  " USU-
  /5      n[	        [
        USS[        S9R                  5         g )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   rb   rZ   r   r   r/   r0   r   epsilonr\   r4   s       r   test_smallxTestKolmogorov.test_smallx  s[    1b))HH % &
 //1ai.1WdAE:@@Br   c                 ,   S nS n[         R                  " SSSSS9nX3S:H  US	:  -     n[         R                  " XD/5      n[        XS
S[        S9R                  5         [         R                  " X3/5      n[        X&S
S[        S9R                  5         g )Nc                 *    [        [        U 5      5      $ r   )r   r   _xs    r   _ki_k-TestKolmogorov.test_round_trip.<locals>._ki_k  s    :b>**r   c                 *    [        [        U 5      5      $ r   )r
   r	   r   s    r   _kci_kc/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/   r0   )r   r   r   r\   x02	dataset02r4   s          r   r   TestKolmogorov.test_round_trip  s    	+	+ KKS"t4aAH%&OOSJ/	47==?//1&)47==?r   ru   N)rv   rw   rx   ry   r   r5   r   r   r   r   rz   ru   r   r   r   r   D  s%    .CC.D.C@r   r   c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestKolmogii  c                 p    [        [        R                  " [        [        R                  5      5      5        g r   )r   r   r   r   r   r   s    r   r   TestKolmogi.test_nan  s    )*r   c                 ~    / SQn[         R                  " U5      n[        [        USS[        S9R                  5         g )N))r   r   )r   rJ   )r    r   )rJ   r   )r   r   )r   r#   r   r   r(   )r   r.   r   r   r/   r0   r3   s     r   r5   TestKolmogi.test_basic  s2    0 **W%'47==?r   c                 Z   S[         R                  " SSS5      -  n[         R                  " / SQ5      n[         R                  " SU-
  U/5      n[	        [
        USS[        S9R                  5         [         R                  " X/5      n[	        [        USS[        S9R                  5         g )NrJ   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   rb   rZ   r   r   r/   r0   r
   r   s       r   test_smallpcdfTestKolmogi.test_smallpcdf  s    1b!,,
 HH R S //1W9a.1'47==?//7,/GT159??Ar   c                 Z   S[         R                  " SSS5      -  n[         R                  " / SQ5      n[         R                  " X/5      n[	        [
        USS[        S9R                  5         [         R                  " SU-
  U/5      n[	        [        USS[        S9R                  5         g )NrJ   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_smallpsfTestKolmogi.test_smallpsf  s    1b!,,
 HH R S //7,/'47==?//1W9a.1GT159??Ar   c                     S n[         R                  " SSSSS9n[         R                  " X"/5      n[        XSS[        S	9R                  5         g )
Nc                 *    [        [        U 5      5      $ r   )r   r   )_ps    r   _k_ki*TestKolmogi.test_round_trip.<locals>._k_ki  s    gbk**r   r   r   rR   TrW   r   r   r(   r   )r   r   rd   r4   s       r   r   TestKolmogi.test_round_trip  sD    	+ KKS"t4//1&)qu5;;=r   ru   N)
rv   rw   rx   ry   r   r5   r   r   r   rz   ru   r   r   r   r     s    +	@B&B&>r   r   c                        \ rS rSrS rS rSrg)TestKolmogpi  c                 p    [        [        R                  " [        [        R                  5      5      5        g r   )r   r   r   r   r   r   s    r   r   TestKolmogp.test_nan  s    "&&)*+r   c                 ~    / SQn[         R                  " U5      n[        [        USS[        S9R                  5         g )N))r   g       )g?g=)rm   gt鹿)r   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/   r0   r3   s     r   r5   TestKolmogp.test_basic  s2    
6 **W%7D!%8>>@r   ru   N)rv   rw   rx   ry   r   r5   rz   ru   r   r   r  r    s    ,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   r|   r   r   r   r  ru   r   r   <module>r     sy      ! - @ @E E 	iG iGX}, },@H, H,VT@ T@n;> ;>|A Ar   