Ë
    ÷Q(hÛ  ã                   ó¢   — d dl Zd dlZd dlm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	eeg«      d
„ «       Zy)é    N)Úeuclidean_distances)ÚKNeighborsTransformerÚRadiusNeighborsTransformer)Ú_is_sorted_by_data)Úassert_array_equalc                  ó\  — d} d}d}d}t         j                  j                  d«      }|j                  ||«      }|j                  ||«      }t        j                  t        |«      d«      }dD ]Ü  }|dk(  }	t        | |¬«      }
|
j                  |«      }|j                  ||fk(  sJ ‚|j                  j                  || |	z   z  fk(  sJ ‚|j                  d	k(  sJ ‚t        |«      sJ ‚|
j                  |«      }|j                  ||fk(  sJ ‚|j                  j                  || |	z   z  fk(  sJ ‚|j                  d	k(  sJ ‚t        |«      rŒÜJ ‚ dD ]Ü  }|dk(  }	t        ||¬
«      }
|
j                  |«      }|j                  ||fk(  sJ ‚|j                  j                  || |	z   z  fk(  rJ ‚|j                  d	k(  sJ ‚t        |«      sJ ‚|
j                  |«      }|j                  ||fk(  sJ ‚|j                  j                  || |	z   z  fk(  rJ ‚|j                  d	k(  sJ ‚t        |«      rŒÜJ ‚ y )Né   é   é   é
   é*   )ÚdistanceÚconnectivityr   )Ún_neighborsÚmodeÚcsr)Úradiusr   )ÚnpÚrandomÚRandomStateÚrandnÚ
percentiler   r   Úfit_transformÚshapeÚdataÚformatr   Ú	transformr   )r   Ún_samples_fitÚ	n_queriesÚ
n_featuresÚrngÚXÚX2r   r   Úadd_oneÚnntÚXtÚX2ts                ú`/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/neighbors/tests/test_graph.pyÚtest_transformer_resultr)   
   sR  € à€KØ€MØ€IØ€Jä
�)‰)×
Ñ
 Ó
#€CØ�	‰	�- Ó,€AØ	�‰�9˜jÓ	)€BÜ�]‰]Ô.¨qÓ1°2Ó6€Fð -ò 'ˆØ˜*Ñ$ˆÜ#°À$ÔGˆØ×Ñ˜qÓ!ˆØ�x‰x˜M¨=Ð9Ò9Ð9Ð9Ø�w‰w�}‰} °+ÀÑ2GÑ!HÐ JÒJÐJÐJØ�y‰y˜EÒ!Ð!Ð!Ü! "Ô%Ð%Ð%à�m‰m˜BÓˆØ�y‰y˜Y¨Ð6Ò6Ð6Ð6Ø�x‰x�~‰~ )¨{¸WÑ/DÑ"EÐ!GÒGÐGÐGØ�z‰z˜UÒ"Ð"Ð"Ü! #Õ&Ð&Ð&ð'ð  -ò 'ˆØ˜*Ñ$ˆÜ(°¸TÔBˆØ×Ñ˜qÓ!ˆØ�x‰x˜M¨=Ð9Ò9Ð9Ð9Ø—7‘7—=‘= ]°kÀGÑ6KÑ%LÐ$NÒNÐNÐNØ�y‰y˜EÒ!Ð!Ð!Ü! "Ô%Ð%Ð%à�m‰m˜BÓˆØ�y‰y˜Y¨Ð6Ò6Ð6Ð6Ø—8‘8—>‘> i°;ÀÑ3HÑ&IÐ%KÒKÐKÐKØ�z‰z˜UÒ"Ð"Ð"Ü! #Õ&Ð&Ð&ñ'ó    c                 ó¤   — | j                  «       } | j                  | j                  | j                  k(     }t        |«      | j                  d   k(  S )z0Return True if the diagonal is explicitly storedr   )ÚtocooÚrowÚcolÚlenr   )r"   Úexplicits     r(   Ú_has_explicit_diagonalr1   7   s>   € à	�‰‹	€AØ�u‰u�Q—U‘U˜aŸe™e‘^Ñ$€HÜˆx‹=˜AŸG™G A™JÑ&Ð&r*   c                  ó^  — d} d\  }}}t         j                  j                  d«      }|j                  ||«      }|j                  ||«      }t	        | ¬«      }|j                  |«      }t        |«      sJ ‚t        j                  |j                  j                  || dz   «      d d …df   dk(  «      sJ ‚|j                  |«      }t        |«      sJ ‚t        j                  |j                  j                  || dz   «      d d …df   dk(  «      sJ ‚|j                  |«      }	t        |	«      rJ ‚y )Nr	   )r
   r   r   r   )r   é   r   )r   r   r   r   r   r   r1   Úallr   Úreshaper   )
r   r   Ún_samples_transformr    r!   r"   r#   r%   r&   r'   s
             r(   Útest_explicit_diagonalr7   >   s  € à€KØ5?Ñ2€MÐ&¨
Ü
�)‰)×
Ñ
 Ó
#€CØ�	‰	�- Ó,€AØ	�‰Ð&¨
Ó	3€Bä
¨KÔ
8€CØ	×	Ñ	˜1Ó	€BÜ! "Ô%Ð%Ð%Ü�6‰6�"—'‘'—/‘/ -°¸q±ÓAÂ!ÀQÀ$ÑGÈ1ÑLÔMÐMÐMà	�‰�qÓ	€BÜ! "Ô%Ð%Ð%Ü�6‰6�"—'‘'—/‘/ -°¸q±ÓAÂ!ÀQÀ$ÑGÈ1ÑLÔMÐMÐMð �-‰-˜Ó
€CÜ% cÔ*Ð*Ð*Ð*r*   ÚKlassc                 ó�  — d}d}t         j                  j                  d«      }|j                  ||«      } | «       j	                  |«      }|j                  «       }| j                  j                  «       }t        j                  t        |j                  «      D �cg c]  }|› |› �‘Œ
 c}t        ¬«      }	t        ||	«       yc c}w )zFCheck `get_feature_names_out` for transformers defined in `_graph.py`.r
   r   r   )ÚdtypeN)r   r   r   r   ÚfitÚget_feature_names_outÚ__name__ÚlowerÚarrayÚrangeÚn_samples_fit_Úobjectr   )
r8   r   r    r!   r"   ÚestÚ	names_outÚclass_name_lowerÚiÚexpected_names_outs
             r(   Útest_graph_feature_names_outrH   T   s«   € ð €MØ€JÜ
�)‰)×
Ñ
 Ó
#€CØ�	‰	�- Ó,€Aá
‹'�+‰+�a‹.€CØ×)Ñ)Ó+€Ià—~‘~×+Ñ+Ó-ÐÜŸ™Ü+0°×1CÑ1CÓ+DÖE aÐÐ˜a˜SÒ	!ÒEÜôÐô �yÐ"4Õ5ùò 	Fs   ÂC)Únumpyr   ÚpytestÚsklearn.metricsr   Úsklearn.neighborsr   r   Úsklearn.neighbors._baser   Úsklearn.utils._testingr   r)   r1   r7   ÚmarkÚparametrizerH   © r*   r(   ú<module>rR      sT   ðÛ Û å /ß OÝ 6Ý 5ò*'òZ'ò+ð, ‡�×Ñ˜Ð#8Ð:TÐ"UÓVñ6ó Wñ6r*   