aboutsummaryrefslogtreecommitdiff
path: root/source/functions.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/functions.h')
-rw-r--r--source/functions.h76
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