
    ge                     R    d gZ 	 ddlmZ n# e$ r dZY nw xY wd Zddddd	ZddZdS )get_flinalg_funcs   )_flinalgNc                     | j         d         S )NFORTRAN)flags)arrs    8lib/python3.11/site-packages/scipy/linalg/_flinalg_py.pyhas_column_major_storager
      s    9Y    sdcz)fr   FD     c           
         g }t          |          D ]3\  }}|j        j        }|t          vrd}|                    ||f           4|r.|                                 t          |d         d                  }nd}|r't          ||d         d                            rd\  }}	nd\  }}	g }
| D ]L}||z   }t          t          ||z   t          t          ||	z   d                    }|
                    |           Mt          |
          S )zoReturn optimal available _flinalg function objects with
    names. Arrays are used to determine optimal prefix.r   r   r   )_c_r)r   r   N)
	enumeratedtypechar
_type_convappendsortr
   getattrr   tuple)namesarraysdebugorderingiartrequired_prefixsuffix1suffix2funcsname	func_namefuncs                 r	   r   r      s,    H6""  2HMJA1 $Xa[^4
  $,VHQKN-CDD $##E  #d*	x	' 1x	'(9$??A AT<<r   )r   r   )__all__ r   ImportErrorr
   r   r   r   r   r	   <module>r1      s   
 

   HHH      3CS11
     s    