§
    1�ÅjB  ã                  ó^   — d dl mZ d dlZd dlZd dlZd dlmZ d dlm	Z	  G d„ de¦  «        Z
dS )é    )ÚannotationsN)ÚBase)Úexpectc                  ó>   — e Zd Zedd„¦   «         Zedd„¦   «         ZdS )ÚGeluÚreturnÚNonec                 óZ  — t           j                             ddgdgd¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }d|z  dt          j        t          j        d	t          j	        z  ¦  «        |d
t          j
        |d¦  «        z  z   z  ¦  «        z   z                       t          j        ¦  «        }t          | |g|gd¬¦  «         t          j                             ddd¦  «                             t          j        ¦  «        }d|z  dt          j        t          j        d	t          j	        z  ¦  «        |d
t          j
        |d¦  «        z  z   z  ¦  «        z   z                       t          j        ¦  «        }t          | |g|gd¬¦  «         d S )Nr   ÚxÚyÚtanh)ÚinputsÚoutputsÚapproximate©éÿÿÿÿr   é   ç      à?r   é   g÷Hmâä¦?é   Útest_gelu_tanh_1©r   r   Únameé   é   Útest_gelu_tanh_2)ÚonnxÚhelperÚ	make_nodeÚnpÚarrayÚastypeÚfloat32r   ÚsqrtÚpiÚpowerr   ÚrandomÚrandn©Únoder   r   s      úQC:\Projects\Historical\venv\Lib\site-packages\onnx/backend/test/case/node/gelu.pyÚexport_gelu_tanhzGelu.export_gelu_tanh   s�  € åŒ{×$Ò$Ø˜C˜5¨3¨%¸Vð %ñ 
ô 
ˆõ ŒH�Z�Z�ZÑ Ô ×'Ò'­¬
Ñ3Ô3ˆð Øñà•2”7�2œ7 1¥r¤u¡9Ñ-Ô-°°XÅÄÈÈAÁÄÑ5NÑ1NÑOÑPÔPÑPñR÷ Š&•”Ñ
Ô
ð	 	
õ
 	ˆt˜Q˜C¨!¨Ð3EÐFÑFÔFÐFåŒI�OŠO˜A˜q !Ñ$Ô$×+Ò+­B¬JÑ7Ô7ˆð Øñà•2”7�2œ7 1¥r¤u¡9Ñ-Ô-°°XÅÄÈÈAÁÄÑ5NÑ1NÑOÑPÔPÑPñR÷ Š&•”Ñ
Ô
ð	 	
õ
 	ˆt˜Q˜C¨!¨Ð3EÐFÑFÔFÐFÐFÐFó    c                 ó  — t           j                             ddgdg¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }d|z  d t          j        t          j	        ¦  «        |t          j
        d¦  «        z  ¦  «        z   z                       t          j        ¦  «        }t          | |g|gd	¬
¦  «         t          j                             ddd¦  «                             t          j        ¦  «        }d|z  d t          j        t          j	        ¦  «        |t          j
        d¦  «        z  ¦  «        z   z                       t          j        ¦  «        }t          | |g|gd¬
¦  «         d S )Nr   r   r   )r   r   r   r   r   r   Útest_gelu_default_1r   r   r   r   Útest_gelu_default_2)r   r   r   r    r!   r"   r#   Ú	vectorizeÚmathÚerfr$   r   r'   r(   r)   s      r+   Úexport_gelu_defaultzGelu.export_gelu_default(   s6  € åŒ{×$Ò$ V°S°EÀCÀ5Ð$ÑIÔIˆåŒH�Z�Z�ZÑ Ô ×'Ò'­¬
Ñ3Ô3ˆà�1‰W˜Ð2�BœL­¬Ñ2Ô2°1µr´w¸q±z´z±>ÑBÔBÑBÑC×KÒKÍBÌJÑWÔWˆÝˆt˜Q˜C¨!¨Ð3HÐIÑIÔIÐIåŒI�OŠO˜A˜q !Ñ$Ô$×+Ò+­B¬JÑ7Ô7ˆà�1‰W˜Ð2�BœL­¬Ñ2Ô2°1µr´w¸q±z´z±>ÑBÔBÑBÑC×KÒKÍBÌJÑWÔWˆÝˆt˜Q˜C¨!¨Ð3HÐIÑIÔIÐIÐIÐIr-   N)r   r	   )Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr,   r4   © r-   r+   r   r      s\   € € € € € ØðGð Gð Gñ „\ðGð. ðJð Jð Jñ „\ðJð Jð Jr-   r   )Ú
__future__r   r2   Únumpyr    r   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.noder   r   r9   r-   r+   ú<module>r>      s™   ðð #Ð "Ð "Ð "Ð "Ð "à €€€à Ð Ð Ð à €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .ð%Jð %Jð %Jð %Jð %Jˆ4ñ %Jô %Jð %Jð %Jð %Jr-   