
    -i                         S SK rS SKrS SKJr  S SKJrJr  S SKJ	r	  S SK
Jr  S rS rS r\R                  R!                  S	\\/5      S
 5       rg)    N)euclidean_distances)KNeighborsTransformerRadiusNeighborsTransformer)_is_sorted_by_data)assert_array_equalc                     Sn SnSnSn[         R                  R                  S5      nUR                  X5      nUR                  X#5      n[         R                  " [        U5      S5      nS H  nUS:H  n	[        XS9n
U
R                  U5      nUR                  X4:X  d   eUR                  R                  XU	-   -  4:X  d   eUR                  S	:X  d   e[        U5      (       d   eU
R                  U5      nUR                  X!4:X  d   eUR                  R                  X U	-   -  4:X  d   eUR                  S	:X  d   e[        U5      (       a  M   e   S H  nUS:H  n	[        XxS
9n
U
R                  U5      nUR                  X4:X  d   eUR                  R                  XU	-   -  4:X  a   eUR                  S	:X  d   e[        U5      (       d   eU
R                  U5      nUR                  X!4:X  d   eUR                  R                  X U	-   -  4:X  a   eUR                  S	:X  d   e[        U5      (       a  M   e   g )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                U/var/www/html/venv/lib/python3.13/site-packages/sklearn/neighbors/tests/test_graph.pytest_transformer_resultr)   
   s<   KMIJ
))


#C		-,A	9	)B]].q126F -*$#Gq!xxM9999ww}}2G!H JJJJyyE!!!!"%%%%mmByyY6666xx~~)W/D"E!GGGGzzU"""!#&&&& -  -*$(Bq!xxM999977==]G6K%L$NNNNyyE!!!!"%%%%mmByyY666688>>i3H&I%KKKKzzU"""!#&&&& -    c                     U R                  5       n U R                  U R                  U R                  :H     n[        U5      U R                  S   :H  $ )z0Return True if the diagonal is explicitly storedr   )tocoorowcollenr   )r"   explicits     r(   _has_explicit_diagonalr1   7   s>    		AuuQUUaee^$Hx=AGGAJ&&r*   c                     Sn Su  pn[         R                  R                  S5      nUR                  X5      nUR                  X#5      n[	        U S9nUR                  U5      n[        U5      (       d   e[         R                  " UR                  R                  XS-   5      S S 2S4   S:H  5      (       d   eUR                  U5      n[        U5      (       d   e[         R                  " UR                  R                  XS-   5      S S 2S4   S:H  5      (       d   eUR                  U5      n	[        U	5      (       a   eg )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   K5?2M

))


#C		-,A	&	3B
K
8C			1	B!"%%%%66"''//-qA!Q$G1LMMMM	q	B!"%%%%66"''//-qA!Q$G1LMMMM --
C%c*****r*   Klassc                    SnSn[         R                  R                  S5      nUR                  X5      nU " 5       R	                  U5      nUR                  5       nU R                  R                  5       n[         R                  " [        UR                  5       Vs/ s H  o U 3PM
     sn[        S9n	[        Xi5        gs  snf )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1C1C+DE+DaaS	!+DE y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*   