+
    0iU                     l    ^ RI t ^ RIt^ RIHtHt ^ RIHt ^ RIH	t	 R t
 ! R R4      t ! R R	4      tR# )
    N)assert_equalassert_allclose)stats)	_survivalc                 2   R \         3R\        3.p\        P                  ! \	        W4       UUu. uF  w  r4W43NK
  	  uppVR7      p\        P
                  ! VRR7      pVR ,          p \        P                  ! VR,          4      pV P                  p\        P                  ! V^ R4      p\        P                  ! W,
          V,          4      p	\        P                  ! V RRR1,          RR7      w  rW) ^,
          ,          pW) ^,
          ,          pW3# u uppi )	timecensored)dtype)orderNT)return_index)r   r	   )floatintnparrayzipsortlogical_notsizearangecumprodunique)timesr	   r
   tddatadiedmnsf_indices	ref_timesref_sfs   &&            ]/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/stats/tests/test_survival.py_kaplan_meier_referencer&      s     e_z3/0E88E(<=(<aV(<=UKD77434DLE>>$z*+D

A
		!QA	QXN	#B 52;T:JAhl#I1F >s   D
c            
         a  ] tR t^&t o ]R 4       tR tR tR tR t	R t
. ROt. ROt. ROt. ROt. ROt. ROt. ROt. ROt. ROt. ROt. ROt. ROt. ROt. ROt. R Ot]P6                  P9                  R]]]3]]]3]]]3]]]3]]]3.4      R 4       t]P6                  P9                  R	. R!O4      R
 4       tR tR t R t!R t"R t#Rt$V t%R# )"TestSurvivalc                n   V P                  V4      pV P                  ^^V4      P                  \        P                  4      pV P                  \        P                  ! W#4      4      pV P                  VP                  R7      V P                  4       8  p\        P                  P                  WE4      pWdV3# )   r   )randomintegersastyper   int32permutedrepeatr   r   CensoredDataright_censored)rngn_uniqueunique_timesrepeatsr   r	   samples   &&     r%   get_random_sampleTestSurvival.get_random_sample(   s     zz(+,,q!X.55bhh?RYY|=>::5:::.=##225Ch&&    c           	     x   R p\         P                  ! \        VR7      ;_uu_ 4        \        P                  ! ^..4       RRR4       \         P                  ! \        VR7      ;_uu_ 4        \        P                  ! ^4       RRR4       Rp\         P                  ! \        VR7      ;_uu_ 4        \        P                  ! \
        P                  .4       RRR4       Rp\         P                  ! \        VR7      ;_uu_ 4        \        P                  ! \        P                  P                  ^.R.R7      4       RRR4       Rp\        P                  ! . RO4      p\         P                  ! \        VR7      ;_uu_ 4        VP                  P                  RR	7       RRR4       \         P                  ! \        VR7      ;_uu_ 4        VP                  P                  R
