Beispiel #1
0
TFtype
__negtf2 (TFtype a)
{
  FP_DECL_Q (A);
  FP_DECL_Q (R);
  TFtype r;

  FP_UNPACK_RAW_Q (A, a);
  FP_NEG_Q (R, A);
  FP_PACK_RAW_Q (r, R);

  return r;
}
Beispiel #2
0
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;
}
Beispiel #3
0
long double _Q_neg(const long double a)
{
  long double c = a;

#if (__BYTE_ORDER == __BIG_ENDIAN)
  ((UWtype *)&c)[0] ^= (((UWtype)1) << (W_TYPE_SIZE - 1));
#elif (__BYTE_ORDER == __LITTLE_ENDIAN) && (W_TYPE_SIZE == 64)
  ((UWtype *)&c)[1] ^= (((UWtype)1) << (W_TYPE_SIZE - 1));
#elif (__BYTE_ORDER == __LITTLE_ENDIAN) && (W_TYPE_SIZE == 32)
  ((UWtype *)&c)[3] ^= (((UWtype)1) << (W_TYPE_SIZE - 1));
#else
  FP_DECL_Q(A); FP_DECL_Q(C);

  FP_UNPACK_RAW_Q(A, a);
  FP_NEG_Q(C, A);
  FP_PACK_RAW_Q(c, C);
#endif
  return c;
}