long double _Q_uitoq(const unsigned int a) { FP_DECL_EX; FP_DECL_Q(C); long double c; unsigned int b = a; FP_FROM_INT_Q(C, b, 32, int); FP_PACK_Q(c, C); FP_CLEAR_EXCEPTIONS; FP_HANDLE_EXCEPTIONS; return c; }
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 _q_itoq(const int a) { FP_DECL_EX; FP_DECL_Q(C); int b = a; long double c; FP_FROM_INT_Q(C, b, 32, int); FP_PACK_Q(c, C); FP_CLEAR_EXCEPTIONS; FP_HANDLE_EXCEPTIONS; return c; }
long double _Q_div(const long double a, const long double b) { FP_DECL_EX; FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C); long double 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; 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; }
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 __addtf3(long double a, long double b) { FP_DECL_EX; FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(R); long double r; FP_INIT_ROUNDMODE; FP_UNPACK_Q(A, a); FP_UNPACK_Q(B, b); FP_ADD_Q(R, A, B); FP_PACK_Q(r, R); FP_HANDLE_EXCEPTIONS; return r; }
void _OtsMulX(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_MUL_Q(C, A, B); FP_PACK_Q(c, C); FP_HANDLE_EXCEPTIONS; FP_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; }
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; }
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; }