U
    ?hz                     @   s\   d gZ z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ddd ZdS )get_flinalg_funcs   )_flinalgNc                 C   s   dS )N     )ar   r   J/var/www/html/venv/lib/python3.8/site-packages/scipy/linalg/_flinalg_py.py<lambda>       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   r   c                 C   s   g }t |D ]*\}}|jj}|tkr(d}|||f q|rV|  t|d d  }nd}|r|t||d d  r|d\}}	nd\}}	g }
| D ]2}|| }tt|| tt||	 d}|
| qt	|
S )zoReturn optimal available _flinalg function objects with
    names. Arrays are used to determine optimal prefix.r   r   r   )_c_r)r   r   N)
	enumerateZdtypechar
_type_convappendsortr   getattrr   tuple)namesZarraysdebugZorderingiartZrequired_prefixZsuffix1Zsuffix2funcsname	func_namefuncr   r   r   r      s*    

)r   r   )__all__ r   ImportErrorr   r   r   r   r   r   r   <module>   s   