summaryrefslogtreecommitdiff
path: root/libgcompat/math.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgcompat/math.c')
-rw-r--r--libgcompat/math.c96
1 files changed, 83 insertions, 13 deletions
diff --git a/libgcompat/math.c b/libgcompat/math.c
index 2c793e4..db123f8 100644
--- a/libgcompat/math.c
+++ b/libgcompat/math.c
@@ -1,26 +1,96 @@
-#include <math.h> // isinf, isnan
+#include <math.h> /* isfinite, isinf, isnan */
-int __isinff(float number)
+#include "alias.h" /* weak_alias */
+
+/**
+ * Test for finite value.
+ */
+int __finite(double arg)
+{
+ return isfinite(arg);
+}
+weak_alias(__finite, finite);
+
+/**
+ * Test for finite value.
+ */
+int __finitef(float arg)
{
- return isinf(number);
+ return isfinite(arg);
}
+weak_alias(__finitef, finitef);
-int __isinf(double number)
+/**
+ * Test for finite value.
+ */
+int __finitel(long double arg)
{
- return isinf(number);
+ return isfinite(arg);
}
+weak_alias(__finitel, finitel);
-int __isnanf(float number)
+/**
+ * Test for infinity.
+ *
+ * LSB 5.0: LSB-Core-generic/baselib---isinf.html
+ */
+int __isinf(double arg)
{
- return isnan(number);
+ return isinf(arg);
}
+weak_alias(__isinf, isinf);
-int __isnan(double number)
+/**
+ * Test for infinity.
+ *
+ * LSB 5.0: LSB-Core-generic/baselib---isinff.html
+ */
+int __isinff(float arg)
{
- return isnan(number);
+ return isinf(arg);
}
+weak_alias(__isinff, isinff);
-extern __typeof(__isnanf) isnanf __attribute__((weak, alias("__isnanf")));
-extern __typeof(__isnan) isnan __attribute__((weak, alias("__isnan")));
-extern __typeof(__isinff) isinff __attribute__((weak, alias("__isinff")));
-extern __typeof(__isinf) isinf __attribute__((weak, alias("__isinf")));
+/**
+ * Test for infinity.
+ *
+ * LSB 5.0: LSB-Core-generic/baselib---isinfl.html
+ */
+int __isinfl(long double arg)
+{
+ return isinf(arg);
+}
+weak_alias(__isinfl, isinfl);
+
+/**
+ * Test for a NaN.
+ *
+ * LSB 5.0: LSB-Core-generic/baselib---isnan.html
+ */
+int __isnan(double arg)
+{
+ return isnan(arg);
+}
+weak_alias(__isnan, isnan);
+
+/**
+ * Test for a NaN.
+ *
+ * LSB 5.0: LSB-Core-generic/baselib---isnanf.html
+ */
+int __isnanf(float arg)
+{
+ return isnan(arg);
+}
+weak_alias(__isnanf, isnanf);
+
+/**
+ * Test for a NaN.
+ *
+ * LSB 5.0: LSB-Core-generic/baselib---isnanl.html
+ */
+int __isnanl(long double arg)
+{
+ return isnan(arg);
+}
+weak_alias(__isnanl, isnanl);