ó
Ê½÷Xc           @` s¢  d  d l  m Z m Z m Z d  d l m Z m Z m Z m Z m	 Z	 m
 Z
 m Z d  d l Z d  d l m Z m Z m Z m Z d  d l m Z d  d l m Z d  d l Z d „  Z d d‚ d	 „  ƒ  YZ d
 e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ  d dƒ d „  ƒ  YZ! d d„ d „  ƒ  YZ" d d… d „  ƒ  YZ# d  e# f d! „  ƒ  YZ$ d" e# f d# „  ƒ  YZ% d$ e# f d% „  ƒ  YZ& d& e$ f d' „  ƒ  YZ' d( e% f d) „  ƒ  YZ( d* e& f d+ „  ƒ  YZ) d, e$ f d- „  ƒ  YZ* d. e% f d/ „  ƒ  YZ+ d0 e& f d1 „  ƒ  YZ, d2 e$ f d3 „  ƒ  YZ- d4 e% f d5 „  ƒ  YZ. d6 e& f d7 „  ƒ  YZ/ d8 e$ f d9 „  ƒ  YZ0 d: e& f d; „  ƒ  YZ1 d< „  Z2 d= „  Z3 d> „  Z4 d? d† d@ „  ƒ  YZ5 dA e5 f dB „  ƒ  YZ6 dC e5 f dD „  ƒ  YZ7 dE e5 f dF „  ƒ  YZ8 dG e6 f dH „  ƒ  YZ9 dI e7 f dJ „  ƒ  YZ: dK e8 f dL „  ƒ  YZ; dM e6 f dN „  ƒ  YZ< dO e7 f dP „  ƒ  YZ= dQ e8 f dR „  ƒ  YZ> dS d‡ dT „  ƒ  YZ? dU „  Z@ dV „  ZA dW „  ZB dX „  ZC dY dˆ dZ „  ƒ  YZD d[ eD f d\ „  ƒ  YZE d] eD f d^ „  ƒ  YZF d_ d‰ d` „  ƒ  YZG da eG f db „  ƒ  YZH dc eG f dd „  ƒ  YZI de „  ZJ df „  ZK dg „  ZL dh „  ZM di „  ZN dj „  ZO dk „  ZP dl „  ZQ dm „  ZR dn „  ZS do „  ZT dp „  ZU dq „  ZV dr „  ZW ds „  ZX dt „  ZY du „  ZZ dv „  Z[ dw „  Z\ dx „  Z] dy „  Z^ dz „  Z_ d{ „  Z` d| „  Za d} „  Zb d~ „  Zc d „  Zd d€ „  Ze ef d k rže ƒ  n  d S(Š   i    (   t   divisiont   print_functiont   absolute_import(   t   assert_equalt   assert_array_equalt   assert_almost_equalt   assert_array_almost_equalt   assert_t   assert_raisest   run_module_suiteN(   t   KDTreet	   Rectanglet   distance_matrixt   cKDTree(   t   cKDTreeNode(   t   minkowski_distancec         C` sT   |  | } | | d | k c | 8<| | d | k  c | 7<t  | d | ƒ } | S(   Ng      à?g      à¿i    (   R   (   t   at   bt   pt   boxsizet   difft   d(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   distance_box   s
    
t   ConsistencyTestsc           B` sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` s   t  | | | ƒ S(   N(   R   (   t   selfR   R   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   distance   s    c         C` s¥   |  j  } |  j j | d ƒ \ } } t | d t j | |  j | d ƒ ƒ d } t t j t j |  j | t j	 d  d  … f d d d ƒ| d | k ƒ ƒ d  S(   Ni   i   g:Œ0âŽyE>t   axis(
   t   xt   kdtreet   queryR   t   npt   sumt   dataR   t   allt   newaxis(   R   R   R   t   it   eps(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_nearest   s
    	)c         C` sÓ   |  j  } |  j } |  j j | | ƒ \ } } t j | ƒ } | t j | ƒ } t | d t j | |  j	 | d ƒ ƒ d } t
 t j t j |  j	 | t j d  d  … f d d d ƒ| d | k  ƒ | ƒ d  S(   Ni   g:Œ0âŽyE>R   i   (   R   t   mR   R   R   t   amaxt   argmaxR   R   R    R   R"   (   R   R   R&   t   ddt   iiR   R#   R$   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_m_nearest$   s    		)c   	      C` s  |  j  } |  j } |  j j | d |  j j d | ƒ\ } } d } d } x† t | | ƒ D]u \ } } | t j k ry qX n  | d 7} t | d t j	 | |  j
 | d ƒ ƒ t | | | k  d | | f ƒ qX Wt t j	 |  j |  j
 | d ƒ | d | k  ƒ | ƒ d  S(   Nt   kt   distance_upper_boundg:Œ0âŽyE>i    i   i   s    near_d=%g should be less than %g(   R   R   R   R   t   nt   zipR   t   infR   R   R    R   R   R   (	   R   R   R   R)   R*   R$   t   hitst   near_dt   near_i(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_points_near.   s    		*
)%c   	      C` s  |  j  } |  j } |  j j | d |  j j d d d | ƒ\ } } d } d } x€ t | | ƒ D]o \ } } | t j k r q^ n  | d 7} t | |  j	 | |  j
 | d ƒ ƒ t | | | k  d | | f ƒ q^ Wt t j |  j	 |  j
 | d ƒ | | k  ƒ | ƒ d  S(   NR,   R   i   R-   g:Œ0âŽyE>i    s    near_d=%g should be less than %g(   R   R   R   R   R.   R/   R   R0   R   R   R    R   R   R   (	   R   R   R   R)   R*   R$   R1   R2   R3   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_points_near_l1<   s    		0
#%c   	      C` s  |  j  } |  j } |  j j | d |  j j d t j d | ƒ\ } } d } d } xƒ t | | ƒ D]r \ } } | t j k r‚ qa n  | d 7} t | |  j	 | |  j
 | t j ƒ ƒ t | | | k  d | | f ƒ qa Wt t j |  j	 |  j
 | t j ƒ | | k  ƒ | ƒ d  S(   NR,   R   R-   g:Œ0âŽyE>i    i   s    near_d=%g should be less than %g(   R   R   R   R   R.   R   R0   R/   R   R   R    R   R   R   (	   R   R   R   R)   R*   R$   R1   R2   R3   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_points_near_linfJ   s    		3
&%c         C` sy   |  j  } |  j } d } |  j j | | ƒ \ } } |  j j | | d | ƒ\ } } t t j | | d | k ƒ ƒ d  S(   Ngš™™™™™¹?R$   i   (   R   R,   R   R   R   R   R!   (   R   R   R,   R$   t   d_realt   i_realR   R#   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_approxX   s    		!(	   t   __name__t
   __module__R   R%   R+   R4   R5   R6   R9   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR      s   			
			t   test_randomc           B` s   e  Z d  „  Z RS(   c         C` s†   d |  _  d |  _ t j j d ƒ t j j |  j  |  j ƒ |  _ t |  j d d ƒ|  _ t j j |  j ƒ |  _	 d |  _
 d |  _ d  S(   Nid   i   iÒ  t   leafsizei   gš™™™™™É?i
   (   R.   R&   R   t   randomt   seedt   randnR    R
   R   R   R   R,   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   setUpb   s    			(   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR<   a   s   t   test_random_farc           B` s   e  Z d  „  Z RS(   c         C` s-   t  j |  ƒ t j j |  j ƒ d |  _ d  S(   Ni
   (   R<   RA   R   R>   R@   R&   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   m   s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRB   l   s   t
   test_smallc           B` s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C` sÝ   t  j d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g g ƒ |  _ t |  j ƒ |  _ |  j j |  _ |  j j |  _ t  j j d ƒ t  j j	 d ƒ |  _
 d |  _ d |  _ d  S(   Ni    i   iÒ  i   g      à?i   (   R   t   arrayR    R
   R   R.   R&   R>   R?   R@   R   R   R,   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   s   s    	c         C` s    t  |  j j d d ƒ d ƒ d  S(   Ni    gš™™™™™¹?i   (   i    i    gš™™™™™¹?(   gš™™™™™¹?i    (   R   R   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR%   „   s    c         C` s2   t  |  j j d d ƒ d d g d d g f ƒ d  S(   Ni    gš™™™™™¹?i   gÍÌÌÌÌÌì?i   (   i    i    gš™™™™™¹?(   R   R   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_nearest_two‰   s    (   R:   R;   RA   R%   RE   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRC   r   s   		t   test_small_nonleafc           B` s   e  Z d  „  Z RS(   c         C` s)   t  j |  ƒ t |  j d d ƒ|  _ d  S(   NR=   i   (   RC   RA   R
   R    R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA      s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRF      s   t   test_small_compiledc           B` s   e  Z d  „  Z RS(   c         C` s#   t  j |  ƒ t |  j ƒ |  _ d  S(   N(   RC   RA   R   R    R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   –   s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRG   •   s   t   test_small_nonleaf_compiledc           B` s   e  Z d  „  Z RS(   c         C` s)   t  j |  ƒ t |  j d d ƒ|  _ d  S(   NR=   i   (   RC   RA   R   R    R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   œ   s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRH   ›   s   t   test_random_compiledc           B` s   e  Z d  „  Z RS(   c         C` s#   t  j |  ƒ t |  j ƒ |  _ d  S(   N(   R<   RA   R   R    R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   ¢   s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRI   ¡   s   t   test_random_far_compiledc           B` s   e  Z d  „  Z RS(   c         C` s#   t  j |  ƒ t |  j ƒ |  _ d  S(   N(   RB   RA   R   R    R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   ¨   s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRJ   §   s   t   test_vectorizationc           B` sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` sˆ   t  j d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g g ƒ |  _ t |  j ƒ |  _ d  S(   Ni    i   (   R   RD   R    R
   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   ®   s    c         C` sW   |  j  j t j d d d g ƒ ƒ \ } } t t | t ƒ ƒ t t j | t ƒ ƒ d  S(   Ni    (	   R   R   R   RD   R   t
   isinstancet   floatt
   issubdtypet   int(   R   R   R#   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_single_query¹   s    *c         C` sQ   |  j  j t j d ƒ ƒ \ } } t t j | ƒ d ƒ t t j | ƒ d ƒ d  S(   Ni   i   i   (   i   i   i   (   i   i   (   i   i   (   R   R   R   t   zerosR   t   shape(   R   R   R#   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_vectorized_query¾   s    !c         C` sÂ   d } |  j  j | } |  j  j t j d d d g ƒ d | ƒ\ } } t t j | ƒ | f ƒ t t j | ƒ | f ƒ t t j t j	 | | ƒ ƒ ƒ t t j | | |  j  j k ƒ ƒ d  S(   Ni   i    R,   (
   R   R.   R   R   RD   R   RR   R   R!   t   isfinite(   R   t   st   kkR   R#   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt$   test_single_query_multiple_neighborsÃ   s    0"c         C` sû   d } |  j  j | } |  j  j t j d ƒ d | ƒ\ } } t t j | ƒ d d | f ƒ t t j | ƒ d d | f ƒ t t j t j	 | d  d  … d  d  … | d  … f ƒ ƒ ƒ t t j | d  d  … d  d  … | d  … f |  j  j k ƒ ƒ d  S(   Ni   i   i   i   R,   (   i   i   i   (
   R   R.   R   R   RQ   R   RR   R   R!   RT   (   R   RU   RV   R   R#   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt(   test_vectorized_query_multiple_neighborsÌ   s    '=c         C` sW   |  j  j d d d g d d  d d ƒ\ } } t t | t ƒ ƒ t t | t ƒ ƒ d  S(   Ni    R,   R-   gš™™™™™ñ?(   R   R   t   NoneR   RL   t   list(   R   R   R#   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_single_query_all_neighborsÕ   s    -c         C` s‹   |  j  j t j d ƒ d d  d d ƒ\ } } t t j | ƒ d	 ƒ t t j | ƒ d
 ƒ t t | d t	 ƒ ƒ t t | d t	 ƒ ƒ d  S(   Ni   i   i   R,   R-   gš™™™™™ñ?i    (   i   i   i   (   i   i   (   i   i   (   i    i    (   i    i    (
   R   R   R   RQ   RY   R   RR   R   RL   RZ   (   R   R   R#   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt#   test_vectorized_query_all_neighborsÚ   s
    -(	   R:   R;   RA   RP   RS   RW   RX   R[   R\   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRK   ­   s   								t   test_vectorization_compiledc           B` s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` sˆ   t  j d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g g ƒ |  _ t |  j ƒ |  _ d  S(   Ni    i   (   R   RD   R    R   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   ä   s    c         C` sK   |  j  j d d d g ƒ \ } } t t | t ƒ ƒ t t | t ƒ ƒ d  S(   Ni    (   R   R   R   RL   RM   RO   (   R   R   R#   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRP   ï   s    !c         C` sQ   |  j  j t j d ƒ ƒ \ } } t t j | ƒ d ƒ t t j | ƒ d ƒ d  S(   Ni   i   i   (   i   i   i   (   i   i   (   i   i   (   R   R   R   RQ   R   RR   (   R   R   R#   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRS   ô   s    !c         C` s‰   t  j j d ƒ t  j j d d ƒ j } |  j j | ƒ \ } } xB t | | | ƒ D]. \ } } } t |  j j | ƒ | | f ƒ qS Wd  S(   NiÒ  i   iè  (	   R   R>   R?   R@   t   TR   R   R/   R   (   R   t   qst   dst   i_st   qR   R#   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt*   test_vectorized_query_noncontiguous_valuesù   s
    "c         C` s¹   d } |  j  j | } |  j  j d d d g d | ƒ\ } } t t j | ƒ | f ƒ t t j | ƒ | f ƒ t t j t j | | ƒ ƒ ƒ t t j | | |  j  j k ƒ ƒ d  S(   Ni   i    R,   (	   R   R.   R   R   R   RR   R   R!   RT   (   R   RU   RV   R   R#   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRW      s    '"c         C` sû   d } |  j  j | } |  j  j t j d ƒ d | ƒ\ } } t t j | ƒ d d | f ƒ t t j | ƒ d d | f ƒ t t j t j	 | d  d  … d  d  … | d  … f ƒ ƒ ƒ t t j | d  d  … d  d  … | d  … f |  j  j k ƒ ƒ d  S(   Ni   i   i   i   R,   (   i   i   i   (
   R   R.   R   R   RQ   R   RR   R   R!   RT   (   R   RU   RV   R   R#   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRX   	  s    '=(   R:   R;   RA   RP   RS   Rc   RW   RX   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR]   ã   s   						t   ball_consistencyc           B` s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C` s   t  | | | ƒ S(   N(   R   (   R   R   R   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR     s    c         C` s|   |  j  j |  j |  j d |  j d |  j ƒ} xH | D]@ } t |  j |  j | |  j |  j ƒ |  j d |  j k ƒ q4 Wd  S(   NR   R$   g      ð?(	   R^   t   query_ball_pointR   R   R   R$   R   R   R    (   R   t   lR#   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_in_ball  s    -c         C` s™   t  j |  j j d t ƒ} |  j j |  j |  j d |  j d |  j	 ƒ} t
 | | <t t  j |  j |  j | |  j |  j ƒ |  j d |  j	 k ƒ ƒ d  S(   Nt   dtypeR   R$   g      ð?(   R   t   onesR^   R.   t   boolRe   R   R   R   R$   t   FalseR   R!   R   R    (   R   t   cRf   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_found_all  s    -
(   R:   R;   R   Rg   Rm   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRd     s   		t   test_random_ballc           B` s   e  Z d  „  Z RS(   c         C` s€   d } d } t  j j d ƒ t  j j | | ƒ |  _ t |  j d d ƒ|  _ t  j j | ƒ |  _ d |  _ d |  _	 d |  _
 d  S(	   Nid   i   iÒ  R=   i   g       @i    gš™™™™™É?(   R   R>   R?   R@   R    R
   R^   R   R   R$   R   (   R   R.   R&   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   %  s    		(   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRn   #  s   t   test_random_ball_compiledc           B` s   e  Z d  „  Z RS(   c         C` s€   d } d } t  j j d ƒ t  j j | | ƒ |  _ t |  j d d ƒ|  _ t  j j | ƒ |  _ d |  _ d |  _	 d |  _
 d  S(	   Nid   i   iÒ  R=   i   g       @i    gš™™™™™É?(   R   R>   R?   R@   R    R   R^   R   R   R$   R   (   R   R.   R&   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   3  s    		(   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRo   1  s   t"   test_random_ball_compiled_periodicc           B` s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C` s   t  | | | d ƒ S(   Ng      ð?(   R   (   R   R   R   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR   ?  s    c         C` s   d } d } t  j j d ƒ t  j j d | | f ƒ |  _ t |  j d d d d ƒ|  _ t  j | ƒ d	 |  _ d
 |  _	 d |  _
 d |  _ d  S(   Nid   i   iÒ  t   sizeR=   i   R   i   gš™™™™™¹?g       @i    gš™™™™™É?(   R   R>   R?   t   uniformR    R   R^   Ri   R   R   R$   R   (   R   R.   R&   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   B  s    		c         C` sü   |  j  j |  j d |  j d |  j d |  j ƒ} xH | D]@ } t |  j |  j | |  j |  j ƒ |  j d |  j k ƒ q8 W|  j  j |  j d |  j d |  j d |  j ƒ} xH | D]@ } t |  j |  j | |  j |  j ƒ |  j d |  j k ƒ q´ Wd  S(   Ng      ð?R   R$   (	   R^   Re   R   R   R   R$   R   R   R    (   R   Rf   R#   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_in_ball_outsideM  s    1>1c         C` s  t  j |  j j d t ƒ} |  j j |  j d |  j d |  j d |  j	 ƒ} t
 | | <t t  j |  j |  j | |  j |  j ƒ |  j d |  j	 k ƒ ƒ |  j j |  j d |  j d |  j d |  j	 ƒ} t
 | | <t t  j |  j |  j | |  j |  j ƒ |  j d |  j	 k ƒ ƒ d  S(   NRh   g      ð?R   R$   (   R   Ri   R^   R.   Rj   Re   R   R   R   R$   Rk   R   R!   R   R    (   R   Rl   Rf   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_found_all_outsideU  s    1
C1
(   R:   R;   R   RA   Rs   Rt   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRp   >  s   			t   test_random_ball_approxc           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ d |  _ d  S(   Ngš™™™™™¹?(   Rn   RA   R$   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   a  s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRu   _  s   t    test_random_ball_approx_compiledc           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ d |  _ d  S(   Ngš™™™™™¹?(   Ro   RA   R$   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   h  s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRv   f  s   t)   test_random_ball_approx_compiled_periodicc           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ d |  _ d  S(   Ngš™™™™™¹?(   Rp   RA   R$   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   n  s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRw   l  s   t   test_random_ball_farc           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ d |  _ d  S(   Ng       @(   Rn   RA   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   u  s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRx   s  s   t   test_random_ball_far_compiledc           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ d |  _ d  S(   Ng       @(   Ro   RA   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   |  s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRy   z  s   t&   test_random_ball_far_compiled_periodicc           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ d |  _ d  S(   Ng       @(   Rp   RA   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   ‚  s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRz   €  s   t   test_random_ball_l1c           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ d |  _ d  S(   Ni   (   Rn   RA   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   ‰  s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR{   ‡  s   t   test_random_ball_l1_compiledc           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ d |  _ d  S(   Ni   (   Ro   RA   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA     s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR|   Ž  s   t%   test_random_ball_l1_compiled_periodicc           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ d |  _ d  S(   Ni   (   Rp   RA   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   –  s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR}   ”  s   t   test_random_ball_linfc           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ t j |  _ d  S(   N(   Rn   RA   R   R0   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA     s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR~   ›  s   t'   test_random_ball_linf_compiled_periodicc           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ t j |  _ d  S(   N(   Rp   RA   R   R0   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   £  s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR   ¡  s   c          C` sv   d }  d } t  t j j |  | ƒ ƒ } | j t j j d d | ƒ d ƒ } t | j d ƒ t t | d t	 ƒ ƒ d  S(	   Ni   i   i   i   i   i    (   i   i   (   i    i    (
   R
   R   R>   R@   Re   R   RR   R   RL   RZ   (   R.   R&   R^   t   r(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_random_ball_vectorized¨  s    $c          C` s†   d }  d } t  j j d ƒ t t  j j |  | ƒ ƒ } | j t  j j d d | ƒ d ƒ } t | j d ƒ t t	 | d	 t
 ƒ ƒ d  S(
   Ni   i   iÒ  i   i   i   i    (   i   i   (   i    i    (   R   R>   R?   R   R@   Re   R   RR   R   RL   RZ   (   R.   R&   R^   R€   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt$   test_random_ball_vectorized_compiled³  s    $c          C` s  t  j j d ƒ d }  d } t  j j |  | ƒ } t | ƒ } | j | d d d ƒ} | j | d d d ƒ} | j | d d d ƒ} x@ t |  ƒ D]2 } | | s¬ | | r’ t | | | | ƒ q’ q’ Wx@ t |  ƒ D]2 } | | sï | | rÕ t | | | | ƒ qÕ qÕ Wd  S(	   Ni    iˆ  i   gú~j¼t“h?t   n_jobsi   i@   iÿÿÿÿ(   R   R>   R?   R@   R   Re   t   rangeR   (   R.   R,   t   pointsR^   t   l1t   l2t   l3R#   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt$   test_query_ball_point_multithreading¿  s    t   two_trees_consistencyc           B` s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C` s   t  | | | ƒ S(   N(   R   (   R   R   R   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR   Ô  s    c         C` s   |  j  j |  j |  j d |  j d |  j ƒ} xi t | ƒ D][ \ } } xL | D]D } t |  j |  j	 | |  j
 | |  j ƒ |  j d |  j k ƒ qM Wq: Wd  S(   NR   R$   g      ð?(   t   T1t   query_ball_treet   T2R   R   R$   t	   enumerateR   R   t   data1t   data2(   R   R€   R#   Rf   t   j(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_all_in_ball×  s    -c         C` sº   |  j  j |  j |  j d |  j d |  j ƒ} x† t | ƒ D]x \ } } t j |  j j	 d t
 ƒ} t | | <t t j |  j |  j | |  j | |  j ƒ |  j d |  j k ƒ ƒ q: Wd  S(   NR   R$   Rh   g      ð?(   R‹   RŒ   R   R   R   R$   RŽ   R   Ri   R.   Rj   Rk   R   R!   R   R   R   (   R   R€   R#   Rf   Rl   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRm   Ý  s
    -
(   R:   R;   R   R’   Rm   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRŠ   Ò  s   		t   test_two_random_treesc           B` s   e  Z d  „  Z RS(   c         C` s›   d } d } t  j j d ƒ t  j j | | ƒ |  _ t |  j d d ƒ|  _ t  j j | | ƒ |  _ t |  j d d ƒ|  _ d |  _	 d |  _
 d |  _ d  S(	   Ni2   i   iÒ  R=   i   g       @i    gš™™™™™É?(   R   R>   R?   R@   R   R
   R‹   R   R   R   R$   R   (   R   R.   R&   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   ç  s    		(   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR“   å  s   t   test_two_random_trees_compiledc           B` s   e  Z d  „  Z RS(   c         C` s›   d } d } t  j j d ƒ t  j j | | ƒ |  _ t |  j d d ƒ|  _ t  j j | | ƒ |  _ t |  j d d ƒ|  _ d |  _	 d |  _
 d |  _ d  S(	   Ni2   i   iÒ  R=   i   g       @i    gš™™™™™É?(   R   R>   R?   R@   R   R   R‹   R   R   R   R$   R   (   R   R.   R&   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   ö  s    		(   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR”   ô  s   t'   test_two_random_trees_compiled_periodicc           B` s   e  Z d  „  Z d „  Z RS(   c         C` s   t  | | | d ƒ S(   Ng      ð?(   R   (   R   R   R   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR     s    c         C` s³   d } d } t  j j d ƒ t  j j d | | f ƒ |  _ t |  j d d d d ƒ|  _ t  j j d | | f ƒ |  _ t |  j d d d d ƒ|  _ d	 |  _	 d
 |  _
 d |  _ d  S(   Ni2   i   iÒ  Rq   R=   i   R   g      ð?g       @i    gš™™™™™É?(   R   R>   R?   Rr   R   R   R‹   R   R   R   R$   R   (   R   R.   R&   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA     s    		(   R:   R;   R   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR•     s   	t   test_two_random_trees_farc           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ d |  _ d  S(   Ni   (   R“   RA   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA     s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR–     s   t"   test_two_random_trees_far_compiledc           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ d |  _ d  S(   Ni   (   R”   RA   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA     s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR—     s   t+   test_two_random_trees_far_compiled_periodicc           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ d |  _ d  S(   Ni   (   R•   RA   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   !  s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR˜     s   t   test_two_random_trees_linfc           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ t j |  _ d  S(   N(   R“   RA   R   R0   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   (  s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR™   &  s   t#   test_two_random_trees_linf_compiledc           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ t j |  _ d  S(   N(   R”   RA   R   R0   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   /  s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRš   -  s   t,   test_two_random_trees_linf_compiled_periodicc           B` s   e  Z d  „  Z RS(   c         C` s   t  j |  ƒ t j |  _ d  S(   N(   R•   RA   R   R0   R   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   5  s    (   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR›   3  s   t   test_rectanglec           B` sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C` s"   t  d d g d d g ƒ |  _ d  S(   Ni    i   (   R   t   rect(   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   <  s    c         C` s#   t  |  j j d d g ƒ d ƒ d  S(   Ng      à?i    (   R   R   t   min_distance_point(   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_min_inside?  s    c         C` s#   t  |  j j d d g ƒ d ƒ d  S(   Ng      à?g      ø?(   R   R   Rž   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_min_one_sideB  s    c         C` s,   t  |  j j d d g ƒ t j d ƒ ƒ d  S(   Ni   (   R   R   Rž   R   t   sqrt(   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_min_two_sidesE  s    c         C` s0   t  |  j j d d g ƒ d t j d ƒ ƒ d  S(   Ng      à?i   i   (   R   R   t   max_distance_pointR   R¡   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_max_insideH  s    c         C` s/   t  |  j j d d g ƒ t j d d ƒ ƒ d  S(   Ng      à?g      ø?(   R   R   R£   R   t   hypot(   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_max_one_sideK  s    c         C` s0   t  |  j j d d g ƒ d t j d ƒ ƒ d  S(   Ni   (   R   R   R£   R   R¡   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_max_two_sidesN  s    c         C` sw   |  j  j d d ƒ \ } } t | j d d g ƒ t | j d d g ƒ t | j d d g ƒ t | j d d g ƒ d  S(   Ni    gš™™™™™¹?i   (   R   t   splitR   t   maxest   mins(   R   t   lesst   greater(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt
   test_splitQ  s
    (
   R:   R;   RA   RŸ   R    R¢   R¤   R¦   R§   R­   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRœ   :  s   							c           C` s2   t  t d d g d d g d ƒ t j d ƒ ƒ d  S(   Ni    i   i   (   R   R   R   R¡   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_distance_l2Y  s    c           C` s)   t  t d d g d d g d ƒ d ƒ d  S(   Ni    i   i   (   R   R   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_distance_l1]  s    c           C` s,   t  t d d g d d g t j ƒ d ƒ d  S(   Ni    i   (   R   R   R   R0   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_distance_linfa  s    c          C` s]   t  j j d ƒ t  j j d d d ƒ }  t  j j d d d ƒ } t t |  | ƒ j d ƒ d  S(   NiÒ  i
   i   i   i   (   i
   i   (   R   R>   R?   R@   R   R   RR   (   R   t   y(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_distance_vectorizatione  s    t   count_neighbors_consistencyc           B` s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C` s]   d } t  |  j j |  j | ƒ t j g  |  j j |  j | ƒ D] } t | ƒ ^ q= ƒ ƒ d  S(   Ngš™™™™™É?(   R   R‹   t   count_neighborsR   R   R   RŒ   t   len(   R   R€   Rf   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_one_radiusm  s    c         C` s]   d } t  |  j j |  j | ƒ t j g  |  j j |  j | ƒ D] } t | ƒ ^ q= ƒ ƒ d  S(   Niè  (   R   R‹   R´   R   R   R   RŒ   Rµ   (   R   R€   Rf   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_large_radiusr  s    c         C` s­   t  j t  j t  j d ƒ t  j d ƒ d ƒ ƒ } |  j j |  j | ƒ } t t  j t  j	 | ƒ d k ƒ ƒ x< t
 | | ƒ D]+ \ } } t |  j j |  j | ƒ | ƒ qz Wd  S(   Ng{®Gáz„?i
   i   i    (   R   t   expt   linspacet   logR‹   R´   R   R   R!   R   R/   R   (   R   t   rst   resultsR€   t   result(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_multiple_radiusw  s
    0"(   R:   R;   R¶   R·   R¾   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR³   l  s   		t   test_count_neighborsc           B` s   e  Z d  „  Z RS(   c         C` sh   d } d } t  j j d ƒ t t  j j | | ƒ d d ƒ|  _ t t  j j | | ƒ d d ƒ|  _ d  S(   Ni2   i   iÒ  R=   (   R   R>   R?   R
   R@   R‹   R   (   R   R.   R&   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   €  s
    $(   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR¿   ~  s   t   test_count_neighbors_compiledc           B` s   e  Z d  „  Z RS(   c         C` sh   d } d } t  j j d ƒ t t  j j | | ƒ d d ƒ|  _ t t  j j | | ƒ d d ƒ|  _ d  S(   Ni2   i   iÒ  R=   (   R   R>   R?   R   R@   R‹   R   (   R   R.   R&   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   Š  s
    $(   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRÀ   ˆ  s   t"   sparse_distance_matrix_consistencyc           B` s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C` s   t  | | | ƒ S(   N(   R   (   R   R   R   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR   ”  s    c         C` sâ   |  j  j |  j |  j ƒ } |  j  j |  j |  j ƒ } xn t | ƒ D]` \ } } xQ | D]I } t | | | f |  j |  j  j | |  j j | |  j	 ƒ d d ƒqV WqC Wx4 | j
 ƒ  D]& \ \ } } } t | | | k ƒ q´ Wd  S(   Nt   decimali   (   R‹   t   sparse_distance_matrixR   R€   RŒ   RŽ   R   R   R    R   t   itemsR   (   R   t   MR€   R#   Rf   R‘   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_consistency_with_neighbors—  s    ,c         C` s   |  j  j |  j  |  j ƒ d  S(   N(   R‹   RÃ   R€   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_zero_distance¢  s    (   R:   R;   R   RÆ   RÇ   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRÁ   ’  s   		t   test_sparse_distance_matrixc           B` s   e  Z d  „  Z RS(   c         C` sª   d } d } t  j j d ƒ t  j j | | ƒ } t  j j | | ƒ } t | d d ƒ|  _ t | d d ƒ|  _ d |  _ d |  _ | |  _	 | |  _
 | |  _ | |  _ d  S(   Ni2   i   iÒ  R=   i   g      à?(   R   R>   R?   R@   R   R‹   R   R€   R   R   R   R.   R&   (   R   R.   R&   R   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   ¨  s    					(   R:   R;   RA   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRÈ   ¦  s   t$   test_sparse_distance_matrix_compiledc           B` s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C` sÔ   d } d } t  j j d ƒ t  j j | | ƒ } t  j j | | ƒ } t | d d ƒ|  _ t | d d ƒ|  _ t | d d ƒ|  _ t | d d ƒ|  _	 d |  _
 | |  _ | |  _ | |  _ | |  _ d |  _ d  S(   Ni2   i   i    R=   i   g      à?(   R   R>   R?   R@   R   R‹   R   R
   t   ref_T1t   ref_T2R€   R.   R&   R   R   R   (   R   R.   R&   R   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRA   ¹  s    					c         C` sY   |  j  j |  j |  j ƒ } |  j j |  j |  j ƒ } t | j ƒ  | j ƒ  d d ƒd  S(   NRÂ   i   (   R‹   RÃ   R   R€   RÊ   RË   R   t   todense(   R   t   M1t   M2(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_consistency_with_pythonÊ  s    c         C` s~   t  j j d ƒ t  j t  j j d d ƒ d t ƒ} t | d t d t ƒ} | j | d ƒ j	 ƒ  } t
 | | j d d	 ƒd  S(
   Ni    i   i   Rh   t   balanced_treet   compact_nodesi   RÂ   i   (   R   R>   R?   RD   R@   RO   R   Rk   RÃ   RÌ   R   R^   (   R   t   too_manyt   treeR   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt#   test_against_logic_error_regressionÏ  s
    $c         C` sb  t  j |  j |  j f ƒ } x} t |  j ƒ D]l } xc t |  j ƒ D]R } |  j | d  d  … f |  j | d  d  … f } t  j | | ƒ | | | f <qA Wq+ Wt  j | ƒ } d | | |  j k <t  j |  j |  j f ƒ } |  j	 j
 |  j |  j d d ƒ} x4 | j ƒ  D]& \ } } | | | f | | | f <qWt | | d d ƒt  j |  j |  j f ƒ } |  j	 j
 |  j |  j d d ƒ} xU t | j d ƒ D]@ } | d | } | d	 | } | d
 | } | | | | f <q“Wt | | d d ƒ|  j	 j
 |  j |  j d d ƒ} t | | j ƒ  d d ƒ|  j	 j
 |  j |  j d d ƒ} t | | j ƒ  d d ƒd  S(   Ng        t   output_typet   dictRÂ   i   t   ndarrayi    R#   R‘   t   vt
   dok_matrixt
   coo_matrix(   R   RQ   R.   R„   R   R   t   dotR¡   R€   R‹   RÃ   R   t   keysR   RR   RÌ   (   R   t   refR#   R‘   RØ   t   distR€   R,   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_ckdtree_return_types×  s6    0$!			(   R:   R;   RA   RÏ   RÔ   Rß   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyRÉ   ·  s   			c          C` sË   d }  d } d } t  j j d ƒ t  j j |  | ƒ } t  j j | | ƒ } t | | ƒ } t | j |  | f ƒ xS t |  ƒ D]E } x< t | ƒ D]. } t t	 | | | | ƒ | | | f ƒ q‘ Wq~ Wd  S(   Ni
   i   i   iÒ  (
   R   R>   R?   R@   R   R   RR   R„   R   R   (   R&   R.   R,   t   xst   ysR`   R#   R‘   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_distance_matrixú  s    c          C` s   d }  d } d } t  j j d ƒ t  j j |  | ƒ } t  j j | | ƒ } t | | ƒ } t | | d d ƒ} t | | ƒ d  S(   Ni
   i   i   iÒ  t	   thresholdi   (   R   R>   R?   R@   R   R   (   R&   R.   R,   Rà   Rá   R`   t   dsl(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_distance_matrix_looping  s    c         C` sˆ   |  j  |  | ƒ } t ƒ  } xM t | ƒ D]? \ } } x0 | D]( } | | k  r; | j | | f ƒ q; q; Wq( Wt | |  j | ƒ k ƒ d  S(   N(   RŒ   t   setRŽ   t   addR   t   query_pairs(   R^   R   R€   RU   R#   Rf   R‘   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   check_onetree_query  s    	c          c` sÓ   t  j j d ƒ d }  d } t  j j |  | ƒ } t | ƒ } t | d f Vt  j j d |  | ƒ } | |  c  d 9*| |  d |  c !d 7+t | ƒ } t | d f Vt | d f Vt | d f Vt | d	 f Vd  S(
   Ni    i2   i   gš™™™™™¹?i   gü©ñÒMbP?i   gñhãˆµøä>gíµ ÷Æ°>(   R   R>   R?   R@   R
   Ré   (   R.   R,   R…   R^   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_onetree_query  s    c          c` sÓ   t  j j d ƒ d }  d } t  j j |  | ƒ } t | ƒ } t | d f Vt  j j d |  | ƒ } | |  c  d 9*| |  d |  c !d 7+t | ƒ } t | d f Vt | d f Vt | d f Vt | d	 f Vd  S(
   Ni    id   i   gš™™™™™¹?i   gü©ñÒMbP?i   gñhãˆµøä>gíµ ÷Æ°>(   R   R>   R?   R@   R   Ré   (   R.   R,   R…   R^   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_onetree_query_compiled0  s    c          C` s2   t  d d g g ƒ }  t |  j d ƒ t ƒ  ƒ d  S(   Ni    i   g      à?(   R
   R   Rè   Ræ   (   RÓ   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_query_pairs_single_nodeB  s    c          C` s2   t  d d g g ƒ }  t |  j d ƒ t ƒ  ƒ d  S(   Ni    i   g      à?(   R   R   Rè   Ræ   (   RÓ   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt%   test_query_pairs_single_node_compiledG  s    c          C` sÑ  t  j j d ƒ d }  d } d } | d } t  j j |  | ƒ } t | ƒ } t ƒ  } xŠ t |  ƒ D]| } xs t | d |  ƒ D]^ } | | d  d  … f | | d  d  … f }	 t  j |	 |	 ƒ | k r} | j | | f ƒ q} q} Wqc Wt	 | ƒ }
 | j
 | ƒ } t	 | ƒ } t |
 | ƒ | j
 | d d ƒ} t	 | ƒ } t |
 | ƒ t ƒ  } | j
 | d d ƒ} xN t | j d ƒ D]9 } | j t | | d f ƒ t | | d f ƒ f ƒ qwWt	 | ƒ } t |
 | ƒ d  S(	   Ni    i2   i   gš™™™™™¹?i   RÕ   Ræ   R×   (   R   R>   R?   R@   R   Ræ   R„   RÛ   Rç   t   sortedRè   R   RR   RO   (   R.   R,   R€   t   r2R…   R^   t   bruteR#   R‘   RØ   t   l0RU   R†   t   arrR‡   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_ckdtree_query_pairsL  s4    
	*	7c          C` sÙ   t  j d d … d d … f \ }  } t t |  j ƒ  | j ƒ  ƒ ƒ } t | ƒ } t t d d d d g ƒ t | j d	 d ƒ ƒ ƒ t  j	 | d t
 ƒ} t | ƒ } t t d d d d g ƒ t | j d
 d ƒ ƒ ƒ d  S(   Ni    i   i   i	   i   i   i   Rh   (   i   i    (   i   i    (   R   t   mgridRZ   R/   t   ravelR
   R   Rî   Re   t   asarrayRM   (   R   R±   R…   RÓ   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_ball_point_intsm  s    %!c          C` sO   g  t  d ƒ D] }  t j ƒ  ^ q } t t | ƒ t | d  d  d … ƒ ƒ d  S(   Ni   iÿÿÿÿ(   R„   R
   t   nodeR   Rî   (   t   _t   nodes(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_kdtree_comparisonsz  s    %c          C` sð   t  j j d ƒ d }  d } t  j j |  | ƒ } t | ƒ j | d d ƒd } t | d t ƒj | d d ƒd } t | d t ƒj | d d ƒd } t | d t d t ƒj | d d ƒd } t | | ƒ t | | ƒ t | | ƒ d  S(	   Ni    iˆ  i   R,   i   iÿÿÿÿRÑ   RÐ   (   R   R>   R?   R@   R   R   Rk   R   (   R.   R,   R…   R‹   R   t   T3t   T4(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_ckdtree_build_modes€  s    %%+c          C` sÎ   y d d  l  }  Wn t k
 r/ d d  l }  n Xt j j d ƒ d } d } t j j | | ƒ } t | ƒ } |  j | ƒ } |  j	 | ƒ } | j
 | d d ƒd } | j
 | d d ƒd } t | | ƒ d  S(   Ni    i2   i   R,   i   iÿÿÿÿ(   t   cPicklet   ImportErrort   pickleR   R>   R?   R@   R   t   dumpst   loadsR   R   (   R  R.   R,   R…   R‹   t   tmpR   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_ckdtree_pickle  s    c          C` sÚ   y d d  l  }  Wn t k
 r/ d d  l }  n Xt j j d ƒ d } d } t j j d | | f ƒ } t | d d ƒ} |  j | ƒ } |  j	 | ƒ } | j
 | d d ƒd	 } | j
 | d d ƒd	 } t | | ƒ d  S(
   Ni    i2   i   Rq   R   g      ð?R,   i   iÿÿÿÿ(   Rÿ   R   R  R   R>   R?   Rr   R   R  R  R   R   (   R  R.   R,   R…   R‹   R  R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_ckdtree_pickle_boxsize¡  s    c          C` s«   t  j j d ƒ d }  d } t  j j |  | ƒ } t | d t ƒ} | j ƒ  } | j | d d ƒd } t  j j |  | ƒ | d <| j | d d ƒd } t | | ƒ d  S(	   Ni    iˆ  i   t	   copy_dataR,   i   iÿÿÿÿ.(	   R   R>   R?   R@   R   t   Truet   copyR   R   (   R.   R,   R…   R^   Rb   R‹   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_ckdtree_copy_data³  s    c          C` s²   t  j j d ƒ d }  d } t  j j |  | ƒ } t | ƒ } | j | d d d d ƒd } | j | d d d d ƒd } | j | d d ƒd } t | | ƒ t | | ƒ d  S(	   Ni    iˆ  i   R,   i   Rƒ   i@   iÿÿÿÿ(   R   R>   R?   R@   R   R   R   (   R.   R,   R…   R^   R‹   R   Rü   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_ckdtree_parallelÂ  s    c          ` s®   t  j j d ƒ d }  d } t  j j |  | ƒ } t | ƒ ‰  ‡  ‡ f d †  ‰ ˆ ˆ  j ƒ ˆ  j }  t t  j |  j ƒ t	 d ƒ ƒ t ˆ  j
 |  j d  d  … f |  j ƒ d  S(   Ni    id   i   c         ` sà   t  t |  t ƒ ƒ |  j d k rh t  |  j d  k ƒ t  |  j d  k ƒ t  |  j j d ˆ  j	 k ƒ nt ˆ |  j ƒ ˆ |  j ƒ |  j j
 d  d  … |  j f } |  j j
 d  d  … |  j f } t  | j ƒ  | j ƒ  k  ƒ d  S(   Niÿÿÿÿi    (   R   RL   R   t	   split_dimt   lesserRY   R¬   t   indicesRR   R=   t   data_pointst   maxt   min(   R.   R   R±   (   R   t   recurse_tree(    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR  Û  s     (   R   R>   R?   R@   R   RÓ   R   t   sortR  R„   R    R  (   R.   R,   R…   (    (   R   R  s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_ckdtree_viewÐ  s    	c    
      C` s¸  d }  d } d d d g } d } t  j j d ƒ t  j j d |  | f ƒ } t | d d ƒ} | j | | ƒ \ } } | j | | ƒ \ } }	 t | | ƒ t | |	 ƒ t  j d d g ƒ } d } | j | | ƒ \ } } | j | | ƒ \ } }	 t | | d | d f ƒ t |	 | d | d f ƒ | j | d ƒ \ } } | j | d g ƒ \ } }	 t t | j	 ƒ d ƒ t t | j	 ƒ d ƒ t | t  j
 | ƒ ƒ t | t  j
 |	 ƒ ƒ d  S(	   NiÈ   i   i   i   iÒ  Rq   R=   .(   R   R>   R?   Rr   R   R   R   RD   Rµ   RR   Rõ   (
   R.   R&   t   klistt   kintR    R   R)   R*   t   dd1t   ii1(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_ckdtree_list_kò  s.    c          C` s'  d }  d } d } t  j j d ƒ t  j j d |  | f ƒ } t | d d d d	 ƒ} t | d d ƒ} | j | | ƒ \ } } | j | d	 | ƒ \ } }	 t | | ƒ t | |	 ƒ | j | d	 | ƒ \ } }	 t | | ƒ t | |	 ƒ t | | | d d	 ƒ\ }
 } t | |
 ƒ t | | ƒ d  S(
   NiÐ  i   i   iÒ  Rq   R=   i   R   g      ð?(	   R   R>   R?   Rr   R   R   R   R   t   simulate_periodic_box(   R.   R&   R,   R    R   t   kdtree2R)   R*   R  R  t   dd2t   ii2(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_ckdtree_box  s"    c          C` sA   t  j d d d ƒ j d d ƒ }  t t t |  d d d d ƒd  S(	   Ni    i   i
   iÿÿÿÿi   R=   R   g      ð?(   R   R¹   t   reshapeR   t
   ValueErrorR   (   R    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_ckdtree_box_upper_bounds.  s    !c          C` s5   t  j d d d ƒ }  t t t |  d d d d ƒd  S(   Niÿÿÿÿi   i
   R=   R   g      ð?(   R   R¹   R   R   R   (   R    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_ckdtree_box_lower_bounds2  s    c         C` s”  g  } g  } t  j d | j d ƒ } t  j t  j | d g | j d ƒ ƒ j } | d } xv | D]n } | | d | }	 |  j |	 | ƒ \ }
 } |
 j d | ƒ }
 | j d | ƒ } | j |
 ƒ | j | ƒ qc Wt  j	 | d d ƒ} t  j	 | d d ƒ} t  j
 t | ƒ t | ƒ | g d d d g ƒ} | | d (| | d	 (| j d d	 ƒ | d	 d  d  … d  | … f | d d  d  … d  | … f f S(   Ni   i   g      ð?iÿÿÿÿR   Rh   R*   t   i8R)   t   f8t   order(   s   iis   i8(   s   ddR$  (   R   t   arangeRR   RD   t   unravel_indexR^   R   R  t   appendt   concatenatet   emptyRµ   R  (   R   R    R,   R   R)   R*   R   t   nnR.   t   imageR  R  R½   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyR  6  s*    ,
"c          C` s  y d d  l  }  Wn t k
 r$ d  SXd \ } } t j t d d | | ƒ t d d | | ƒ f \ } } t j | ƒ d t j d | | ƒ t j | ƒ } t j | ƒ } | | (d } t j j	 d | j
 t j j	 d ƒ d ƒ } | | j | <t j t j | | k ƒ ƒ j }	 t j t j | | k ƒ ƒ j }
 |  j |  j ƒ j } x  t d ƒ D] } t |	 ƒ } qWWd } x„ t d ƒ D]v } |  j |  j ƒ j } t |	 ƒ } | j |
 d	 d
 d d ƒ\ } } |  j |  j ƒ j } | | k r€| d 7} q€q€Wt | d k  ƒ d  S(   Ni    gš™™™™™©?i   i   i
   g     ÀX@i2   id   R,   i   R   i   (   gš™™™™™©?gš™™™™™©?(   t   resourceR   R   Rô   t   slicet   sint   cost
   empty_likeR>   t   randintRq   t   flatt   vstackt   whereR^   t	   getrusaget   RUSAGE_SELFt	   ru_maxrssR„   R   R   R   (   R-  t   dxt   dyR±   R   t   zt   z_copyt   FILLVALt   maskt   igoodt   ibadt   mem_useR#   RÓ   t	   num_leaksRÞ   t   iqueryt   new_mem_use(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_ckdtree_memuseN  s6     5+!!!c       	   C` sŒ  t  j d d d ƒ j d d ƒ }  t |  d d ƒ} t  j t |  ƒ d d ƒ} | j | ƒ } t | d d d d d d d g ƒ t t	 | j | d  ƒ x
t
 d	 ƒ D]ü } | j | t  j d d	 | ƒ ƒ } | j | t  j d d	 | ƒ d
 | | f ƒ} | j | t  j d d	 | ƒ d
 | d  f ƒ} | j | t  j d d	 | ƒ d
 d  | f ƒ} | j | t  j d d	 | ƒ d
 | ƒ}	 t | | ƒ t | | ƒ t | | ƒ q£ Wxâ t
 t |  ƒ ƒ D]Î } | j ƒ  }
 d |
 | <|  |
 d k } | |
 d k } t | ƒ } | j | t  j d d	 d ƒ d
 |
 |
 f ƒ} | j | t  j d d	 d ƒ ƒ } t | | ƒ t t	 | j | t  j d d	 d ƒ d
 |
 ƒq¶Wd  S(   Ni    i   i   iÿÿÿÿR=   Rh   t   f4i   i
   t   weightsid   (   R   R¹   R  R   Ri   Rµ   t   _build_weightsR   R   R   R„   R´   RY   R	  (   R    t   tree1RG  t   nwR#   t   c1t   c2t   c3t   c4t   c5t   w1R   t   w2t   tree2(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_ckdtree_weightsw  s>    !"!	
!c    
      C` s  d }  d } t  j j d ƒ t  j j d |  | f ƒ } t | d d ƒ} d d d d	 d
 g } t  j t | ƒ ƒ } | j | | ƒ } | j | | d t ƒ} t	 | | j
 ƒ  ƒ xX t t j | ƒ t j | ƒ ƒ D]5 \ } }	 | j | |	 ƒ }  t |  | t | ƒ ƒ qÒ Wd  S(   NiÐ  i   iÒ  Rq   R=   i   i    g{®Gáz„?g{®Gáz”?gš™™™™™©?t
   cumulative(   R   R>   R?   t   normalR   R&  Rµ   R´   Rk   R   t   cumsumR/   t	   itertoolst   permutationsR   RZ   (
   R.   R&   R    R   t   r0t   i0t   n0t   nncR#   R€   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt'   test_ckdtree_count_neighbous_multiple_r¦  s    c          C` s  t  j j d ƒ t  j j d d ƒ }  t  j j d d ƒ } t |  ƒ } | j d d g d d ƒ\ } } | j d d g d | ƒ } t | g  ƒ | j | d d ƒ\ } } | j ƒ  } | j | d | ƒ } t  j	 d d d	 t
 ƒ } | j g  ƒ t | | ƒ t | ƒ } | j | d | ƒ } t d g  g | ƒ | j | d | ƒ } t | d
 k ƒ | j | d | d d ƒ} t | t  j d ƒ k t ƒ | j | d | d d ƒ} t | t  j d ƒ k t ƒ | j | d | d d ƒ} t | i  ƒ | j | d | d d ƒ} d t  j f d t  j f d t  j f g }	 t  j |	 d t ƒ}
 t  j	 d d d	 |
 ƒ } t | | ƒ | j |  d d ƒ\ } } | d  d  … d f j ƒ  } | j d | d d ƒ} t | t ƒ  ƒ | j d | d d ƒ} t  j	 d d d	 t  j ƒ } t | | ƒ d  S(   NiÒ  i
   i   g      à?R,   i   gš™™™™™¹?RR   Rh   i    RÕ   RÙ   RÚ   RÖ   R×   R#   R‘   RØ   t   aligniÿÿÿÿRæ   (   i
   (   i
   i
   (   i
   i
   (   i    (   i    i   (   R   R>   R?   t   randR   R   Re   R   R  R*  t   objectt   fillRŒ   R´   R   RÃ   RQ   R  R   t   intpt   float64Rh   Rè   Ræ   (   t   Xt   YRÓ   R   R#   R;  t   mindR±   t   othert   _dtypet	   res_dtype(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_len0_arrays¸  sH    !*c          C` sß   d }  xÒ t  d d ƒ D]Á } t j t j |  d | f ƒ d t j |  d | f ƒ d g d d ƒ} t | d d ƒ} t | j d ƒ t | ƒ } t | j d ƒ t | d	 t d d ƒ} t | j |  | d d ƒ q Wd  S(
   Ni   i   i   i   R   i    R=   i   RÑ   (   R„   R   R)  Ri   R   R   Rq   Rk   (   R.   R&   R    R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_ckdtree_duplicated_inputsæ  s    )c          C` s>   t  d g g d d ƒ}  t t |  j |  d d g d t ƒd  S(   Ni    R=   i   gš™™™™™¹?RT  (   R   R   R   R´   Rk   (   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt(   test_ckdtree_noncumulative_nondecreasingü  s    c          C` s  t  j d d d g d d d g d d d g d d d g d d d g d d d g g d d ƒ}  t |  ƒ } | j |  d d d d	 ƒ\ } } t | d t  j t  j t  j g d d
 t  j t  j g d d
 t  j t  j g d d
 t  j t  j g d d
 t  j t  j g d t  j t  j t  j g g ƒ d  S(   Ng        g)\Âõ(ð?g      ð?Rh   Rc  R,   i   R-   gš™™™™™É?g{®Gáz„?(   R   RD   R   R   R   R0   (   t   xyzt   ckdtt   deqt   ieq(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   test_short_knn  s"    	!t   __main__(    (    (    (    (    (    (    (    (g   t
   __future__R    R   R   t   numpy.testingR   R   R   R   R   R   R	   t   numpyR   t   scipy.spatialR
   R   R   R   t   scipy.spatial.ckdtreeR   R   RW  R   R   R<   RB   RC   RF   RG   RH   RI   RJ   RK   R]   Rd   Rn   Ro   Rp   Ru   Rv   Rw   Rx   Ry   Rz   R{   R|   R}   R~   R   R   R‚   R‰   RŠ   R“   R”   R•   R–   R—   R˜   R™   Rš   R›   Rœ   R®   R¯   R°   R²   R³   R¿   RÀ   RÁ   RÈ   RÉ   Râ   Rå   Ré   Rê   Rë   Rì   Rí   Ró   R÷   Rû   Rþ   R  R  R
  R  R  R  R  R!  R"  R  RE  RS  R]  Rj  Rk  Rl  Rq  R:   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/spatial/tests/test_kdtree.pyt   <module>   s®   4"	H60!							

C			
					!								"	"					)	/		.		
	