
    Upf              	       `   d dl T d dl mZ d dlT ddlmZ ddlmZ 	 ddlT d dlm	Z
mZmZ ddlmZmZmZ n# e$ rZ ed	          ed
Z[ww xY wdedefdZdedee         fdZdefdZdefdZ ej        ed           G d de                      Zd
d
ddedeeeeef         de fdZ!d
S )   )*)_Dialect    )array)overload   )get_default_loc_context_cextget_op_result_or_op_results)AnyListUnionz+Error loading imports from extension moduleNobjclsc                 B    	  ||            n# t           $ r Y dS w xY wdS )NFT)
ValueError)r   r   s     Z/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/jaxlib/mlir/dialects/arith.py_isar      s=    C   uu4s    
classesc                 :     t           fd|D                       S )Nc              3   8   K   | ]}t          |          V  d S N)r   ).0r   r   s     r   	<genexpr>z_is_any_of.<locals>.<genexpr>!   s+      11#tC~~111111    )any)r   r   s   ` r   
_is_any_ofr       s&    1111111111r   typec                 :    t          | t          t          g          S r   )r   IntegerType	IndexTyper   s    r   _is_integer_like_typer#   $   s    d[)4555r   c                 R    t          | t          t          t          t          g          S r   )r   BF16TypeF16TypeF32TypeF64Typer"   s    r   _is_float_typer)   (   s    dXwABBBr   T)replacec            	           e Zd ZdZeddddefd            Zeddddedee	e
ef         fd            Zddd fd
Zedddde	fd	            Zed
             Zed             Zedee	e
f         fd            Z xZS )
ConstantOpz)Specialization for the constant op class.Nlocipvaluec                    d S r    )selfr0   r.   r/   s       r   __init__zConstantOp.__init__0   s    r   resultc                    d S r   r2   )r3   r5   r0   r.   r/   s        r   r4   zConstantOp.__init__4   s	     	r   c                   |=t          |t                    sJ t                                          |||           d S t          |t                    r?t                                          t
                              ||          ||           d S t          |t                    r?t                                          t                              ||          ||           d S t          |t                    rd|j
        z  |j        j        k    r(t          dd|j
        z   d|j        j         d          |j        dv r=t                                          t                              ||                     d S |j        dv r=t                                          t                               ||                     d S t          d	|j         d
          t                                          |||           d S )Nr-      zMismatching array element (z) and type (z) width.)ilqr"   )fdzUnsupported typecode: "z".)
isinstance	Attributesuperr4   intIntegerAttrgetfloat	FloatAttr_arrayitemsizeelement_typewidthr   typecodeDenseIntElementsAttrDenseFPElementsAttr)r3   r5   r0   r.   r/   	__class__s        r   r4   zConstantOp.__init__:   s   =fi00000GGV444FeS!! 	4GG[__VU;;LLLLLu%% 	4GGY]]6599srJJJJJv&& 	45>!V%8%>>> u!en2DuuRXReRkuuu   ~00  !5!9!9%f!9!M!MNNNNN:--  !4!8!8V!8!L!LMMMMM !M5>!M!M!MNNNGGU33333r   c                l     | t                               t          |                    |||          S )zCreate an index-typed constant.)contextr-   )r!   rC   _get_default_loc_context)r   r0   r.   r/   s       r   create_indexzConstantOp.create_indexR   s>     sMM":3"?"?M@@%SUW
 
 
 	
r   c                 &    | j         d         j        S )Nr   )resultsr   r3   s    r   r   zConstantOp.typeY   s    |A##r   c                 @    t          | j        j        d                   S )Nr0   )r?   	operation
attributesrT   s    r   r0   zConstantOp.value]   s    27;<<<r   returnc                     t          | j                  rt          | j                  j        S t	          | j                  rt          | j                  j        S t          d          )Nz4only integer and float constants have literal values)r#   r   rB   r0   r)   rE   r   rT   s    r   literal_valuezConstantOp.literal_valuea   s]     ++ 	Utz**00DI&& 	UTZ((..STTTr   )__name__
__module____qualname____doc__r   r?   r4   Typer   rA   rD   rF   classmethodrQ   propertyr   r0   rZ   __classcell__)rM   s   @r   r,   r,   ,   ss       3304   i    X EId  #(eV);#<   X
 .2d 4 4 4 4 4 4 40 -1d 
 
 
 
 
 
 [
 $ $ X$ = = X= UuS%Z0 U U U XU U U U Ur   r,   r-   r5   r0   rX   c                B    t          t          | |||                    S )Nr-   )_get_op_result_or_op_resultsr,   )r5   r0   r.   r/   s       r   constantre   k   s#     (
65cb(Q(Q(QRRRr   )"_arith_ops_genr   _arith_enum_genr   rF   typingr   ir_ods_commonr	   rP   r
   	_ods_cextr   rd   r   r   r   ImportErroreRuntimeErrorr   r   r   r_   r#   r)   register_operationr,   rA   rD   r?   Valuere   r2   r   r   <module>rq      s)  
     $ $ $ $ $ $     ! ! ! ! ! !      
M          ('''''''''' M M M
,D
E
E1LMc     2C 2$t* 2 2 2 26 6 6 6 6C C C C C h555;U ;U ;U ;U ;U ;U ;U 65;U~ GKtS S SSsE9f<=S
S S S S S Ss   5 AAA