[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit
Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/ap/build/uClibc/libm/s_finite.c b/ap/build/uClibc/libm/s_finite.c
new file mode 100644
index 0000000..9bbc002
--- /dev/null
+++ b/ap/build/uClibc/libm/s_finite.c
@@ -0,0 +1,32 @@
+/*
+ * ====================================================
+ * 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.
+ * ====================================================
+ */
+
+/*
+ * finite(x) returns 1 is x is finite, else 0;
+ * no branching!
+ */
+
+#include <features.h>
+/* Prevent math.h from defining a colliding inline */
+#undef __USE_EXTERN_INLINES
+#include "math.h"
+#include "math_private.h"
+
+int __finite(double x)
+{
+ u_int32_t hx;
+
+ GET_HIGH_WORD(hx, x);
+ /* Finite numbers have at least one zero bit in exponent. */
+ /* All other numbers will result in 0xffffffff after OR: */
+ return (hx | 0x800fffff) != 0xffffffff;
+}
+libm_hidden_def(__finite)