summaryrefslogtreecommitdiffstats
path: root/newlib/libm/math/wf_sincos.c
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libm/math/wf_sincos.c')
-rw-r--r--newlib/libm/math/wf_sincos.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/newlib/libm/math/wf_sincos.c b/newlib/libm/math/wf_sincos.c
new file mode 100644
index 000000000..477c60401
--- /dev/null
+++ b/newlib/libm/math/wf_sincos.c
@@ -0,0 +1,33 @@
+/* sincos -- currently no more efficient than two separate calls to
+ sin and cos. */
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ void sincosf(float x, float *sinx, float *cosx)
+#else
+ void sincosf(x, sinx, cosx)
+ float x;
+ float *sinx;
+ float *cosx;
+#endif
+{
+ *sinx = sinf (x);
+ *cosx = cosf (x);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ void sincos(double x, double *sinx, double *cosx)
+#else
+ void sincos(x, sinx, cosx)
+ double x;
+ double sinx;
+ double cosx;
+#endif
+{
+ *sinx = sinf((float) x);
+ *cosx = cosf((float) x);
+}
+#endif /* defined(_DOUBLE_IS_32BITS) */