ó
Ë½÷Xc           @` sš   d  d l  m Z m Z m Z d g Z y d d l m Z Wn  e k
 r[ d Z d „  Z	 n Xd „  Z	 i d d 6d	 d	 6d
 d 6d d 6Z
 d d  d „ Z d S(   i    (   t   divisiont   print_functiont   absolute_importt   get_flinalg_funcsi   (   t   _flinalgc         C` s   d S(   Ni    (    (   t   a(    (    s3   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/flinalg.pyt   <lambda>   s    c         C` s   |  j  d S(   Nt   FORTRAN(   t   flags(   t   arr(    (    s3   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/flinalg.pyt   has_column_major_storage   s    t   st   ft   dt   ct   Ft   zt   Dc      	   C` s  g  } xR t  t | ƒ ƒ D]> } | | j j } | t k rD d } n  | j | | f ƒ q W| r€ | j ƒ  t | d d } n d } | r³ t | | d d ƒ r³ d \ } } n d \ } } g  }	 xK |  D]C }
 | |
 } t t	 | | t t	 | | d ƒ ƒ } |	 j | ƒ qÌ Wt |	 ƒ S(	   so   Return optimal available _flinalg function objects with
    names. arrays are used to determine optimal prefix.R   i    i   t   _ct   _r(   R   s   _r(   s   _rR   N(   t   ranget   lent   dtypet   chart
   _type_convt   appendt   sortR
   t   getattrR   t   Nonet   tuple(   t   namest   arrayst   debugt   orderingt   it   tt   required_prefixt   suffix1t   suffix2t   funcst   namet	   func_namet   func(    (    s3   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/flinalg.pyR      s(    	

N(    (   t
   __future__R    R   R   t   __all__t    R   t   ImportErrorR   R
   R   R   (    (    (    s3   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/flinalg.pyt   <module>   s   		"