
    uki                        d Z ddlmZ ddlZddlmZmZmZmZ ddl	m
Z
 ddlZddlmZ ej                  Z ed      Z ed      Zej"                   G d	 d
eeef                Zy)zFusion classes.    )annotationsN)AnyGeneric	ParamSpecTypeVar)Callable)utilAKc                      e Zd ZU ded<   ded<   ded<   ddZed        Zed	        Zed
        Zed        Z	ed        Z
y)FusionzCallable[A, K]funcz&tuple[tuple[Any, ...], dict[str, Any]]in_typer   out_typec                &     | j                   |i |S N)r   )selfargskwargss      W/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/jax/_src/pallas/fuser/fusion.py__call__zFusion.__call__'   s    499d%f%%    c                X    t         j                  j                  d | j                        S )Nc                    | j                   S r   shapexs    r   <lambda>zFusion.shape.<locals>.<lambda>,   
    !'' r   jaxtreemapr   r   s    r   r   zFusion.shape*       88<<)4==99r   c                X    t         j                  j                  d | j                        S )Nc                    | j                   S r   dtyper   s    r   r   zFusion.dtype.<locals>.<lambda>0   r    r   r!   r%   s    r   r*   zFusion.dtype.   r&   r   c                    | j                   S r   )r   r%   s    r   typezFusion.type2   s    ==r   c                X    t         j                  j                  d | j                        S )Nc                    | j                   S r   r   r   s    r   r   z!Fusion.in_shape.<locals>.<lambda>8   r    r   r"   r#   r$   r   r%   s    r   in_shapezFusion.in_shape6       88<<)4<<88r   c                X    t         j                  j                  d | j                        S )Nc                    | j                   S r   r)   r   s    r   r   z!Fusion.in_dtype.<locals>.<lambda><   r    r   r/   r%   s    r   in_dtypezFusion.in_dtype:   r1   r   N)r   zA.argsr   zA.kwargsreturnr   )__name__
__module____qualname____annotations__r   propertyr   r*   r,   r0   r4    r   r   r   r       s~     	11-& : : : :   9 9 9 9r   r   )__doc__
__future__r   dataclassestypingr   r   r   r   collections.abcr   r"   jax._srcr	   safe_mapr
   r   	dataclassr   r;   r   r   <module>rD      sc     "  3 3 $ 
 ==cNCL 9WQT] 9 9r   