Browse Source

math: add __math_invalidl

for targets where long double is different from double.
Szabolcs Nagy 4 years ago
parent
commit
4f893997e4
2 changed files with 12 additions and 0 deletions
  1. 3 0
      src/internal/libm.h
  2. 9 0
      src/math/__math_invalidl.c

+ 3 - 0
src/internal/libm.h

@@ -267,5 +267,8 @@ hidden double __math_uflow(uint32_t);
 hidden double __math_oflow(uint32_t);
 hidden double __math_divzero(uint32_t);
 hidden double __math_invalid(double);
+#if LDBL_MANT_DIG != DBL_MANT_DIG
+hidden long double __math_invalidl(long double);
+#endif
 
 #endif

+ 9 - 0
src/math/__math_invalidl.c

@@ -0,0 +1,9 @@
+#include <float.h>
+#include "libm.h"
+
+#if LDBL_MANT_DIG != DBL_MANT_DIG
+long double __math_invalidl(long double x)
+{
+	return (x - x) / (x - x);
+}
+#endif