+
    0i                      z    ^ RI t ^ RI HtHt ^ RIt^ RIHtH	t	H
t
 ^ RIHt ^ RIHt  ! R R4      t ! R R	4      tR# )
    N)raiseswarns)assert_approx_equalassert_allcloseassert_equal)cdist)statsc                      a  ] tR t^
t o RtR tR tR tR tR t	]
P                  P                  RRR.4      R	 4       tR
 tR tRtV tR# )TestMGCErrorWarningsz0Tests errors and warnings derived from MGC.
    c                    \         P                  ! ^4      p^.^,          p\        \        \        P
                  W4       \        \        \        P
                  W!4       R#    Nnparangeassert_raises
ValueErrorr	   multiscale_graphcorrselfxys   &  X/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/stats/tests/test_mgc.pytest_error_notndarray*TestMGCErrorWarnings.test_error_notndarray   s>    IIbMC"Hj%"<"<aCj%"<"<aC    c                    \         P                  ! ^d4      P                  ^^4      pVP                  ^
^
4      p\        \        \
        P                  W4       R# )d   N)r   r   reshaper   r   r	   r   r   s   &  r   test_error_shape%TestMGCErrorWarnings.test_error_shape   s>    IIcN""2q)IIb"j%"<"<aCr   c                    \         P                  ! ^4      p\         P                  ! ^4      p\        \        \        P
                  W4       R# )   Nr   r   s   &  r   test_error_lowsamples*TestMGCErrorWarnings.test_error_lowsamples   s.    IIaLIIaLj%"<"<aCr   c                   \         P                  ! ^\        R7      p\         P                  V^ &   \	        \
        \        P                  W4       \         P                  ! ^4      p\	        \
        \        P                  W4       R# )r   )dtypeN)r   r   floatnanr   r   r	   r   r   s   &  r   test_error_nans$TestMGCErrorWarnings.test_error_nans    sP    IIb&vv!j%"<"<aCIIbMj%"<"<aCr   c                x    \         P                  ! ^4      p^ p\        \        \        P
                  WVR7       R# )r   )compute_distanceNr   )r   r   r-   s   &  r   test_error_wrongdisttype-TestMGCErrorWarnings.test_error_wrongdisttype)   s,    IIbMj%"<"<a'7	9r   reps1c                t    \         P                  ! ^4      p\        \        \        P
                  W"VR7       R# r   )r0   Nr   )r   r0   r   s   && r   test_error_reps$TestMGCErrorWarnings.test_error_reps0   s%     IIbMj%"<"<aNr   c                x    \         P                  ! ^4      p^dp\        \        \        P
                  WVR7       R# r3   )r   r   assert_warnsRuntimeWarningr	   r   )r   r   r0   s   &  r   test_warns_reps$TestMGCErrorWarnings.test_warns_reps9   s(    IIbM^U%?%?DQr   c                    \         P                  ! ^4      p\         P                  ! ^4      \         P                  ,          p\	        \
        \        P                  W4       R# r   )r   r   onesinfr   r   r	   r   r   s   &  r   test_error_infty%TestMGCErrorWarnings.test_error_infty?   s7    IIbMGGBK"&& j%"<"<aCr    N)__name__
__module____qualname____firstlineno____doc__r   r    r$   r*   r.   pytestmarkparametrizer4   r9   r>   __static_attributes____classdictcell____classdict__s   @r   r   r   
   sk     DDDD9 [[V
& O	O
RD Dr   r   c                     a  ] tR t^Ft o RtR tRR lt]P                  P                  ]P                  P                  R. RO4      R 4       4       t]P                  P                  ]P                  P                  RRR.4      R 4       4       t]P                  P                  R 4       t]P                  P                  R	 4       t]P                  P                  R
 4       t]P                  P                  R 4       t]P                  P#                  ^4      ]P                  P$                  R 4       4       t]P                  P                  R 4       tRtV tR# )TestMGCStatz(Test validity of MGC test statistic
    c                N    \         P                  P                  R 4      V n        R# )ixKN)r   randomdefault_rngrng)r   s   &r   setup_methodTestMGCStat.setup_methodI   s    99((4r   Nc                   T;'       g    V P                   pVR 8X  dE   VP                  R
^V^3R7      pVRVP                  VP                  ^3R7      ,          ,           pEMVR8X  d   \        P
                  ! V P                   P                  ^ ^V^3R7      4      pV\        P                  ! \        P                  V,          4      ,          pV\        P                  ! \        P                  V,          4      ,          RV P                   P                  VP                  ^3R7      ,          ,           pMVR8X  d   V P                   P                  V^3R7      pV P                   P                  V^3R7      p	V P                   P                  ^RV^3R7      p
