3
¾ h~  ã               @   s`   d gZ yddlmZ W n  ek
r6   dZdd„ ZY nX dd„ Zdd	d
ddœZf dfdd „ZdS )Úget_flinalg_funcsé   )Ú_flinalgNc             C   s   dS )Né    © )Úar   r   ú5/tmp/pip-build-riy7u7_k/scipy/scipy/linalg/flinalg.pyÚ<lambda>   s    r   c             C   s
   | j d S )NZFORTRAN)Úflags)Zarrr   r   r   Úhas_column_major_storage   s    r
   ÚsÚdÚcÚz)Úfr   ÚFÚDr   c             C   sÔ   g }x:t t|ƒƒD ]*}|| jj}|tkr.d}|j||fƒ qW |r^|jƒ  t|d d  }nd}|r„t||d d  ƒr„d\}}nd\}}g }	x:| D ]2}
||
 }tt	|| tt	|| dƒƒ}|	j|ƒ q–W t
|	ƒS )	zoReturn optimal available _flinalg function objects with
    names. Arrays are used to determine optimal prefix.r   r   r   Ú_cÚ_rN)r   r   )r   r   )ÚrangeÚlenZdtypeÚcharÚ
_type_convÚappendÚsortr
   Úgetattrr   Útuple)ÚnamesZarraysÚdebugZorderingÚiÚtZrequired_prefixZsuffix1Zsuffix2ÚfuncsÚnameÚ	func_nameÚfuncr   r   r   r      s(    


)Ú__all__Ú r   ÚImportErrorr
   r   r   r   r   r   r   Ú<module>   s   