[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#459708: libc6: lrint() is broken on ia64



package: libc6
Version: 2.7-5
Severity: normal

Paolo Bonzini discovered that lrint() is broken on ia64[1].

The following snippet,taken from GNU Smalltalk m4 test,
shows the bug:

  double d = 14988885582133630.0;

  int main()
  { 
    extern long int lrint (double);
    long int l = lrint (d);
    exit(sizeof (l) >= 8 && l != 14988885582133630);
  }

>From the test comment:
 "Under ia64-linux, lrint returns incorrect values for bit 31."



Reply to: