ó
Ê½÷Xc           @` s  d  d l  m Z m Z m Z d  d l Z d  d l m Z d  d l m	 Z	 d  d l
 m Z d  d l
 m Z d  d l
 m Z d  d l m Z d	 „  d
 „  d „  d „  d „  g Z d „  d „  d „  d „  d „  g Z d „  d „  d „  d „  d „  g Z d „  Z d „  Z d „  Z d S(   i    (   t   divisiont   print_functiont   absolute_importN(   t   assert_allclose(   t   ndimage(   t   _ctest(   t   _ctest_oldapi(   t   _cytest(   t   LowLevelCallablec         C` s   t  j |  ƒ S(   N(   R   t   filter1d(   t   filter_size(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyt   <lambda>   s    c         C` s   t  j |  ƒ S(   N(   R   R	   (   R
   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR      s    c         C` s   t  j |  d t ƒS(   Nt   with_signature(   R   R	   t   False(   R
   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR      s    c         C` s   t  t j |  d t ƒƒ S(   NR   (   R   R   R	   t   True(   R
   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR      s    c         C` s   t  j t d t j |  ƒ ƒ S(   Nt	   _filter1d(   R   t   from_cythonR   t   filter1d_capsule(   R
   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR      s   c         C` s   t  j |  ƒ S(   N(   R   t   filter2d(   t   weights(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR      s    c         C` s   t  j |  ƒ S(   N(   R   R   (   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR      s    c         C` s   t  j |  d t ƒS(   NR   (   R   R   R   (   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR      s    c         C` s   t  t j |  d t ƒƒ S(   NR   (   R   R   R   R   (   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR      s    c         C` s   t  j t d t j |  ƒ ƒ S(   Nt	   _filter2d(   R   R   R   t   filter2d_capsule(   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR      s    c         C` s   t  j |  ƒ S(   N(   R   t	   transform(   t   shift(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR      s    c         C` s   t  j |  ƒ S(   N(   R   R   (   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR      s    c         C` s   t  j |  d t ƒS(   NR   (   R   R   R   (   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR       s    c         C` s   t  t j |  d t ƒƒ S(   NR   (   R   R   R   R   (   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR   !   s    c         C` s   t  j t d t j |  ƒ ƒ S(   Nt
   _transform(   R   R   R   t   transform_capsule(   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR   "   s    c          #` sD   d „  ‰  ‡  f d †  }  x% t  t ƒ D] \ } } |  | f Vq% Wd  S(   Nc         S` s   | |  j  ƒ  S(   N(   t   sum(   t   footprint_elementsR   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR   '   s    c         ` sé   t  |  } t j d	 ƒ } d | d  d … d  d … f <t j d d d g d d d g d d d g g ƒ } t j | ƒ } t j | ƒ | } t j | | | ƒ d | ƒ} t j | ˆ  d | d | f ƒ} t | | d d j |  ƒ ƒd  S(
   Ni   i    i
   i   t	   footprintt   extra_argumentst   err_msgs
   #{} failed(   i   i   (	   t   FILTER2D_FUNCTIONSt   npt   onest   arrayt   count_nonzeroR   t   generic_filterR   t   format(   t   jt   funct   imR   t   footprint_sizeR   t   rest   std(   R   (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyt   check*   s    
3	(   t	   enumerateR   (   R,   R&   R'   (    (   R   s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyt   test_generic_filter&   s    	c          #` sD   d „  ‰  ‡  f d †  }  x% t  t ƒ D] \ } } |  | f Vq% Wd  S(   Nc         S` sa   xP t  | j ƒ D]? } d | | <x, t  | ƒ D] } | | c |  | | 7<q- Wq W| | } d  S(   Ni    (   t   ranget   size(   t
   input_linet   output_lineR
   t   iR&   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR	   >   s
    
 c         ` sœ   t  |  } t j t j t j d ƒ t j d ƒ f ƒ d ƒ } d } t j | | | ƒ | ƒ } t j | ˆ  | d | f ƒ} t | | d d j	 |  ƒ ƒd  S(   Ni
   i   i   R   R   s
   #{} failed(   i
   i   (
   t   FILTER1D_FUNCTIONSR    t   tilet   hstackt   zerosR!   R   t   generic_filter1dR   R%   (   R&   R'   R(   R
   R*   R+   (   R	   (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR,   E   s    
3	(   R-   R4   (   R,   R&   R'   (    (   R	   s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyt   test_generic_filter1d=   s    	c          #` sD   d „  ‰  ‡  f d †  }  x% t  t ƒ D] \ } } |  | f Vq% Wd  S(   Nc         S` s   |  d | |  d | f S(   Ni    i   (    (   t   output_coordinatesR   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR   V   s    c         ` sŠ   t  |  } t j d ƒ j d d ƒ j t j ƒ } d } t j | | | ƒ ƒ } t j | ˆ  d | f ƒ} t | | d d j	 |  ƒ ƒd  S(   Ni   i   i   g      à?R   R   s
   #{} failed(
   t   TRANSFORM_FUNCTIONSR    t   aranget   reshapet   astypet   float64R   t   geometric_transformR   R%   (   R&   R'   R(   R   R*   R+   (   R   (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyR,   Y   s    
'(   R-   R;   (   R,   R&   R'   (    (   R   s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyt   test_geometric_transformU   s    	
(   t
   __future__R    R   R   t   numpyR    t   numpy.testingR   t   scipyR   t   scipy.ndimageR   R   R   t   scipy._lib._ccallbackR   R4   R   R;   R.   R9   RA   (    (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/tests/test_c_api.pyt   <module>   s2   		