Messages in this thread | | | From | Nikita Danilov <> | Date | Wed, 17 Apr 2002 18:29:00 +0400 | Subject | Re: FPU, i386 |
| |
Andrey Ulanov writes: > Look at this: > > $ cat test.c > #include <stdio.h> > > main() > { > double h = 0.2; > > if(1/h == 5.0) > printf("1/h == 5.0\n"); > > if(1/h < 5.0) > printf("1/h < 5.0\n"); > return 0; > } > $ gcc test.c
$ gcc -O test.c $ ./a.out 1/h == 5.0
without -O, gcc initializes h to 0.2000000000000000111
> $ ./a.out > 1/h < 5.0 > $ > > I also ran same a.out under FreeBSD. It says "1/h == 5.0". > It seems there is difference somewhere in FPU > initialization code. And I think it should be fixed. > > ps. cc to me > -- > with best regards, Andrey Ulanov. > drey@rt.mipt.ru - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |