§
    1�Åj¹  ã                  óV   — d dl m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edd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Z	edd	„¦   «         Z
edd
„¦   «         Zedd„¦   «         Zedd„¦   «         ZdS )ÚBitCastÚreturnÚNonec                 ó  — t           j                             ddgdgt           j        j        ¬¦  «        } t          j        g d¢t
          j        ¬¦  «        }|                     t
          j	        ¦  «        }t          | |g|gd¬¦  «         d	S )
z2Test bitcasting from float32 to int32 (same size).r   ÚxÚy©ÚinputsÚoutputsÚto©ç      ð?g      Àg      @©ÚdtypeÚtest_bitcast_float32_to_int32©r   r   ÚnameN©ÚonnxÚhelperÚ	make_nodeÚTensorProtoÚINT32ÚnpÚarrayÚfloat32ÚviewÚint32r   ©Únoder   r   s      úTC:\Projects\Historical\venv\Lib\site-packages\onnx/backend/test/case/node/bitcast.pyÚexport_bitcast_float32_to_int32z'BitCast.export_bitcast_float32_to_int32   óŠ   € õ Œ{×$Ò$ØØ�5Ø�EÝÔÔ%ð	 %ñ 
ô 
ˆõ ŒHÐ&Ð&Ð&­b¬jÐ9Ñ9Ô9ˆØ�FŠF•2”8ÑÔˆÝˆt˜Q˜C¨!¨Ð3RÐSÑSÔSÐSÐSÐSó    c                 ó  — t           j                             ddgdgt           j        j        ¬¦  «        } t          j        g d¢t
          j        ¬¦  «        }|                     t
          j	        ¦  «        }t          | |g|gd¬¦  «         d	S )
z2Test bitcasting from int32 to float32 (same size).r   r   r   r   )i  €?i   Ài  p@r   Útest_bitcast_int32_to_float32r   N)r   r   r   r   ÚFLOATr   r   r"   r!   r    r   r#   s      r%   Úexport_bitcast_int32_to_float32z'BitCast.export_bitcast_int32_to_float32   sŠ   € õ Œ{×$Ò$ØØ�5Ø�EÝÔÔ%ð	 %ñ 
ô 
ˆõ ŒHÐ:Ð:Ð:Å"Ä(ÐKÑKÔKˆØ�FŠF•2”:ÑÔˆÝˆt˜Q˜C¨!¨Ð3RÐSÑSÔSÐSÐSÐSr(   c                 ó  — t           j                             ddgdgt           j        j        ¬¦  «        } t          j        g d¢t
          j        ¬¦  «        }|                     t
          j	        ¦  «        }t          | |g|gd¬¦  «         d	S )
z2Test bitcasting from float64 to int64 (same size).r   r   r   r   r   r   Útest_bitcast_float64_to_int64r   N)r   r   r   r   ÚINT64r   r   Úfloat64r!   Úint64r   r#   s      r%   Úexport_bitcast_float64_to_int64z'BitCast.export_bitcast_float64_to_int64(   r'   r(   c                 ó  — t           j                             ddgdgt           j        j        ¬¦  «        } t          j        g d¢t
          j        ¬¦  «        }|                     t
          j	        ¦  «        }t          | |g|gd¬¦  «         d	S )
z2Test bitcasting from int64 to float64 (same size).r   r   r   r   )l         € lûÿÿÿ         l   €*ˆ(íI  r   Útest_bitcast_int64_to_float64r   N)r   r   r   r   ÚDOUBLEr   r   r1   r!   r0   r   r#   s      r%   Úexport_bitcast_int64_to_float64z'BitCast.export_bitcast_int64_to_float645   s“   € õ Œ{×$Ò$ØØ�5Ø�EÝÔÔ&ð	 %ñ 
ô 
ˆõ ŒHØLÐLÐLÝ”(ð
ñ 
ô 
ˆð �FŠF•2”:ÑÔˆÝˆt˜Q˜C¨!¨Ð3RÐSÑSÔSÐSÐSÐSr(   c                 ó  — t           j                             ddgdgt           j        j        ¬¦  «        } t          j        g d¢t
          j        ¬¦  «        }|                     t
          j	        ¦  «        }t          | |g|gd¬¦  «         d	S )
zGTest bitcasting from uint32 to int32 (same size, different signedness).r   r   r   r   )l   ÿÿ l        iÿÿÿr   Útest_bitcast_uint32_to_int32r   N)r   r   r   r   r   r   r   Úuint32r!   r"   r   r#   s      r%   Úexport_bitcast_uint32_to_int32z&BitCast.export_bitcast_uint32_to_int32E   sŠ   € õ Œ{×$Ò$ØØ�5Ø�EÝÔÔ%ð	 %ñ 
ô 
ˆõ ŒHÐ9Ð9Ð9ÅÄÐKÑKÔKˆØ�FŠF•2”8ÑÔˆÝˆt˜Q˜C¨!¨Ð3QÐRÑRÔRÐRÐRÐRr(   c                 ó"  — t           j                             ddgdgt           j        j        ¬¦  «        } t          j        g d¢g d¢gt
          j        ¬¦  «        }|                     t
          j	        ¦  «        }t          | |g|gd¬	¦  «         d