R	7       RRR4       Rp\         P                  ! \        VR7      ;_uu_ 4        VP                  P                  R4       RRR4       \         P                  ! \        VR7      ;_uu_ 4        VP                  P                  RR.4       RRR4       Rp\         P                  ! \        VR7      ;_uu_ 4        VP                  P                  4       pRRR4       Rp\         P                  ! \        VR7      ;_uu_ 4        XP                  P                  4        RRR4       \         P                  ! \        VR7      ;_uu_ 4        XP                   P                  4        RRR4       R#   + '       g   i     EL); i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELh; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELx; i  + '       g   i     ELC; i  + '       g   i     EL; i  + '       g   i     R# ; i)z,`sample` must be a one-dimensional sequence.matchNz`sample` must not contain nanz5Currently, only uncensored and right-censored data...T)r	   zmethod` must be one of...z	ekki-ekkimethod	shrubberyz2confidence_level` must be a scalar between 0 and 1      ?333333?z:The confidence interval is undefined at some observations.z.Confidence interval bounds do not implement...)r*         r   )pytestraises
ValueErrorr   ecdfr   nanNotImplementedErrorr2   left_censoredcdfconfidence_intervalr    warnsRuntimeWarninglowhigh)selfmessagerescis   &   r%   test_input_validation"TestSurvival.test_input_validation3   s   @]]:W55JJu 6]]:W55JJqM 6 2]]:W55JJx  6 J]].g>>JJu))77tf7MN ? .jj#]]:W55GG''{'; 6]]:W55FF&&k&: 6 G]]:W55GG''+ 6]]:W55FF&&Sz2 6 O\\.88,,.B 9 C]].g>>FF&&( ?]].g>>GG'') ?>C 655555 655 ?>>
 655555 655555 988 ?>>>>>s   M ,M41&N8NN0OOO,+P 4P;P( M1	4N	N	N-	0O	O	O)	,O=	 P	P%	(P9	c                d   \         P                  ! . 4      p\        VP                  P                  . 4       \        VP                  P
                  . 4       \         P                  ! ^.4      p\        VP                  P                  ^.4       \        VP                  P
                  ^.4       R# )r*   N)r   rI   r   rM   	quantilesprobabilities)rS   rU   s   & r%   test_edge_casesTestSurvival.test_edge_casesY   sr    jjnSWW&&+SWW**B/jj!oSWW&&,SWW**QC0r;   c                   . ROp\         P                  ! V4      p\        P                  ! \        P                  ! V4      4      p\        P
                  ! ^^4      ^,          p^V,
          p\        VP                  P                  V4       \        VP                  P                  V4       \        VP                  P                  V4       \        VP                  P                  V4       R# )Q@N)r_   gRQ@g=
ףp=@gGz@g@)r   rI   r   r   r   r   r   rM   rZ   r[   r    rS   r8   rU   ref_xref_cdfr$   s   &     r%   test_uniqueTestSurvival.test_uniqueb   s    /jj 		&)*))Aq/A%WSWW&&.SWW**G4SVV%%u-SVV))62r;   c                   . ROp\         P                  ! V4      p\        P                  ! \        P                  ! V4      4      p\        P
                  ! . RO4      p^V,
          p\        VP                  P                  V4       \        VP                  P                  V4       \        VP                  P                  V4       \        VP                  P                  V4       R# )r   N)r   rD   r*   rD   rE      )gUUUUUU?gUUUUUU?gUUUUUU?g?r*   )r   rI   r   r   r   r   r   rM   rZ   r[   r    r`   s   &     r%   test_nonuniqueTestSurvival.test_nonuniquen   s    #jj 		&)*((23WSWW&&.SWW**G4SVV%%u-SVV))62r;   c                   \         P                  P                  R 4      pV P                  V^4      w  p p\        P
                  ! V4      pVP                  P                  pV\         P                  ! WUR,          ^,           R7      ^,          ,           p\        VP                  P                  V4      VP                  P                  4       \        VP                  P                  V4      VP                  P                  4       \        VP                  P                  V^ ,          ^,
          4      ^ 4       \        VP                  P                  \         P                  ) \         P                  .4      ^ ^.4       \        VP                  P                  V4      VP                  P                  4       \        VP                  P                  V4      VP                  P                  4       \        VP                  P                  V^ ,          ^,
          4      ^4       \        VP                  P                  \         P                  ) \         P                  .4      ^^ .4       R# )l   I)_ )appendNr   )r   r,   default_rngr9   r   rI   rM   rZ   diffr   evaluater[   infr    )rS   r4   r8   r!   rU   xxrs   &      r%   test_evaluate_methods"TestSurvival.test_evaluate_methodsz   s   ii##$78--c261jj GGR57+A--SWW%%a(#''*?*?@SWW%%b)377+@+@ASWW%%ad1f-q1SWW%%w&781a&ASVV__Q')=)=>SVV__R(#&&*>*>?SVV__QqT!V,a0SVV__rvvgrvv%67!Q@r;   casec                X   Vw  r#p\         P                  P                  V\        P                  ! V4      4      p\         P
                  ! V4      p\        VP                  P                  VR R7       \        VP                  P                  \        P                  ! \        P                  ! V4      4      4       \        V\        P                  ! V4      4      p\        V^ ,          \        P                  ! \        P                  ! V4      4      4       \        V^,          VR R7       R# )MbP?atolN)r   r2   r3   r   r   rI   r   r    r[   r   rZ   r   r   r&   )rS   rs   r   r   refr8   rU   s   &&     r%   $test_right_censored_against_examples1TestSurvival.test_right_censored_against_examples   s      S##225"..:NOjj ,,c=SVV%%rwwryy/?'@A &eR^^D-ABSVRWWRYYu%567A$/r;   seedc                   \         P                  P                  V4      pVP                  ^
