void _OtsDivX(long al, long ah, long bl, long bh, long _round) { FP_DECL_EX; FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C); FP_DECL_RETURN(c); FP_INIT_ROUNDMODE; FP_UNPACK_Q(A, a); FP_UNPACK_Q(B, b); FP_DIV_Q(C, A, B); FP_PACK_Q(c, C); FP_HANDLE_EXCEPTIONS; FP_RETURN(c); }
TFtype __multf3 (TFtype a, TFtype b) { FP_DECL_EX; FP_DECL_Q (A); FP_DECL_Q (B); FP_DECL_Q (R); TFtype r; FP_INIT_ROUNDMODE; FP_UNPACK_Q (A, a); FP_UNPACK_Q (B, b); FP_MUL_Q (R, A, B); FP_PACK_Q (r, R); FP_HANDLE_EXCEPTIONS; return r; }
long double __fmal (long double a, long double b, long double c) { FP_DECL_EX; FP_DECL_Q (A); FP_DECL_Q (B); FP_DECL_Q (C); FP_DECL_Q (R); long double r; FP_INIT_ROUNDMODE; FP_UNPACK_Q (A, a); FP_UNPACK_Q (B, b); FP_UNPACK_Q (C, c); FP_FMA_Q (R, A, B, C); FP_PACK_Q (r, R); FP_HANDLE_EXCEPTIONS; return r; }
DItype __fixtfdi(long double a) { FP_DECL_EX; FP_DECL_Q(A); DItype r; FP_UNPACK_Q(A, a); FP_TO_INT_Q(r, A, 64, 1); FP_HANDLE_EXCEPTIONS; return r; }
long double _q_sqrt(const long double a) { FP_DECL_EX; FP_DECL_Q(A); FP_DECL_Q(C); long double c; FP_INIT_ROUNDMODE; FP_UNPACK_Q(A, a); FP_SQRT_Q(C, A); FP_PACK_Q(c, C); FP_HANDLE_EXCEPTIONS; return c; }
long double __sqrttf2(long double a) { FP_DECL_EX; FP_DECL_Q(A); FP_DECL_Q(R); long double r; FP_INIT_ROUNDMODE; FP_UNPACK_Q(A, a); FP_SQRT_Q(R, A); FP_PACK_Q(r, R); FP_HANDLE_EXCEPTIONS; return r; }
TFtype __negtf2(TFtype a) { FP_DECL_EX; FP_DECL_Q(A); FP_DECL_Q(R); TFtype r; FP_UNPACK_Q(A, a); FP_NEG_Q(R, A); FP_PACK_Q(r, R); FP_CLEAR_EXCEPTIONS; FP_HANDLE_EXCEPTIONS; return r; }
long double __ieee754_sqrtl (const long double a) { FP_DECL_EX; FP_DECL_Q(A); FP_DECL_Q(C); long double c; long _round = 4; /* dynamic rounding */ FP_INIT_ROUNDMODE; FP_UNPACK_Q(A, a); FP_SQRT_Q(C, A); FP_PACK_Q(c, C); FP_HANDLE_EXCEPTIONS; return c; }
long double __frexpl(long double arg, int *exp) { FP_DECL_EX; FP_DECL_Q(A); long double r; *exp = 0; FP_UNPACK_Q(A, arg); if (A_c != FP_CLS_NORMAL) return arg; *exp = A_e + 1; A_e = -1; FP_PACK_Q(r, A); return r; }
double __trunctfdf2(long double a) { FP_DECL_EX; FP_DECL_Q(A); FP_DECL_D(R); double r; FP_INIT_ROUNDMODE; FP_UNPACK_Q(A, a); #if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q FP_CONV(D,Q,2,4,R,A); #else FP_CONV(D,Q,1,2,R,A); #endif FP_PACK_D(r, R); FP_HANDLE_EXCEPTIONS; return r; }
long double __scalblnl(long double arg, int exp) { FP_DECL_EX; FP_DECL_Q(A); long double r; FP_UNPACK_Q(A, arg); switch (A_c) { case FP_CLS_ZERO: return arg; case FP_CLS_NAN: case FP_CLS_INF: FP_HANDLE_EXCEPTIONS; return arg; } A_e += exp; FP_PACK_Q(r, A); FP_HANDLE_EXCEPTIONS; return r; }