§
    1�ÅjD	  ã                  ó^   — 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
dS )é    )ÚannotationsN)ÚBase)ÚexpectÚaú
np.ndarrayÚbÚalphaÚfloatÚreturnc                óN   — | ddt          j        | | z  ¦  «        z   z  z  }||z  S )Né   )ÚnpÚexp)r   r   r	   Úswish_as       úSC:\Projects\Historical\venv\Lib\site-packages\onnx/backend/test/case/node/swiglu.pyÚswiglur      s0   € Ø�1˜�BœF E 6¨A¡:Ñ.Ô.Ñ.Ñ/Ñ0€GØ�Q‰;Ðó    c                  óV   — e Zd Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         ZdS )ÚSwiGLUr   ÚNonec            
     óx  — t           j                             dddgdg¬¦  «        } t          j        g d¢g d¢gt          j        ¬¦  «        }t          j        g d	¢g d
¢gt          j        ¬¦  «        }t          ||d¬¦  «        }t          | ||g|gdt           j                             dd¦  «        g¬¦  «         d S )Nr   r   r   Úy©ÚinputsÚoutputs©ç      ð?g       Àg      @g      @©ç      ð¿ç       @g      Àç      à?©Údtype©r!   r   r   r    ©r    r   r!   r   r   ©r	   Útest_swigluÚ é   ©r   r   ÚnameÚopset_imports©	ÚonnxÚhelperÚ	make_noder   ÚarrayÚfloat32r   r   Úmake_opsetid©Únoder   r   r   s       r   ÚexportzSwiGLU.export   sà   € åŒ{×$Ò$ØØ˜�:Ø�Eð %ñ 
ô 
ˆõ ŒHÐ+Ð+Ð+Ð-CÐ-CÐ-CÐDÍBÌJÐWÑWÔWˆÝŒHÐ+Ð+Ð+Ð-BÐ-BÐ-BÐCÍ2Ì:ÐVÑVÔVˆÝ�1�a˜sÐ#Ñ#Ô#ˆåØØ�q�6Ø�CØÝœ;×3Ò3°B¸Ñ;Ô;Ð<ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c            
     óz  — t           j                             dddgdgd¬¦  «        } t          j        g d¢g d¢gt          j        ¬	¦  «        }t          j        g d
¢g d¢gt          j        ¬	¦  «        }t          ||d¬¦  «        }t          | ||g|gdt           j                             dd¦  «        g¬¦  «         d S )Nr   r   r   r   r!   )r   r   r	   r   r   r"   r$   r%   r&   Útest_swiglu_alphar(   r)   r*   r-   r4   s       r   Úexport_alphazSwiGLU.export_alpha'   sã   € åŒ{×$Ò$ØØ˜�:Ø�EØð	 %ñ 
ô 
ˆõ ŒHÐ+Ð+Ð+Ð-CÐ-CÐ-CÐDÍBÌJÐWÑWÔWˆÝŒHÐ+Ð+Ð+Ð-BÐ-BÐ-BÐCÍ2Ì:ÐVÑVÔVˆÝ�1�a˜sÐ#Ñ#Ô#ˆåØØ�q�6Ø�CØ$Ýœ;×3Ò3°B¸Ñ;Ô;Ð<ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c            
     ó&  — t           j                             dddgdg¬¦  «        } t          j        g d¢g d¢gt          j        ¬¦  «        }t          j        g d	¢g d
¢gt          j        ¬¦  «        }t          |                     t          j        ¦  «        |                     t          j        ¦  «        d¬¦  «                             t          j        ¦  «        }t          | ||g|gdt           j         
                    dd¦  «        g¬¦  «         d S )Nr   r   r   r   r   r   r   r"   r$   r%   r   r&   Útest_swiglu_float16r(   r)   r*   )r.   r/   r0   r   r1   Úfloat16r   Úastyper2   r   r3   r4   s       r   Úexport_float16zSwiGLU.export_float16<   s  € åŒ{×$Ò$ØØ˜�:Ø�Eð %ñ 
ô 
ˆõ ŒHÐ+Ð+Ð+Ð-CÐ-CÐ-CÐDÍBÌJÐWÑWÔWˆÝŒHÐ+Ð+Ð+Ð-BÐ-BÐ-BÐCÍ2Ì:ÐVÑVÔVˆÝ�1—8’8�BœJÑ'Ô'¨¯ªµ"´*Ñ)=Ô)=ÀSÐIÑIÔI×PÒPÝŒJñ
ô 
ˆõ 	ØØ�q�6Ø�CØ&Ýœ;×3Ò3°B¸Ñ;Ô;Ð<ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r   N)r   r   )Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr6   r9   r>   © r   r   r   r      sr   € € € € € Øð
ð 
ð 
ñ „\ð
ð& ð
ð 
ð 
ñ „\ð
ð( ð
ð 
ð 
ñ „\ð
ð 
ð 
r   r   )r   r   r   r   r	   r
   r   r   )Ú
__future__r   Únumpyr   r.   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.noder   r   r   rC   r   r   ú<module>rH      sš   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .ðð ð ð ð
>
ð >
ð >
ð >
ð >
ˆTñ >
ô >
ð >
ð >
ð >
r   