B
    ƒŽ0d~  ã               @   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ddd „ZdS )Úget_flinalg_funcsé   )Ú_flinalgNc             C   s   dS )Né    © )Úar   r   úF/var/www/html/venv/lib/python3.7/site-packages/scipy/linalg/flinalg.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 }x:t t|ƒƒD ]*}|| jj}|tkr.d}| ||f¡ qW |r^| ¡  t|d d  }nd}|r„t||d d  ƒr„d\}}nd\}}g }	x:| D ]2}
||
 }tt	|| tt	|| dƒƒ}|	 |¡ q–W t
|	ƒS )zoReturn optimal available _flinalg function objects with
    names. Arrays are used to determine optimal prefix.r   r   r   )Ú_cÚ_r)r   r   N)Ú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(    


)r   r   )Ú__all__Ú r   ÚImportErrorr   r   r   r   r   r   r   Ú<module>   s   