
    Si5                    `    S SK Jr  S SKrS SKrS SKJr  S SKJr      SS jr	 " S S\5      r
g)	    )annotationsN)Base)expectc                `    U c  [         R                  " S5      $ [         R                  " S5      $ )NFT)nparray)optionals    m/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/optionalhaselement.py-optional_has_element_reference_implementationr      s&     xx88D>    c                  <    \ rS rSr\SS j5       r\SS j5       rSrg)OptionalHasElement   c            	        [         R                  " / SQ5      R                  [         R                  5      n [        R
                  R                  [        R                  R                  S/S9n[        R
                  R                  U5      nX4 HK  n[        R
                  R                  SS/S/S9n[        U 5      nSX2:X  a  SOS	-   n[        UU /U/U/US
9  MM     g )N)            r   	elem_typeshaper   optional_inputoutputinputsoutputstest_optional_has_element_tensor_inputr   r   input_type_protosname)r   r   astypefloat32onnxhelpermake_tensor_type_protoTensorProtoFLOATmake_optional_type_proto	make_noder   r   )r	   tensor_type_protooptional_type_protor    noder   	test_names          r
   exportOptionalHasElement.export   s    88L)00< KK>>&&,, ? 
 #kkBBCTU #4!I;;(($.>-?( ) D C8LF4$; !#I
  z#6"7 "Jr   c            
        S n [         R                  R                  [         R                  R                  / S9n[         R                  R                  U5      nX4 H  nSSS S.nUR                  5        Hu  u  pVX1:X  a	  U(       a  M  [         R                  R                  SUc  / OU/S/S9n[        U 5      nSU-   X2:X  a  S	OS
-   n	[        UU(       a  U /O/ U/U(       a  U/O/ U	S9  Mw     M     g )Nr   r    )emptyempty_no_input_nameempty_no_inputr   r   r   r   _optional_input_tensor_inputr   )
r$   r%   r&   r'   INT32r)   itemsr*   r   r   )
r	   r+   r,   input_type_protoinput_name_optionstest_name_surfix
input_namer-   r   r.   s
             r
   export_emptyOptionalHasElement.export_empty4   s    KK>>&&,,B ? 
 #kkBBCTU "3 H)')"&"
 1C0H0H0J, #8Z{{,,(!+!32*%J - 
 GxP0&' ,B *,  )3H:#H<F'7&8B"' 1K !Ir    N)returnNone)__name__
__module____qualname____firstlineno__staticmethodr/   r>   __static_attributes__r@   r   r
   r   r      s(     : ( (r   r   )r	   znp.ndarray | NonerA   z
np.ndarray)
__future__r   numpyr   r$   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   r@   r   r
   <module>rM      s9    #   , .H Hr   