fp_reset_normal_prec();
fp_round(a);
}
+static void fp_sincos(fpdata *a, fpdata *b, fpdata *c)
+{
+ fp_normal_prec();
+ a->fp = cosl(b->fp);
+ c->fp = sinl(b->fp);
+ fp_reset_normal_prec();
+ fp_round(a);
+ fp_round(c);
+}
+
static void fp_sub(fpdata *a, fpdata *b, int prec)
{
fp_set_prec(prec);
fpp_neg = fp_neg;
fpp_acos = fp_acos;
fpp_cos = fp_cos;
+ fpp_sincos = fp_sincos;
fpp_getexp = fp_getexp;
fpp_getman = fp_getman;
fpp_div = fp_div;
{
a->fpx = floatx80_cos(b->fpx, &fs);
}
-static void fp_sincos(fpdata * a, fpdata * b, fpdata * c)
+static void fp_sincos(fpdata *a, fpdata *b, fpdata *c)
{
a->fpx = floatx80_sincos(b->fpx, &c->fpx, &fs);
}
xfp_acos(&a->rfp, &b->rfp);
xfp_resetnormal(a);
}
+static void fp_sincos(fpdata *a, fpdata *b, fpdata *c)
+{
+ xfp_setnormal();
+ xfp_cos(&a->rfp, &b->rfp);
+ xfp_sin(&c->rfp, &b->rfp);
+ xfp_resetnormal(a);
+}
static void fp_intrz(fpdata *a, fpdata *b)
{
fpp_neg = fp_neg;
fpp_acos = fp_acos;
fpp_cos = fp_cos;
+ fpp_sincos = fp_sincos;
fpp_getexp = fp_getexp;
fpp_getman = fp_getman;
fpp_div = fp_div;