
    (phE                     X    S SK r 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
   " S S5      rg)    N)assert_allclose)stats)_pvalue_dunnettDunnettResultc                      \ rS rSr/ SQ/ SQ/ SQSS/S//r/ SQr/ S	Qr/ S
Qr/ SQr/ SQr	/ SQr
/ SQ/ SQ/r/ SQr/ SQr\" \\	\S9r\" \\\S9r\" \\\
\\S9r/ SQ/ SQ/r/ SQrSS/rSS/rSS/rSS/rSS /rS!S"/S#S$//rS%S&/rS'S(/r\" \\\S9r\" \\\S9r\" \\\\\S9r/ S)Q/ S*Q/ S+Q/r/ S,Qr / S-Qr!/ S.Qr"/ S/Qr#/ S0Qr$/ S1Qr%/ S2Q/ S3Q/r&/ S4Qr'/ S5Qr(\" \"\$\#S9r)\" \&\(\'S9r*\" \\ \%\)\*S9r+/ S6Q/ S7Q/r,/ S8Qr-S9S:/r.S;S</r/S=S>/r0S?S@/r1SASB/r2SCSD/SESF//r3SGSH/r4SISJ/r5\" \/\1\0S9r6\" \3\5\4S9r7\" \,\-\2\6\7S9r8\9Rt                  Rw                  SKSLSMSNSOSPSQSRSSSTSUSVSWSX/SYSZ/S[4S\S]S^S_S`SaSbScSTSUSVSdSe/SYSZ/Sf4/5      Sg 5       r<\9Rt                  Rw                  Sh\\\\
4\\\\4\\ \!\%4\,\-\.\24/5      Si 5       r=\9Rt                  Rw                  Sj/ SkQ5      Sl 5       r>\9Rt                  Rw                  SmSnSoSp/4S[SpSo/4SfSoSo/4/5      Sq 5       r?\9Rt                  Rw                  Sr\\\+\8/5      \9Rt                  Rw                  Sj/ SsQ5      St 5       5       r@\9Rt                  Rw                  Sj/ SkQ5      Su 5       rASv rBSw rC\9Rt                  R                  Sx5      \9Rt                  Rw                  Sy/ SzQ5      S{ 5       5       rES|rFg})~TestDunnett   )      8@      ;@g     @@      @@      <@      3@g     B@      ?@      B@r         A@      C@r   r   r   )	      :@r
   r         9@      =@g     =@     0@r   g      F@)r   r   r   r         4@r   )@      2@      .@r         0@g      1@r         ,@r   r   r   r   r   r   r         6@r         5@r         $@r   g      &@g      "@r   r        1@r   g      /@g      -@r   r   r
   g     6@r   g     8@r   r   g     2@r   g     :@      *@r   r    r    r    r   r   r   r   r   r   r
   g      7@r   r   r   r   r   r   r   r   r   r   r   r   )gCRݓ>gG!ɬ?g0[wT?@ޫV&?gۅ:?)-C6?geI)?g
