aboutsummaryrefslogtreecommitdiff
path: root/libm/upstream-freebsd
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2015-08-24 21:08:13 +0000
committerElliott Hughes <enh@google.com>2015-08-24 21:08:13 +0000
commitc5deb0f883cbdca7e5ab75f92f82c31d21367f49 (patch)
treee1336898a36e28000e765cd8d0584780b5ce6066 /libm/upstream-freebsd
parentd76f16973a9d06765fb1f482239b9559f893ffd0 (diff)
downloadbionic-c5deb0f883cbdca7e5ab75f92f82c31d21367f49.tar.gz
Revert "Use compiler builtins for fabs."
Use of "extern inline" breaks clang build. This reverts commit d76f16973a9d06765fb1f482239b9559f893ffd0. Change-Id: I995d0d38c3776f5c50b060f16770741c92a2acac
Diffstat (limited to 'libm/upstream-freebsd')
-rw-r--r--libm/upstream-freebsd/lib/msun/src/s_fabs.c31
-rw-r--r--libm/upstream-freebsd/lib/msun/src/s_fabsf.c33
2 files changed, 64 insertions, 0 deletions
diff --git a/libm/upstream-freebsd/lib/msun/src/s_fabs.c b/libm/upstream-freebsd/lib/msun/src/s_fabs.c
new file mode 100644
index 000000000..15529e585
--- /dev/null
+++ b/libm/upstream-freebsd/lib/msun/src/s_fabs.c
@@ -0,0 +1,31 @@
+/* @(#)s_fabs.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#ifndef lint
+static char rcsid[] = "$FreeBSD$";
+#endif
+
+/*
+ * fabs(x) returns the absolute value of x.
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+double
+fabs(double x)
+{
+ u_int32_t high;
+ GET_HIGH_WORD(high,x);
+ SET_HIGH_WORD(x,high&0x7fffffff);
+ return x;
+}
diff --git a/libm/upstream-freebsd/lib/msun/src/s_fabsf.c b/libm/upstream-freebsd/lib/msun/src/s_fabsf.c
new file mode 100644
index 000000000..e9383d0db
--- /dev/null
+++ b/libm/upstream-freebsd/lib/msun/src/s_fabsf.c
@@ -0,0 +1,33 @@
+/* s_fabsf.c -- float version of s_fabs.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+/*
+ * fabsf(x) returns the absolute value of x.
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+float
+fabsf(float x)
+{
+ u_int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ SET_FLOAT_WORD(x,ix&0x7fffffff);
+ return x;
+}