S )z/Test bitcasting 2D array from float32 to int32.r   r   r   r   )r   g       @g      @)g      @g      @g      @r   Ú test_bitcast_2d_float32_to_int32r   Nr   r#   s      r%   Ú"export_bitcast_2d_float32_to_int32z*BitCast.export_bitcast_2d_float32_to_int32R   s�   € õ Œ{×$Ò$ØØ�5Ø�EÝÔÔ%ð	 %ñ 
ô 
ˆõ ŒH�o�o�o   Ð7½r¼zÐJÑJÔJˆØ�FŠF•2”8ÑÔˆÝˆt˜Q˜C¨!¨Ð3UÐVÑVÔVÐVÐVÐVr(   c                 ó  — t           j                             ddgdgt           j        j        ¬¦  «        } t          j        g d¢t
          j        ¬¦  «        }|                     t
          j	        ¦  «        }t          | |g|gd¬¦  «         d	S )
zETest bitcasting from int8 to uint8 (same size, different signedness).r   r   r   r   )éÿÿÿÿi€ÿÿÿé   r   r   Útest_bitcast_int8_to_uint8r   N)r   r   r   r   ÚUINT8r   r   Úint8r!   Úuint8r   r#   s      r%   Úexport_bitcast_int8_to_uint8z$BitCast.export_bitcast_int8_to_uint8_   sŠ   € õ Œ{×$Ò$ØØ�5Ø�EÝÔÔ%ð	 %ñ 
ô 
ˆõ ŒHÐ'Ð'Ð'­r¬wÐ7Ñ7Ô7ˆØ�FŠF•2”8ÑÔˆÝˆt˜Q˜C¨!¨Ð3OÐPÑPÔPÐPÐPÐPr(   c                 ó  — t           j                             ddgdgt           j        j        ¬¦  «        } t          j        dt
          j        ¬¦  «        }|                     t
          j	        ¦  «        }t          | |g|gd¬¦  «         d	S )
z-Test bitcasting scalar from float32 to int32.r   r   r   r   r   r   Ú$test_bitcast_scalar_float32_to_int32r   Nr   r#   s      r%   Ú&export_bitcast_scalar_float32_to_int32z.BitCast.export_bitcast_scalar_float32_to_int32l   s�   € õ Œ{×$Ò$ØØ�5Ø�EÝÔÔ%ð	 %ñ 
ô 
ˆõ ŒH�S¥¤
Ð+Ñ+Ô+ˆØ�FŠF•2”8ÑÔˆÝØ˜!˜ q cÐ0Vð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r(   c                 ó  — t           j                             ddgdgt           j        j        ¬¦  «        } t          j        g d¢t
          j        ¬¦  «        }|                     t
          j	        ¦  «        }t          | |g|gd¬¦  «         d	S )
zGTest bitcasting from uint16 to int16 (same size, different signedness).r   r   r   r   )é   i €  iÿÿ  r   Útest_bitcast_uint16_to_int16r   N)r   r   r   r   ÚINT16r   r   Úuint16r!   Úint16r   r#   s      r%   Úexport_bitcast_uint16_to_int16z&BitCast.export_bitcast_uint16_to_int16{   sŠ   € õ Œ{×$Ò$ØØ�5Ø�EÝÔÔ%ð	 %ñ 
ô 
ˆõ ŒHÐ&Ð&Ð&­b¬iÐ8Ñ8Ô8ˆØ�FŠF•2”8ÑÔˆÝˆt˜Q˜C¨!¨Ð3QÐRÑRÔRÐRÐRÐRr(   c                 ó  — t           j                             ddgdgt           j        j        ¬¦  «        } t          j        g d¢t
          j        ¬¦  «        }|                     t
          j	        ¦  «        }t          | |g|gd¬¦  «         d	S )
z/Test bitcasting from bool to uint8 (same size).r   r   r   r   )TFTFr   Útest_bitcast_bool_to_uint8r   N)r   r   r   r   rB   r   r   Úbool_r!   rD   r   r#   s      r%   Úexport_bitcast_bool_to_uint8z$BitCast.export_bitcast_bool_to_uint8ˆ   sŠ   € õ Œ{×$Ò$ØØ�5Ø�EÝÔÔ%ð	 %ñ 
ô 
ˆõ ŒHÐ/Ð/Ð/µr´xÐ@Ñ@Ô@ˆØ�FŠF•2”8ÑÔˆÝˆt˜Q˜C¨!¨Ð3OÐPÑPÔPÐPÐPÐPr(   N)r   r	   )Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr&   r,   r2   r6   r:   r=   rE   rH   rO   rS   © r(   r%   r   r      sx  € € € € € Øð
Tð 
Tð 
Tñ „\ð
Tð ð
Tð 
Tð 
Tñ „\ð
Tð ð
Tð 
Tð 
Tñ „\ð
Tð ðTð Tð Tñ „\ðTð ð
Sð 
Sð 
Sñ „\ð
Sð ð
Wð 
Wð 
Wñ „\ð
Wð ð
Qð 
Qð 
Qñ „\ð
Qð ð
ð 
ð 
ñ „\ð
ð ð
Sð 
Sð 
Sñ „\ð
Sð ð
Qð 
Qð 
Qñ „\ð
Qð 
Qð 
Qr(   r   )
Ú
__future__r   Únumpyr   r   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.noder   r   rX   r(   r%   ú<module>r]      sš   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .ðFQð FQð FQð FQð FQˆdñ FQô FQð FQð FQð FQr(   