diff options
author | John Hauser <jhauser@eecs.berkeley.edu> | 2016-07-22 18:04:32 -0700 |
---|---|---|
committer | John Hauser <jhauser@eecs.berkeley.edu> | 2016-07-22 18:04:32 -0700 |
commit | ddfb9e70c434ae238635784ce66cb7ed93d0a2e7 (patch) | |
tree | 3502b5d96dcdbc5ad0c16c00caf4cd21428314b3 /source/functions.h | |
parent | 11a6a656c7651695deacfdcda9c5d80fdbc05fee (diff) | |
download | berkeley-testfloat-3-ddfb9e70c434ae238635784ce66cb7ed93d0a2e7.zip berkeley-testfloat-3-ddfb9e70c434ae238635784ce66cb7ed93d0a2e7.tar.gz berkeley-testfloat-3-ddfb9e70c434ae238635784ce66cb7ed93d0a2e7.tar.bz2 |
Release 3b. See "doc/TestFloat-history.html".
Diffstat (limited to 'source/functions.h')
-rw-r--r-- | source/functions.h | 76 |
1 files changed, 73 insertions, 3 deletions
diff --git a/source/functions.h b/source/functions.h index fd76faa..3c128cf 100644 --- a/source/functions.h +++ b/source/functions.h @@ -1,12 +1,12 @@ /*============================================================================ -This C header file is part of TestFloat, Release 3a, a package of programs for +This C header file is part of TestFloat, Release 3b, a package of programs for testing the correctness of floating-point arithmetic complying with the IEEE Standard for Floating-Point, by John R. Hauser. -Copyright 2011, 2012, 2013, 2014 The Regents of the University of California. -All rights reserved. +Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of +California. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -41,7 +41,14 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | Warning: This list must match the contents of "functionInfos.c". *----------------------------------------------------------------------------*/ enum { + /*------------------------------------------------------------------------ + *------------------------------------------------------------------------*/ +#ifdef FLOAT16 + UI32_TO_F16 = 1, + UI32_TO_F32, +#else UI32_TO_F32 = 1, +#endif UI32_TO_F64, #ifdef EXTFLOAT80 UI32_TO_EXTF80, @@ -49,6 +56,9 @@ enum { #ifdef FLOAT128 UI32_TO_F128, #endif +#ifdef FLOAT16 + UI64_TO_F16, +#endif UI64_TO_F32, UI64_TO_F64, #ifdef EXTFLOAT80 @@ -57,6 +67,9 @@ enum { #ifdef FLOAT128 UI64_TO_F128, #endif +#ifdef FLOAT16 + I32_TO_F16, +#endif I32_TO_F32, I32_TO_F64, #ifdef EXTFLOAT80 @@ -65,6 +78,9 @@ enum { #ifdef FLOAT128 I32_TO_F128, #endif +#ifdef FLOAT16 + I64_TO_F16, +#endif I64_TO_F32, I64_TO_F64, #ifdef EXTFLOAT80 @@ -73,6 +89,42 @@ enum { #ifdef FLOAT128 I64_TO_F128, #endif + /*------------------------------------------------------------------------ + *------------------------------------------------------------------------*/ +#ifdef FLOAT16 + F16_TO_UI32, + F16_TO_UI64, + F16_TO_I32, + F16_TO_I64, + F16_TO_UI32_R_MINMAG, + F16_TO_UI64_R_MINMAG, + F16_TO_I32_R_MINMAG, + F16_TO_I64_R_MINMAG, + F16_TO_F32, + F16_TO_F64, +#ifdef EXTFLOAT80 + F16_TO_EXTF80, +#endif +#ifdef FLOAT128 + F16_TO_F128, +#endif + F16_ROUNDTOINT, + F16_ADD, + F16_SUB, + F16_MUL, + F16_MULADD, + F16_DIV, + F16_REM, + F16_SQRT, + F16_EQ, + F16_LE, + F16_LT, + F16_EQ_SIGNALING, + F16_LE_QUIET, + F16_LT_QUIET, +#endif + /*------------------------------------------------------------------------ + *------------------------------------------------------------------------*/ F32_TO_UI32, F32_TO_UI64, F32_TO_I32, @@ -81,6 +133,9 @@ enum { F32_TO_UI64_R_MINMAG, F32_TO_I32_R_MINMAG, F32_TO_I64_R_MINMAG, +#ifdef FLOAT16 + F32_TO_F16, +#endif F32_TO_F64, #ifdef EXTFLOAT80 F32_TO_EXTF80, @@ -102,6 +157,8 @@ enum { F32_EQ_SIGNALING, F32_LE_QUIET, F32_LT_QUIET, + /*------------------------------------------------------------------------ + *------------------------------------------------------------------------*/ F64_TO_UI32, F64_TO_UI64, F64_TO_I32, @@ -110,6 +167,9 @@ enum { F64_TO_UI64_R_MINMAG, F64_TO_I32_R_MINMAG, F64_TO_I64_R_MINMAG, +#ifdef FLOAT16 + F64_TO_F16, +#endif F64_TO_F32, #ifdef EXTFLOAT80 F64_TO_EXTF80, @@ -131,6 +191,8 @@ enum { F64_EQ_SIGNALING, F64_LE_QUIET, F64_LT_QUIET, + /*------------------------------------------------------------------------ + *------------------------------------------------------------------------*/ #ifdef EXTFLOAT80 EXTF80_TO_UI32, EXTF80_TO_UI64, @@ -140,6 +202,9 @@ enum { EXTF80_TO_UI64_R_MINMAG, EXTF80_TO_I32_R_MINMAG, EXTF80_TO_I64_R_MINMAG, +#ifdef FLOAT16 + EXTF80_TO_F16, +#endif EXTF80_TO_F32, EXTF80_TO_F64, #ifdef FLOAT128 @@ -159,6 +224,8 @@ enum { EXTF80_LE_QUIET, EXTF80_LT_QUIET, #endif + /*------------------------------------------------------------------------ + *------------------------------------------------------------------------*/ #ifdef FLOAT128 F128_TO_UI32, F128_TO_UI64, @@ -168,6 +235,9 @@ enum { F128_TO_UI64_R_MINMAG, F128_TO_I32_R_MINMAG, F128_TO_I64_R_MINMAG, +#ifdef FLOAT16 + F128_TO_F16, +#endif F128_TO_F32, F128_TO_F64, #ifdef EXTFLOAT80 |