Ejemplo n.º 1
0
/*
 * arccos(x) = pi/2 - arcsin(x)
 */
struct fpn *
fpu_acos(struct fpemu *fe)
{
    struct fpn *r;

    if (ISNAN(&fe->fe_f2))
        return &fe->fe_f2;
    if (ISINF(&fe->fe_f2))
        return fpu_newnan(fe);

    r = fpu_asin(fe);
    CPYFPN(&fe->fe_f2, r);

    /* pi/2 - asin(x) */
    fpu_const(&fe->fe_f1, FPU_CONST_PI);
    fe->fe_f1.fp_exp--;
    fe->fe_f2.fp_sign = !fe->fe_f2.fp_sign;
    r = fpu_add(fe);

    return r;
}
Ejemplo n.º 2
0
double asin( double ang )
{
	extern double fpu_asin(double);
	return fpu_asin(ang);
}