^d4      pV P	                  W#4      w  rEp\
        P                  ! V4      p\        WV4      p\        VP                  P                  V^ ,          4       \        VP                  P                  V^,          4       \
        P                  ! VR7      p\        P                  ! V4      p\
        P                  ! V4      p\        V^ ,          VP                  P                  4       \        V^,          VP                   P                  RR7       \        V^,          VP                  P                  RR7       R# )
   )
uncensored+=rtolN)r   r,   rk   r-   r9   r   rI   r&   r   r    rZ   r[   r2   r   _ecdf_right_censoredr   rM   )	rS   r{   r4   r5   r8   r   r	   rU   rx   s	   &&       r%   4test_right_censored_against_reference_implementationATestSurvival.test_right_censored_against_reference_implementation   s    ii##D)<<C("&"8"8"Gxjj %e6((#a&1,,c!f5 ##u5,,V4jjSVSVV--.A 5 5EBA 4 45Ar;   c                   V P                   V P                  r!\        P                  P	                  V\
        P                  ! V4      4      p\        P                  ! V4      p. ROpVP                  P                  4       pVP                  P                  4       pVP                  P                  VP                  P                  ,
          p\        WRR7       \        VP                  P                  \
        P                  ! VP                  P                  V,
          ^ ^4      4       \        VP                  P                  \
        P                  ! VP                  P                  V,           ^ ^4      4       \        VP                  P                  \
        P                  ! VP                  P                  V,
          ^ ^4      4       \        VP                  P                  \
        P                  ! VP                  P                  V,           ^ ^4      4       . ROp	. R	Op
VP                  P                  RR7      p\        VP                  P                  V	RR7       \        VP                  P                  V
RR7       R# )
~jt?ru   rv   log-logr?   gư>N)r   r   gHzG?#~j?r   r   r   r   r   r   g1Zd?rh|?r   r   r   m?r   )iU;?r   gLƼ?SX?r   r   r   r   r   r   g#?v1<?r   r   r   </O?r   ),?r   gXC%?d=	lN?r   r   r   r   r   r   gG˵h?yjh?r   r   r   @J?r   )t4d4r   r2   r3   r   r   rI   r    rN   rM   r[   rQ   r   cliprR   )rS   r   r   r8   rU   ref_allowancesf_cicdf_ci	allowanceref_lowref_highs   &          r%   test_right_censored_ci#TestSurvival.test_right_censored_ci   s   ggtwwt##225"..:NOjj . **,,,.FF((599+B+BB		t<		// 4 4y @!QG	I

00 4 4y @!QG	I

00 5 5	 A1aH	J11 5 5	 A1aH	JEF **)*<		//tD

