This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: libm-i387 bug?


>>>>> Zack Weinberg writes:

 > This test program prints "-1.949464 0.000000". Shouldn't it print
 > "0.000000 1.000000" ?
It should - but the problem is even more obscure.  The appended
program prints:
$ ./fdim 
-1.949464 0.000000
8192.000000 6144.000000
6144.000000 8192.000000
0.000000 6144.000000
0.000000 6144.000000

but it should output 1's and 0's instead:-(.

In what kind of trap did both of us fall?
Andreas

#include <math.h>
#include <stdio.h>

int main(void)
{
  double two, three, r1, r2;
  
  printf("%f %f\n", fdim(2.0, 3.0), fdim(3.0, 2.0));
  two = 2.0;
  three = 3.0;
  r1 = fdim (two, three);
  r2 = fdim (two, three);
  printf("%f %f\n", r1, r2);
  printf("%f %f\n", r2, r1);
  
  printf("%f %f\n", fdim(two, three), fdim(two, three));
  printf("%f %f\n", fdim(three, two), fdim(three, two));
  
  return 0;
}


-- 
 Andreas Jaeger   aj@arthur.rhein-neckar.de    jaeger@informatik.uni-kl.de
  for pgp-key finger ajaeger@alma.student.uni-kl.de


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]