
    Ng                     R    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 )    N)Base)expectc                   >    e Zd Zedd            Zedd            ZdS )GelureturnNc                  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      \/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/backend/test/case/node/gelu.pyexport_gelu_tanhzGelu.export_gelu_tanh   s   {$$C53%V % 
 
 HZZZ  ''
33 27271ru9--XA5N1NOPPPR &

	 	

 	tQC!3EFFFFIOOAq!$$++BJ77 27271ru9--XA5N1NOPPPR &

	 	

 	tQC!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   {$$VSEC5$IIHZZZ  ''
331W2BL221rwqzz>BBBCKKBJWWtQC!3HIIIIIOOAq!$$++BJ771W2BL221rwqzz>BBBCKKBJWWtQC!3HIIIIIIr+   )r   N)__name__
__module____qualname__staticmethodr*   r2    r+   r)   r   r      s\        G G G \G. J J J \J J Jr+   r   )	r0   numpyr   r   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r7   r+   r)   <module>r;      s   
       , , , , , , . . . . . .%J %J %J %J %J4 %J %J %J %J %Jr+   