XFtype __trunctfxf2(TFtype a) { FP_DECL_EX; FP_DECL_Q(A); FP_DECL_E(R); XFtype r; FP_INIT_ROUNDMODE; FP_UNPACK_SEMIRAW_Q(A, a); #if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q FP_TRUNC(E,Q,4,4,R,A); #else FP_TRUNC(E,Q,2,2,R,A); #endif FP_PACK_SEMIRAW_E(r, R); FP_HANDLE_EXCEPTIONS; return r; }
TFtype __extendxftf2 (XFtype a) { FP_DECL_EX; FP_DECL_E (A); FP_DECL_Q (R); TFtype r; FP_INIT_TRAPPING_EXCEPTIONS; FP_UNPACK_RAW_E (A, a); #if _FP_W_TYPE_SIZE < 64 FP_EXTEND (Q, E, 4, 4, R, A); #else FP_EXTEND (Q, E, 2, 2, R, A); #endif FP_PACK_RAW_Q (r, R); FP_HANDLE_EXCEPTIONS; return r; }