summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Smith <dannysmith@users.sourceforge.net>2002-06-10 23:26:56 +0000
committerDanny Smith <dannysmith@users.sourceforge.net>2002-06-10 23:26:56 +0000
commit8ee37c0519104481dc0473ca337ebdaf0d65cf73 (patch)
treecc9e62873106367a365777b2f743a92303f5d5be
parentfc25e2d63a9630150f27cd8fbdcfa2374725f189 (diff)
downloadgdb-cvs/mingwex.tar.gz
* include/math.h (fdim, fdimf, fdiml): Add prototypes.mingwexcvs/mingwex
* mingwex/fdim.c: New file. * mingwex/fdimf.c: New file. * mingwex/fdiml.c: New file. * mingwex/Makefile.in (DISTFILES): Add fdim.c, fdimf.c, fdiml.c. (MATHOBJS):Add fdim.o, fdimf.o. fdiml.o.
-rw-r--r--winsup/mingw/ChangeLog10
-rw-r--r--winsup/mingw/include/math.h5
-rw-r--r--winsup/mingw/mingwex/Makefile.in4
-rw-r--r--winsup/mingw/mingwex/fdim.c7
-rw-r--r--winsup/mingw/mingwex/fdimf.c7
-rw-r--r--winsup/mingw/mingwex/fdiml.c7
6 files changed, 40 insertions, 0 deletions
diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog
index f6136255da2..871477687fd 100644
--- a/winsup/mingw/ChangeLog
+++ b/winsup/mingw/ChangeLog
@@ -1,3 +1,13 @@
+2002-06-11 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * include/math.h (fdim, fdimf, fdiml): Add prototypes.
+ * mingwex/fdim.c: New file.
+ * mingwex/fdimf.c: New file.
+ * mingwex/fdiml.c: New file.
+ * mingwex/Makefile.in (DISTFILES): Add fdim.c, fdimf.c,
+ fdiml.c.
+ (MATHOBJS):Add fdim.o, fdimf.o. fdiml.o.
+
2002-05-23 Danny Smith <dannysmith@users.sourceforge.net>
* mingwex/Makefile.in (DISTFILES): Add truncf.c, truncl.c.
diff --git a/winsup/mingw/include/math.h b/winsup/mingw/include/math.h
index 2de3248e945..c87b6163b18 100644
--- a/winsup/mingw/include/math.h
+++ b/winsup/mingw/include/math.h
@@ -429,6 +429,11 @@ extern double fma (double, double, double);
extern float fmaf (float, float, float);
extern long double fmal (long double, long double, long double);
+/* x > y ? (x - y) : 0.0 */
+extern double fdim (double, double);
+extern float fdimf (float, float);
+extern long double fdiml (long double, long double);
+
/* one lonely transcendental */
extern double log2 (double _x);
extern float log2f (float _x);
diff --git a/winsup/mingw/mingwex/Makefile.in b/winsup/mingw/mingwex/Makefile.in
index 0cb136ef9d1..59f8e40e4e1 100644
--- a/winsup/mingw/mingwex/Makefile.in
+++ b/winsup/mingw/mingwex/Makefile.in
@@ -31,6 +31,9 @@ DISTFILES = Makefile.in configure configure.in \
atoll.c \
copysignl.S \
dirent.c \
+ fdim.c \
+ fdimf.c \
+ fdiml.c \
feclearexcept.c \
fegetenv.c \
fegetexceptflag.c \
@@ -155,6 +158,7 @@ MATH_OBJS = \
trunc.o truncf.o truncl.o \
isnan.o isnanf.o isnanl.o \
fp_consts.o \
+ fdim.o fdimf.o fdiml.o \
fmax.o fmaxf.o fmaxl.o \
fmin.o fminf.o fminl.o \
fma.o fmaf.o fmal.o \
diff --git a/winsup/mingw/mingwex/fdim.c b/winsup/mingw/mingwex/fdim.c
new file mode 100644
index 00000000000..330b09241f6
--- /dev/null
+++ b/winsup/mingw/mingwex/fdim.c
@@ -0,0 +1,7 @@
+#include <math.h>
+
+double
+fdim (double x, double y)
+{
+ return (isgreater(x, y) ? (x - y) : 0.0);
+}
diff --git a/winsup/mingw/mingwex/fdimf.c b/winsup/mingw/mingwex/fdimf.c
new file mode 100644
index 00000000000..02bfc6e5e75
--- /dev/null
+++ b/winsup/mingw/mingwex/fdimf.c
@@ -0,0 +1,7 @@
+#include <math.h>
+
+float
+fdimf (float x, float y)
+{
+ return (isgreater(x, y) ? (x - y) : 0.0F);
+}
diff --git a/winsup/mingw/mingwex/fdiml.c b/winsup/mingw/mingwex/fdiml.c
new file mode 100644
index 00000000000..1c3d0aaaa97
--- /dev/null
+++ b/winsup/mingw/mingwex/fdiml.c
@@ -0,0 +1,7 @@
+#include <math.h>
+
+long double
+fdiml (long double x, long double y)
+{
+ return (isgreater(x, y) ? (x - y) : 0.0L);
+}