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;
}
Example #2
0
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;
}