ךF n d dl Z d dlZd dlZd dlmZmZmZmZ d dlm Z m Z mZmZ d Z G d d ZdS ) N)uint16float16float32float64)assert_assert_equal_OLD_PROMOTIONIS_WASMc ||i | t dd| z d S # t $ rB}t t | | dk d| z Y d }~d S d }~ww xY w)NFz%Did not raise floating point %s errorr )r FloatingPointErrorstrfind)strmatchcallableargskwargsexcs n/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib64/python3.11/site-packages/numpy/core/tests/test_half.pyassert_raises_fper s D$!&!!! 7(B D D D D D D D DC h''1,7(B D D D D D D D D DDs A+7A&&A+c b e Zd Zd Zd Zej dddg d Zej dddg d Z ej dg d ej d g d ej de j e j g e j d Zej g d e j e j dfe j e j dfg d Zd Zd Zd Zd Zd Zd Zd Zd Z e j d Zej ej dk d ej ed d Zd Z d S )!TestHalfc t j dt | _ t | j _ t j | j t | _ t j | j t | _ t j t j dddt t j dddt f | _ t | j _ t j | j t | _ t j | j t | _ | j dd | _ | j dd | _ | j dd | _ d S ) Ni dtype i r i| )nparanger all_f16r r arrayr all_f32r all_f64concatenate nonan_f16 nonan_f32 nonan_f64 finite_f16 finite_f32 finite_f64)selfs r setup_methodzTestHalf.setup_method s y777$xG<<<xG<<< !#662V!L!L!L!#661F!K!K!K!MN N '$.@@@$.@@@ .2..2..2. c f t j | j t }t | j t | t t j | j t }t | j t | t t j | j t j }t j |t }t | j t | t t j dd }t j |t }t j |t }t || dS )z[Checks that all 16-bit values survive conversion to/from 32-bit and 64-bit floatr i i N) r r! r" r r r viewr r# r% longdoubler int)r+ ba_ldi_inti_f16js r test_half_conversionszTestHalf.test_half_conversions( sY HT\111T\&&V&44VV&V)) + + + HT\111T\&&V&44VV&V)) + + + xbm<<<HT)))T^((v(66VV&V)) + + + %&&g...HU#&&&UAr- string_dtSUc H t j | d }t j t j | |k sJ t j |t j |k sJ t j dt j | }|j |k sJ d S )N32 r )r r promote_typesr onesastype)r+ r8 expected_dtarrs r test_half_conversion_to_stringz'TestHalf.test_half_conversion_to_stringF s h)///00 I66+EEEE 2:66+EEEEgarz***11)<<yK''''''r- c t j d| }| t j t j dt j k sJ d S )Nz3.1416r gH.! @)r r! r@ r )r+ r8 strings r test_half_conversion_from_stringz)TestHalf.test_half_conversion_from_stringP sL ()444}}RZ((BHV2:,N,N,NNNNNNNr- offset)Nupdownshiftfloat_tc t j t j t j j t j }t j d|dz t j }| t j | }|dk r!d|d d |dd z dd z }n1|dk r!d|d d |dd z d d z }n |dd }|dk r)t j | |t j }n/|dk r)t j | |t j }| t j t j }|dd }|dk r |dk rd} n|dk r |dk rd} nd} |7|dd d t j d xx | z cc<