
    -i                     b    S SK rS SKrS SKJr  S SKJr  S SKJr  S SK	J
r
  S rS rS rS	 rS
 rg)    N)connected_components)pairwise_distances)kneighbors_graph)_fix_connected_componentsc                      [         R                  " / SQ5      S S 2S 4   n [        U SSS9n[        U5      u  p#US:  d   e[	        XX#5      n[        U5      u  p#US:X  d   eg )Nr                  r
   distancen_neighborsmoder	   )nparrayr   r   r   Xgraphn_connected_componentslabelss       Q/var/www/html/venv/lib/python3.13/site-packages/sklearn/utils/tests/test_graph.pytest_fix_connected_componentsr   
   sm    
#$QW-AQAJ?E%9%%@"!A%%%%a0FOE%9%%@"!Q&&&    c            	      T   [         R                  " / SQ5      S S 2S 4   n [        U SSS9n[        U5      u  p#US:  d   e[	        U 5      n[        XAX#SS9n[        U5      u  p#US:X  d   e[        R                  " [        SS	9   [        XX#SS9  S S S 5        g ! , (       d  f       g = f)
Nr   r
   r   r   r	   precomputed)metriczdoes not work with a sparsematch)	r   r   r   r   r   r   pytestraisesRuntimeError)r   r   r   r   	distancess        r   )test_fix_connected_components_precomputedr%      s    
#$QW-AQAJ?E%9%%@"!A%%%"1%I%0E &:%%@"!Q&&& 
|+H	I!0	
 
J	I	Is   B
B'c            	          [         R                  " / SQ5      S S 2S 4   n [        U SSS9n[        U5      u  p#[        R
                  " [        SS9   [        XX#SS9nS S S 5        g ! , (       d  f       g = f)	Nr   r
   r   r   zUnknown moder   foor   )r   r   r   r   r!   r"   
ValueErrorr   r   s       r   (test_fix_connected_components_wrong_moder*   /   sb    
#$QW-AQAJ?E%9%%@"	z	8),5
 
9	8	8s   A&&
A4c                      [         R                  " / SQ5      S S 2S 4   n [        U SSS9n[        U5      u  p#[	        XX#SS9n[         R
                  " UR                  S:H  5      (       d   eg )Nr   r	   r   r   r	   connectivityr   r(   )r   r   r   r   r   alldatar   s       r   /test_fix_connected_components_connectivity_moder0   ;   sf    
q$w'AQANCE%9%%@"%	(~E 66%**/""""r   c                  0   [         R                  " / SQ5      S S 2S 4   n [        U SSS9n[         R                  " UR                  S:H  5      (       d   e[        U5      u  p#[        XX#SS9n[         R                  " UR                  S:H  5      (       a   eg )Nr,   r	   r   r   r(   )r   r   r   r.   r/   r   r   r   s       r   +test_fix_connected_components_distance_moder2   F   s    
q$w'AQAJ?E66%**/""""%9%%@"%	(zE vvejjAo&&&&&r   )numpyr   r!   scipy.sparse.csgraphr   sklearn.metrics.pairwiser   sklearn.neighborsr   sklearn.utils.graphr   r   r%   r*   r0   r2    r   r   <module>r9      s0      5 7 . 9'
.	
#
'r   