view gcc/testsuite/gcc.c-torture/compile/udconvert.c @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
line wrap: on
line source

double
unsigned_to_double1 (u)
     unsigned u;
{
  double d;
  d = (int) u;			/* convert as from a *signed* integer */
  return ((int) u < 0)
    ? d + 4294967296.0
      : d;
}

/* Alternatively */

double
unsigned_to_double2 (u)
     unsigned u;
{
  double d;
  u -= 2147483648;		/* complement sign bit */
  d = (int) u;			/* convert as from a *signed* integer */
  return d + 2147483648.0;
}

unsigned
double_to_unsigned (d)
     double d;
{
  d += 2147483648.0;
  return ((int) d) - 2147483648;
}