
&]\c           @` s7  d  d l  m Z m Z m Z d  d l Z d  d l m Z m Z m Z m	 Z	 m
 Z
 m Z d  d l m Z d  d l Z d  d l m Z m Z m Z m Z m Z m Z d  d l Z d  d l m Z d  d l m Z m Z d  d l m Z m Z m Z m  Z  m! Z! m" Z" m# Z# m$ Z$ m% Z% m& Z& m' Z' m( Z( m) Z) m* Z* m+ Z+ m, Z, m- Z- m. Z. d  d	 l/ m0 Z0 m1 Z1 d  d
 l m2 Z2 d  d l3 m4 Z4 m5 Z5 d  d l6 m7 Z7 d  d l/ m8 Z8 d e9 f d     YZ: d e9 f d     YZ; d e9 f d     YZ< d e9 f d     YZ= d e9 f d     YZ> d e9 f d     YZ? d e9 f d     YZ@ d e9 f d     YZA d e9 f d     YZB d  e9 f d!     YZC d" e9 f d#     YZD d$ e9 f d%     YZE d&   ZF e jG d'  ZH d(   ZI eJ d)  ZK eJ d*  ZL eJ d+  ZM d, e9 f d-     YZN d. e9 f d/     YZO d0 e9 f d1     YZP d S(2   i    (   t   divisiont   print_functiont   absolute_importN(   t   assert_t   assert_equalt   assert_almost_equalt   assert_array_almost_equalt   assert_array_equalt   assert_allclose(   t   raises(   t   mgridt   pit   sint   ogridt   poly1dt   linspace(   t   xrange(   t   _assert_warnst   suppress_warnings(   t   interp1dt   interp2dt   lagranget   PPolyt   BPolyt   splrept   splevt
   splantidert   splintt   sproott   Akima1DInterpolatort   RegularGridInterpolatort   LinearNDInterpolatort   NearestNDInterpolatort   RectBivariateSplinet   interpnt   NdPPolyt   BSpline(   t   pocht   gamma(   t   _ppoly(   t   assert_deallocatedt   IS_PYPY(   t   nquad(   t   binomt   TestInterp2Dc           B` s>   e  Z d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C` s   t  d d d  d t d  f \ } } t | d |  } t | | |  } t | d d  t d  d d t d d d	  d t d
  f \ } } t | | j   | j    t | d |  d d d  S(   Ni    i   y              4@y              5@g      ?g      ?g       @t   decimaly              8@y              9@(   R
   R   R   R   R   R   t   ravel(   t   selft   yt   xt   zt   It   vt   u(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_interp2d"   s    ("(c         C` s   t  d d d  } t  d t d  } t | d  d  d   f | d  d   d  f d  } t | | |  } t | d d  t d  d d d  S(   Ni    i   i   i   g       @g      ?R-   (   R   R   R   t   NoneR   R   (   R/   R1   R0   R2   R3   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_interp2d_meshgrid_input+   s
    4c         C` s  t  j j d  t d d d  } t d t d  } t | d  d  d   f | d  d   d  f d  } t | j   | j   | d d } t  j j	 |  t | d  d  d   f | d  d   d  f d  } t | j   | j   | d d } t  j j	 |  t  j j	 |  t | d  d  d   f | d  d   d  f d  } t | | | d d } t d d d	  } t d t d
  } t
 | | |  | | |   t
 | | |  | | |   d  S(   Ni  i    i   i   i   g       @t   kindt   cubici   i   (   t   npt   randomt   seedR   R   R   R7   R   t   copyt   shuffleR   (   R/   R1   R0   R2   t   ip1t   ip2t   ip3(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt%   test_interp2d_meshgrid_input_unsorted3   s     4$4$4c         C` s   t  d d d  d t d  f \ } } t | d |  } t | | |  } t j d d d g  } t j d	 d
 g  } t | | |  | | | d  d  d    t t | | | d  d  d  d d t	  d  S(   Ni    i   y              4@y              5@g      ?i   i   i   g333333@gffffff@i(
   R
   R   R   R   R;   t   arrayR   t   assert_raisest
   ValueErrort   True(   R/   R0   R1   R2   t   funct   xet   ye(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_interp2d_eval_unsortedJ   s    (,c         C` s   t  j d d g  } d | d
 <t  j d  } } t | | | d  } t | d d  t  j d g  d d t | d d	  t  j d g  d d d  S(   Ni   g      ?i   t   linearg       @g      ?g      ?R-   g      @(   i   i   (   R;   t   zerost   arangeR   R   RD   (   R/   t   aR1   R0   t   b(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_interp2d_linearU   s    
(c   
      C` s  t  j d d d  } t  j d d d  } | d  d  d   f d | d  d   d  f } t  j d d d  } t  j d d d	  } t | | | d
 t } t t | | |  t | | | d t  j } | | |  } | d k  | d k B} | d k  | d k B}	 t t  j	 | |	 d  d   f  j
    t t  j	 | d  d   | f  j
    t t  j | |	 d  d   f d  d   | f  j
    d  S(   Ni    i   i   i   i   ii   i   i!   t   bounds_errort
   fill_value(   R;   R   R7   R   RG   RE   RF   t   nanR   t   isnant   allt   isfinite(
   R/   R1   R0   R2   t   ixt   iyRP   t   izt   mxt   my(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_interp2d_bounds^   s    .))(   t   __name__t
   __module__R6   R8   RC   RK   RQ   R]   (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR,   !   s   							t   TestInterp1Dc           B` s:  e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d d  Z d d  Z d   Z d   Z d   Z d   Z d d  Z d d  Z d   Z e j d d  Z d   Z e j j e d d d    Z  d   Z! d   Z" d   Z# d   Z$ RS(    c         C` sH  t  j d  |  _ t  j d  |  _ t  j d  |  _ |  j j d  |  _ t  j d  |  _ t  j d  |  _ t  j	 d g  |  _
 t  j	 d g  |  _ t  j d  j d  |  _ t  j d  j d  |  _ t  j d  j d  |  _ t  j d  j d  |  _ t  j d	  j d  |  _ t  j d	  j d  |  _ d |  _ d  S(   Ng      @g      $@i   i   g       @g        g      4@i
   g      >@i   g      Y(   i   i   (   i   i
   (   i
   i   (   i   i   i   (   i   i   (   i   i   i   (   i   i   i   (   R;   RN   t   x5t   x10t   y10t   reshapet   x25t   x2t   y2RD   t   x1t   y1t   y210t   y102t   y225t   y25t   y235t   y325RS   (   R/   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   setup_methodt   s    c         C` s  xF d D]> } t  |  j |  j d	 | t  |  j |  j d	 | d
 d q Wt  |  j |  j d	 d d
 d t  |  j |  j d	 d d
 t j d g  t  |  j |  j d	 d d
 d t  |  j |  j d	 d d
 d t  |  j |  j d	 d d
 d t  |  j |  j d	 d t  |  j |  j d	 d t  |  j |  j d	 d t  |  j |  j d	 d t  |  j |  j d	 d d d d
 d t  |  j |  j d	 d d d d
 t j d  t  |  j |  j d	 d d d d
 t j d  t j d  f t  |  j |  j d	 d d d d
 t j d  d f t t	 t  |  j
 |  j  t t	 t  |  j t j d   t t	 t  |  j |  j  t t	 t  |  j |  j  t t	 t  |  j |  j  t  |  j |  j  t  |  j |  j d d t t	 t  |  j |  j  t t	 t  |  j |  j  t t	 t  |  j |  j  t t	 t  |  j |  j d	 d d
 d t t	 t  |  j |  j d	 d d
 d d d g t t	 t  |  j |  j d	 d d
 t j d  t t	 t  |  j |  j d	 d d
 d g g t t	 t  |  j |  j d	 d d
 d d g t t	 t  |  j |  j d	 d d
 t j g   t t	 t  |  j |  j d	 d d
 d t t	 t  |  j |  j d	 d d d d
 d d g t t	 t  |  j |  j d	 d d d d
 d d d g f d  S(   Nt   nearestt   zeroRL   t   slineart	   quadraticR:   t   previoust   nextR9   RS   t   extrapolateii   i    i   i   t   axisi
   g        (   Rq   Rr   RL   Rs   Rt   R:   Ru   Rv   (   ii   (   i(   ii(   ii(   iii(   iii(    (   R   Rb   Rc   R;   RD   Rj   Rf   t   onesRE   RF   Re   Rg   Rk   Rh   Ri   (   R/   R9   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_validation   sj    
#c         C` s  t  t |  j |  j  j  t  t |  j |  j d t j  t  t |  j |  j  j  t  t |  j |  j d t j  t  t j t |  j |  j  j	   t
 t |  j |  j d d j	 d  t
 t |  j |  j d d
 j	 d  t
 t |  j |  j  j d  t
 t |  j |  j  j d  t
 t |  j |  j d	 d j d  t t |  j |  j  j |  j  t t |  j |  j  j |  j  t t |  j |  j  j |  j  d  S(   NR>   RR   RS   g      @g      ?g       @i    i   Rx   (   g      ?g       @(   g      ?g       @(   R   R   Rb   Rc   R>   t   FalseRR   R;   RU   RS   R   Rx   Rj   Rk   R   R1   R0   (   R/   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt	   test_init   s    ##%%""c         C` s  t  |  j |  j  } t  |  j d  d  d  |  j d  d  d   } t | |  j  |  j  t | d  t j d g   t | d d d g  | d d d g   t  |  j d  d  d  |  j d  d  d  d t } t | |  j  |  j  t  |  j d  d  d  |  j d  d  d  d t } t t	 | |  j  t  |  j |  j
  } t  |  j d  d  d  |  j
 d  d   d  d  d  f  } t | |  j  | |  j   d  S(   Nig333333?g333333@gffffff@g      @t   assume_sorted(   R   Rb   Rc   R   R;   RD   R{   RG   RE   RF   Rj   (   R/   t   interp10t   interp10_unsortedt   interp10_assume_kwt   interp10_assume_kw2t   interp10_y_2dt   interp10_y_2d_unsorted(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_assume_sorted   s     /,	,	;c         C` s(   x! d d g D] } |  j  |  q Wd  S(   NRL   Rs   (   t   _check_linear(   R/   R9   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_linear   s    c         C` s  t  |  j |  j d | } t | |  j  |  j  t | d  t j d g   t | d d d g  t j d d d g   t  |  j |  j d | d d } t | d d	 d
 d g  d d	 d
 d g d d t d | d d d t  } t	 t
 t  |  j |  j |  d  S(   NR9   g333333?g333333@gffffff@g      @RS   Rw   g      i    i	   i   it   rtolg+=RR   (   R   Rb   Rc   R   R;   RD   R   t   dictRG   RE   RF   (   R/   R9   R~   t   extrapolatort   opts(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR      s    		c         C` su   xn t  j d D]_ } t  j d d | } | } t | | d d |  } t | j |  t | | d d q Wd  S(   Nt   floati   t   dtypeR9   RL   t   atolgV瞯<(   R;   t   sctypesRN   R   R   R   R   (   R/   t   dtypR1   R0   t   yp(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_linear_dtypes  s    c         C` s  t  j t  j t  j g } | t  j t  j g } d d d d g } x | D] } t  j d d d | } x | D] } t  j | d  j |  } xu | D]m } | j |  }	 xU | D]M }
 t	 | | d	 |
 d
 t
 } t | |	  | d d d d | | | f q Wq Wql WqG Wd  S(   NRs   Rr   Rt   R:   i    i
   R   g      @R9   RR   R   gHz>t   err_msgs	   %s, %s %s(   R;   t   float16t   float32t   float64t	   complex64t
   complex128RN   t   expt   astypeR   R{   R   (   R/   t   dt_rt   dt_rct   spline_kindst   dtxR1   t   dtyR0   t   dtnt   xnewR9   t   f(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_slinear_dtypes  s    c         C` s   t  |  j |  j d d } t | |  j  |  j  t | d  t j d g   t | d d d g  t j d d d g   d  S(   NR9   R:   g333333?g333333@gffffff@g      @(   R   Rb   Rc   R   R;   RD   (   R/   R~   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt
   test_cubic,  s
    c         C` s  t  |  j |  j d d } t | |  j  |  j  t | d  t j d   t | d d d g  t j d d d g   t  |  j |  j d d d	 d
 } t | d d d d g  d d d d g d d t d d d	 d
 d t  } t	 t
 t  |  j |  j |  d  S(   NR9   Rq   g333333?g      ?g333333@gffffff@g      @g       @RS   Rw   g      i    i	   i   R   g+=RR   (   R   Rb   Rc   R   R;   RD   R   R   RG   RE   RF   (   R/   R~   R   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_nearest4  s    		c         C` s  t  |  j |  j d d } t | |  j  |  j  t | d  t j d   t | d d d g  t j d d	 d g   t  |  j |  j d d d
 d } t | d d d d g  d d d d g d d t d d d
 d d t  } t	 t
 t  |  j |  j |  d  S(   NR9   Ru   g333333?g      ?g333333@gffffff@g      @g       @g      @RS   Rw   g      i    i	   i   R   g+=RR   (   R   Rb   Rc   R   R;   RD   R   R   RG   RE   RF   (   R/   R~   R   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_previousG  s    		c         C` s  t  |  j |  j d d } t | |  j  |  j  t | d  t j d   t | d d d g  t j d d d g   t  |  j |  j d d d	 d
 } t | d d d d g  d d d d g d d t d d d	 d
 d t  } t	 t
 t  |  j |  j |  d  S(   NR9   Rv   g333333?g       @g333333@gffffff@g      @g      @RS   Rw   g      i    i	   i   R   g+=RR   (   R   Rb   Rc   R   R;   RD   R   R   RG   RE   RF   (   R/   R~   R   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt	   test_nextZ  s    		c         C` s   t  |  j |  j d d } t | |  j  |  j  t | d  t j d   t | d d d g  t j d d	 d g   d  S(
   NR9   Rr   g333333?g      ?g333333@gffffff@g      @g       @g      @(   R   Rb   Rc   R   R;   RD   (   R/   R~   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt	   test_zerom  s
    RL   c      	   C` sU  t  |  j |  j d |  j d t d | } t | d  t j |  j   t | d  t j |  j   t | d g d g d g d g g g  t j |  j   t | j t j d d	 d
 d d g   t j t	 t t t t g t t t t t	 g g   t  |  j |  j d t	 d | } t
 t | d  t
 t | d  | d	 d
 d g  d  S(   NRS   RR   R9   gffffff&@g333333g333333)@gL3@g      g        g      @g      "@g      &@(   R   Rb   Rc   RS   R{   R   R;   RD   t   _check_boundsRG   RE   RF   (   R/   R9   t   extrap10t   raises_bounds_error(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   _bounds_checku  s    '		c      	   C` s   t  j d  j t  j  } t  j d  j t  j  } t | | d | d t  j d t } | | d  } t t  j | d   t	 | t  j
 t  j | d  f  d  S(   Ni
   R9   RS   RR   i   i    i(   R;   RN   R   t   int_R   RT   R{   R   RU   R   t   r_(   R/   R9   R1   R0   t   ct   yi(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   _bounds_check_int_nan_fill  s    $c         C` s/   x( d	 D]  } |  j  |  |  j |  q Wd  S(
   NRL   R:   Rq   Ru   Rv   Rs   Rr   Rt   (   RL   R:   Rq   Ru   Rv   Rs   Rr   Rt   (   R   R   (   R/   R9   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_bounds  s    
c         C` s  t  |  j |  j d | d d d t } t | d  d  t | d  d  t | d d g  d d g  xL|  j |  j |  j |  j f D],} t  |  j	 | d | d d	 d d d t } t | d  d  t | d  d  t | d d g  d  t  |  j	 | d | d d	 d d d t } t | d  d  t | d  d  | j
 d
 k rd d g g | j d g | j d } n d d g g | j d } t | d d g  |  q Wd d d g } xH |  j |  j f D]4 } t t t  |  j	 | d | d d	 d | d t qWt  |  j	 |  j d | d d	 d | d t } t | d  d d d g g d  t | d  d d d g g d  t | d d g  d d g d d g d d g g g d  d d g } t t t  |  j	 |  j d | d d	 d | d t x |  j |  j |  j f D] } t  |  j	 | d | d d	 d | d t } d d g } | j
 d
 k r{| g | j d } n  t | d  |  t | d  |  d d g d d g g } | j
 d
 k r| g | j d } n  t | d d g  |  qWt j d d d g  d f } xH |  j |  j f D]4 } t t t  |  j	 | d | d d	 d | d t q-Wt  |  j	 |  j d | d d	 d | d t } t | d  d  t | d  d d d g g d  t | d d g  d d g d d g d d g g g d  t j d d g  d f } t t t  |  j	 |  j d | d d	 d | d t x |  j |  j |  j f D] } t  |  j	 | d | d d	 d | d t } t | d  d  d d g } | j
 d
 k r| g | j d } n  t | d  |  d d g d d g g } | j
 d
 k r.| g | j d } n  t | d d g  |  qhWd d d g d d d g f } xH |  j |  j f D]4 } t t t  |  j	 | d | d d	 d | d t q|Wx t d  D] } | d k rt d   | D  } n  t  |  j	 |  j d | d d	 d | d t } t | d  d d d g g d  t | d  d d d g g d  t | d d g  d d g d d g d d g g g d  qWd d g d d g f } t t t  |  j	 |  j d | d d	 d | d t x+|  j |  j |  j f D]} t  |  j	 | d | d d	 d | d t } d d g } | j
 d
 k rb| g | j d } n  t | d  |  d d g } | j
 d
 k r| g | j d } n  t | d  |  d d g d d g g } | j
 d
 k r| g | j d } n  t | d d g  |  q Wd d g d d g g } xN |  j |  j |  j f D]4 } t t t  |  j	 | d | d d	 d | d t qF	Wx t d  D] } | d k r	t j |  } n  t  |  j	 |  j d | d d	 d | d t } t | d  d d g d d g g  t | d  d d g d d g g  t | d d g  d d g d d g g d d g d d g g g  q	Wd d g d d g g d d g d d g g f } xN |  j |  j |  j f D]4 } t t t  |  j	 | d | d d	 d | d t q
