DFtype __floatsidf (SItype i) { FP_DECL_D (A); DFtype a; FP_FROM_INT_D (A, i, SI_BITS, USItype); FP_PACK_RAW_D (a, A); return a; }
DFtype __floatundidf(UDItype i) { FP_DECL_EX; FP_DECL_D(A); DFtype a; FP_FROM_INT_D(A, i, DI_BITS, UDItype); FP_PACK_RAW_D(a, A); FP_HANDLE_EXCEPTIONS; return a; }
DFtype __negdf2 (DFtype a) { FP_DECL_D (A); FP_DECL_D (R); DFtype r; FP_UNPACK_RAW_D (A, a); FP_NEG_D (R, A); FP_PACK_RAW_D (r, R); return r; }
DFtype __floattidf (TItype i) { FP_DECL_EX; FP_DECL_D (A); DFtype a; FP_INIT_ROUNDMODE; FP_FROM_INT_D (A, i, TI_BITS, UTItype); FP_PACK_RAW_D (a, A); FP_HANDLE_EXCEPTIONS; return a; }
DFtype __extendsfdf2(SFtype a) { FP_DECL_EX; FP_DECL_S(A); FP_DECL_D(R); DFtype r; FP_INIT_ROUNDMODE; FP_UNPACK_RAW_S(A, a); #if _FP_W_TYPE_SIZE < _FP_FRACBITS_D FP_EXTEND(D,S,2,1,R,A); #else FP_EXTEND(D,S,1,1,R,A); #endif FP_PACK_RAW_D(r, R); FP_HANDLE_EXCEPTIONS; return r; }