
    xvh"                     N   d dl  d dl mZ d dlmZmZ d dlmZmZmZ dtdZ	 e	d      d        Z
 e	d      d	        Z e	d
      d        Z e	d      d        Z e	d      d        Z e	d      d        Z e	d      d        Z e	d      d        Z e	d      d        Z e	d      d        Z e	d      d        Z e	d      d        Z e	d      d        Z e	d       d!        Z e	d"      d#        Z e	d$      d%        Z e	d&      d'        Z e	d(      d)        Z e	d*      d+        Z e	d,      d-        Z e	d.      d/        Z e	d0      d1        Z e	d2      d3        Z  e	d4      d5        Z! e	d6      d7        Z" e	d8      d9        Z# e	d:      d;        Z$ e	d<      d=        Z% e	d>      d?        Z& e	d@      dA        Z' e	dB      dC        Z( e	dD      dE        Z) e	dF      dG        Z* e	dH      dI        Z+ e	dJ      dK        Z, e	dL      dM        Z- e	dN      dO        Z. e	dP      dQ        Z/ e	dR      dS        Z0 e	dT      dU        Z1 e	dV      dW        Z2 e	dX      dY        Z3 e	dZ      d[        Z4 e	d\      d]        Z5 e	d^      d_        Z6 e	d`      da        Z7 e	db      dc        Z8 e	dd      de        Z9 e	df      dg        Z: e	dh      di        Z;	 djdkl<Z= e	dl      dm        Z> e	dn      do        Z? e	dp      dq        Z@ e	dr      ds        ZAyk# eB$ r Y ykw xY w)u   )*)_GlobalDebug)register_type_casterregister_value_caster)get_dialect_registryappend_load_on_create_dialectget_load_on_create_dialectsc                       fd}|S )Nc                 8    t         j                  |        | S )N)replace)AttrBuilderinsert)funckindr   s    I/opt/face_recognition/venv/lib/python3.12/site-packages/jaxlib/mlir/ir.pydecorator_builderz5register_attribute_builder.<locals>.decorator_builder   s    4w7     )r   r   r   s   `` r   register_attribute_builderr      s     r   AffineMapAttrc                 ,    t         j                  |       S N)r   getxcontexts     r   _affineMapAttrr      s    Qr   IntegerSetAttrc                 ,    t         j                  |       S r   )r   r   r   s     r   _integerSetAttrr       s    a  r   BoolAttrc                 0    t         j                  | |      S Nr   )r!   r   r   s     r   	_boolAttrr%   "       <<7<++r   DictionaryAttrc                 0    t         j                  | |      S r#   )DictAttrr   r   s     r   	_dictAttrr*   '   r&   r   	IndexAttrc                 V    t         j                  t        j                  |      |       S r#   )IntegerAttrr   	IndexTyper   s     r   
