X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fmath%2Fgen%2Fmplibm.c;h=141fa8570598cc763b9a3b7d2ea3300f0ba34109;hb=4f5020522165cf4032a3e5d4d29baf91b581499d;hp=04af0492c338dbfc0b0bee75b8c2bb4a40b54f2a;hpb=ae0f0fe09b7fc9d44d072c3fd08372991d852b1d;p=libc-test diff --git a/src/math/gen/mplibm.c b/src/math/gen/mplibm.c index 04af049..141fa85 100644 --- a/src/math/gen/mplibm.c +++ b/src/math/gen/mplibm.c @@ -54,8 +54,29 @@ static int mpl2(struct t *s, long double (*f)(long double, long double)) return 0; } -static double add(double x, double y) { double z = x + y; return z; } +static double sinpi(double x) { return sin(3.141592653589793238*x); } +int mpsinpi(struct t *t) { return mpd1(t, sinpi); } + + +#define OP(n,op,t) static t n(t x, t y) { t z = x op y; return z; } +OP(add,+,double) +OP(addf,+,float) +OP(addl,+,long double) +OP(mul,*,double) +OP(mulf,*,float) +OP(mull,*,long double) +OP(div,/,double) +OP(divf,/,float) +OP(divl,/,long double) int mpadd(struct t *t) { return mpd2(t, add); } +int mpaddf(struct t *t) { return mpf2(t, addf); } +int mpaddl(struct t *t) { return mpl2(t, addl); } +int mpmul(struct t *t) { return mpd2(t, mul); } +int mpmulf(struct t *t) { return mpf2(t, mulf); } +int mpmull(struct t *t) { return mpl2(t, mull); } +int mpdiv(struct t *t) { return mpd2(t, div); } +int mpdivf(struct t *t) { return mpf2(t, divf); } +int mpdivl(struct t *t) { return mpl2(t, divl); } int mpacos(struct t *t) { return mpd1(t, acos); } int mpacosf(struct t *t) { return mpf1(t, acosf); }