pU?r!   gi?)r"   gmFA?gd;O?g9x&?gφ3x?)   r#   g1%?g`|?r!   )g @g>yX5M@gezFw?gQH?g:ǀ?)g#t@gX?gw퉥 g@Rr'g')gg!O$/@gj
s+@g"4P*@g@RrI-@g9@)gS@g.Ĩf?gbHgڨ%g61#)g@y.@g 4r*@gy.ꕯ(@g*@g]f7@)twosidedlessgreater)samplescontrol	statisticpvaluescis)gQ#@g!@gQ@gQ"@)g)@g\(\#@gRQ(@gffffff"@g%@)g@g      !@g@g{Gz @gGz#@gp=
ף @g?gw?gE&?g$_w?g8n?gǥ&g?gHV?gqt?g-l?ǧ@g,CgSE/:?g(s@g=pF]@gQglvm?gЬ̺$@g}Q@)7   @   r-   )r,   1   4   )2   ,   )   )r,   /   0   )g&S?g{?gX2ı.?)g4?gZՒr?gڧ1?)gr4?g(?gnŨk?)gAJi?gŬC9?gT?)g vй@g$~?g&lscz)gv:?gX~ gX~.)gI,A?5@gX~(@g$8@)gB8@g_cg/1+)ga33@gO7f2%@g=m@)gffffff@g@g      @g333333@)gffffff@g333333@g@g@g       @)333333@g      @g      @g@g	@g?g[ A?g(D!T?g77',?gMbX?g=,Ԛ?g_Fj?g )"*?gGz?g}iƢgQ2Ng`lg{Ug[?gxk|?g쑿Wg!%-L$gH0K?gC7v?z1rho, n_groups, df, statistic, pvalue, alternative)      ?r#   
   g(\?皙?r&   )r6      r7   gQ@r8   r&   )r6         gףp=
?r8   r&   )r6      r;   gp=
ף@r8   r&   )r6         g(\
@{Gz?r&   )r6      r>   g{Gz@r?   r&   )r6   r:   <   gQ@r?   r&   )r6   r=   rA   (\@r?   r&   r6   r=   rA   rB   gGz@r?   r8   r&   )r6   r#   r7   gףp=
@r8   	two-sided)r6   r9   r7   g{Gz@r8   rC   )r6   r:   r;   g(\@r8   rC   )r6   r9      g(\@r8   rC   )r6   r=   r>   gGz@r?   rC   )r6   r@   r>   gRQ@r?   rC   )r6   r:   rA   r5   r?   rC   )r6   r=   rA   Q	@r?   rC   rE   gffffff@rC   c                     [         R                  R                  S5      n[         R                  " X"4U5      n[         R                  " US5        [         R
                  " U5      n[        XUUUS9n[        XSS9  g )Nl	   <~(zh.W)| r#   )rhodfr)   alternativerng{Gzt?atol)nprandomdefault_rngfullfill_diagonalarrayr   r   )	selfrG   n_groupsrH   r)   pvaluerI   rJ   ress	            S/var/www/html/venv/lib/python3.13/site-packages/scipy/stats/tests/test_multicomp.pytest_critical_values TestDunnett.test_critical_values   sk    : ii##$KLggx*C0
a HHY'	i#

 	$/    z#samples, control, pvalue, statisticc                     [         R                  R                  S5      n[        R                  " XUS.6n[        U[        5      (       d   e[        UR                  USS9  [        UR                  USSS9  g )Nl	   suVP}v*d r(   rJ   g-C6
?)rtolr?   r"   r^   rM   )
rN   rO   rP   r   dunnett
isinstancer   r   r)   rV   )rT   r'   r(   rV   r)   rJ   rW   s          rX   
test_basicTestDunnett.test_basic   s^     ii##$JKmmW3?#}----yt<

