+
    LV-jµ   ã                   ó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   &  Úk/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/stats/tests/test_mgc.pyÚtest_error_notndarrayÚ*TestMGCErrorWarnings.test_error_notndarray   s>   € ä�IŠI�b‹MˆØˆ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>   € ä�IŠI�c‹N×"Ñ" 2 qÓ)ˆØ�I‰I�b˜"ÓˆÜ”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.   € ä�IŠI�a‹LˆÜ�IŠI�a‹LˆÜ”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   € ä�IŠI�b¤Ô&ˆÜ�v‰vˆˆ!‰Ü”j¤%×"<Ñ"<¸aÔCä�IŠI�b‹MˆÜ”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,   € ä�IŠI�b‹MˆØÐÜ”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%   € ô �IŠI�b‹MˆÜ”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(   € ä�IŠI�b‹MˆØˆÜ”^¤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   € ä�IŠI�b‹MˆÜ�GŠG�B‹Kœ"Ÿ&™&Õ ˆÜ”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# )iâúxKN)r   ÚrandomÚdefault_rngÚrng)r   s   &r   Úsetup_methodÚTestMGCStat.setup_methodI   s   € Ü—9‘9×(Ñ(¨Ó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MŸV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MËV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Ú  € Ø�oˆo�T—X‘Xˆà�xÔØ—‘˜B ¨°¨
�Ó3ˆAØ�C˜#Ÿ*™*¨1¯6©6°1¨+˜*Ó6Õ6Õ6ŠAð ˜Ô$Ü—8’8˜DŸH™H×,Ñ,¨Q°¸À¸
Ð,ÓCÓDˆDØ”r—v’vœbŸe™e d�lÓ+Õ+ˆAØœŸšœrŸu™u t�|Ó,Õ,Ø�T—X‘X—_‘_¨1¯6©6°1¨+�_Ó6Õ6õ7‰Að ˜Ô'Ø—‘×(Ñ(¨u°a¨jÐ(Ó9ˆAØ—‘×(Ñ(¨u°a¨jÐ(Ó9ˆAØ—(‘(×#Ñ# A¨°E¸1°:Ð#Ó>ˆCØ—(‘(×#Ñ# A¨°E¸1°:Ð#Ó>ˆCØ�!•�a˜•e•˜a•ˆAØ�!•�a˜•e•˜a•‰Aô ð ,ó -ð -ð �!Œ8ØŸ™×1Ñ1¸ÀA½v°Ð1ÓGˆJÜ—’ ˜°QÔ7ˆAàˆ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       \        Wƒ4       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   € ô �i‰i×#Ñ# JÓ/ˆØ× Ñ  s°¸XÐ ÓO‰ˆô  ×4Ò4°QÈÔL‰ˆ�aÜ˜Ô'Ü˜Ö+r   c                óÒ   € \         P                  P                  R 4      pV P                  ^d^WR7      w  rV\        P
                  ! WVVR7      w  rxp	\        Wr4       \        Wƒ4       R# rs   rv   rw   s
   &&&&      r   Ú
test_fivedÚTestMGCStat.test_fived�   sY   € ô �i‰i×#Ñ# JÓ/ˆØ× Ñ  s°¸XÐ ÓO‰ˆô  ×4Ò4°QÈÔ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      ð?©Úsignificantçü©ñÒMbP?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½   € ð �H‰H×Ñ˜c 3¨XÐÓ6ˆØ�H‰H×$Ñ$¨'Ð$Ó2ˆô  ×4Ò4°QÈÏÉÔQ‰ˆ�aÜ˜D #°1Õ5Ü˜F E°qÕ9ð �H‰H×$Ñ$¨(Ð$Ó3ˆô  ×4Ò4°QÀdØBFÇ(Á(ôL‰ˆ�aä˜D #°1Õ5Ü˜F E°q×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Ò4°QÀ1ØBFÇ(Á(ôL‰ˆ�aä˜D $°AÕ6Ü˜F E°q×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Ò4°QÈÔJ‰ˆ�aÜ˜D $°AÕ6Ü˜F E°q×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 ;Ô/ˆä$)×$>Ò$>¸uØPTØLMô%OÑ!ˆ	 ô 	˜I u¸!Õ<Ü˜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Ô>ˆÜ�S—X‘X˜sŸ}™}Ö-r   )rS   )r   é   Ú N))rW   gÜ@%]ï?ç�Ü£'^P?)rZ   gä¤—.Ã?r¨   )r[   goØz_ù=p¿g‚ÃnLìÝ?)rW   g´íºxO¶È?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   