Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libm/machine/spu/headers/asin.h')
-rw-r--r--newlib/libm/machine/spu/headers/asin.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/newlib/libm/machine/spu/headers/asin.h b/newlib/libm/machine/spu/headers/asin.h
index 67988a45b..881e532bc 100644
--- a/newlib/libm/machine/spu/headers/asin.h
+++ b/newlib/libm/machine/spu/headers/asin.h
@@ -1,6 +1,18 @@
#include "headers/asind2.h"
+#include "headers/dom_chkd_negone_one.h"
static __inline double _asin(double x)
{
- return spu_extract(_asind2(spu_promote(x, 0)), 0);
+ double res;
+ vector double vx;
+
+ vx = spu_splats(x);
+ res = spu_extract(_asind2(vx), 0);
+#ifndef _IEEE_LIBM
+ /*
+ * Domain error if not in the interval [-1, +1]
+ */
+ dom_chkd_negone_one(vx);
+#endif
+ return res;
}