V P                   P                  ^RV^3R7      pV^,          ^V
,          ,           ^,
          pV	^,          ^V,          ,           ^,
          pM\        R4      hV^8  d>   V P                   P                  W^,
          3R7      p\        P                  ! W\3^R	7      pWV3# )linearsizeg333333?	nonlinearg?independence      ?)prY   z3sim_type must be linear, nonlinear, or independence)axisrA   )rS   uniformrQ   rY   r   arraycospisinstandard_normalbinomialr   concatenate)r   sampsdimssim_typerS   r   r   unifuvu_2v_2
dims_noises   &&&&&        r   _simulationsTestMGCStat._simulationsL   s   ooTXXxB
3AC#**1661+*666A $88DHH,,Q
,CDDrvvbeedl++Aruut|,,TXX__1661+_667A '((uaj(9A((uaj(9A((##AE1:#>C((##AE1:#>C!aeaA!aeaA  , - - !811Av1GJQ7Atr   zsim_type, obs_stat, obs_pvaluec                    \         P                  P                  R 4      pV P                  ^d^WR7      w  rV\        P
                  ! WVVR7      w  rxp	\        Wr4       \        W4       R# l   	=gL )rg   rh   ri   rS   random_stateNr   rQ   rR   rp   r	   r   r   
r   ri   obs_stat
obs_pvaluerS   r   r   statpvalue_s
   &&&&      r   	test_onedTestMGCStat.test_onedo   sY     ii##J/  sX O  44QLa'+r   c                    \         P                  P                  R 4      pV P                  ^d^WR7      w  rV\        P
                  ! WVVR7      w  rxp	\        Wr4       \        W4       R# rs   rv   rw   s
   &&&&      r   
test_fivedTestMGCStat.test_fived   sY     ii##J/  sX O  44QLa'+r   c                   V P                   P                  ^dRR
R7      pV P                   P                  RR7      p\        P                  ! WV P                   R7      w  r4p\        VR^R7       \        VR^R7       V P                   P                  R
R7      p\        P                  ! WRV P                   R7      w  r4p\        VR^R7       \        VR^R7       R	# )r   r\   rX   rt   g      ?significantMbP?T)
is_twosampru   N)r      )P   r   )rS   re   rd   r	   r   r   r   r   r   rz   r{   r|   s   &     r   test_twosampTestMGCStat.test_twosamp   s     HHc3X6HH$$'$2  44QQaD#15FEq9 HH$$($3  44QdBF((LaD#15FEq9r   c                    V P                  ^d^RR7      w  r\        P                  ! W^V P                  R7      w  r4p\	        VR^R7       \	        VR^R7       R# )r   rW   rg   rh   ri   )workersru   
ףp=
?r   r   N)rp   r	   r   rS   r   r   s   &     r   test_workersTestMGCStat.test_workers   sW       sX F  44Q1BF((LaD$A6FEq9r   c                    V P                  ^d^RR7      w  r\        P                  ! W^R7      w  r4p\        VR^R7       \        VR^R7       R# )r   rW   r   rt   r   r   r   N)rp   r	   r   r   r   s   &     r   test_random_stateTestMGCStat.test_random_state   sM       sX F  44QJaD$A6FEq9r   c                    V P                  ^d^RR7      w  r\        WRR7      p\        W"RR7      p\        P                  ! W4R^R7      w  rVp\	        VR^R7       \	        VR	^R7       R# )
r   rZ   r   	euclidean)metricN)r-   ru   gw/?r   r   )rp   r   r	   r   r   )r   r   r   distxdisty	stat_distpvalue_distr|   s   &       r   test_dist_permTestMGCStat.test_dist_perm   sm       s[ Ia;/a;/$)$>$>uPTLM%O!	 	Iu!<KA>r   c                    V P                  ^d^RR7      w  r\        P                  ! W^R7      w  r4p\        VR4       R# )r   rW   r   rt   Ng'^P?)rp   r	   r   r   )r   r   r   r|   r{   s   &    r   test_pvalue_literature"TestMGCStat.test_pvalue_literature   s?       sX F 11!QG1'r   c                    V P                  ^d^RR7      w  r\        P                  ! W^R7      p\        VP                  VP
                  4       R# )r   rW   r   rt   N)rp   r	   r   r   rz   	statistic)r   r   r   ress   &   r   
test_aliasTestMGCStat.test_alias   sA       sX F((A>SXXs}}-r   )rS   )r       N))rW   g@%]?ܣ'^P?)rZ   g.?r   )r[   goz_=pgnL?)rW   gxO?r   )rZ   g	W?g3m?)rB   rC   rD   rE   rF   rT   rp   rG   rH   xslowrI   r}   r   r   r   r   r   	fail_slowslowr   r   rJ   rK   rL   s   @r   rO   rO   F   sd    5!F [[[[= @ , , [[[[= 	35	@ , , [[: :& [[: : [[: : [[
? 
? [[2[[(  ( [[. .r   rO   )rG   r   r   r   r7   numpyr   numpy.testingr   r   r   scipy.spatial.distancer   scipyr	   r   rO   r@   r   r   <module>r      s3     A  L L ( 9D 9DxR. R.r   