예제 #1
0
파일: isnand128.c 프로젝트: gftg85/libdfp
int
__isnand128 (_Decimal128 x)
{
  uint64_t hx;
  GET_DEC128_HIGH_WORD64 (hx, x);

  /* 0 11111 10 ... == sNaN  */
  return (hx & DEC128_NAN_MASK64) == DEC128_NAN_MASK64;
}
예제 #2
0
파일: isinfd128.c 프로젝트: rzinsly/libdfp
int
__isinfd128 (_Decimal128 x)
{
  uint64_t hx;
  GET_DEC128_HIGH_WORD64 (hx, x);

  /* 0 1111000 ... == sINF  */
  return ((hx & DEC128_NAN_MASK64) == DEC128_INF_MASK64) ?
   ((hx & UINT64_C(0x8000000000000000)) ? -1 : 1) : 0;
}