From: Rich Felker Date: Thu, 15 Mar 2012 06:38:42 +0000 (-0400) Subject: implement sincosf and sincosl functions; add prototypes X-Git-Tag: v0.8.7~18 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=5657cc58e5e135bba85c9a7045e10d8de4b1be0a;p=oweals%2Fmusl.git implement sincosf and sincosl functions; add prototypes presumably broken gcc may generate calls to these, and it's said that ffmpeg makes use of sincosf. --- diff --git a/include/math.h b/include/math.h index f320b8e9..e9871516 100644 --- a/include/math.h +++ b/include/math.h @@ -382,6 +382,9 @@ long double ynl(int, long double); double scalb(double, double); float scalbf(float, float); long double scalbl(long double, long double); +void sincosf(float, float *, float *); +void sincos(double, double *, double *); +void sincosl(long double, long double *, long double *); #endif #ifdef __cplusplus diff --git a/src/linux/sincosf.c b/src/linux/sincosf.c new file mode 100644 index 00000000..5d8d4458 --- /dev/null +++ b/src/linux/sincosf.c @@ -0,0 +1,8 @@ +#define _GNU_SOURCE +#include + +void sincosf(float t, float *y, float *x) +{ + *y = sinf(t); + *x = cosf(t); +} diff --git a/src/linux/sincosl.c b/src/linux/sincosl.c new file mode 100644 index 00000000..2bfc4862 --- /dev/null +++ b/src/linux/sincosl.c @@ -0,0 +1,8 @@ +#define _GNU_SOURCE +#include + +void sincosl(long double t, long double *y, long double *x) +{ + *y = sinl(t); + *x = cosl(t); +}