U
    ŽÇ-ez  ã                   @   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   úY/var/www/html/Darija-Ai-Train/env/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ƒƒ}|
 |¡ qŒ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)
Ú	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   