Wxt d  D] } | d k r6t j | d  t j | d  f } n  t  |  j	 |  j d | d d	 d | d t } t | d  d d g d d g g  t | d  d d g d d g g  t | d d g  d d g d d g g d d g d d g g g  q
Wd  S(   NR9   RS   iid   RR   i
   iRx   ii   i   i    i   i,  i   i8ic         s` s   |  ] } t  j |  Vq d  S(   N(   R;   RD   (   t   .0R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pys	   <genexpr>  s    i  i  ii0(   iid   (   iid   (   R   Rb   Rc   R{   R   Rn   Ro   Rl   Rm   Ra   t   ndimt   shapeRE   RF   R;   RD   t   ranget   tuple(   R/   R9   t   interpR0   t   resultRS   t   ii(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   _check_fill_value  s   %+##	#	##	%%	)%	c         C` s"   x d	 D] } |  j  |  q Wd  S(
   NRL   Rq   R:   Rs   Rt   Rr   Ru   Rv   (   RL   Rq   R:   Rs   Rt   Rr   Ru   Rv   (   R   (   R/   R9   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_fill_value8  s    
c         C` sH   t  |  j |  j d d } t | j d  d | _ t | j d  d  S(   NRS   g     ^@g     t@(   R   Rb   Rc   R   RS   (   R/   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_fill_value_writeable>  s    	c         C` sA  t  |  j |  j d | } t | t j d d g d d g g   t j d d g d d g g   t t | d  t j   t	 | d  j
 d  t  |  j |  j d | } t | d  t j d d g   t | t j d d g   t j d d g d d	 g g   t  |  j |  j d
 d d | } t | d  t j d d g   t | t j d d g   t j d d g d d g g   t j d d g d d g g  } t | |  t j d d g d d g g d d g d	 d g g g   t | |  t j d d g d d g g d d g d d g g g   d  S(   NR9   g      @g      @g       @g      @g333333?g      ?g      &@g      (@Rx   i    g      @g      *@g      .@g      1@g      $@g      @g      ,@(    (   R   Rb   Rc   R   R;   RD   R   t
   isinstancet   ndarrayR   R   Rj   Rk   (   R/   R9   R~   t	   interp210t	   interp102t   x_new(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   _nd_check_interpE  s(    '"""!""!c   
      C` s   d d d d g } t  j t  j |   j |   } x t |  D] \ } } t  j |  } t | | d | d | } t | |  | d | t  j d  j d  d } t |  }	 d d	 d
 g |	 | | d
 +t | |  j |	 d | q@ Wd  S(   Ni   i   i   i   Rx   R9   R   i   i   i   g      (@i   i   (   i   i   i   (	   R;   RN   t   prodRd   t	   enumerateR   R   t   listR   (
   R/   R9   RO   R0   t   nt   sR1   R2   Rf   RP   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   _nd_check_shapee  s    !c         C` s/   x( d	 D]  } |  j  |  |  j |  q Wd  S(
   NRL   R:   Rs   Rt   Rq   Rr   Ru   Rv   (   RL   R:   Rs   Rt   Rq   Rr   Ru   Rv   (   R   R   (   R/   R9   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_nds  s    
c   	      C` s   t  j d d d d d d d d d	 d
 g
  } | | d } | j |  } t | | d | } t | d  | |  d   t  j d d
 d  } t | | j d | } t | | j d | } t | |  j | |   t | |  j | |   d  S(   Ni   g      @i   g@i   g@g@g       @g      #@i
   y               @R9   ii   y      ?       @(   R;   RD   R   R   R   R   t   realt   imag(	   R/   R   R9   R1   R0   R   t   xit   crt   ci(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   _check_complexy  s    -c         C` s;   x4 d	 D], } |  j  t j |  |  j  t j |  q Wd  S(
   NRL   Rq   R:   Rs   Rt   Rr   Ru   Rv   (   RL   Rq   R:   Rs   Rt   Rr   Ru   Rv   (   R   R;   R   R   (   R/   R9   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_complex  s    
t   reasons   Test not meaningful on PyPyc         C` sX   t  j d d  } t  j d d  } t t | |   } | d d g  } ~ Wd  QXd  S(   Ni    i   g?g?(   R;   R   R(   R   (   R/   R1   R0   R   t   new_y(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_circular_refs  s
    c         C` s^   xW d	 D]O } t  j d d d g d t  j } t | | d | } t | |  |  q Wd  S(
   NRq   Ru   Rv   i    i2   i   R   R9   (   Rq   Ru   Rv   (   R;   RD   t   int8R   R   (   R/   R9   R1   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_overflow_nearest  s    !c         C` s   t  j d  j t  } | j   } t  j | d <xN d D]F } t | | d | } | d d g  } t t  j |  j	    q8 Wd  S(	   Ni
   i   Rr   Rs   R9   g@g      @(   Rr   Rs   (
   R;   RN   R   R   R>   RT   R   R   RW   RV   (   R/   R1   R0   R9   t   irt   vals(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_local_nans  s    c   
      C` s  t  j d  j t  } | j   } | j   } t  j | d <x d d g D] } t | | d | } t | | d | } x d d d g d d g d d g g f D]Z } t  j |  } | |  | |  } }	 t t  j	 |	  j
    t | j |	 j  q WqJ Wd  S(	   Ni   i   Rt   R:   R9   i   i   i   (   R;   RN   R   R   R>   RT   R   t   asarrayR   RU   RV   R   R   (
   R/   R1   R0   t   ynR9   R   t   irnR   t   outt   outn(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_spline_nans  s    .c         C` s   t  j d d  } t  j | d  } t  j d d d  } xk t t f D]] } | | j _ xH d D]@ } t | | d | } | |  } t t  j	 |  j
    qa WqH Wd  S(   Ni    i
   g      @i	   g?RL   Rq   Rr   Rs   Rt   R:   R9   (   RL   Rq   Rr   Rs   Rt   R:   (   R;   RN   R   RG   R{   t   flagst	   writeableR   R   RW   RV   (   R/   R1   R0   R   R   R9   R   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_read_only  s    
(%   R^   R_   Rp   Rz   R|   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R;   t   complex_R   R   t   pytestt   markt   skipifR)   R   R   R   R   R   (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR`   r   s:   		E															 		!
			t   TestLagrangec           B` s   e  Z d    Z RS(   c         C` se   t  d d d d d g  } t j t | j   } | |  } t | |  } t | j | j  d  S(   Ni   i   i   i   i   (   R   R;   RN   t   lent   coeffsR   R   (   R/   t   pt   xst   yst   pl(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_lagrange  s
    (   R^   R_   R   (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR     s   t   TestAkima1DInterpolatorc           B` s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C` s   t  j d d  } t  j d d d d d d d d d d	 d g  } t | |  } t  j d d
 d d d d d d	 d d d d d g  } t  j d d d d d d d d d d d d d g  } t | |  |  d  S(   Ng        g      &@g       @g      ?g      @g      @g      @g@gffffff@g      ?g      ?g      @g      @g      @g      @g@g333333!@g#@g      $@g      ?g     @?g     @g.袋@g^@gn @gGNB@grcߖ@g	I@(   R;   RN   RD   R   R   (   R/   R1   R0   t   akR   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt	   test_eval  s    0$c         C` s  t  j d d  } t  j d d d d d d d d d d	 d g  } t  j | d | f  } t | |  } t  j d d
 d d d d d d	 d d d d d g  } t  j d d d d d d d d d d d d d g  } t  j | d | f  } t | |  |  d  S(   Ng        g      &@g       @g      ?g      @g      @g      @g@gffffff@g      ?g      ?g      @g      @g      @g      @g@g333333!@g#@g      $@g      ?g     @?g     @g.袋@g^@gn @gGNB@grcߖ@g	I@(   R;   RN   RD   t   column_stackR   R   (   R/   R1   R0   R   R   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_eval_2d  s    0$c         C` s  t  j d d  } t  j d d d d d d d d d d	 d g  } t  j d#  } | | d  d   d d f <d | | d  d   d d f <d | | d  d   d d f <d | | d  d   d d f <t | |  } t  j d d d d d d d d	 d d d d d g  } t  j d$  } t  j d d d d d d d d d d  d! d" d g  } | | d  d   d d f <d | | d  d   d d f <d | | d  d   d d f <d | | d  d   d d f <t | |  |  d  S(%   Ng        g      &@g       @g      ?g      @g      @g      @g@gffffff@i   i   i    i   g      @g      ?g      ?g      @g      @g      @g      @g@g333333!@g#@g      $@i   g      ?g     @?g     @g.袋@g^@gn @gGNB@grcߖ@g	I@(   i   i   i   (   i   i   i   (   R;   RN   RD   t   emptyR   R   (   R/   R1   t   y_R0   R   R   R   t   yi_(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_eval_3d  s.    0$c         C` s   t  j d d d g  } t  j | | d f  j } t | |  } t  j d d g  } | |  } t | t  j | | d f  j  d  S(   Ni    i   i   g      ?g      ?(   R;   RD   t   vstackt   TR   R   (   R/   R1   R0   R   t   x_evalt   y_eval(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt%   test_degenerate_case_multidimensional  s    c         C` s   t  j d d  } t  j d d d d d d d d d d	 d g  } t | |  } d
 } t j t d |  | j d  d   Wd  QXd  S(   Ng        g      &@g       @g      ?g      @g      @g      @g@gffffff@s8   Extending a 1D Akima interpolator is not yet implementedt   match(	   R;   RN   RD   R   R   R	   t   NotImplementedErrort   extendR7   (   R/   R1   R0   R   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_extend  s    0(   R^   R_   R   R   R   R   R   (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR     s
   					t   TestPPolyCommonc           B` sP   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   c         C` sl   t  j d d g d d g d d g g  } t  j d d d g  } t t t | |  t t t | |  d  S(	   Ni   i   i   i   i   i   i    g      ?(   R;   RD   RE   RF   R   R   (   R/   R   R1   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_sort_check!  s    *c         C` s0   t  t   t d d g d d g  Wd  QXd  S(   Ni   i   i    (   RE   RF   R   (   R/   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_ctor_c'  s    c         C` s  t  j j d  d } t  j t  j d d t  j j d  d f  } d t  j j | d t |  d d d  d } xt t f D]} | | d  d   d  d  f | d   } | j	 | d  d   d d   f | d  | | d  d   d d   f | d  } | j	 | d  d   d  d  f | d   | | |  } t
 | j | j  t
 | j | j  t
 | j | j  t
 | j | j  q Wd  S(	   Ni  i   i    i
   i   i   i   i	   (   R;   R<   R=   t   uniqueR   t   randR   R   R   R   R   R   R1   (   R/   t   orderR1   R   t   clst   ppt   pp2t   pp3(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR   ,  s    /1)*)*c         C` s"  t  j j d  t  j d d d  } t  j j d d  } t  j d d d  } t  j j d d  } x t t f D] } | | |  } | | |  } | | |  } | j | | d  t  j d d d d	 t }	 t  j d d d  }
 t	 | |	  | |	   t	 | |
  | |
   qq Wd  S(
   Ni  i    i   i   i   i   i   i,  t   endpoint(
   R;   R<   R=   R   R  R   R   R   R{   R   (   R/   R1   R   Rf   t   c2R  t   pp1R  t   pp_combt   xi1t   xi2(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_extend_diff_ordersB  s    c         C` s}  t  j j d  d } t  j t  j j d d d   } t  j j | d | j d d d d  } xt t f D]} | | |  } | | d  d   d  d  f | d   } | j	 | d  d   d d   f | d  | | d  d   d d   f | d  } | j	 | d  d   d  d  f | d   t
 | j | j  t
 | j | j  t
 | j | j  t
 | j | j  qn Wd  S(   Ni    i   i
   i   i   i   i	   (   R;   R<   R=   t   sortt   uniformR  R   R   R   R   R   R   R1   (   R/   R  R1   R   R  R   t   p1t   p2(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_extend_descending[  s    !*)*)*c         C` s1  t  j j d  t  j j d d d d d  } t  j t  j j d   } t  j j d d	  } x9 t t f D]+ } | | |  } t | |  j d  qk Wx t t f D] } | | d |  } t t  j | d   d  t t  j | t  j	 d    d  t
 t | t  j	 d d g d g g   q Wd  S(   Ni  i   i   i   i   i   i   i   i   .i    g      ?g?g?g?(   i   i   i   i   i   (   .i    i    i    (    (    (   R;   R<   R=   R  R  R   R   R   R   RD   RE   RF   (   R/   R   R1   t   xpR  R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt
   test_shapep  s    %c         C` s  t  j j d  t  j t  j j d   } t  j j d  d } | j | j } } t  j j d  } x t t f D] } | | |  | | |  | | |  } } }	 x[ d d	 d
 g D]J }
 t | | |
  j | | |
   t | | |
  j |	 | |
   q Wqs Wd  S(   Ni90  i   i   i   g      ?y        333333?i   i    i   i   (   i   i   y      ?333333?(	   R;   R<   R=   R  R   R   R   R   R   (   R/   R1   R   t   c_ret   c_imR  R  R   t   p_ret   p_imt   nu(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_complex_coef  s    /"c         C` s  t  j j d  t  j j d d d d d d  } | j } t  j j d  } xmd D]e} | j | | j | d } } t  j t  j j | d   } xt t f D]} | | | d | }	 t |	 j	 j | | | d	 !| |  | | d	  |	 |  }
 | |  | j | d	 | } t |
 j |  x | | | d | j
   | | | d | j
 d	  | | | d | j   | | | d | j d	  g D] } t | j |	 j  qWq WqS WxJ d D]B } x9 t t f D]+ } t t | t d | d | d |   qWqWd  S(   Ni90  i   i   i   i   i   i   i   i   i    Rx   iR   R1   (   i   i   (   i    i   i   i   (   ii   i   i   (   R;   R<   R=   R  R   R  R   R   R   R   t
   derivativet   antiderivativeRx   RE   RF   R   (   R/   R   t   c_sR  Rx   t   kt   mR1   R  R   t   rest
   targ_shapeR  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt	   test_axis  s,    !	&%(
   R^   R_   R  R  R   R  R  R  R  R%  (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR     s   							t   TestPolySubclassingc           B` sa   e  Z d  e f d     YZ d e f d     YZ d   Z d   Z d   Z d   Z	 d   Z
 RS(	   t   Pc           B` s   e  Z RS(    (   R^   R_   (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR'    s   t   Bc           B` s   e  Z RS(    (   R^   R_   (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR(    s   c         C` s_   t  j j d  t  j t  j j d   } t  j j d  } |  j | |  |  j | |  f S(   Ni  i   i   i   (   i   i   (   R;   R<   R=   R  R'  R(  (   R/   R1   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   _make_polynomials  s    c         C` sk   |  j    \ } } x3 | | f D]% } | j   } t | j | j  q W| j   } t | j | j  d  S(   N(   R)  R  R   t	   __class__R  (   R/   R  t   bpR   t   pdt   ppa(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_derivative  s    c         C` s   t  j j d  t  j t  j d t  j j d  d f  } t  j j t |   } t | | d d } |  j j	 |  } t
 | j |  j  d  S(   Ni  i    i   i   R   (   R;   R<   R=   R  R   R  R   R   R'  t   from_splineR   R*  (   R/   R1   R0   t   splR  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_from_spline  s    +c         C` s`   |  j    \ } } |  j j |  } t | j |  j  |  j j |  } t | j |  j  d  S(   N(   R)  R'  t   from_bernstein_basisR   R*  R(  t   from_power_basis(   R/   R  R+  R  t   bp1(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_conversions  s
    c         C` sS   d d d g } d g d g d g g } |  j  j | |  } t | j |  j   d  S(   Ni    i   i   i   (   R(  t   from_derivativesR   R*  (   R/   R1   R0   R+  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_from_derivatives  s    (   R^   R_   R   R'  R   R(  R)  R.  R1  R5  R7  (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR&    s   							t	   TestPPolyc           B` s   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   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   t  j d d g d d g d d g g  } t  j d d d g  } t | |  } t | d	  d d d d  t | d
  d d d d d  d  S(   Ni   i   i   i   i   i   i    g      ?g333333?gffffff?g
ףp=
?g333333?g?gxGz?g?(   R;   RD   R   R   (   R/   R   R1   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_simple  s
    *c         C` s   t  j d d g d d g d d g g  } t  j d d d g  } t | | d	 d
 } t | d  d d d d  t | d  d d d d d  t | d d  d  t | d d  d d d  d  S(   Ni   i   i   i   i   i   i    g      ?Rw   t   periodicg?g333333?g333333ӿgffffff?i   g
ףp=
?g333333?g?gxGz?g?g333333?g@g?(   R;   RD   R   R   (   R/   R   R1   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_periodic  s    *#c         C` s  d   } t  j j d  d } xd d d g D]} t  j t  j j d d | d   } t  j j d d	 d
 | d | f } t  j |  } | d  d  d   f t  j | d  d  d  d  d  f } | |  } | | }	 t  j | j	 |	  }
 |
 | } t
 | | d t } t
 | d  d   d  d  d  f | d  d  d  d t } t  j j d d d  } t | |  | |  d d t | | d  | | d  d d | j   } | j   } t | |  | |  d d | j   } | j   } x t  j j d d d  D]v \ } } | j | |  } | j | |  } t | | d d t | |  | |  | |  | |  d d qW| j   } | j   } t | t  j |  d d q/ Wd  S(   Nc         S` sa   t  j |  d  j d d  } t  j |  d  } t | |  } | d  d  d  d  d  d  f S(   Ni   i(   R;   RN   Rd   R+   (   t   powerR   R!  R(  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   binom_matrix  s    i    i   i
   i   i   i   ii   t   sizeiRw   iid   R   gvIh%<=i   g-q=(   i   i   (   R;   R<   R=   R  R  t   diffR7   RN   t   dotR   R   RG   R   R  R  t	   integratet   roots(   R/   R=  R<  R"  R1   t   cat   ht   h_powersR(  t   capt   cdpt   cdt   paR,  t   x_testt   pa_dt   pd_dt   pa_it   pd_iRO   RP   t   int_at   int_dt   roots_dt   roots_a(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_descending  s>    	%%:

;%%,c         C` s   t  j j d d d d d  } t  j d d d g  } t | |  } t | j j | j  t | j j | j  t | d  j | j d  t | t  j j d d   j d
 | j d  | j	   } t | j j d  | j
   } t | j j d  d  S(   Ni   i   i   i   i    g      ?g333333?i   i   (   i   i   (   i   i   i   i   i   (   i   i   i   i   i   (   R;   R<   R  RD   R   R   R1   R   R   R  R  (   R/   R   R1   R   t   dpt   ip(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_multi_shape!  s    0c         C` s   t  j j d  t  j d d g d d g d d g g d t } t  j d	 d
 d g  } t j | |  } t | d  d d d d  t | d  d d d d d  d  S(   Ni  i   i   i   i   i   i   R   i    g      ?g333333?gffffff?g
ףp=
?g333333?g?gxGz?g?(   R;   R<   R=   RD   R   R   t   construct_fastR   (   R/   R   R1   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_construct_fast0  s    0c         C` s   t  j j d  t  j j d d d  } t  j t  j d t  j j d  d f  } t | |  } t  j d } t | | |  } t | |  |  t	 | d  d   d  d   d f | |  } t | |  d  d   d f |  d  S(   Ni  i   i   i   i    i   i   g333333?g      ?gQ?g333333?(   g333333?g      ?gQ?g333333?(
   R;   R<   R=   R  R  R   R   t   _ppoly_eval_1R   t   _ppoly_eval_2(   R/   R   R1   R   R  t   expected(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt#   test_vs_alternative_implementations8  s    ++c         C` sC  t  j j d  t  j t  j d t  j j d  d f  } t  j j t |   } t | | d d } t j	 |  } t  j
 d d d  } t | |  t | |   t |   } t j	 |  } t | |  | |   | \ } }	 }
 xQ d  t t f D]@ } t | |	 |
 d | } t j	 |  } t | j | j  q Wd  S(   Ni  i    i   i   R   i   Rw   (   R;   R<   R=   R  R   R  R   R   R   R/  R   R   R   R$   R7   RG   R{   R   Rw   (   R/   R1   R0   R0  R  R   RP   t   pppt   tR   R!  t   extrapR   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR1  F  s    +c         C` s   t  j j d  t  j d d d d g g  j } t  j d d d g g  j } t  j d
 d g g  j } t  j d d g  } t | |  } t | |  } t | |  } t | j   j | j  t | j d  j | j  d  S(   Ni  i   i   i   i   i    i   i   i   i   i   i   (	   R;   R<   R=   RD   R   R   R   R  R   (   R/   R   t   dct   ddcR1   R  t   dppt   ddpp(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_derivative_simple]  s    !c         C` s   t  j j d  t  j t  j d t  j j d  d f  } t  j j t |   } t | | d d } t j	 |  } t  j
 d d d  } x9 t d d  D]( } t | | |  t | | |   q Wd  S(   Ni  i    i   i   R   i   i   (   R;   R<   R=   R  R   R  R   R   R   R/  R   R   R   R   (   R/   R1   R0   R0  R  R   t   dx(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_derivative_evalk  s    +c         C` s   t  j j d  t  j t  j d t  j j d  d f  } t  j j t |   } t | | d d d d } t j	 |  } t  j
 d d d  } xI t d d	  D]8 } t | | |  | j |  |  d
 d | f q Wd  S(   Ni  i    i   i   R   R!  i   i   i
   R   s   dx=%d(   R;   R<   R=   R  R   R  R   R   R   R/  R   R   R   R  (   R/   R1   R0   R0  R  R   Re  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR.  w  s    +$c         C` s   t  d g g d d g  } t | j   j t  d g d g g d d g  j  t | j   j t  d g d g g d d g  j  d  S(   Ng      ?i    i   (   R   R   R  R   R1   (   R/   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_antiderivative_of_constant  s    4c         C` s   t  d d g g d d d g  } | j   } t | j d d g d d g g  t | j d d d g  t | j d d  d  t | d  | d  d  d  S(   Ng      ?g      ?i    i   i   g      ?(   R   R  R   R   R1   R   RA  (   R/   R   t   q(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt#   test_antiderivative_regression_4355  s    !"c   	      C` sD  t  j j d  t  j d d d g d d d g g  j } t  j d d d d g d d d d g g  j } t  j d d d d d g d d d d d	 g g  j } t  j d d
 d g  } t | |  } | j   } | j d  } | j   } t | j |  t | j	 j | j  t | j	 j | j  t | j	 j | j  d  S(   Ni  i   i   i   i    g      ?g      ?i   g*?g      ?g      ?gUUUUUU?g      ?g      ?(
   R;   R<   R=   RD   R   R   R  R   R1   R   (	   R/   R   t   ict   iicR1   R  t   ippt   iippt   iipp2(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_antiderivative_simple  s    *0c         C` s@  t  j j d  t  j d d d  d } t  j j t |   } t | | d d d d } t j |  } x t	 d d	  D] } | j
 |  } | j |  } t | j | j  x t	 |  D]u } | j |  } d
 }	 |	 | j d  d |	 | j d }
 t | | j d  | |
  d d d d | | f q Wq{ Wd  S(   Ni  i    i   i   i   R   R!  i   i
   gvIh%<=iR   gHz>R   s
   dx=%d k=%d(   R;   R<   R=   R   R  R   R   R   R/  R   R  R  R   R   R1   (   R/   R1   R0   R0  R  Re  Rl  R  R!  t   rR
  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt!   test_antiderivative_vs_derivative  s    $c   	      C` s   t  j j d  t  j t  j d t  j j d  d f  } t  j j t |   } t | | d d d d } t j	 |  } xl t
 d d  D][ } | j |  } t | |  } t  j d d d	  } t | |  t | |  d
 d q Wd  S(   Ni  i    i   i   R   R!  i   i
   i   R   gHz>(   R;   R<   R=   R  R   R  R   R   R   R/  R   R  R   R   R   R   (	   R/   R1   R0   R0  R  Re  R  t   spl2R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_antiderivative_vs_spline  s    +c         C` s   t  j d d d d g d d d d g g  j } t  j d d d g  } t | |  } | j   } t | d	  | d
  d d | j   } t | j | j  d  S(   Ni   i   i   i    g      ?g&.>R   g:0yE>gA?g_p   ?(   R;   RD   R   R   R  R   R  R   (   R/   R   R1   R   RU  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_antiderivative_continuity  s    0c   	      C` sM  t  j j d  t  j t  j d t  j j d  d f  } t  j j t |   } t | | d d d d } t j	 |  } d \ } } | j
 | |  } | j   } t | | |  | |   t | t | | |   d \ } } | j
 | | d t } t | | |  | |   t t  j | j
 | | d t  j    d  S(   Ni  i    i   i   R   R!  i   g333333?g?g333333ӿRw   (   g333333?g?(   g333333ӿg?(   R;   R<   R=   R  R   R  R   R   R   R/  RA  R  R   R   RG   R   RU   R{   RV   (	   R/   R1   R0   R0  R  RO   RP   t   igRl  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_integrate  s    +c         C` s@  t  j d d d g  } t  j d d g d d g d d g d d g g  } t | | d	 d
 } | j   } | d  | d  } t | j d d  |  t | j d d  |  t | j d d  d |  t | j d d  | d  | d   t | j d d  | d  | d  | d  | d   t | j d d  | d  | d  | d  | d   t | j d d  | d  | d  | d  | d  d |  t | j d d  | d  | d   t | j d d  | d  | d   t | j d d  | d  | d  d |  d  S(   Ni   i   i   g        g      g       @g       g      ?Rw   R:  iiig      ?g      @g      @i   i   i    ii   ig      /@i   i   (   R;   RD   R   R  R   RA  (   R/   R1   R   R'  R3   t
   period_int(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_integrate_periodic  s"    3)=+3))c         C` s   t  j d d d  d } t  j d |  } t | | d d d d } t j |  } | j   } | | d k | d k @} t | t |  d
 d	 d  S(   Ni    i   i   i   i   R   R!  i   gV瞯<R   gV瞯Ҽg     ?(	   R;   R   R   R   R   R/  RB  R   R   (   R/   R1   R0   R0  R  Rp  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt
   test_roots  s    c         C` s   t  j d d g d d g d d g g  j } t  j d d d d g  } t | |  } t | j   d d t  j d	 g  d } | j   } | d d  d   f c | 7<t | |  } t | j |  d d t  j d
 g  d  S(   Nig      ?i    g?g333333?g      ?g       @i   g333333?g333333?(	   R;   RD   R   R   R   RB  RT   R>   t   solve(   R/   R   R1   R  t   constt   c1R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_roots_idzero  s    -c         C` s  d g d g g } d d g } t  | |  } t | j   d t j g  t | j d  d t j g  t | j d  g   d d g d d g g } d d d g } t  | |  } t | j   d t j d t j g  t | j d  d t j d t j g  t | j d  g   d  S(   Ni    i   i   (   R   R   RB  R;   RT   Rz  (   R/   R   R1   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_roots_all_zero,  s    %(c         C` s   t  j d d d g d d d g g  j } t  j d d d g  } t | |  } t | j   d d g  t | j d t  d g  d  S(   Ni   i    iiRw   (   R;   RD   R   R   R   RB  R{   (   R/   R   R1   R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_roots_repeated<  s
    *c         C` s   t  j d g d g g  j } t  j d d d g  } t | |  } t | j   d g  t | j d t  g   t | j d  d g  t | j d d t g   t | j d  g   t | j d d t g   d  S(   Ni   ii    g      ?t   discontinuityg      ?(   R;   RD   R   R   R   RB  R{   Rz  (   R/   R   R1   R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_roots_discontH  s    c         C` s  t  j j d  d } xt t f D]} xt d d  D]} t  j t  j d d t  j j d  d f  } d t  j j | d t	 |  d d d  d } t
 | |  } xd t  j j   g D]} | j | d	 t d
 | } x t d  D] }	 x t d  D] }
 | |	 |
 f } | j d k r| | j 7} | | d
 | d  d   |	 |
 f } | | d d d
 | d  d   |	 |
 f } d | t |  f } t | | | d d d d | qqWq Wq Wq9 Wq# Wt | d k t |   d  S(   Ni  i    i   i
   i   i   i   i   R  Rw   R  s   (%r) r = %sR   gHz>R   id   (   R;   R<   R=   RG   R{   R   R  R   R  R   R   Rz  R>  t   reprR   R   (   R/   t   numRw   R  R1   R   R  R0   Rp  t   it   jt   rrt   valt   cmpvalt   msg(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_roots_randomW  s*    /1%c      	   C` s  t  j j d  xt d d  D]} t  j j | d d  } | d k rf d | d  d   d d f <n  x7d t  j j   g D] } t  j | j d t } t j	 | |  | d k r t
 t  j |  j    q| n  d } d } xb t |  D]T } | | | d  f | | d | 7} | t | | d  f | | d |  7} q Wt  j d	 d
   | | } Wd  QX| j   } | t  j |  } t | d d d q| Wq  Wd  S(   Ni  i   i   i   i   i   i    R   t   invalidt   ignoreR   g|=(   i   i   i   (   R;   R<   R=   R   R  R   R   t   complexR'   t   _croots_poly1R   RU   RV   R7   t   abst   errstateR.   R   (   R/   R!  R   R0   t   wR#  t   cresR  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_roots_crootsv  s*    $.c         C` s  t  j d d d g g  j } t  j d d g  } xdt t d  g D]S} t | | d | } | j   } | j   } | t k r
t	 t  j
 | d d g   j    t	 t  j
 | d d g   j    t	 t  j
 | d d g   j    t | j   d g  qC t | d d g  d d	 d d
 g  t	 t  j
 | d d g   j    t	 t  j
 | d d g   j    t | j   d d g  qC Wd  S(   Nii    i   Rw   gg?g?i   g|Gz?g](\?(   R;   RD   R   RG   R{   R7   R   R  R  R   RU   RV   R   RB  R   t   any(   R/   R   R1   Rw   R  t   pp_dt   pp_i(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_extrapolate_attr  s    %%%'&&(   R^   R_   R9  R;  RS  RV  RX  R\  R1  Rd  Rf  R.  Rg  Ri  Ro  Rq  Rs  Rt  Rv  Rx  Ry  R}  R~  R  R  R  R  R  (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR8    s4   			1																							t	   TestBPolyc           B` sk   e  Z d    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 g } d g g } t  | |  } t | d  d  d  S(   Ni    i   i   g?g      @(   R   R   (   R/   R1   R   R+  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR9    s    c         C` sH   d d g } d g d g g } t  | |  } t | d  d d  d  S(	   Ni    i   i   g?g?g      ?g@g?(   R   R   (   R/   R1   R   R+  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_simple2  s    c         C` sR   d d g } d g d g d g g } t  | |  } t | d  d	 d d  d  S(   Ni    i   i   i   g?g?i   g433333@gQ?i   g?g|Gz?g?g|Gz?(   R   R   (   R/   R1   R   R+  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_simple3  s
    c         C` sl   d d g } d g d g d g d g g } t  | |  } t | d  d d d d d	 d
 d d  d  S(   Ni    i   i   g333333?gffffff?i   gʡE?g[(\?g @g
ףp=
?gS㥛?(   R   R   (   R/   R1   R   R+  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_simple4  s    c         C` sz   d d g } d g d g d g d g d g g } t  | |  } t | d  d
 d d d d d d d d d  d  S(   Ni    i   i   i   g333333?gffffff?i   i   i   g?ǘ?gʡE?i0   g[(\?g
ףp=
?i   gffffff@gS㥛?gǘ?(   R   R   (   R/   R1   R   R+  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_simple5  s    $#c         C` s   d d d g } d d g d d g d d g g } t  | | d d } t | d  d d  t | d	  d d  t | d d  d  t | d	 d  d d  d  S(   Ni    i   i   i   Rw   R:  g333333@g333333?ggffffff?ig
ףp=
?gffffff?g[(\?ggffffff?(   R   R   (   R/   R1   R   R+  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR;    s    !c         C` s%  t  j j d  d } xd d d g D]} t  j t  j j d d | d   } t  j j d d d	 | d | f } | d  d  d
  j   } t | | d t } t | d  d   d  d  d
  f | d  d  d
  d t } t  j j d d d  } t | |  | |  d d t | | d  | | d  d d | j	   }	 | j	   }
 t |	 |  |
 |  d d | j
   } | j
   } x t  j j d d d  D]v \ } } | j | |  } | j | |  } t | | d d t | |  | |  | |  | |  d d qWq& Wd  S(   Ni    i   i
   i   i   i   gg?R>  iRw   iid   R   gvIh%<=i   i   g-q=(   i   i   (   R;   R<   R=   R  R  R>   R   RG   R   R  R  RA  (   R/   R<  R"  R1   RC  RH  RI  R,  RJ  RK  RL  RM  RN  RO   RP   RO  RP  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyRS    s,    %%;%%,c         C` s   t  j j d d d d d  } t  j d d d g  } t | |  } t | j j | j  t | j j | j  t | d  j | j d  t | t  j j d d   j d	 | j d  | j	   } t | j j d
  d  S(   Ni   i   i   i   i    g      ?g333333?i   (   i   i   (   i   i   i   i   i   (
   R;   R<   R  RD   R   R   R1   R   R   R  (   R/   R   R1   R   RT  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyRV    s    c         C` s   d d g } d g d g d g g } t  | |  } d } | d } t | |  d d | d | d | d | d | |  d  S(   Ni    i   i   i   i   g?i   (   R   R   (   R/   R1   R   R+  t   xvalR   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_interval_length  s    
c         C` sm   d d d g } d d g d d g d d g g } t  | |  } t | d  d
  t | d  d d  d  S(   Ni    i   i   i   g?g333333?g333333?gffffff?g?gGzG?gffffff?g[(\?(   R   R   (   R/   R1   R   R+  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_two_intervals  s
    !c         C` s  d d g } d g d g d g g } t  | |  } x t t d  f D] } t  | | d | } | j   } | t k r t t j | d d g   j    t t j | d d g   j    qC t t j | d d g   j	    t t j | d d g   j	    qC Wd  S(	   Ni    i   i   i   i   Rw   gg @(
   R   RG   R{   R7   R  R   R;   RU   RV   R  (   R/   R1   R   R+  Rw   t   bp_d(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR    s    %(&(   R^   R_   R9  R  R  R  R  R;  RS  RV  R  R  R  (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR    s   						
		"			t   TestBPolyCalculusc           B` sk   e  Z d    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 g d d g d d g g } t  | |  } | j   } t | d  d  t | d  d	  t | d d
 d | d d
 d | d d
 d g d d d d g  t | d d
 d | d d
 d | d d
 d g d	 d d g  d  S(   Ni    i   i   i   g?ig333333?g333333?gffffff?R  g      @g        g      ?gg333333?(   R   R  R   (   R/   R1   R   R+  t   bp_der(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR.  -  s    !33c   	      C` s   t  j j d  d \ } } t  j t  j j |   } t  j j | | d f  } t | |  } t j |  } xb t |  D]T } | j   } | j   } t  j	 | d | d d  } t
 | |  | |   q~ Wd  S(	   Ni  i   i   i   i    ii   (   i   i   (   R;   R<   R=   R  R   R   R2  R   R  R   R   (	   R/   R"  R!  R1   R   R+  R  t   dR  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_derivative_ppoly;  s    c   	      C` s   t  j j d  d
 \ } } t  j t  j j |   } t  j j | | d f  } x | j   | d g D]n } t | |  } t  j | d | d d	  } x9 t |  D]+ } t | | |  | j	 |  |   q Wqj Wd  S(   Ni  i   i   i   g      ?y               @i    ii   (   i   i   y      ?       @(
   R;   R<   R=   R  R>   R   R   R   R   R  (	   R/   R"  R!  R1   R   t   ccR+  R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_deriv_inplaceJ  s    c         C` s   d d d g } d d g d d g g } t  | |  } | j   } t j d d d  } t | |  t j | d k  | d d d | | d d d  d
 d d d d  S(   Ni    i   i   i   i   g       @g      ?g      @i   R   g-q=R   g      ?(   R   R  R;   R   R   t   where(   R/   R1   R   R+  t   bit   xx(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyRo  W  s    c         C` s   t  j j d  t  j t  j j d   } t  j j d  } t | |  } t  j | d | d d	  } t | j   j   |  | |  d
 d d d d  S(   Ni  i   i   i
   i   i   i    iid   R   g-q=R   (   i   i
   i   i   (	   R;   R<   R=   R  R   R   R   R  R  (   R/   R1   R   R+  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_der_antiderk  s    c         C` s   t  j j d  t  j t  j j d   } t  j j d  } t | |  } t j |  } t  j | d | d d  } t | j	 d  |  | j	 d  |  d	 d
 d d
 d  S(   Ni  i   i   i
   i   i   i    iR   g-q=R   (   i   i
   i   i   (
   R;   R<   R=   R  R   R   R2  R   R   R  (   R/   R1   R   R+  R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_antider_ppolyu  s    c         C` s   t  j j d  t  j t  j j d   } t  j j d  } t | |  j   } | j d d !} t | | d  | | d  d d	 d
 d	 d  S(   Ni  i   i   i
   i   ig+=R   g-q=R   (   i   i
   (   R;   R<   R=   R  R   R  R1   R   (   R/   R1   R   R+  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_antider_continuous  s    c         C` s   t  j j d  t  j t  j j d   } t  j j d
  } t | |  } t j |  } t | j d d  | j d d  d d d	 d d  S(   Ni  i   i   i
   i    i   R   g-q=R   (   i   i
   (	   R;   R<   R=   R  R   R   R2  R   RA  (   R/   R1   R   R+  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyRv    s    c         C` s   d g g } d d g } t  | |  } t | j d d  d d d t  | | d t } t t j | j d d    t | j d d d t d d d d  S(   Ni   i    i   g       @R   g+=Rw   (   R   R   RA  R{   R   R;   RU   RG   (   R/   R   R1   RP   t   b1(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_integrate_extrap  s    c         C` sI  t  j d d d g  } t  j d d g d d g d d g d d g g  } t j t | |  d	 d
 } | j   } | d  | d  } t | j d d  |  t | j d d  |  t | j d d  d |  t | j d d  | d  | d   t | j d d  | d  | d  | d  | d   t | j d d  | d  | d  | d  | d   t | j d d  | d  | d  | d  | d  d |  t | j d d  | d  | d   t | j d d  | d  | d   t | j d d  | d  | d  d |  d  S(   Ni   i   i   g        g      g       @g       g      ?Rw   R:  iiig      ?g      @g      @i   i   i    ii   ig      /@i   i   (   R;   RD   R   R3  R   R  R   RA  (   R/   R1   R   R'  R3   Rw  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyRx    s"    3)=+3))c         C` s   d g g } d d g } t  | |  } t j d d d  } t | j d  |  | j   |  d d d d t | j d  |  | j d  |  d d d d d  S(   Ni   i    i   iR   g-q=R   (   R   R;   R   R   R  R  (   R/   R   R1   RP   R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_antider_neg  s    '*(   R^   R_   R.  R  R  Ro  R  R  R  Rv  R  Rx  R  (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR  ,  s   					
		
				t   TestPolyConversionsc           B` s#   e  Z d    Z d   Z d   Z RS(   c         C` s   d d d g } d d g d d g d d g g } t  | |  } t j |  } t  j |  } d d g } t | |  | |   t | |  | |   d  S(	   Ni    i   i   i   i   i   g?gffffff?(   R   R   R3  R2  R   (   R/   R1   R   R  R+  R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_bp_from_pp  s    !c   	      C` s   t  j j d  d \ } } t  j t  j j |   } t  j j | | d f  } t | |  } t j |  } t j |  } t  j | d | d d  } t	 | |  | |   t	 | |  | |   d  S(	   Ni  i   i   i   i    ii   (   i   i   (
   R;   R<   R=   R  R   R   R3  R2  R   R   (	   R/   R"  R!  R1   R   R  R+  R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_bp_from_pp_random  s    c         C` s   d d d g } d d g d d g d d g g } t  | |  } t j |  } t  j |  } d d g } t | |  | |   t | |  | |   d  S(   Ni    i   i   i   i   g?gffffff?(   R   R   R2  R3  R   (   R/   R1   R   R+  R  R4  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_pp_from_bp  s    !(   R^   R_   R  R  R  (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR    s   		t   TestBPolyFromDerivativesc           B` s   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C` s5   t  j d d d g d g  } t | d d g  d  S(   Ni    i   i   i   g       @g      @(   R   t   _construct_from_derivativesR   (   R/   R|  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_make_poly_1  s    c         C` s   t  j d d d d g d g  } t | d d d g  t  j d d d d g d g  } t | d d	 d g  t  j d d d g d d g  } t | d d d g  d  S(
   Ni    i   g      ?i   i   g       @g      @g      g      @(   R   R  R   (   R/   R|  R  t   c3(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_make_poly_2  s    !!!c         C` s   t  j d d d d d g d g  } t | d d d d
 g  t  j d d d g d d d g  } t | d d d d
 g  t  j d d d d g d d g  } t | d d d d
 g  d  S(   Ni    i   i   i   i   g      ?g      @g      1@i   g      @g      3@g      $@g      @g?g@gUUUUUU	@g
@g?(   R   R  R   (   R/   R|  R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_make_poly_3  s    $$$c         C` s   t  j j d  t  j d t  j j d  f } t  j d t  j j d  f } t j d d | |  } t | d  d   d  f d d g  } xM t d  D]? } t | d  | d  g | | | | g  | j	   } q Wd  S(   Ni90  i    i   i   i   g        g      ?(
   R;   R<   R=   R   R   R  R7   R   R   R  (   R/   t   yat   ybR   R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_make_poly_12
  s    %-c   	      C` s   t  j j d  d d g } d
 \ } } t  j j | d d d d f  } t | |  } t j | |  } t | |  } t  j d d d	  } t | |  | |   d  S(   Ni90  i    i   i   i   i   i   i   i   (   i   i   (   R;   R<   R=   R   t   _raise_degreeR   R   (	   R/   R1   R!  R  R   R+  R|  R4  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_raise_degree  s    !c         C` s#   t  t t j d d g d g  d  S(   Ni    i   (   RE   RF   R   R6  (   R/   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt
   test_xi_yi"  s    c         C` sA   d d d g } d g d g d g g } t  t t j | |  d  S(   Ni    i   (   RE   RF   R   R6  (   R/   R   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_coords_order%  s    c         C` s   d d d d g } d d g d g d d g d d g g } t  j | |  } t | j j d k  | j   } xH d d d d	 d
 d d g D]+ } t | |  | |  g d d g  q Wd  S(   Ni    i   i   i   i   g        g?g      ?g?gffffff?g       @g      @(   i   i   (   R   R6  R   R   R   R  R   (   R/   R   R   R  t   ppdR  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt
   test_zeros*  s    '"c         C` s}   t  j j d  t  j g  t | d  D] } d | d ^ q'  } g  t | d  D] } t  j j |  ^ qU } | | f S(   Ni  i   g      ?i   (   R;   R<   R=   R   R   (   R/   R"  R!  R  R   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   _make_random_mk4  s    4/c         C` s   d \ } } |  j  | |  \ } } t j | |  } xN t | d  D]< } t | |  g  | D] } | | ^ q`  | j   } qG Wd  S(   Ni   i   i   (   i   i   (   R  R   R6  R   R   R  (   R/   R"  R!  R   R   R  R  t   yy(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_random_12;  s    *c      
   C` sP   d \ } } |  j  | |  \ } } t t t j t d | d | d d   d  S(   Ni   i   R   R   t   ordersi    (   i   i   (   R  RE   RF   R   R6  R   (   R/   R"  R!  R   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_order_zeroD  s    c         C` st   d \ } } |  j  | |  \ } } t j | | d d | d } t t t j t d | d | d d |   d  S(	   Ni   i   R  i   i   R   R   (   i   i   (   R  R   R6  RE   RF   R   (   R/   R"  R!  R   R   R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_orders_too_highJ  s
     c         C` s  d	 \ } } |  j  | |  \ } } d } t j | | d | } xW t | d d  D]A } t | | d d !d  | | d d !d   | j   } qW Wt t j | | d d !d  | | d d !d    d } t j | | d | } xS t | d  D]A } t | | d d !d  | | d d !d   | j   } qWt t j | | d d !d  | | d d !d    d  S(
   Ni   i   R  i   i   ig-q=i   (   i   i   (	   R  R   R6  R   R   R  R   R;   t   allclose(   R/   R"  R!  R   R   R  R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_orders_globalR  s    /9/c         C` s  d \ } } |  j  | |  \ } } g  t |  D] } | d ^ q1 } x t | d d ! D] \ } } t j | | d | }	 xM t | | d d  D]3 }
 t |	 | d  |	 | d   |	 j   }	 q Wt t j	 |	 | d  |	 | d    q[ Wd  S(	   Ni   i   i   iR  i   g-q=(   i   i   (
   R  R   R   R   R6  R   R  R   R;   R  (   R/   R"  R!  R   R   t   oR  R  R1   R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_orders_localj  s    # !c         C` s   d \ } } t  j t  j j | d   } t  j j | d | d d d f  } t j | |  } t | j j d | | d d d f  d  S(   Ni   i   i   i   i   i   (   i   i   (   R;   R  R<   R   R6  R   R   R   (   R/   R"  R!  R   R   R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_yi_trailing_dimsv  s
    %c         C` s   t  j d  } t j d d g d g d g g d | } t | d  d  t  j d  } t j d d g d g d g g d | } t | d  d  d } t j d d g d g d g g d | } t | d  d  d } d  S(   Ni   i    R  (   R;   t   int32R   R6  R   t   int64(   R/   R  R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_gh_5430}  s    ***(   R^   R_   R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR    s    								
								t   TestNdPPolyc           B` sY   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   c         C` s   t  j j d  t  j j d d  } t  j d d d  } t  j j d  } t | | f  } | | f  } t | d  d   d  d   d  f | |  j   } t	 | |  d  S(   Ni  i   i   i    i   i   i   (
   R;   R<   R=   R  R   R#   RY  R7   R.   R   (   R/   R   R1   R   R   t   v1t   v2(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_simple_1d  s    1c   
   	   C` s  t  j j d  t  j j d d d d  } t  j d d d  } t  j d d d  d } t  j j d	  } t  j j d	  } t  j t |  d g d
 | j } | j t  j	  t
 j | j d d d  | | f t  j d d g d
 t  j t  j | | f t  j d d g d
 t  j d |  | j   } t | | | f | |  } t | |  t | | | f  } xy d  d d d d d f D]_ }	 | t  j | | f d |	 } t | | | f | | d |	 } t | | d t |	  qWd  S(   Ni  i   i   i   i   i    i   i   i   R   i   i	   R  R   i   i   i   i*   (   i    i    (   i    i   (   i   i    (   i   i   (   i	   i   (   R;   R<   R=   R  R   R   R   R   t   fillRT   R'   t   evaluate_ndRd   RD   t   intct   c_R.   t   _ppoly2d_evalR   R#   R7   R  (
   R/   R   R1   R0   R   R   R  R  R   R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_simple_2d  s.    $	!c      	   C` sH  t  j j d  t  j j d d d d d d  } t  j d d	 d  } t  j d d	 d  d
 } t  j d d	 d  d } t  j j d  } t  j j d  } t  j j d  } t | | | | f  } x{ d  d d d d d f D]a }	 | | | | f d |	 }
 t | | | | f | | | d |	 } t |
 | d t	 |	  q Wd  S(   Ni  i   i   i   i   i   i	   i    i   i   i   i(   R  R   i   i	   i
   (   i    i    i    (   i    i   i    (   i   i    i    (   i   i   i    (   i   i    i   (
   R;   R<   R=   R  R   R#   R7   t   _ppoly3d_evalR   R  (   R/   R   R1   R0   R2   R   R   t   ziR   R  R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_simple_3d  s    !'c      	   C` sJ  t  j j d  t  j j d d d d d d d d	  } t  j d
 d d  } t  j d
 d d  d } t  j d
 d d  d } t  j d
 d d  d } t  j j d  } t  j j d  } t  j j d  } t  j j d  }	 t | | | | | f  }
 |
 | | | |	 f  } t | | | | | f | | | |	  } t | |  d  S(   Ni  i   i   i   i   i   i	   i
   i   i    i   i   i   i   i	   i
   i   i   (   R;   R<   R=   R  R   R#   t   _ppoly4d_evalR   (   R/   R   R1   R0   R2   R5   R   R   R  t   uiR   R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_simple_4d  s    ''c         C` s   t  j j d  t  j j d d  } t  j d d d  } t | | f  } | j d d g  } t | |  } | j   } t | j	 | j	  | j
 d d g  } t | |  } | j
 d  } t | j	 | j	  d  S(	   Ni  i   i   i    i   R  i   i   (   R;   R<   R=   R  R   R#   R  R   R   R   R  (   R/   R   R1   R   RT  R  t   dp1(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_deriv_1d  s    c   	   	   C` s  t  j j d  t  j j d d d d d d  } t  j d d	 d  } t  j d d	 d  d
 } t  j d d	 d  d } t | | | | f  } t | j d d d	 d
 d d  |  } | j d d
 g  } | j d
  } t	 | j
 | j
 j d d
 d d	 d d   t | j d	 d d d
 d d  |  } | j d d d	 d g  } | j d	  } t	 | j
 | j
 j d
 d d d d	 d   t | j d
 d d d	 d d  |  } | j d d d d g  } | j d  } t	 | j
 | j
 j d
 d d d d d	   d  S(   Ni  i   i   i   i   i   i	   i    i   i   i   R  i   i	   i
   (   R;   R<   R=   R  R   R#   R   t	   transposeR  R   R   R  (	   R/   R   R1   R0   R2   R   R  RT  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_deriv_3d  s*    !'	"'	"'	c   
      C` s
  t  j d  } t  j d d d	  d } t  j d d d
  d } t  j d d d  d } t | | | | f  } | j d  } | j d  } t  j j d  } t  j j d  } t  j j d  }	 t | | | |	 f  | | d |	 d t d  t d   d  S(   Ni   i   i   i   i    i   i   (   i   i   i   i   i   i   i   i   i   (   i   i    i   (   i    i   i    (	   R;   Ry   R   R#   R  R<   R  R   R&   (
   R/   R   R1   R0   R2   R   RU  R   R   R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_deriv_3d_simple  s    c   	      ` s  t  j j d  t  j j d d d d  } t  j d d d  d } t  j d d d  d } | j d d d d	  } | j | j d | j d d
  j   } t	 j
 | | d  | j | j  } | j d d d d	  } | j d d	 d d  } | j | j d | j d d
  j   } t	 j
 | | d  | j | j  } | j d d d	 d  j   } t | | | f    x d d g d d g d d g d  d! g g D]t }   j |  } t   f d   | d t d d d d  g d \ } } t | | d d d d d t |  qWd  S("   Ni  i   i   i   i   i    i   i   i   ig      ?g333333?gffffff?g333333?g?c         ` s     |  | f  S(   N(    (   R1   R0   (   R   (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   <lambda>E  s    R   t   epsrelgh㈵>t   epsabsR   R   R   i   i   (   i    i   (   i    i   (   i    g      ?(   i    i   (   i    i   (   i    g      ?(   g333333?gffffff?(   g333333?g?(   R;   R<   R=   R  R   R  Rd   R   R>   R'   t   fix_continuityR#   RA  R*   R   R   R  (	   R/   R   R1   R0   t   cxt   rangesRu  t   ig2t   err2(    (   R   sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_integrate_2d)  s0    ))		%c         C` s  t  j j d  t  j j d d d d d d  } t  j d d	 d  d	 } t  j d d	 d  d
 } t  j d d	 d  d } t | | | | f  } t  j j d  } t  j j d  } d \ } }	 | j | |	 d d }
 | j d  } t |
 | | f  | |	 | | f  | | | | f   | j | |	 d d	 } | j d  } t | | | f  | | |	 | f  | | | | f   | j | |	 d d
 } | j d  } t | | | f  | | | |	 f  | | | | f   d  S(   Ni  i   i   i   i   i   i   i    i   i   i   i   g?gffffff?Rx   i   i   i   (   g?gffffff?(   i   i    i    (   i    i   i    (   i    i    i   (	   R;   R<   R=   R  R   R#   t   integrate_1dR  R   (   R/   R   R1   R0   R2   R   R5   R4   RO   RP   t   pxt   paxt   pyt   payt   pzt   paz(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_integrate_1dJ  s$    !;;(   R^   R_   R  R  R  R  R  R  R  R  R  (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR    s   								!c         ` s  t  j t |    j d f  } x t |  D] \ } } | d k  sS | d k rr t  j | | d d  f <q/ n  t  j | |  d  | |   t |  | k o |  d k  n  t     f d   t	   j d  D  } | | | d d  f <q/ W| S(   s&   Evaluate piecewise polynomial manuallyi   i    i   Nc         3` s6   |  ], }   |  f    j  d  | d Vq d S(   i    i   N(   R   (   R   R!  (   R   R  R  (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pys	   <genexpr>o  s   (
   R;   RM   R   R   R   RT   t   searchsortedR   t   sumR   (   R   R1   t   xpsR   R  R  Rp  (    (   R   R  R  sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyRY  e  s    ",c      	   C` sO  | d } | d } |  j  d } t j  |  } t j |  } t j |  } | | k | | k @}	 | | |	 <| j |	  }
 t j | |
  d } | j d t |   } |  } |
 | j |  } t j	 | d | } t j
 g  t t |
   D]< } t j | | d d  f | d d  | | f  ^ q  } | | |	 <| | _  | S(   s4   Evaluate piecewise polynomial manually (another way)i    ii   t   NN(   R   R;   R.   t
   empty_liket   compressR  t   clipR   t   taket   vanderRD   R   R@  (   R   t   breaksR   R  RO   RP   t   Kt	   saveshapeR#  t   maskR  t   indxsR  R?  t   VR!  t   values(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyRZ  u  s$    

^
	c         C` sP   | d k  r t  d   n1 | | k r+ d St | | d |  |  | | Sd S(   s   
    d^n (x**y) / dx^n
    i    s   invalid derivative orderi   N(   RF   R%   (   R1   R0   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   _dpow  s
    c      
   C` s  | d k r d } n  t j t |  f d |  j } |  j d  \ } } xt t | |   D]s\ } \ }	 }
 | d d |	 k o | d d k n o | d d |
 k o | d d k n s t j | | <q_ n  t j	 | d |	  d } t j	 | d |
  d } |	 | d | } |
 | d | } d } x t
 |  j d  D]v } xm t
 |  j d  D]X } | |  | | d | | d | | f t | | | d  t | | | d  7} qhWqNW| | | <q_ W| S(   s?   
    Straightforward evaluation of 2D piecewise polynomial
    i    R   i   ii   N(   i    i    (   R7   R;   R   R   R   R   R   t   zipRT   R  R   R  (   R   R   R   t   ynewR  R   t   nxt   nyt   joutR1   R0   t   j1t   j2t   s1t   s2R  t   k1t   k2(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR    s(    	!(,,Wc         C` s{  | d k r d } n  t j t |  f d |  j } |  j d  \ } } }	 x(t t | | |   D]\ }
 \ } } } | d d | k o | d d k n o | d d | k o | d d k n o | d d | k o | d d k n st j | |
 <qe n  t j	 | d |  d } t j	 | d |  d } t j	 | d |  d } | | d | } | | d | } | | d | } d } x t
 |  j d  D] } x t
 |  j d  D] } x t
 |  j d  D]z } | |  | | d | | d |	 | d | | | f t | | | d  t | | | d  t | | | d  7} qWqWqW| | |
 <qe W| S(	   s?   
    Straightforward evaluation of 3D piecewise polynomial
    i    R   i   ii   i   N(   i    i    i    (   R7   R;   R   R   R   R   R   R  RT   R  R   R  (   R   R   R   R	  t   znewR  R   R
  R  t   nzR  R1   R0   R2   R  R  t   j3R  R  t   s3R  R  R  t   k3(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR    s0    	!.,,,}c         C` s  | d k r d	 } n  t j t |  f d |  j } |  j d  \ } }	 }
 } xt t | | | |   D]\ } \ } } } } | d d | k o | d d k n o0| d d | k o | d d k n o0| d d | k o| d d k n o0| d d | k o.| d d k n sFt j | | <qk n  t j	 | d |  d } t j	 | d |  d } t j	 | d |  d } t j	 | d |  d } | | d | } | | d | } | | d | } | | d | } d } xt
 |  j d  D] } x t
 |  j d  D] } x t
 |  j d  D] } x t
 |  j d  D] } | |  | | d |	 | d |
 | d | | d | | | | f t | | | d  t | | | d  t | | | d  t | | | d  7} q^WqDWq*WqW| | | <qk W| S(
   s?   
    Straightforward evaluation of 4D piecewise polynomial
    i    R   i   ii   i   i   N(   i    i    i    i    (   R7   R;   R   R   R   R   R   R  RT   R  R   R  (   R   R   R   R	  R  t   unewR  R   R[   R\   t   mzt   muR  R1   R0   R2   R5   R  R  R  t   j4R  R  R  t   s4R  R  R  R  t   k4(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR    s8    	!4,,,,t   TestRegularGridInterpolatorc           B` s   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   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 g d } t  j d d d g  } | d  d   t  j t  j t  j f } | t  j d  d   t  j t  j f } | t  j t  j d  d   t  j f } | t  j t  j t  j d  d   f } | | d | d | d } | | f S(	   Ng        g      ?g      ?i   i
   id   i  (   g        g      ?g      ?(   R;   R   t   newaxis(   R/   t   pointsR  t   values0t   values1t   values2t   values3(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   _get_sample_4d	  s    %%%%c         C` s   d
 g d d g d } t  j d d d g  } | d  d   t  j t  j t  j f } | t  j d  d   t  j t  j f } | t  j t  j d  d   t  j f } | t  j t  j t  j d  d   f } | | d | d | d	 } | | f S(   Ng        g      ?g      ?i   g      @g      $@i
   id   i  (   g        g      ?g      ?(   g        g      @g      $@(   R;   R   R  (   R/   R   R  R!  R"  R#  R$  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   _get_sample_4d_2	  s    %%%%c         C` s   |  j    \ } } t j d d d d g d d d d g d d d d g g  } xo d d	 g D]a } t | | j   d
 | } | | j    } t | | d
 | } | |  } t | |  q[ Wd  S(   Ng?g      ?g?g?g?g?g      ?RL   Rq   t   method(   R%  R;   R   R   t   tolistR   (   R/   R   R  t   sampleR'  R   R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_list_input(	  s    $		c   
      C` s   |  j    \ } } | d | } t j d d d d g d d d d g d d d d g g  } x d	 d
 g D]~ } t | | d | } t | | j d | } t | | j d | } | |  } | |  d | |  }	 t | |	  qi Wd  S(   Ny               @g?g      ?g?g?g?g?g      ?RL   Rq   R'  y              ?(   R%  R;   R   R   R   R   R   (
   R/   R   R  R)  R'  R   t   rinterpt   iinterpR  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR   9	  s    $			c         C` sY   |  j    \ } } t | |  } t j d d d d g  } d } t | |  |  d  S(   Ng?g      $@g      "@gH@(   R&  R   R;   R   R   (   R/   R   R  R   R)  t   wanted(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_linear_xi1dK	  s
    c         C` s   |  j    \ } } t | |  } t j d d d d g d d d d g d d d d g g  } t j d d	 d
 g  } t | |  |  d  S(   Ng?g      ?g?g?g?g?g      ?gH@gq@g     \@(   R%  R   R;   R   R   (   R/   R   R  R   R)  R-  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_linear_xi3dR	  s    $c         C` s/  |  j    \ } } t | | d d } t j d d d d g  } d } t | |  |  t j d d d d g  } d } t | |  |  t j d d d d g  } d } t | |  |  t j d d d d g  } d } t | |  |  t j d d	 d
 d g  } d } t | |  |  d  S(   NR'  Rq   g?g?g     0@g        g      ?g     \@g?g333333?g     |@(   R%  R   R;   R   R   (   R/   R   R  R   R)  R-  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR   Z	  s"    c         C` sz   |  j    \ } } t | |  } t j d d d d g d d d d g g  } t j d d g  } t | |  |  d  S(   Ng        g      ?g     \@(   R%  R   R;   R   R   (   R/   R   R  R   R)  R-  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_linear_edgesm	  s
    -c         C` s   d d	 g } t  j d d d g  } | d  d   t  j f } | t  j d  d   f } | | d } t t t | |  d d g } t t t | |  d d g } t t t | |  d d d g } t t t | |  d d g } t t t | | d d d  S(   Ng        g      ?g      ?i
   g      ?R'  t   undefmethod(   g        g      ?g      ?(   g        g      ?g      ?(   g        g      ?g      ?(   (   g        g      ?g      ?(   g        g      ?g      ?(   g        g      ?g      ?g      ?(   g        g      ?g      ?(   g        g      ?g      ?(   g        g      ?g      ?(   g        g      ?g      ?(   g        g      ?g      ?(   g        g      ?g      ?(   R;   R   R  RE   RF   R   (   R/   R   R  R!  R"  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_valid_createt	  s    c         C` s   |  j    \ } } t | |  } t j d d d d g d d d d g g  } t t | | d  t j d d d g d d d g g  } t t | |  t j d d d d g d d d d g g  } t t | |  d  S(   Ng        g      ?R1  g?(   R%  R   R;   R   RE   RF   (   R/   R   R  R   R)  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_valid_call	  s    -'-c         C` s   |  j    \ } } t | | d t d d  } t j d d d d g d d d d g d d d d g d d d d g g  } t j d	 d
 d d g  } t | | d d |  t j d d d d g  } t | | d d |  d  S(   NRR   RS   gg?i   g @gig        g     \@g      &@R'  Rq   gfffff[gfffff@g     gRL   (   R%  R   R{   R7   R;   R   R   (   R/   R   R  R   R)  R-  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_out_of_bounds_extrap	  s    	$'c         C` s   |  j    \ } } t | | d t d d  } t j d d d d g d d d d g d d d d g d d d d g g  } t j d	 d
 d
 d
 g  } t | | d d |  t j d d d d g  } t | | d d |  d  S(   NRR   RS   gg?i   g @gig        g      &@R'  Rq   g333333(g33333`@g     gyXRL   (   R&  R   R{   R7   R;   R   R   (   R/   R   R  R   R)  R-  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_out_of_bounds_extrap2	  s    	$'c         C` s*  |  j    \ } } t | | d t d t j } t j d d d d g d d d d g d d d d g g  } t j t j t j t j g  } t | | d d |  t | | d d	 |  t j d
 d
 d d g d d
 d d g d d d d g g  } t j d d d g  } t | |  |  d  S(   NRR   RS   gg?g @gR'  Rq   RL   g?g      ?g?g?g?g?g      ?gH@gq@g     \@(   R%  R   R{   R;   RT   R   R   (   R/   R   R  R   R)  R-  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_out_of_bounds_fill	  s    $!$c   	      C` s   |  j    \ } } t | | d d } t j |   } g  | D] } | ^ q= } t j |  } | j d  } t | |  } t j d d d d g d d d d	 g d
 d
 d
 d
 g g  } t | |  | |   d  S(   NR'  Rq   ig?g      ?g?g?g?g?g      ?(	   R%  R   t	   itertoolst   productR;   R   Rd   R    R   (	   R/   R   R  R   t   points_qhullR   t   values_qhullt   interp_qhullR)  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_nearest_compare_qhull	  s    $c   	      C` s   |  j    \ } } t | |  } t j |   } g  | D] } | ^ q7 } t j |  } | j d  } t | |  } t j d d d d g d d d d g d d d d g g  } t | |  | |   d  S(	   Nig?g      ?g?g?g?g?g      ?(	   R%  R   R7  R8  R;   R   Rd   R   R   (	   R/   R   R  R   R9  R   R:  R;  R)  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_linear_compare_qhull	  s    $c         C` s   t  j d d d  } t  j d d d  } t d  } xx d D]p } t | | f | d | } | d	 d
 g  } t | | f | j d | } | d	 d
 g  } t | |  q= Wd  S(   Ni    i   i   i   i   Rq   RL   R'  g?gffffff?(   i   i   (   Rq   RL   (   R;   R   t   MyValueR   t   _vR   (   R/   R1   R0   R  R'  R   R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_duck_typed_values	  s    		c         C` s   t  j j d  t  j d d d  } t  j d d d  } t  j j d d  } t | | f | d d t t t | | f | d d	 d  S(
   Ni  i    i   i   i   i   RS   y               @y      ?       @(   R;   R<   R=   R   R  R   RE   RF   (   R/   R1   R0   R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_invalid_fill_value	  s    	c         C` sk   t  j d	 d d } g  | j D] } t  j |  ^ q } d
 g } t | |  } t | | d d } d  S(   Ni
   i   i   R   s   >f4i   RS   g        (   i
   i   i   (   i   i   i   (   R;   Ry   R   RN   R   (   R/   R  R   R   R   t   interpolator(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_fillvalue_type	  s
    %	(   R^   R_   R%  R&  R*  R   R.  R/  R   R0  R2  R3  R4  R5  R6  R<  R=  R@  RA  RC  (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR  	  s$   										
							R>  c           B` s2   e  Z d  Z d   Z d   Z d   Z d   Z RS(   s"   
    Minimal indexable object
    c         C` s:   d |  _  | |  _ t j t j |   j |  |  _ d  S(   Ni   (   R   R   R;   RN   R   Rd   R?  (   R/   R   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   __init__	  s    		c         C` s   |  j  | S(   N(   R?  (   R/   t   idx(    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   __getitem__	  s    c         C` s   d  S(   N(   R7   (   R/   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   __array_interface__	  s    c         C` s   t  d   d  S(   Ns   No array representation(   t   RuntimeError(   R/   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt	   __array__
  s    (   R^   R_   t   __doc__RD  RF  RG  RI  (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR>  	  s
   			t   TestInterpNc           B` s   e  Z d    Z d   Z d   Z d   Z d   Z d   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   t  j d d  } t  j d d d d d g  } t  j d d  } t  j d d d d d g  } t  j d d d d d g d d d d d g d d d	 d d g d d d d d g d d d d d g g  } | | | f S(
   Ni   i   g      ?g       @g      @g      @g      @i   i   (   R;   RN   RD   (   R/   R1   R0   R2   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   _sample_2d_data
  s    <-c      	   C` s   |  j    \ } } } t | | |  } t j d d d d d d d g d d d d d	 d
 d g g  j } t t | | f | | d d | j | d  d   d f | d  d   d f   d  S(   Ni   gffffff@g333333@g      ?gffffff
@g333333?i   g      @g      @g      ?R'  t	   splinef2di    (   RL  R!   R;   RD   R   R   R"   t   ev(   R/   R1   R0   R2   t   lutR   (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_spline_2d
  s    $c      	   C` s   |  j    \ } } } t j d d d d d d d g d d d d d	 d
 d g g  j } x~ d d d g D]m } t | | f | | d | } t | j   | j   f | j   | j   d | } t | | d | qg Wd  S(   Ni   gffffff@g333333@g      ?gffffff
@g333333?i   g      @g      @g      ?Rq   RL   RM  R'  R   (   RL  R;   RD   R   R"   R(  R   (   R/   R1   R0   R2   R   R'  R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR*  
  s    $!c         C` s  t  j d d d d d g  } t  j d d d d d g  } t  j d d d d d g d d d d d g d d d d d g d d d d d g d d d d d g g  } t | | |  } t  j d d	 d
 d d d d g d d d d d d d g g  j } t | | f | | d d d t d d } | j | d  d   d f | d  d   d f  } d | d d +t | |  t t	 t | | f | | d d d t d d  d  S(   Ng      ?g       @g      @g      @g      @i   i   i   gffffff@g333333@gffffff
@g333333?g      g      @g      ?R'  RM  RR   RS   gR?@i    i   (   R;   RD   R!   R   R"   R{   RN  R   RE   RF   R7   (   R/   R1   R0   R2   RO  R   t   actualR[  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_spline_2d_outofbounds$
  s    <-$2!c         C` s   d
 g d d g d } t  j d d d g  } | d  d   t  j t  j t  j f } | t  j d  d   t  j t  j f } | t  j t  j d  d   t  j f } | t  j t  j t  j d  d   f } | | d | d | d	 } | | f S(   Ng        g      ?g      ?i   g      @g      $@i
   id   i  (   g        g      ?g      ?(   g        g      @g      $@(   R;   R   R  (   R/   R   R  R!  R"  R#  R$  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   _sample_4d_data7
  s    %%%%c         C` sn   |  j    \ } } t | |  } t j d d d d g g  } t | | | d d } t | |  |  d  S(   Ng?g      $@g      "@R'  RL   (   RS  R   R;   R   R"   R   (   R/   R   R  t	   interp_rgR)  R-  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_linear_4dA
  s
    c      
   C` sk   |  j    \ } } t j d d d d g g  } d } t | | | d d d t d	 d } t | |  d  S(
   Ng?gg333333$@g      "@gR?@R'  RL   RR   RS   (   RS  R;   R   R"   R{   R   (   R/   R   R  R)  R-  RQ  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_4d_linear_outofboundsI
  s    c         C` st   |  j    \ } } t | | d d } t j d d d d g g  } t | | | d d } t | |  |  d  S(   NR'  Rq   g?g      $@g      "@(   RS  R   R;   R   R"   R   (   R/   R   R  RT  R)  R-  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_nearest_4dR
  s
    c      
   C` sk   |  j    \ } } t j d d d d g g  } d } t | | | d d d t d	 d } t | |  d  S(
   Ng?gg333333$@g      "@gR?@R'  Rq   RR   RS   (   RS  R;   R   R"   R{   R   (   R/   R   R  R)  R-  RQ  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_4d_nearest_outofboundsZ
  s    c         C` s~   |  j    \ } } t j d d d d g  } t | | | d t } t | | | d  d  d   f d t } t | |  d  S(   Ng?g      $@g      "@RR   (   RS  R;   R   R"   R{   R7   R   (   R/   R   R  R)  R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt
   test_xi_1dc
  s
    (c         C` s   |  j    \ } } t j j d  t j j d d d  } t | | | d d d t } t | j d	  t | | | j	 d d  d d d t } t
 | | j	 | j   d  S(
   Ni  i   i   i   R'  Rq   RR   i(   i   i   (   RS  R;   R<   R=   R  R"   R{   R   R   Rd   R   (   R/   R   R  R)  R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt
   test_xi_ndk
  s    	c      	   C` s7  |  j    \ } } } | | f } t j d d d  } t j d d d  } x d d d g D] } | d  d   d  f | d  d  d   f f } t | | | d | d	 t }	 t |	 j d
  t j | |  \ }
 } t j	 |
 j
 j   | j
 j   f } t | | | d | d	 t } t |	 | j |	 j   q[ Wd  S(   Ni    i   i   i   Rq   RL   RM  R'  RR   (   i   i   (   RL  R;   R   R7   R"   R{   R   R   t   meshgridR  R   R.   R   Rd   (   R/   R1   R0   R  R   R   R   R'  R)  R  R  R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_xi_broadcastz
  s    ,	%c   	      C` s5  |  j    \ } } t j j d  t j j d d d d d  } t j j d d d  } x d d g D] } t | | | d	 | d
 t } t | j d d | g  t	 d  D]. } t | | d | f | d	 | d
 t ^ q } t j
 |  j d d d  } t | | d | qe Wt t t | | | d	 d d  S(   Ni  i   i   i   i   i   Rq   RL   R'  RR   R   .i   i   i    RM  (   i   i   i   (   RS  R;   R<   R=   R  R"   R{   R   R   R   RD   R  R   RE   RF   (	   R/   R   R  R)  R'  R4   R  t   vsR  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_nonscalar_values
  s    	>c      	   C` s  |  j    \ } } } | | f } | d | } t j d d d d d d d g d d d d	 d
 d d g g  j } x} d d g D]o } t | | | d | } t | | j | d | } t | | j | d | }	 | d |	 }
 t | |
  q~ Wt t j	 t | | | d d d  S(   Ny               @i   gffffff@g333333@g      ?gffffff
@g333333?i   g      @g      @g      ?RL   Rq   R'  y              ?RM  (
   RL  R;   RD   R   R"   R   R   R   R   t   ComplexWarning(   R/   R1   R0   R  R   R)  R'  R  t   v2rt   v2iR  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR   
  s    $c         C` s   t  j d d d  } t  j d d d  } t d  } xf d D]^ } t | | f | d d	 g d
 | } t | | f | j d d	 g d
 | } t | |  q= Wd  S(   Ni    i   i   i   i   Rq   RL   g?gffffff?R'  (   i   i   (   Rq   RL   (   R;   R   R>  R"   R?  R   (   R/   R1   R0   R  R'  R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyR@  
  s    $'c         C` s   t  j d d d  } t  j d d d  } t  j t  j j d d   } t  j j d d d  } xi d D]a } t | | f | | d
 | } t | | f t  j |  | d
 | } t | t  j |   qg Wd  S(   Ni    i   i   i   i   i   Rq   RL   RM  R'  (   Rq   RL   RM  (	   R;   R   t   matrixR<   R  R"   R   R   t   asmatrix(   R/   R1   R0   R  R)  R'  R  R  (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   test_matrix_input
  s    '(   R^   R_   RL  RP  R*  RR  RS  RU  RV  RW  RX  RY  RZ  R\  R^  R   R@  Rd  (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyRK  
  s    							
												(Q   t
   __future__R    R   R   R7  t   numpy.testingR   R   R   R   R   R   R   R	   RE   t   numpyR
   R   R   R   R   R   R;   t   scipy._lib.sixR   t   scipy._lib._numpy_compatR   R   t   scipy.interpolateR   R   R   R   R   R   R   R   R   R   R   R   R   R    R!   R"   R#   R$   t   scipy.specialR%   R&   R'   t   scipy._lib._gcutilsR(   R)   t   scipy.integrateR*   R+   t   objectR,   R`   R   R   R   R&  R8  R  R  R  R  R  RY  RT   RZ  R  R7   R  R  R  R  R>  RK  (    (    (    sG   lib/python2.7/site-packages/scipy/interpolate/tests/test_interpolate.pyt   <module>   sL   ..vQ  [
J/ %		$(-