FDAr[   rI   )rC   r%   r&   c                 ~   [         R                  R                  S5      n[        S5       H  nUR	                  SSSS9nUR	                  SSSS9n[
        R                  " XEXS9n[
        R                  " XEUS9n[        UR                  UR                  S	S
S9  [        UR                  UR                  S	S
S9  M     g )N	   Qyp^\j.sU r7   d   r7   size)r(   rI   random_state)rI   gMbP?h㈵>r_   )rN   rO   rP   rangeintegersr   r`   	ttest_indr   r)   rV   )rT   rI   rJ   _sampler(   rW   refs           rX   test_ttest_indTestDunnett.test_ttest_ind   s     ii##$KLrA\\$%\8Fll45l9G --'C //'C
 CMM3==t$OCJJ

DI r[   zalternative, pvaluer%   r   r#   c                    [         R                  R                  S5      nUR                  SSSS9nUR                  SSSS9nUR                  SS	SS9n[        R
                  " XFUXS
9n[        UR                  USS9  UR                  5       nUS:X  at  [         R                  " UR                  5      R                  5       (       d   eSUR                  S   s=:  a  S:  d   e   eSUR                  S   s=:  a  S:  d   e   eg US:X  at  SUR                  S   s=:  a  S:  d   e   eSUR                  S   s=:  a  S:  d   e   e[         R                  " UR                  5      R                  5       (       d   eg US:X  a}  SUR                  S   s=:  a  S:  d   e   eSUR                  S   s=:  a  S:  d   e   eSUR                  S   s=:  a  S:  d   e   eSUR                  S   s=:  a  S:  d   e   eg g )Nre   r   rD   rh   ri   P   rg         r(   rI   rJ   gHz>rL   r%   rf   irA   r#   r&   rC   )rN   rO   rP   rn   r   r`   r   rV   confidence_intervalisneginflowallhighisposinf)	rT   rI   rV   rJ   sample_lessr(   sample_greaterrW   cis	            rX   test_alternativesTestDunnett.test_alternatives   s    ii##$KL ll1bul5,,r3U,3c3U;mm#
 	

F6$$&& ;;rvv&**,,,,"''!**s*****
(S(((((I%"&&))c)))))q	'C''''';;rww'++----K'"&&))c)))))q	'C'''''"''!**s*****
(S(((((	 (r[   caser%   r&   rC   c                    [         R                  R                  S5      nUS   nUS   nSSSS.nUS   UR                  S	S
5         n[        R
                  " XEUUS.6n[        UR                  USSS9  US   Xb      n	US:X  a  U	[         R                  /n	OUS:X  a  [         R                  * U	/n	UR                  b   eUR                  b   eUR                  SS9n
[        U
R                  U	S   SSS9  [        U
R                  U	S   SSS9  UR                  U
L d   eUR                  S:X  d   eUR                  SS9nXL d   eg )N	   ><Fl&\z]	a# r'   r(   r%   r&   r$   r   r*   - ry   rK   r"   r_   r+   gffffff?confidence_levelr   rl   r#   )rN   rO   rP   replacer   r`   r   rV   inf_ci_ci_clrz   r|   r~   )rT   r   rI   rJ   r'   r(   alternativesp_refrW   ci_refr   ci_s               rX   test_against_R_multicomp_glht)TestDunnett.test_against_R_multicomp_glht&  s[    ii##$KLy/y/ &9%/1Y 3 3C <=mmW; #% 	

E4@e\67)#bff%FF"vvgv&Fwwzz!!!$$d$;q	4@DA ww"}}zzT!!!%%t%<yyr[   c                 L   [         R                  R                  S5      n[        R                  " U R
                  U R                  UUS.6n[        U5      nSU;   d   eSU;   d   eUS:X  a  SU;   d   eSU;   d   eg US:X  a  S	U;   d   eS
U;   d   eg S	U;  d   eSU;   d   eg )Nr   ry   z(Sample 2 - Control)z95.0%r%   z-infz19.r&   r   z-13.z21.)rN   rO   rP   r   r`   	samples_3	control_3str)rT   rI   rJ   rW   res_strs        rX   test_strTestDunnett.test_strF  s    ii##$KLmm^^T^^
 c(%000'!!!& W$$$G###I%G###W$$$'''G###r[   c                     [         R                  R                  S5      n[        R                  " U R
                  U R                  US.6nSn[        R                  " [        US9   UR                  SS9  S S S 5        g ! , (       d  f       g = f)Nr   r]   z7Computation of the confidence interval did not convergematchrl   )tol)rN   rO   rP   r   r`   r   r   pytestwarnsUserWarning
_allowance)rT   rJ   rW   msgs       rX   test_warningsTestDunnett.test_warnings^  sd    ii##$KLmm^^T^^
 I\\+S1NNtN$ 211s   &A??
