ó
î&]\c           @` s   d  d l  m Z m Z m Z d  d l Z d  d l m Z m Z m	 Z	 d  d l
 m Z d  d l m Z m Z d e f d „  ƒ  YZ d „  Z d S(	   i    (   t   divisiont   print_functiont   absolute_importN(   t   assert_equalt   assert_array_equalt   assert_allclose(   t   raises(   t   griddatat   NearestNDInterpolatort   TestGriddatac           B` sb   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z RS(
   c         C` s   d d	 d
 g } d d d g } t  | | d d d g d d ƒ} t | d d d g ƒ t  | | d d d g ƒ } t | t j t j d g ƒ d  S(   Ni    i   i   i   t
   fill_valueiÿÿÿÿg      ð¿(   i    i    (   i    i   (   i   i    (   i   i   (   i   i   (   i    i    (   i   i   (   i   i   (   i    i    (   R   R   t   npt   nan(   t   selft   xt   yt   yi(    (    sF   lib/python2.7/site-packages/scipy/interpolate/tests/test_ndgriddata.pyt   test_fill_value   s    !c      
   C` s:  t  j d d d d d g d t  j ƒ} t  j | j d d t  j ƒd  d  … d  f t  j d d g ƒ d  d  d  … f } xº d D]² } x© t t f D]› } t | | f ƒ } t	 | d  d  … d f | d  d  … d f f | | d  d  … d f | d  d  … d f f d | d | ƒ} t
 | | d d d | ƒq“ Wq€ Wd  S(   Ni    g      à¿g      à?g      Ð?g333333Ó?t   dtypei   t   nearestt   lineart   cubict   methodt   rescalet   atolg›+¡†›„=t   err_msg(   i    i    (   g      à¿g      à¿(   g      à¿g      à?(   g      à?g      à?(   g      Ð?g333333Ó?(   R   R   R   (   R   t   arrayt   doublet   aranget   shapet   Nonet   Truet   Falset   reprR   R   (   R   R   R   R   R   t   msgR   (    (    sF   lib/python2.7/site-packages/scipy/interpolate/tests/test_ndgriddata.pyt   test_alternative_call   s    ,&a	c      
   C` sî   t  j d d d d d g d t  j ƒ} t  j | j d d t  j ƒd  d  … d  f t  j d d g ƒ d  d  d  … f } xn d D]f } x] t t f D]O } t | | f ƒ } t	 | | | d | d | ƒ} t
 | | d d d | ƒq“ Wq€ Wd  S(   Ni    g      à¿g      à?g      Ð?g333333Ó?R   i   R   R   R   R   R   R   g›+¡†›„=R   (   i    i    (   g      à¿g      à¿(   g      à¿g      à?(   g      à?g      à?(   g      Ð?g333333Ó?(   R   R   R   (   R   R   R   R   R   R   R   R    R!   R   R   (   R   R   R   R   R   R"   R   (    (    sF   lib/python2.7/site-packages/scipy/interpolate/tests/test_ndgriddata.pyt   test_multivalue_2d"   s    ,&c      
   C` s5  t  j d d d d d g d t  j ƒ} t  j | j d d t  j ƒ} | d  d  … d  d  d  … f t  j d d d g ƒ d  d  d  … d  f } x  d D]˜ } x t t f D] } t | | f ƒ } t	 | | | d
 | d | ƒ} t
 | j d d | ƒt | t  j | d  d  … d  f d ƒ d d d | ƒq¨ Wq• Wd  S(   Ni    g      à¿g      à?g      Ð?g333333Ó?R   R   R   R   R   R   i   i   R   i   R   g›+¡†›„=(   i    i    (   g      à¿g      à¿(   g      à¿g      à?(   g      à?g      à?(   g      Ð?g333333Ó?(   R   R   R   (   i   i   (   i   i   (   R   R   R   R   R   R   R   R    R!   R   R   R   t   tile(   R   R   R   t   xiR   R   R"   R   (    (    sF   lib/python2.7/site-packages/scipy/interpolate/tests/test_ndgriddata.pyt   test_multipoint_2d.   s    H(c      
   C` sP  t  j d d d d d g d t  j ƒ} t  j | j d d t  j ƒ} | d | d  d  d … } | d  d  … d  d  d  … f t  j d d d g ƒ d  d  d  … d  f } x  d D]˜ } x t t f D] } t | | f ƒ } t	 | | | d | d | ƒ} t
 | j d d | ƒt | t  j | d  d  … d  f d ƒ d d d | ƒqÃ Wq° Wd  S(   Ni    g      à¿g      à?g      Ð?g333333Ó?R   y               @iÿÿÿÿR   R   R   R   R   i   i   R   i   R   g›+¡†›„=(   i    i    (   g      à¿g      à¿(   g      à¿g      à?(   g      à?g      à?(   g      Ð?g333333Ó?(   R   R   R   (   i   i   (   i   i   (   R   R   R   R   R   R   R   R    R!   R   R   R   R%   (   R   R   R   R&   R   R   R"   R   (    (    sF   lib/python2.7/site-packages/scipy/interpolate/tests/test_ndgriddata.pyt   test_complex_2d>   s    H(c         C` sê   t  j d d d d d d g ƒ } t  j d d d d	 d d g ƒ } x¡ d D]™ } t t | | | d | ƒ| d | d d ƒt t | j d d ƒ | | d | ƒ| d | d d ƒt t | f | | f d | ƒ| d | d d ƒqI Wd  S(   Ni   g      @i   g      @i   i   i   i    g333333@R   R   R   R   R   R   g›+¡†›„=(   R   R   R   (   R   R   R   R   t   reshape(   R   R   R   R   (    (    sF   lib/python2.7/site-packages/scipy/interpolate/tests/test_ndgriddata.pyt   test_1dO   s    !!*$c         C` s	  t  j d d d d d d g ƒ } t  j d d d d	 d d g ƒ } t  j d
 d g ƒ } t  j d d g ƒ } d } t t | | | d | ƒ| d | d d ƒt t | j d d ƒ | | d | ƒ| d | d d ƒt t | f | | f d | ƒ| d | d d ƒd  S(   Ni   g      @i   g      @i   i   i   i    g333333@gÍÌÌÌÌÌì?g      @g      ð?R   R   R   R   g›+¡†›„=(   R   R   R   R   R)   (   R   R   R   R&   t	   yi_shouldR   (    (    sF   lib/python2.7/site-packages/scipy/interpolate/tests/test_ndgriddata.pyt   test_1d_borders[   s"    !!c         C` sê   t  j d d d d d d g ƒ } t  j d d d d	 d d g ƒ } x¡ d D]™ } t t | | | d | ƒ| d | d d ƒt t | j d d ƒ | | d | ƒ| d | d d ƒt t | f | | f d | ƒ| d | d d ƒqI Wd  S(   Ng      @i   g      @i   i   i   i   i    g333333@R   R   R   R   R   R   g»½×Ùß|Û=(   R   R   R   (   R   R   R   R   R)   (   R   R   R   R   (    (    sF   lib/python2.7/site-packages/scipy/interpolate/tests/test_ndgriddata.pyt   test_1d_unsortedq   s    !!*$c      	   C` s~  t  j d d d d d g d t  j ƒ} t  j d d d d  d! g d t  j ƒ} t  j d	 d
 d d d g d t  j ƒ} t  j t  j d d d ƒ d  d  … d  f t  j d d d ƒ d  d  d  … f ƒ \ } } | j ƒ  } | j ƒ  } t  j | | g ƒ j j ƒ  } xv d" D]n } | } t	 | | | t  j d d g ƒ d | ƒ}	 t	 | | | d | d t
 ƒ}
 t |	 |
 d | d d ƒqWd  S(#   Ni    id   i
   i   i   R   gš™™™™™¹?gš™™™™™©?g      ð?g       @g      Àg      @g      "@i   R   R   R   g      Y@R   R   R   R   gê-™—q=(   i    i    (   i    id   (   i
   id   (   i
   i    (   i   i   (   i    i    (   i    i   (   i   i   (   i   i    (   gš™™™™™¹?gš™™™™™©?(   R   R   R   (   R   R   R   t   broadcast_arrayst   linspaceR   t   ravelt   Tt   copyR   R   R   (   R   t   pointst   points_rescaledt   valuest   xxt   yyR&   R   R"   t   zit   zi_rescaled(    (    sF   lib/python2.7/site-packages/scipy/interpolate/tests/test_ndgriddata.pyt   test_square_rescale_manual}   s     '''(."		c   	   	   C` s@  t  j d d d d d g d t  j ƒ} t  j | j d d t  j ƒ} | d | d  d  d … } t  j d d g ƒ } xÃ d D]» } t | | | d | ƒ} t | | | d  d  d  … f d | ƒ} t | | d | ƒt  j d g ƒ } t  j d d d g ƒ } t t	 t | | | d | ƒt t	 t | | | d | ƒq} Wd  S(   Ni    g      à¿g      à?g      Ð?g333333Ó?R   y               @iÿÿÿÿR   R   R   R   R   (   i    i    (   g      à¿g      à¿(   g      à¿g      à?(   g      à?g      à?(   g      Ð?g333333Ó?(   R   R   R   (
   R   R   R   R   R   R   R   R   t   assert_raisest
   ValueError(	   R   R   R   R&   R   t   p1t   p2t   xi1t   xi3(    (    sF   lib/python2.7/site-packages/scipy/interpolate/tests/test_ndgriddata.pyt
   test_xi_1d‘   s    ((   t   __name__t
   __module__R   R#   R$   R'   R(   R*   R,   R-   R:   RA   (    (    (    sF   lib/python2.7/site-packages/scipy/interpolate/tests/test_ndgriddata.pyR	   
   s   	
								c          C` s˜   d \ }  } t  j |  | ƒ j |  | f ƒ } t  j |  ƒ } t | | ƒ } i t d 6t d 6} t | | d | ƒ} t | | ƒ | | ƒ d d ƒd  S(	   Ni   i   t   balanced_treet   compact_nodest   tree_optionsR   g›+¡†›„=(   i   i   (   R   R   R)   R   R    R   (   t   nptst   ndR   R   t   nndit   optst   nndi_o(    (    sF   lib/python2.7/site-packages/scipy/interpolate/tests/test_ndgriddata.pyt   test_nearest_options§   s    "(   t
   __future__R    R   R   t   numpyR   t   numpy.testingR   R   R   t   pytestR   R;   t   scipy.interpolateR   R   t   objectR	   RL   (    (    (    sF   lib/python2.7/site-packages/scipy/interpolate/tests/test_ndgriddata.pyt   <module>   s   