X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fmath%2Fgen%2Fmp.c;h=23a0fd3b7e3fc182e4987db56205434e0bdc0382;hb=cb9f87af9a1f917facd1140603b24f1087729751;hp=23ac5af89bc418f704cfd710c805cdb543c3d652;hpb=125fb69ba64c0064de25eb1a23217b00aa393051;p=libc-test diff --git a/src/math/gen/mp.c b/src/math/gen/mp.c index 23ac5af..23a0fd3 100644 --- a/src/math/gen/mp.c +++ b/src/math/gen/mp.c @@ -778,3 +778,93 @@ mp_f_i(lround) mp_f_i(lroundf) mp_f_i(lroundl) +int mpmodf(struct t *t) +{ + int e, r; + + r = mpd1(t, wrap_trunc); + if (r) + return r; + t->y2 = t->y; + t->dy2 = t->dy; + e = t->e; + r = mpd1(t, mpfr_frac); + t->e |= e; + return r; +} + +int mpmodff(struct t *t) +{ + int e, r; + + r = mpf1(t, wrap_trunc); + if (r) + return r; + t->y2 = t->y; + t->dy2 = t->dy; + e = t->e; + r = mpf1(t, mpfr_frac); + t->e |= e; + return r; +} + +int mpmodfl(struct t *t) +{ + int e, r; + + r = mpl1(t, wrap_trunc); + if (r) + return r; + t->y2 = t->y; + t->dy2 = t->dy; + e = t->e; + r = mpl1(t, mpfr_frac); + t->e |= e; + return r; +} + +int mpsincos(struct t *t) +{ + int e, r; + + r = mpd1(t, mpfr_cos); + if (r) + return r; + t->y2 = t->y; + t->dy2 = t->dy; + e = t->e; + r = mpd1(t, mpfr_sin); + t->e |= e; + return r; +} + +int mpsincosf(struct t *t) +{ + int e, r; + + r = mpf1(t, mpfr_cos); + if (r) + return r; + t->y2 = t->y; + t->dy2 = t->dy; + e = t->e; + r = mpf1(t, mpfr_sin); + t->e |= e; + return r; +} + +int mpsincosl(struct t *t) +{ + int e, r; + + r = mpl1(t, mpfr_cos); + if (r) + return r; + t->y2 = t->y; + t->dy2 = t->dy; + e = t->e; + r = mpl1(t, mpfr_sin); + t->e |= e; + return r; +} +