Ë
    ÷Q(hø  ã                   ó  — d dl Z d dlZd dlZd dlmZ d dlmZ d„ Zd„ Z	ej                  j                  dd«      ej                  j                  dd	«      d
„ «       «       Zej                  j                  dd«      d„ «       Zd„ Zy)é    N)Ú	_QuadTree)Úcheck_random_statec                  óB  — g } | j                  t        j                  ddgddggt        j                  ¬«      «       | j                  t        j                  ddgddggt        j                  ¬«      «       | j                  t        j                  ddgddggt        j                  ¬«      «       | j                  t        j                  ddgd	dggt        j                  ¬«      «       | D ]0  }t	        d
d¬«      }|j                  |«       |j                  «        Œ2 y )Néÿÿÿÿé   éüÿÿÿ©Údtyper   éþÿÿÿg�íµ ÷Æ°¾g�íµ ÷Æ°>g�íµ ÷ÆÐ¾é   ©Ún_dimensionsÚverbose©ÚappendÚnpÚarrayÚfloat32r   Ú
build_treeÚ_check_coherence©ÚXsÚXÚtrees      úd/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/neighbors/tests/test_quad_tree.pyÚ"test_quadtree_boundary_computationr   
   sÜ   € à	€Bð ‡I�IŒb�h‰h˜˜Q˜ " b Ð*´"·*±*Ô=Ô>à‡I�IŒb�h‰h˜˜A˜  A Ð'¬r¯z©zÔ:Ô;à‡I�IŒb�h‰h˜˜R˜ 2 q 'Ð*´"·*±*Ô=Ô>à‡I�IŒb�h‰h˜ ˜¨¨u ~Ð6¼b¿j¹jÔIÔJàò  ˆÜ a°Ô3ˆØ�‰˜ÔØ×ÑÕñ ó    c                  ó  — g } | j                  t        j                  ddgddggt        j                  ¬«      «       | j                  t        j                  ddgddggt        j                  ¬«      «       | j                  t        j                  d	dgd
dggt        j                  ¬«      «       | j                  t        j                  ddgddggt        j                  ¬«      «       | j                  t        j                  ddgddggt        j                  ¬«      «       | j                  t        j                  d	dgd
dggt        j                  ¬«      «       | j                  t        j                  ddgddggt        j                  ¬«      «       | j                  t        j                  ddgddggt        j                  ¬«      «       | D ]0  }t	        dd¬«      }|j                  |«       |j                  «        Œ2 y )Nr   r   é   é   r	   g      ð?g       @g      @grÄZ|
 ð?gãˆµø ð?g9b->  @grÄZ|
  @g°¿à 9?g´ÓÀ 9?r   r   r   r   s      r   Útest_quadtree_similar_pointr!      s�  € ð 
€Bð ‡I�IŒb�h‰h˜˜A˜  A Ð'¬r¯z©zÔ:Ô;à‡I�IŒb�h‰h˜˜c˜
 S¨# JÐ/´r·z±zÔBÔCà‡I�IŒb�h‰h˜ #˜¨°#¨Ð7¼r¿z¹zÔJÔKà‡I�IŒb�h‰h˜˜c˜
 S¨# JÐ/´r·z±zÔBÔCà‡I�IŒb�h‰h˜˜g˜¨¨g¨Ð7¼r¿z¹zÔJÔKà‡I�IŒb�h‰h˜ 'Ð*¨W°gÐ,>Ð?ÄrÇzÁzÔRÔSð ‡I�IŒb�h‰h˜˜OÐ,¨q°/Ð.BÐCÌ2Ï:É:ÔVÔWð ‡I�IÜ
�‰�? CÐ(¨?¸CÐ*@ÐAÌÏÉÔTôð ò  ˆÜ a°Ô3ˆØ�‰˜ÔØ×ÑÕñ r   r   )r   r   Úprotocol)r   r   r   c                 ó4  — t        d«      }|j                  d| f«      }t        | d¬«      }|j                  |«       t	        j
                  ||¬«      }t	        j                  |«      }|D ]+  }|j                  |«      }|j                  |«      }	||	k(  rŒ+J ‚ y )Nr   é
   r   )r"   )r   Úrandom_sampler   r   ÚpickleÚdumpsÚloadsÚget_cell)
