
    bIg	                    b    d dl mZ d dlmZ d dlZd dlZd dlmZ d dl	m
Z
 d	dZ G d de      Zy)
    )annotations)AnyN)Base)expectc                    | J | S )N )optionals    k/var/www/html/answerous/venv/lib/python3.12/site-packages/onnx/backend/test/case/node/optionalgetelement.py-optional_get_element_reference_implementationr      s    O    c                  0    e Zd Zedd       Zedd       Zy)OptionalHasElementc                    t        j                  g d      j                  t         j                        } t        j
                  j                  t        j                  j                  dg      }t        j
                  j                  |      }t        j
                  j                  ddgdg      }t        |       }t        || g|g|gd	       t        || g|g|gd
	       y )N            r   	elem_typeshapeOptionalGetElementoptional_inputoutputinputsoutputs)test_optional_get_element_optional_tensorr   r   input_type_protosname test_optional_get_element_tensor)nparrayastypefloat32onnxhelpermake_tensor_type_protoTensorProtoFLOATmake_optional_type_proto	make_noder   r   )r	   tensor_type_protooptional_type_protonoder   s        r
   export_get_element_tensorz,OptionalHasElement.export_get_element_tensor   s    88L)00< KK>>&&,, ? 
 #kkBBCTU{{$$ *:);hZ % 
 ?xH:H23<	
 	:H013	
r   c                    t        j                  g d      j                  t         j                        g} t        j
                  j                  t        j                  j                  dg      }t        j
                  j                  |      }t        j
                  j                  |      }t        j
                  j                  ddgdg      }t        |       }t        || g|g|gd	       t        || g|g|gd
	       y )Nr   r   r   r   r   r   r   +test_optional_get_element_optional_sequencer   "test_optional_get_element_sequence)r#   r$   r%   int32r'   r(   r)   r*   INT32make_sequence_type_protor,   r-   r   r   )r	   r.   seq_type_protor/   r0   r   s         r
   export_get_element_sequencez.OptionalHasElement.export_get_element_sequence3   s    HH\*11"((;< KK>>&&,, ? 
 ==>OP"kkBB>R{{$$ *:);hZ % 
 ?xH:H23>	
 	:H-.5	
r   N)returnNone)__name__
__module____qualname__staticmethodr1   r9   r   r   r
   r   r      s(    
 
: 
 
r   r   )r	   z
Any | Noner:   r   )
__future__r   typingr   numpyr#   r'   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   r   r   r
   <module>rE      s*    #    , .
<
 <
r   