
    JTh8                     |   S r SSKrSSKrSSKJr  SSKJrJr  SSKJ	r	J
r
  \R                  " \
R                  SS9r\" S5      S	\	R                  4S
 j5       r\" S5      \R                   S	\	R                  4S j5       5       r\" S5      SS	\	R                  4S jj5       r\" S5      S	\	R                  4S j5       rg)am  This file exports ONNX ops for opset 15.

Note [ONNX operators that are added/updated in opset 15]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
https://github.com/onnx/onnx/blob/master/docs/Changelog.md#version-15-of-the-default-onnx-operator-set
New operators:
    Bernoulli
    CastLike
    Optional
    OptionalGetElement
    OptionalHasElement

Updated operators:
    BatchNormalization https://github.com/onnx/onnx/pull/3545
                        Backwards compatible
                        TODO: test coverage for mixed types inputs.
    Pow                https://github.com/onnx/onnx/pull/3412
                        Backwards compatible
                        TODO: bfloat16 support.
    Shape              https://github.com/onnx/onnx/pull/3580
                        Backwards compatible
                        TODO: optional start/end attribute.
    N)_C)symbolic_helpersymbolic_opset9)	jit_utilsregistration   )opsetzaten::__is_gc                 R   [         R                  " U5      (       av  [        UR                  5       [        R
                  5      (       a$  U R                  SU5      nU R                  SU5      $ U R                  S[        R                  " S/5      S9$ [        R                  " XU5      $ )NOptionalHasElementNotConstantr   )value_t)r   _is_none
isinstancetyper   OptionalTypeoptorch
BoolTensoropset9eq)r
   selfothernones       S/var/www/auris/envauris/lib/python3.13/site-packages/torch/onnx/symbolic_opset15.py	aten__is_r   (   s}    &&diik2??3344,d3D44t$$44
E,<,<aS,A4BB99Qe$$    zaten::__isnot_c                     [        XU5      $ )N)r   )r
   r   r   s      r   aten__isnot_r    3   s     Qe$$r   zaten::bernoullic                 j   Ub3  [         R                  " U5      (       d  [         R                  " SSU5        Ub3  [         R                  " U5      (       d  [         R                  " SSU5        Ub  [         R                  " U5      (       a  U R                  SU5      $ [        R
                  " XX#U5      $ )N	Bernoulliz,out parameter is not supported for bernoulliz(generator is not supported for bernoulli)r   r   _unimplementedr   r   	bernoulli)r
   inputp	generatorouts        r   r$   r$   9   s    
77<<&&G	
 _%=%=i%H%H&&CU	
 	yO,,Q//ttK''AaC88r   zprim::unchecked_castc                     [        UR                  5       [        R                  5      (       a  U R	                  SU5      $ U$ )NOptionalGetElement)r   r   r   r   r   )r
   r   s     r   prim_unchecked_castr+   H   s2    
 $))+r//tt($//Kr   )NNN)__doc__	functoolsr   r   
torch.onnxr   r   r   torch.onnx._internalr   r   partialonnx_symbolic_onnx_symbolicGraphContextr   wrap_logical_op_with_negationr    r$   r+    r   r   <module>r6      s   6    A 8 ""<#=#=RH %'' % %  !%%%I** % & "% !"9'' 9 #9 &'911  (r   