_indexAttrr/   ,   s    ??9===91==r   I1Attrc                 X    t         j                  t        j                  d|      |       S Nr   r$   r-   r   IntegerTypeget_signlessr   s     r   _i1Attrr6   1   #    ??;33Aw3GKKr   I8Attrc                 X    t         j                  t        j                  d|      |       S N   r$   r3   r   s     r   _i8Attrr<   6   r7   r   I16Attrc                 X    t         j                  t        j                  d|      |       S N   r$   r3   r   s     r   _i16AttrrA   ;   #    ??;33B3H!LLr   I32Attrc                 X    t         j                  t        j                  d|      |       S N    r$   r3   r   s     r   _i32AttrrG   @   rB   r   I64Attrc                 X    t         j                  t        j                  d|      |       S N@   r$   r3   r   s     r   _i64AttrrL   E   rB   r   SI1Attrc                 X    t         j                  t        j                  d|      |       S r2   r-   r   r4   
get_signedr   s     r   _si1AttrrQ   J   #    ??;11!W1EqIIr   SI8Attrc                 X    t         j                  t        j                  d|      |       S r:   rO   r   s     r   _si8AttrrU   O   rR   r   SI16Attrc                 X    t         j                  t        j                  d|      |       S r?   rO   r   s     r   	_si16AttrrX   T   #    ??;11"g1FJJr   SI32Attrc                 X    t         j                  t        j                  d|      |       S rE   rO   r   s     r   	_si32Attrr\   Y   rY   r   SI64Attrc                 X    t         j                  t        j                  d|      |       S rJ   rO   r   s     r   	_si64Attrr_   ^   rY   r   UI1Attrc                 X    t         j                  t        j                  d|      |       S r2   r-   r   r4   get_unsignedr   s     r   _ui1Attrrd   c   r7   r   UI8Attrc                 X    t         j                  t        j                  d|      |       S r:   rb   r   s     r   _ui8Attrrg   h   r7   r   UI16Attrc                 X    t         j                  t        j                  d|      |       S r?   rb   r   s     r   	_ui16Attrrj   m   rB   r   UI32Attrc                 X    t         j                  t        j                  d|      |       S rE   rb   r   s     r   	_ui32Attrrm   r   rB   r   UI64Attrc                 X    t         j                  t        j                  d|      |       S rJ   rb   r   s     r   	_ui64Attrrp   w   rB   r   F32Attrc                 0    t         j                  | |      S r#   )	FloatAttrget_f32r   s     r   _f32Attrru   |       Q00r   F64Attrc                 0    t         j                  | |      S r#   )rs   get_f64r   s     r   _f64Attrrz      rv   r   StrAttrc                 0    t         j                  | |      S r#   
StringAttrr   r   s     r   _stringAttrr          >>!W>--r   SymbolNameAttrc                 0    t         j                  | |      S r#   r}   r   s     r   _symbolNameAttrr      r   r   SymbolRefAttrc                 ~    t        | t              rt        j                  | |      S t        j                  | |      S r#   )
isinstancelistr   r   FlatSymbolRefAttrr   s     r   _symbolRefAttrr      s8    !T  G 44 $$Q$88r   r   c                 0    t         j                  | |      S r#   )r   r   r   s     r   _flatSymbolRefAttrr            G 44r   UnitAttrc                 4    | rt         j                  |      S y r#   )r   r   r   s     r   	_unitAttrr      s    ||G|,,r   	ArrayAttrc                 0    t         j                  | |      S r#   )r   r   r   s     r   
_arrayAttrr      s    ==G=,,r   AffineMapArrayAttrc           	      f    t         j                  | D cg c]  }t        ||       c}      S c c}w r   )r   r   r   r   r   vs      r   _affineMapArrayAttrr      &    ==a@.G4@AA@   .BoolArrayAttrc           	      f    t         j                  | D cg c]  }t        ||       c}      S c c}w r   )r   r   r%   r   s      r   _boolArrayAttrr      &    ==;A)Aw/;<<;r   DictArrayAttrc           	      f    t         j                  | D cg c]  }t        ||       c}      S c c}w r   )r   r   r*   r   s      r   _dictArrayAttrr      r   r   FlatSymbolRefArrayAttrc           	      f    t         j                  | D cg c]  }t        ||       c}      S c c}w r   )r   r   r   r   s      r   _flatSymbolRefArrayAttrr      s'    ==!DQ,Q8DEEDr   I32ArrayAttrc           	      f    t         j                  | D cg c]  }t        ||       c}      S c c}w r   )r   r   rG   r   s      r   _i32ArrayAttrr      &    ==:1(1g.:;;:r   I64ArrayAttrc           	      f    t         j                  | D cg c]  }t        ||       c}      S c c}w r   )r   r   rL   r   s      r   _i64ArrayAttrr      r   r   I64SmallVectorArrayAttrc                     t        | |      S r#   )r   r   s     r   _i64SmallVectorArrayAttrr      s    G,,r   IndexListArrayAttrc           	      f    t         j                  | D cg c]  }t        ||       c}      S c c}w r   )r   r   r   r   s      r   _indexListArrayAttrr      s&    ==Q?-73?@@?r   F32ArrayAttrc           	      f    t         j                  | D cg c]  }t        ||       c}      S c c}w r   )r   r   ru   r   s      r   _f32ArrayAttrr      r   r   F64ArrayAttrc           	      f    t         j                  | D cg c]  }t        ||       c}      S c c}w r   )r   r   rz   r   s      r   _f64ArrayAttrr      r   r   StrArrayAttrc           	      f    t         j                  | D cg c]  }t        ||       c}      S c c}w r   )r   r   r   r   s      r   _strArrayAttrr      s&    ==1=a+a1=>>=r   SymbolRefArrayAttrc           	      f    t         j                  | D cg c]  }t        ||       c}      S c c}w r   )r   r   r   r   s      r   _symbolRefArrayAttrr      r   r   DenseF32ArrayAttrc                 0    t         j                  | |      S r#   )r   r   r   s     r   _denseF32ArrayAttrr      r   r   DenseF64ArrayAttrc                 0    t         j                  | |      S r#   )r   r   r   s     r   _denseF64ArrayAttrr      r   r   DenseI8ArrayAttrc                 0    t         j                  | |      S r#   )r   r   r   s     r   _denseI8ArrayAttrr      s    733r   DenseI16ArrayAttrc                 0    t         j                  | |      S r#   )r   r   r   s     r   _denseI16ArrayAttrr      r   r   DenseI32ArrayAttrc                 0    t         j                  | |      S r#   )r   r   r   s     r   _denseI32ArrayAttrr      r   r   DenseI64ArrayAttrc                 0    t         j                  | |      S r#   )r   r   r   s     r   _denseI64ArrayAttrr      r   r   DenseBoolArrayAttrc                 0    t         j                  | |      S r#   )r   r   r   s     r   _denseBoolArrayAttrr     s    !!!W!55r   TypeAttrc                 0    t         j                  | |      S r#   )r   r   r   s     r   	_typeAttrr   	  r&   r   TypeArrayAttrc           	      j    t        | D cg c]  }t        j                  ||       c}|      S c c}w r#   )r   r   r   )r   r   ts      r   _typeArrayAttrr     s*    CAx||Aw|7CWMMCs   0MemRefTypeAttrc                     t        | |      S r   )r   r   s     r   _memref_type_attrr     s    Q  r       NF64ElementsAttrc                     t         j                  t        j                  | t        j                        t
        j                  |      |      S Ndtyper$   typer   )DenseElementsAttrr   nparrayfloat64F64Typer   s     r   _f64ElementsAttrr     s=     $$HHQbjj)W- % 
 	