00(Fr;   c                V   V P                   V P                  r!\        P                  P	                  V\
        P                  ! V4      4      p\        P                  ! V4      p\
        P                  ! . R	O4      p\
        P                  ! . R
O4      pVP                  P                  RR7      pVP                  P                  RR7      p\        VP                  P                  VRR7       \        VP                  P                  VRR7       \        VP                  P                  ^V,
          RR7       \        VP                  P                  ^V,
          RR7       . ROp	. ROp
VP                  P                  RRR7      p\        VP                  P                  V	4       \        VP                  P                  V
4       . ROp	. ROp
VP                  P                  RR7      p\        VP                  P                  V	4       \        VP                  P                  V
4       R# )4S?r   r?   gh㈵>rv   ?)r@   confidence_level)r   N)
r   gn;?g·g	2?oDk?r   r   grSr??T1?r   r   )
g!S?gn2d?g|y?U?r   r   gmēL?^?r   r   )
ge?gC?gW0?J|?r   r   g cav?#	?r   r   )
gx ?g]^L"?gD%V
d?Ԓ?r   r   g[<\+?7ԧx?r   r   )
g7Aca?g|X?g1?/?r   r   gRＯ?        r   r   )
      ?r   g?8ْ`?r   r   gEy?,˪~O?r   r   )t5d5r   r2   r3   r   r   rI   r   r    rN   rM   r   rQ   r[   rR   )rS   r   r   r8   rU   lowerupperr   r   rQ   rR   s   &          r%    test_right_censored_ci_example_5-TestSurvival.test_right_censored_ci_example_5   s   ggtwwt##225"..:NOjj  L M L M **)*<,,I,>		//TB

00%dC

00!E'E111U7F$$ **)<? + A		//5

00$7/L **C*@		//5

00$7r;   c           
        V P                   V P                  r!\        P                  P	                  V\
        P                  ! V4      4      p\        P                  ! V4      p. R Op\
        P                  ^ ^ RR\
        P                  .p\
        P                  RRRR\
        P                  .p\
        P                  ! VP                  P                  V4      pRp	\        P                  ! \        V	R7      ;_uu_ 4        VP                  P                  4       p
R	R	R	4       \!        X
P"                  P$                  V,          R
,          VR
,          4       \!        V
P&                  P$                  V,          R
,          VR
,          4       \
        P                  RRR^ \
        P                  .p\
        P                  RRRR\
        P                  .p\
        P                  ! VP                  P                  V4      p\        P                  ! \        V	R7      ;_uu_ 4        VP(                  P                  4       p
R	R	R	4       \!        V
P"                  P$                  V,          R
,          VR
,          4       \!        V
P&                  P$                  V,          R
,          VR
,          4       RRRRRRRRR\
        P                  .
pRRRRRRRRR\
        P                  .
p\!        V
P"                  P$                  V4       \!        V
P&                  P$                  V4       \        P                  ! \        V	R7      ;_uu_ 4        VP(                  P                  RR7      p
R	R	R	4       \
        P                  \
        P                  RRRRRRR\
        P                  .
p\
        P                  \
        P                  RRRRRRR\
        P                  .
p\!        V
P"                  P$                  V4       \!        V
P&                  P$                  V4       R	#   + '       g   i     EL
; i  + '       g   i     EL; i  + '       g   i     L; i)!%   g!E?gܙ{k?guOª?gYe?gaEP?r   z9The confidence interval is undefined at some observationsr=   N:r*   NNg|E؞?gU<?gsC?gEP?g3&J2?ggE؞?gG<?g!E?r   gEP?g3&J2?r   r?   gk?gutz%?g
?gKuπ?g/8g?g(yD?go(q?g9'?)r   /   8   M   P   Q   )t1d1r   r2   r3   r   r   rI   rJ   searchsortedrM   rZ   rF   rO   rP   rN   r   rQ   r[   rR   r    )rS   r   r   r8   rU   ro   flofupirT   rV   rQ   rR   s   &            r%   test_right_censored_ci_nans(TestSurvival.test_right_censored_ci_nans%  s   ggtwwt##225"..:NOjj  %vvq!.0A266Jvv}lL#rvvNOOCGG--q1M\\.88,,.B 9 	,,Q/3SW=--a04c"g> vv}nmQOvvsC!24ErvvNOOCGG--q1\\.88++-B 9 	,,Q/3SW=--a04c"g> 2*,?"$79L"B0 BBB,>"BFF,,,c2--t4 \\.88++9+=B 9vvrvv24G"$79L"$7A  24F"$68J"$6@ 	,,c2--t4e 988 9884 98s$   ?P#P/QP,	/Q 	Q	c                   \         P                  P                  R 4      pVP                  ^
^dRR7      p\         P                  ! V4      pRV\         P
                  ! V4      &   \        P                  ! V4      p\        P                  ! \        P                  P                  W#4      4      p\        VP                  P                  VP                  P                  4       \        VP                  P                  VP                  P                  4       \        VP                  P                  RR VP                  P                  RR 4       \        VP                  P                   RR VP                  P                   RR RR7       R# )l   m"%< i  r+   TNr   r   r   )r   r,   rk   r-   
zeros_likeargmaxr   rI   r2   r3   r   r    rZ   _n_dr   _sf)rS   r4   r8   r	   rU   rx   s   &     r%   &test_right_censored_against_uncensored3TestSurvival.test_right_censored_against_uncensoredk  s    ii##$78b#D1==(&*6"#jj jj++::6LMSVV%%svv'7'78SVVYY		*SVVYYs^SVVYYs^4

3BCRuEr;   c                   \         P                  P                  R 4      pVP                  ^
^d4      pV P	                  W4      w  p p\
        P                  ! V4      p ^ RIHp VP                  P                  4        R#   \        \        3 dc    Rp\        P                  ! \        TR7      ;_uu_ 4        TP                  P                  4        RRR4        R#   + '       g   i      R# ; ii ; i)l   u!u\xD Nz2matplotlib must be installed to use method `plot`.r=   )r   r,   rk   r-   r9   r   rI   matplotlib.pyplotpyplotr    plotModuleNotFoundErrorImportErrorrF   rG   )rS   r4   r5   r8   r!   rU   pltrT   s   &       r%   test_plot_ivTestSurvival.test_plot_ivw  s    ii##$78<<C(--c<1jj 	+FFKKM#[1 	KG2'BB CBBB	s*    B   7C37CC3C/(C3/C3 N)
r   +   r   r   <   >   G   r   r   r   )
r   r   r*   r*   r   r   r   r*   r*   r*   )
r*   r*         ?      ?r   r   r   rB   g      ?r   )
                  r          (   )
r*   r*   r*   r*   r*   r*   r   r   r   r   )	r   gK7?皙?r   gHzG?gQ?HzG?r   r   )
!      )   0   r      r   r   r   r   )
r*   r*   r*   r   r   r   r   r   r   r   )r*   r   r   r   rC   rC   rC   )   rE         r      r   rD         r   r   r   r*   r}            	   r   )r   r*   r   r   r   r   r*   r   r   r   r   r   r   r*   r   r*   r   r*   r   r*   )ffffff?r   gNbX9?5^I?r   r   r   r   r   r   gRQ?oʡ?r   r   r   MbX9?r   )rE   r   r   r}   r   r   r   r      r   rD   r   r}   r   r   r   r   r   )r*   r*   r*   r   r*   r   r*   r*   r   r   r*   r*   r   r   r*   r*   r*   r*   )
gh|?5?g r?gv?MbX?r   r   gv?^I+?r   r   )l   -j|Il   #}|4IQl   >5Gn?l   e5")&__name__
__module____qualname____firstlineno__staticmethodr9   rW   r\   rc   rg   rq   r   r   r1t2d2r2t3d3r3r   r   r4r   r   r5rF   markparametrizery   r   r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r%   r(   r(   &   s0    ' '$*L1
3
3A& 
2B	'B	<B 
0B	'B	BB	1B	'B	.B
.B	EB
AB 
HB	?B	OB[[Vr2rlRRL2r2,')2rlRRL&B C0C0 [[V &N OBOB&(GT08dD5L
F r;   r(   c            
          a  ] tR tRt o ]P
                  P                  R. R
O. RO.. RO. RO.R. RO3. RO. RO.. RO. RO.R. RO3. RO. RO.. RO. RO.R. RO3.4      R 4       tR tRt	V t
R	# )TestLogRanki  zx, y, statistic, pvaluegK@g8v\?g.@c                t   \         P                  ! V^ ,          V^,          R7      p\         P                  ! V^ ,          V^,          R7      p\        . RO4       FZ  w  rV\         P                  ! WVR7      p\	        VP
                  ^,          VRR7       \	        VP                  WE,          RR7       K\  	  R# )r   )r~   right)ro   yalternativeg|=rv   N)z	two-sidedlessgreater)r   r2   	enumeratelogrankr   	statisticpvalue)rS   ro   r  r  r  r   r  rU   s   &&&&&   r%   test_log_rankTestLogRank.test_log_rank  s    j !A$ad;!A$ad;'(HINA--!kBC
 CMM1,ieDCJJ	> Jr;   c                   \         P                  ! ^^.4      pRp\        P                  ! \        VR7      ;_uu_ 4        \         P
                  ! V^^..R7       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \         P
                  ! ^^..VR7       RRR4       R#   + '       g   i     L\; i  + '       g   i     R# ; i)r*   z`y` must ber=   )ro   r  Nz`x` must be)r   r2   rF   rG   rH   r  )rS   r8   msgs   &  r%   test_raisesTestLogRank.test_raises  s    ##QF+]]:S11MMF1vh/ 2 ]]:S11MMaVH/ 21	 21 211s   B/	C/B?	C	r   N)r   r   r   r   r   r   )r   r   r   r   )r   r   r   )r   r   r   r   r   r   r   )g܇~?g%?g ~q?)r   r   r   rf   )r   r   r   r   )   r      )r   r   r   r   r   )g?ghG:?g]?)r   r   r      r   &   1   2   ?   O   V   b         )   r   r   R   r0     )r}   r}   r   r   r   r   r#  r   r   r   r   r   r   r   r%  r   #   r   r   r   .   r   L   r   r0  [   p      )"   r   F   )gJVQy?g8j^Qi?g%?)r   r   r   r   rF   r  r  r  r!  r  r  r  s   @r%   r  r    s     [[!4 '89:H
 .//0D
 I(*F H

!	13h?i3h?	0 	0r;   r  )rF   numpyr   numpy.testingr   r   scipyr   scipy.statsr   r&   r(   r  r   r;   r%   <module>r>     s2      7  !<] ]@L0 L0r;   