Ë
    ÷Q(hã  ã                   óð   — d dl mZ d dlZd dlZd dlmZmZ d dlm	Z
 d dlmZ d„ Zd„ Zd„ Zej                   j#                  d	g d
¢«      d„ «       Zd„ Zej                   j#                  dddg«      d„ «       Zy)é    )ÚMockN)Úassert_allcloseÚassert_array_almost_equal)Ú_mds)Úeuclidean_distancesc                  ó   — t        j                  g d¢g d¢g d¢g d¢g«      } t        j                  ddgddgd	d
gddgg«      }t        j                  | |ddd¬«      \  }}t        j                  ddgddgddgddgg«      }t	        ||d¬«       y )N©r   é   é   é   ©r
   r   é   r   ©r   r   r   é   ©r   r   r   r   ç /Ý$Ñ¿çsh‘í|?á¿gw¾Ÿ/ÝÜ?gTã¥›Ä Ð?çü©ñÒMb�?çX9´ÈvÎ¿çš™™™™™É¿çøSã¥›Äà?r   r   )ÚinitÚn_componentsÚmax_iterÚn_initg¤p=
×£ö¿gøSã¥›ÄÀgTã¥›Ä ú?gƒÀÊ¡E¶ñ?g¬Zd;ßÏ?gôýÔxé&±¿gÁÊ¡E¶óÝ¿gL7‰A`åö?r   )Údecimal)ÚnpÚarrayÚmdsÚsmacofr   )ÚsimÚZÚXÚ_ÚX_trues        ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/manifold/tests/test_mds.pyÚtest_smacofr'      s–   € ô �(‰(’L¢,²ºlÐKÓ
L€CÜ
�‰�6˜6Ð" U¨E N°U¸F°OÀfÈeÀ_ÐUÓV€AÜ�:‰:�c °¸AÀaÔH�D€A€qÜ�X‰XØ
�&Ð	˜E 5˜>¨E°6¨?¸VÀU¸OÐLó€Fô ˜a °Ö3ó    c                  ó˜  — t        j                  g d¢g d¢g d¢g d¢g«      } t        j                  t        «      5  t        j                  | «       d d d «       t        j                  g d¢g d¢g d¢g«      } t        j                  t        «      5  t        j                  | «       d d d «       t        j                  g d¢g d¢g d¢g d¢g«      } t        j                  ddgdd	gd
dgg«      }t        j                  t        «      5  t        j                  | |d¬«       d d d «       y # 1 sw Y   ŒØxY w# 1 sw Y   Œ�xY w# 1 sw Y   y xY w)N)r   r
   é	   r   r   r   r   r	   r   r   r   r   r   r   r   )r   r   ©r   r   ÚpytestÚraisesÚ
ValueErrorr   r    )r!   r"   s     r&   Útest_smacof_errorr/      sù   € ä
�(‰(’L¢,²ºlÐKÓ
L€Cä	�‰”zÓ	"ñ Ü�
‰
�3Œ÷ô �(‰(’L¢,²Ð=Ó
>€Cä	�‰”zÓ	"ñ Ü�
‰
�3Œ÷ô �(‰(’L¢,²ºlÐKÓ
L€Cä
�‰�6˜6Ð" U¨F O°f¸e°_ÐEÓF€AÜ	�‰”zÓ	"ñ *Ü�
‰
�3˜Q qÕ)÷*ð *÷ð ú÷ð ú÷*ð *ús#   »D(ÂD4ÄE Ä(D1Ä4D=Å E	c                  ó˜   — t        j                  g d¢g d¢g d¢g d¢g«      } t        j                  ddd¬«      }|j	                  | «       y )	Nr	   r   r   r   Fr   Úprecomputed)ÚmetricÚn_jobsÚdissimilarity)r   r   r   ÚMDSÚfit)r!   Úmds_clfs     r&   Útest_MDSr8   ,   s7   € Ü
�(‰(’L¢,²ºlÐKÓ
L€CÜ�g‰g˜U¨1¸MÔJ€GØ‡K�K�Õr(   Úk)g      à?g      ø?r   c                 óô   — t        j                  g d¢g d¢g d¢g d¢g«      }t        j                  |ddd¬«      \  }}t        j                  | |z  ddd¬«      \  }}t	        ||d	¬
«       t	        ||d	¬
«       y)z>Test that non-metric MDS normalized stress is scale-invariant.r	   r   r   r   Fr
   r   )r2   r   Úrandom_stategñhãˆµøä>)ÚrtolN)r   r   r   r    r   )r9   r!   ÚX1Ústress1ÚX2Ústress2s         r&   Útest_normed_stressrA   2   sg   € ô �(‰(’L¢,²ºlÐKÓ
L€Cä—*‘*˜S¨¸ÈÔK�K€BˆÜ—*‘*˜Q ™W¨U¸QÈQÔO�K€Bˆä�G˜W¨4Õ0Ü�B˜ Ö&r(   c                  óÚ   — d} t        j                  g d¢g d¢g d¢g d¢g«      }t        j                  t        | ¬«      5  t        j                  |dd¬«       d	d	d	«       y	# 1 sw Y   y	xY w)
z^
    Test that a UserWarning is emitted when using normalized stress with
    metric-MDS.
    z"Normalized stress is not supportedr	   r   r   r   )ÚmatchT)r2   Únormalized_stressNr+   )Úmsgr!   s     r&   Útest_normalize_metric_warningrF   >   sS   € ð
 /€CÜ
�(‰(’L¢,²ºlÐKÓ
L€CÜ	�‰”z¨Ô	-ñ =Ü�
‰
�3˜t°tÕ<÷=÷ =ñ =ús   ¿A!Á!A*r2   TFc                 ó´  — t         j                  j                  d«      }|j                  dd«      }t	        |«      }t        t        j                  ¬«      }|j                  d|«       t        j                  | d|¬«      }|j                  |«       |j                  d   d	   | k7  sJ ‚t        j                  || d|¬«       |j                  d   d	   | k7  sJ ‚y )
Nr   r   r   )Úside_effectz$sklearn.manifold._mds._smacof_singleÚauto)r2   rD   r;   r   rD   )r   ÚrandomÚRandomStateÚrandnr   r   r   Ú_smacof_singleÚsetattrr5   Úfit_transformÚ	call_argsr    )r2   ÚmonkeypatchÚrngr#   ÚdistÚmockÚests          r&   Útest_normalized_stress_autorV   I   s¼   € ä
�)‰)×
Ñ
 Ó
"€CØ�	‰	�!�Q‹€AÜ˜qÓ!€DäœC×.Ñ.Ô/€DØ×ÑÐ>ÀÔEä
�'‰'˜°6ÈÔ
L€CØ×Ñ�aÔØ�>‰>˜!ÑÐ0Ñ1°VÒ;Ð;Ð;ä‡J�Jˆt˜F°fÈ3ÕOØ�>‰>˜!ÑÐ0Ñ1°VÒ;Ð;Ñ;r(   )Úunittest.mockr   Únumpyr   r,   Únumpy.testingr   r   Úsklearn.manifoldr   r   Úsklearn.metricsr   r'   r/   r8   ÚmarkÚparametrizerA   rF   rV   © r(   r&   ú<module>r_      sy   ðÝ ã Û ß Då (Ý /ò	4ò*ò*ð ‡�×Ñ˜šmÓ,ñ'ó -ð'ò=ð ‡�×Ñ˜ D¨% =Ó1ñ<ó 2ñ<r(   