
    bIg                        d dl mZ d dlZd dlmZmZmZmZm	Z	m
Z
mZ d dlmZmZ d Z G d de      Z G d d	e      Z G d
 de      Z G d de      Z G d de      Zy)    )annotationsN)bfloat16float8e4m3fnfloat8e4m3fnuz
float8e5m2float8e5m2fnuzint4uint4)OpRunRefAttrNamec                r   | j                   }t        |t        j                         s|t        t        t
        t        t        t        t        t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                   t        j"                  t        j$                  t        j&                  t        j(                  t        j*                  t        j,                  t.        t0        hvrt3        d| dt5        |       d      y y )NzType (z, z+) is not a numpy type (operator 'Constant'))dtype
isinstancenpr   r   r   r   r   r
   r	   int8uint8float16float32float64int32int64int16uint16uint32bool_str_uint64boolstr	TypeErrortype)valas     [/var/www/html/answerous/venv/lib/python3.12/site-packages/onnx/reference/ops/op_constant.py_check_dtyper%      s    		Aa"q














		
		


		-1 (0 QCr$q'"MN
 	
1("    c                      e Zd Zd Zy)ConstantCommonc                V    t        |t              rt        dt        |       d      |S )NzUnexpected type z for a constant.)r   tupler    r!   )selfcsts     r$   _checkzConstantCommon._check4   s+    c5!.tCyk9IJKK
r&   N)__name__
__module____qualname__r-    r&   r$   r(   r(   3   s    r&   r(   c                      e Zd Zd Zd Zy)
Constant_1c                ~    t         j                  | ||       | j                  | _        t	        | j                         y N)r(   __init__valuer,   r%   r+   	onnx_node
run_paramss      r$   r6   zConstant_1.__init__;   s+    i<::TXXr&   c                    |rAt        |      dkD  s(d|vs$t        |d         t        | j                        k7  rt        d      | j	                  | j
                        fS N   r7   zHFunction attributes are not implemented for opset <= 11. Use opset > 12.lenidr7   RuntimeErrorr-   r,   r+   overridden_attributess     r$   _runzConstant_1._run@   _     %&*33'01R

^CZ  DHH%''r&   Nr.   r/   r0   r6   rD   r1   r&   r$   r3   r3   :   s    
	(r&   r3   c                      e Zd Zd Zy)
Constant_9c                2    t         j                  | ||       y r5   )r3   r6   r8   s      r$   r6   zConstant_9.__init__M   s    D)Z8r&   N)r.   r/   r0   r6   r1   r&   r$   rH   rH   L   s    9r&   rH   c                      e Zd Zd Zd Zy)Constant_11c                    t         j                  | ||       t        | dd       | j                  | _        n| j
                  | _        t        | j                         y )Nsparse_value)r(   r6   getattrr7   r,   rM   r%   r8   s      r$   r6   zConstant_11.__init__R   sG    i<4.6zzDH((DHTXXr&   c                    |rAt        |      dkD  s(d|vs$t        |d         t        | j                        k7  rt        d      | j	                  | j
                        fS r<   r>   rB   s     r$   rD   zConstant_11._runZ   rE   r&   NrF   r1   r&   r$   rK   rK   Q   s    	(r&   rK   c                      e Zd Zd Zd Zy)Constant_12c                `   t         j                  | ||       t        | d      r.| j                  "d| _        | j                  | _        d | _        n8t        | d      rS| j                  Gd| _        t        | j                  t              r| j                  n| j                  | _        d | _        nt        j                  t        j                  t        j                  t        j                  t        j                  t        j                  dj                         D ]k  \  }}t        | |      st        | |       || _        t        | |      }t        |t              r|nt        j                   ||      | _        |fd| _         n t        | d      st#        d	|j$                   d
      y )NrM   c                    | S r5   r1   vs    r$   <lambda>z&Constant_12.__init__.<locals>.<lambda>l        r&   r7   c                    | S r5   r1   rT   s    r$   rV   z&Constant_12.__init__.<locals>.<lambda>p   rW   r&   )value_floatvalue_floats	value_int
value_intsvalue_stringvalue_stringsr   c                0    t        j                  | |      S )Nr_   )r   array)rU   np_dtypes     r$   rV   z&Constant_12.__init__.<locals>.<lambda>   s    BHHE r&   cst_namez<No constant is defined for operator 'Constant', outputs are .)r(   r6   hasattrrM   rc   r,   cst_convertr7   r   r   r   r   r   r   itemsrN   ra   AttributeErroroutput)r+   r9   r:   attrrb   rU   s         r$   r6   zConstant_12.__init__g   sg   i<4(T->->-J*DM((DH*DT7#

(>#DM%/

K%HtzzdjjDH*D  "zz "

XX hh "!## egh 4&74+>+J$(DMd+A &a5 XXax8 H
 ;C (D$ '( tZ( NyO_O_N``ab  )r&   c                j   | j                   r|t        d| j                  d      | j                  |vr%t        d| j                  dt	        |      d      || j                     }t        |t        j                        r|fS | j                  |      fS | j                  | j                        fS )Nz0Attributes are empty, cannot retrieve value for rd   zCannot find attribute z in )
has_linked_attributerA   r,   rc   listr   r   ndarrayrf   r-   )r+   rC   r7   s      r$   rD   zConstant_12._run   s    $$$,"FtxxlRST  }}$99",T]],=T$G\B]A``ab  *$--8E%,x$$U+--DHH%''r&   NrF   r1   r&   r$   rQ   rQ   f   s    "H(r&   rQ   )
__future__r   numpyr   onnx._custom_element_typesr   r   r   r   r   r	   r
   onnx.reference.op_runr   r   r%   r(   r3   rH   rK   rQ   r1   r&   r$   <module>rs      sb    #    5
>U ( ($9 9
(. (*3(. 3(r&   