r   r"   Úrngr   r   ÚsÚbt2ÚxÚcell_x_treeÚ
cell_x_bt2s
             r   Útest_quad_tree_pickler0   ?   s�   € ô ˜QÓ
€Cà×Ñ˜2˜|Ð,Ó-€Aä ,¸Ô:€DØ‡O�O�AÔä�‰�T HÔ-€AÜ
�,‰,�q‹/€Càò )ˆØ—m‘m AÓ&ˆØ—\‘\ !“_ˆ
Ø˜jÓ(Ð(Ð(ñ)r   c                 óR  — t        d«      }|j                  d| f«      }t        j                  ||d d f   }t	        | d¬«      }|j                  |«       |j                  }|j                  }t        |«      D ]-  \  }}|j                  |«      }	||	   sJ ‚||	   d|dk  z   k(  rŒ-J ‚ y )Nr   r$   é   r   r   )
r   r%   r   Úr_r   r   Úcumulative_sizeÚleafsÚ	enumerater)   )
r   r*   r   ÚXdr   r4   r5   Úir-   Úcell_ids
             r   Útest_qt_insert_duplicater:   R   s²   € ä
˜QÓ
€Cà×Ñ˜2˜|Ð,Ó-€AÜ	�‰ˆq�!�B�Q�%ˆx‰€BÜ ,¸Ô:€DØ‡O�O�BÔà×*Ñ*€OØ�J‰J€Eô ˜!“ò 7‰ˆˆ1Ø—-‘- Ó"ˆØ�WŠ~Ðˆ~Ø˜wÑ'¨1°°A±©;Ó6Ð6Ð6ñ7r   c                  óˆ  — d} t        j                  ddgddgddgddggt         j                  ¬«      }|dd d …f   }|j                  d   }|dz   }t	        |d¬	«      }|j                  |«       |j                  ||| «      \  }}||   }||dz      }	|dd  j                  d¬
«      }
|d   |
z
  dz  j                  «       }||k(  sJ ‚|	dk(  sJ dj                  |	«      «       ‚t        j                  ||«      sJ ‚|j                  ||d«      \  }}|dd  j                  d¬
«      }
|d   |
z
  dz  j                  «       }|d|z  k(  sJ ‚t        d«      D ]m  }|||z  |z      }|||z  |z   dz      }	|d   ||dz      z
  dz  j                  «       }|	dk(  sJ dj                  |	«      «       ‚t        j                  ||«      rŒmJ ‚ y )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Úds2cr8   s                r   Útest_summarizerN   f   s	  € ð €EÜ
�‰Ø
�ˆ˜#˜t˜ t¨S k°D¸$°<Ð@ÌÏ
É
ô	€Að �’A�‰w€HØ—7‘7˜1‘:€LØ˜AÑ€Fä	�<¨Ô	+€BØ‡M�M�!Ôà×#Ñ# H¨a°Ó7�L€Cˆà˜Ñ%€IØ˜ qÑ(Ñ)€Ið �1�2�—‘ �Ó#€JØˆq‰T�JÑ 1Ñ$×)Ñ)Ó+€Dà�&Š=Ðˆ=Ø˜Š>Ð@Ð.×5Ñ5°iÓ@Ó@ˆ>Ü�:‰:�i Ô&Ð&Ð&ð ×#Ñ# H¨a°Ó5�L€CˆØ�1�2�—‘ �Ó#€JØˆq‰T�JÑ 1Ñ$×)Ñ)Ó+€Dà�!�v‘,ÒÐÐÜ�1‹Xò +ˆØ˜A ™J¨Ñ5Ñ6ˆ	Ø˜A ™J¨Ñ5¸Ñ9Ñ:ˆ	à�1‘˜˜!˜a™%™‘ QÑ&×+Ñ+Ó-ˆà˜AŠ~ÐDÐ2×9Ñ9¸)ÓDÓDˆ~Ü�z‰z˜) TÕ*Ð*Ð*ñ+r   )r&   Únumpyr   ÚpytestÚsklearn.neighbors._quad_treer   Úsklearn.utilsr   r   r!   ÚmarkÚparametrizer0   r:   rN   © r   r   ú<module>rV      s‡   ðÛ ã Û å 2Ý ,ò ò& ðD ‡�×Ñ˜¨Ó0Ø‡�×Ñ˜ YÓ/ñ)ó 0ó 1ð)ð" ‡�×Ñ˜¨Ó0ñ7ó 1ð7ó&*+r   