
    Si                    Z    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K	J
r
   " S S\5      rg)    )annotationsN)Base)expect)rotary_embeddingc                      \ rS rSr\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r	\SS j5       r
\SS j5       r\SS	 j5       rS
rg)RotaryEmbedding   c                 h   [         R                  R                  S/ SQS/S9n [        R                  R                  SSSS5      R                  [        R                  5      n[        R                  R                  S	S
S5      R                  [        R                  5      n[        R                  R                  S
S5      R                  [        R                  5      n[        R                  R                  S
S5      R                  [        R                  5      n[        XX2S9n[        U XX2/U/SS9  g )Nr   input	cos_cache	sin_cacheposition_idsoutputinputsoutputs            r   2   r   r   )r   test_rotary_embeddingr   r   nameonnxhelper	make_nodenprandomrandastypefloat32uniformint64r   r   node
input_dataposition_ids_datasin_cache_datacos_cache_dataexpected_outputs         j/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/rotaryembedding.pyexport_rotary_embedding'RotaryEmbedding.export_rotary_embedding   s    {{$$FJ % 
 YY^^Aq!Q/66rzzB
II--aV<CCBHHMA.55bjjAA.55bjjA*
 	R$%(		
    c                 r   Sn [         R                  R                  S/ SQS/U S9n[        R                  R                  SSS5      R                  [        R                  5      n[        R                  R                  S	S
S5      R                  [        R                  5      n[        R                  R                  S
S5      R                  [        R                  5      n[        R                  R                  S
S5      R                  [        R                  5      n[        UUUUU S9n[        UX%XC/U/SS9  g )Nr   r   r   r   )r   r   	num_headsr   r       r   r   r   )r   r4   test_rotary_embedding_3d_inputr   r   )r4   r)   r*   r+   r,   r-   r.   s          r/    export_rotary_embedding_3d_input0RotaryEmbedding.export_rotary_embedding_3d_input'   s    	{{$$FJ	 % 
 YY^^Aq"-44RZZ@
II--aV<CCBHHMA.55bjjAA.55bjjA**
 	R$%1		
r2   c                 p   [         R                  R                  S/ SQS/SS9n [        R                  R                  SSSS	5      R                  [        R                  5      n[        R                  R                  S
SS5      R                  [        R                  5      n[        R                  R                  SS5      R                  [        R                  5      n[        R                  R                  SS5      R                  [        R                  5      n[        UUUUSS9n[        U XX2/U/SS9  g )Nr   r   r      r   r   interleavedr   r   r   r   r   r   r   )r   r<   !test_rotary_embedding_interleavedr   r   r(   s         r/   #export_rotary_embedding_interleaved3RotaryEmbedding.export_rotary_embedding_interleavedE   s    {{$$FJ	 % 
 YY^^Aq!Q/66rzzB
II--aV<CCBHHMA.55bjjAA.55bjjA**
 	R$%4		
r2   c                 p   [         R                  R                  S/ SQS/SS9n [        R                  R                  SSSS5      R                  [        R                  5      n[        R                  R                  S	S
S5      R                  [        R                  5      n[        R                  R                  S
S5      R                  [        R                  5      n[        R                  R                  S
S5      R                  [        R                  5      n[        UUUUSS9n[        U XX2/U/SS9  g )Nr   r   r   r   r   r   rotary_embedding_dimr   r   r   r   r   r   )r   rB   %test_rotary_embedding_with_rotary_dimr   r   r(   s         r/   'export_rotary_embedding_with_rotary_dim7RotaryEmbedding.export_rotary_embedding_with_rotary_dimb   s    {{$$FJ!"	 % 
 YY^^Aq!Q/66rzzB
II--aV<CCBHHMA.55bjjAA.55bjjA**!"
 	R$%8		
r2   c            	     t   [         R                  R                  S/ SQS/SSS9n [        R                  R                  SSSS	5      R                  [        R                  5      n[        R                  R                  S
SS5      R                  [        R                  5      n[        R                  R                  SS5      R                  [        R                  5      n[        R                  R                  SS5      R                  [        R                  5      n[        UUUUSSS9n[        U XX2/U/SS9  g )Nr   r   r   r   r:   )r   r   rB   r<   r   r   r   r   r   r   )r   r<   rB   1test_rotary_embedding_with_interleaved_rotary_dimr   r   r(   s         r/   3export_rotary_embedding_with_interleaved_rotary_dimCRotaryEmbedding.export_rotary_embedding_with_interleaved_rotary_dim   s    {{$$FJ!" % 
 YY^^Aq!Q/66rzzB
II--aV<CCBHHMA.55bjjAA.55bjjA**!"
 	R$%D		
r2   c                    [         R                  R                  S/ SQS/S9n [        R                  R                  SSSS5      R                  [        R                  5      n[        R                  R                  SSS5      R                  [        R                  5      n[        R                  R                  SSS5      R                  [        R                  5      n[        XU5      n[        U XU/U/S	S
9  g )Nr   r   r   r   r   r   r   r   r   r   %test_rotary_embedding_no_position_idsr   
r   r   r    r!   r"   r#   r$   r%   r   r   r)   r*   r,   r-   r.   s        r/   'export_rotary_embedding_no_position_ids7RotaryEmbedding.export_rotary_embedding_no_position_ids   s    {{$$6J % 
 YY^^Aq!Q/66rzzB
1a077

C1a077

C*:~V?$%8		
r2   c                    [         R                  R                  S/ SQS/SS9n [        R                  R                  SSSS	5      R                  [        R                  5      n[        R                  R                  SSS5      R                  [        R                  5      n[        R                  R                  SSS5      R                  [        R                  5      n[        UUUSS
9n[        U XU/U/SS9  g )Nr   rK   r   r:   r;   r   r   r   r   )r<   1test_rotary_embedding_no_position_ids_interleavedr   rM   rN   s        r/   3export_rotary_embedding_no_position_ids_interleavedCRotaryEmbedding.export_rotary_embedding_no_position_ids_interleaved   s    {{$$6J	 % 
 YY^^Aq!Q/66rzzB
1a077

C1a077

C*	
 	?$%D		
r2   c                    [         R                  R                  S/ SQS/SS9n [        R                  R                  SSSS5      R                  [        R                  5      n[        R                  R                  SSS5      R                  [        R                  5      n[        R                  R                  SSS5      R                  [        R                  5      n[        UUUSS	9n[        U XU/U/S
S9  g )Nr   rK   r   r   rA   r   r   r   )rB   0test_rotary_embedding_no_position_ids_rotary_dimr   rM   rN   s        r/   2export_rotary_embedding_no_position_ids_rotary_dimBRotaryEmbedding.export_rotary_embedding_no_position_ids_rotary_dim   s    {{$$6J!"	 % 
 YY^^Aq!Q/66rzzB
1a077

C1a077

C*!"	
 	?$%C		
r2    N)returnNone)__name__
__module____qualname____firstlineno__staticmethodr0   r7   r>   rD   rH   rO   rS   rW   __static_attributes__rY   r2   r/   r   r      s    
 
. 
 
: 
 
8 
 
8 
 
< 
 
( 
 
4 
 
r2   r   )
__future__r   numpyr!   r   onnx.backend.test.case.baser   onnx.backend.test.case.noder   &onnx.reference.ops.op_rotary_embeddingr   r   rY   r2   r/   <module>rg      s'    #   , . CY
d Y
r2   