ó
Ê½÷Xc           @` sf   d  d l  m Z m Z m Z d  d l Z d  d l m Z d „  Z d d „ Z	 d d „ Z
 d „  Z d S(   i    (   t   divisiont   print_functiont   absolute_importN(   t   string_typesc         C` s`   |  d k r d S|  d k r  d S|  d k r0 d S|  d k r@ d S|  d	 k rP d
 St  d ƒ ‚ d S(   sA   Convert an extension mode to the corresponding integer code.
    t   nearesti    t   wrapi   t   reflecti   t   mirrori   t   constanti   s   boundary mode not supportedN(   t   RuntimeError(   t   mode(    (    s8   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/_ni_support.pyt   _extend_mode_to_code&   s    c         C` sl   t  |  t ƒ } t |  d ƒ r[ | r[ t |  ƒ } t | ƒ | k rh d } t | ƒ ‚ qh n |  g | } | S(   s·   If input is a scalar, create a sequence of length equal to the
    rank by duplicating the input. If input is a sequence,
    check if its length is equal to the length of array.
    t   __iter__s6   sequence argument must have length equal to input rank(   t
   isinstanceR   t   hasattrt   listt   lenR	   (   t   inputt   rankt
   array_typet   is_strt
   normalizedt   err(    (    s8   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/_ni_support.pyt   _normalize_sequence7   s    c         C` s  | d  k r | j } n  |  d  k rH t j | d | j j ƒ}  |  } n¯ t |  ƒ t t ƒ t t j d ƒ j ƒ g k r– t j | d |  ƒ}  |  } na t |  ƒ t k rÓ t j |  }  t j | d |  ƒ}  |  } n$ |  j | k rñ t	 d ƒ ‚ n  d  } |  | f S(   Nt   dtypei   s   output shape not correct(   i   (
   t   Nonet   shapet   numpyt   zerosR   t   namet   typeR   t   typeDictR	   (   t   outputR   R   t   return_value(    (    s8   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/_ni_support.pyt   _get_outputG   s     	0		c         C` sD   |  d k  r |  | 7}  n  |  d k  s1 |  | k r@ t  d ƒ ‚ n  |  S(   Ni    s   invalid axis(   t
   ValueError(   t   axisR   (    (    s8   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/_ni_support.pyt   _check_axis[   s
    (   t
   __future__R    R   R   R   t   scipy._lib.sixR   R   R   R   R"   R%   (    (    (    s8   /tmp/pip-build-7oUkmx/scipy/scipy/ndimage/_ni_support.pyt   <module>   s   	