
    uki                     8   d dl mZ d dlZddlmZ ddlmZ ddlmZ ej                  Z
ej                  Zej                  Zej                  dej                  dej                   d	ej"                  d
iZdeeeeeeef      f   fdZdee   fdZd ZdedefdZy)    )AnyN   )_lapack)eig)schursdczreturnc                      dt        j                         j                         D  cg c]"  \  } }| |t        | j	                  d            f$ c}} iS c c}} w )Ncpu_ffi)r   registrationsitemsintendswith)namevalues     H/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/jaxlib/lapack.pyr   r   %   sU    
 ..0668
$ UCf-./ 
  s   'Ac                  t    t        j                         D  cg c]  } | j                  d      s|  c} S c c} w )Nr   )r   r   r   )r   s    r   batch_partitionable_targetsr   ,   s*    "002	L4dmmF6K$	LL	Ls   55c                 B    t        j                          t        | |      S )zBInitializes the LAPACK library and returns the LAPACK target name.)r   
initializebuild_lapack_fn_target)fn_basedtypes     r   prepare_lapack_callr   0   s    			//    r   c                     	 t         j                  |d      xs t         |j                     }d| |  S # t        $ r}t	        |d| d      |d}~ww xY w)z9Builds the target name for a LAPACK function custom call.Nlapack_zUnsupported dtype .)LAPACK_DTYPE_PREFIXgettypeKeyErrorNotImplementedError)r   r   prefixerrs       r   r   r   6   sj    Kt,O0CEJJ0O  VHWI&&	 K
c%7wa#@
AsJKs   14 	AAA)typingr   numpynpr   r   cpu._lapackr   r   ComputationModeEigComputationModeSchurComputationModeSort	SchurSortfloat32float64	complex64
complex128r#   dictstrlisttupler   r   r   r   r    r   r   <module>r<      s         (( ,, JJ	 JJJJLL#MM3	 tCeCcM&:!;;< MT#Y M0KC K3 Kr   