Bc                 l   U R                   U R                  p![        R                  " [        SS9   [
        R                  " XSS.6  S S S 5        [        R                  " U5      nUS   /US'   [        R                  " [        SS9   [
        R                  " USU06  S S S 5        [        R                  " U5      nU/n[        R                  " [        SS9   [
        R                  " USU06  S S S 5        [        R                  " U5      n/ US'   [        R                  " [        S	S9   [
        R                  " USU06  S S S 5        / n[        R                  " [        S	S9   [
        R                  " USU06  S S S 5        [
        R                  " USU06n[        R                  " [        S
S9   UR                  SS9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GNG= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nzalternative must ber   bob)r(   rI   r   zmust be 1D arraysr(   r#   zat least 1 observationzConfidence level mustr9   r   )
r   r   r   raises
ValueErrorr   r`   copydeepcopyrz   )rT   r'   r(   samples_control_rW   s         rX   test_raisesTestDunnett.test_raisesh  s   >>4>> ]]:-BCMM7G D ==){m]]:-@AMM85W5 B ==):]]:-@AMM75H5 B ==)]]:-EFMM85W5 G ]]:-EFMM75H5 G mmW6g6]]:-DE##Q#7 FE7 DC BA BA GF
 GF FEsG   GGG1,H&H4H%
G
G.1
H 
H
H"%
H3z$ignore:Computation of the confidence	n_samples)r#   r:   r9   c                    [         R                  R                  S5      nUR                  US4S9nUR                  SS9n[        R
                  " X4US.6nUR                  R                  U4:X  d   eUR                  R                  U4:X  d   eUR                  5       nUR                  R                  U4:X  d   eUR                  R                  U4:X  d   eg )Nl   V=0(Lr7   ri   r]   )rN   rO   rP   normalr   r`   r)   shaperV   rz   r|   r~   )rT   r   rJ   r'   r(   rW   r   s          rX   test_shapesTestDunnett.test_shapes  s     ii##$67**9b/*2**"*%mmW3?}}""yl222zzI<///$$&vv||	|+++ww}},,,r[    N)G__name__
__module____qualname____firstlineno__	samples_1	control_1pvalue_1p_1_twosidedp_1_greaterp_1_lessstatistic_1ci_1_twosidedci_1_greater	ci_1_lessdict	pvalues_1cis_1case_1	samples_2	control_2pvalue_2p_2_twosidedp_2_greaterp_2_lessstatistic_2ci_2_twosidedci_2_greater	ci_2_less	pvalues_2cis_2case_2r   r   pvalue_3p_3_twosidedp_3_greaterp_3_lessstatistic_3ci_3_twosidedci_3_greater	ci_3_less	pvalues_3cis_3case_3	samples_4	control_4pvalue_4p_4_twosidedp_4_greaterp_4_lessstatistic_4ci_4_twosidedci_4_greater	ci_4_less	pvalues_4cis_4case_4r   markparametrizerY   rb   rs   r   r   r   r   r   filterwarningsr   __static_attributes__r   r[   rX   r   r      sk   F	
 	?	t		II @H=L@K/H?K<:;M9L5Il;OI-iNE)Y+#0F *+LMI4IHy)Li(K!HG$K&8%79M$o6L /2Il;OI-iNE)Y+#0F |\:II'H1L0K*H.KKJLMILEIl;OI-iNE)Y+#0F &'@AI)IHW%LG$K!HH%K&(89%79M$&68L /2Il;OI-iNE)Y+#0F [[; 0///////!R$d|Y?11111111!R$d|[A+	
40540 [[-	8[9	8[9	8[9	8[9		
BB [[(J	J, [[aVA1a&!	
))> [[Vffff%EF[[],LM N G< [[],LM$ N$.% 8D [[ FG[[[)4	- 5 H	-r[   r   )r   numpyrN   r   numpy.testingr   scipyr   scipy.stats._multicompr   r   r   r   r[   rX   <module>r      s#       )  AJ- J-r[   