U
    rh                     @  sP   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 deZ
dS )    )annotationsN)Base)expectc                   @  s0   e Zd ZeddddZeddddZdS )GeluNone)returnc                  C  s   t jjddgdgdd} tdddgtj}d	| dttd
tj	 |dt
|d     tj}t| |g|gdd tjdddtj}d	| dttd
tj	 |dt
|d     tj}t| |g|gdd d S )Nr   xytanh)inputsoutputsZapproximater            ?   gHm?   Ztest_gelu_tanh_1r   r   name      Ztest_gelu_tanh_2)onnxhelper	make_nodenparrayastypefloat32r
   sqrtpipowerr   randomrandnnoder   r	    r$   D/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/node/gelu.pyexport_gelu_tanh   s4       ,,zGelu.export_gelu_tanhc                  C  s   t jjddgdgd} tdddgtj}d| dttj	|t
d	   tj}t| |g|gd
d tjdddtj}d| dttj	|t
d	   tj}t| |g|gdd d S )Nr   r   r	   )r   r   r   r   r   r   r   Ztest_gelu_default_1r   r   r   r   Ztest_gelu_default_2)r   r   r   r   r   r   r   Z	vectorizematherfr   r   r    r!   r"   r$   r$   r%   export_gelu_default(   s    ..zGelu.export_gelu_defaultN)__name__
__module____qualname__staticmethodr&   r)   r$   r$   r$   r%   r      s   r   )
__future__r   r'   Znumpyr   r   Zonnx.backend.test.case.baser   Zonnx.backend.test.case.noder   r   r$   r$   r$   r%   <module>   s   