o
    \i                     @   s   d dl Z d dlZd dlZd dlmZ d dlmZ dd Zdd Z	ej
dd	ej
d
ddd Zej
dd	dd Zdd ZdS )    N)	_QuadTree)check_random_statec                  C   s   g } |  tjddgddggtjd |  tjddgddggtjd |  tjddgddggtjd |  tjddgd	dggtjd | D ]}td
dd}|| |  qHd S )N   dtyper   gưgư>gо   n_dimensionsverboseappendnparrayfloat32r   
build_tree_check_coherenceXsXtree r   /var/www/www-root/data/www/176.119.141.140/sports-predictor/venv/lib/python3.10/site-packages/sklearn/neighbors/tests/test_quad_tree.py"test_quadtree_boundary_computation
   s   """"

r   c                  C   s@  g } |  tjddgddggtjd |  tjddgddggtjd |  tjd	dgd
dggtjd |  tjddgddggtjd |  tjddgddggtjd |  tjd	dgd
dggtjd |  tjddgddggtjd |  tjddgddggtjd | D ]}tddd}|| |  qd S )Nr   r
         r   g      ?g       @g      @grZ|
 ?g㈵ ?g9b->  @grZ|
  @g 9?g 9?r   r   r   r   r   r   r   test_quadtree_similar_point   s    """""""

r   r   )r
   r   protocol)r   r   r
   c           
      C   sr   t d}|d| f}t| dd}|| tj||d}t|}|D ]}||}||}	||	ks6J q$d S )Nr   
   r   )r   )r   random_sampler   r   pickledumpsloadsget_cell)
r   r   rngr   r   sbt2xcell_x_tree
cell_x_bt2r   r   r   test_quad_tree_pickle?   s   



r,   c           
      C   s   t d}|d| f}tj||d d f }t| dd}|| |j}|j}t|D ]\}}|	|}	||	 s:J ||	 d|dk  ksFJ q+d S )Nr   r       r   r   )
r   r!   r   r_r   r   cumulative_sizeleafs	enumerater%   )
r   r&   r   Xdr   r/   r0   ir)   cell_idr   r   r   test_qt_insert_duplicateR   s   

r5   c                  C   s  d} t jddgddgddgddggt jd}|dd d f }|jd }|d }t|dd	}|| |||| \}}|| }||d  }	|dd  jdd
}
|d |
 d  }||ks_J |	dksjJ d	|	t 
||srJ |||d\}}|dd  jdd
}
|d |
 d  }|d| ksJ tdD ]5}||| |  }||| | d  }	|d ||d   d  }|	dksJ d	|	t 
||sJ qd S )Ng?g      $g      "@g      $@r   r   r   r
   )r   )axisr   zsummary size = {}g        )r   r   r   shaper   r   _py_summarizemeansumformatiscloserange)angler   query_ptr   offsetqtidxsummary	node_dist	node_size
barycenterds2cr3   r   r   r   test_summarizef   s8   

rH   )r"   numpyr   pytestsklearn.neighbors._quad_treer   sklearn.utilsr   r   r   markparametrizer,   r5   rH   r   r   r   r   <module>   s    "