r   I32ElementsAttrc                     t         j                  t        j                  | t        j                        t
        j                  d|      |      S )Nr   rF   r$   r   )r   r   r   r   int32r4   r5   r   s     r   _i32ElementsAttrr   #  B     $$HHQbhh'))"g)> % 
 	
r   I64ElementsAttrc                     t         j                  t        j                  | t        j                        t
        j                  d|      |      S )Nr   rK   r$   r   )r   r   r   r   int64r4   r5   r   s     r   _i64ElementsAttrr   +  r   r   IndexElementsAttrc                     t         j                  t        j                  | t        j                        t
        j                  |      |      S r   )r   r   r   r   r   r.   r   s     r   _indexElementsAttrr   3  s=     $$HHQbhh'w/ % 
 	
r   )F)C_mlir_libs._mlir.irr   _mlir_libs._mlirr   r   
_mlir_libsr   r   r	   r   r   r    r%   r*   r/   r6   r<   rA   rG   rL   rQ   rU   rX   r\   r_   rd   rg   rj   rm   rp   ru   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   numpyr   r   r   r   r   ImportErrorr   r   r   <module>r      s  
 # - I  O,  -  ,-! .! J', (, ,-, ., K(> )> H%L &L H%L &L I&M 'M I&M 'M I&M 'M I&J 'J I&J 'J J'K (K J'K (K J'K (K I&L 'L I&L 'L J'M (M J'M (M J'M (M I&1 '1 I&1 '1 I&. '. ,-. .. O,9 -9 /05 15 J' ( K(- )- 01B 2B O,= -= O,= -= 45F 6F N+< ,< N+< ,< 56- 7- 01A 2A N+< ,< N+< ,< N+? ,? 01B 2B /05 15 /05 15 ./4 04 /05 15 /05 15 /05 15 016 26 J', (, O,N -N ,-! .!$	 12
 3
   12
 3
   12
 3
   34
 5
  		s   <L L$#L$