Mail Archives: djgpp/1993/12/21/15:09:26
Hi folks
I am noticing some odd behaviour with a simulation model that I
am compiling with djgpp 1.11.maint1 and gcc 257.
The program does a lot of floating point math.
It compiles and works fine on my '486, although some results
are different that what I am getting with the same program and datasets
on my SUN IPX. The differences are small in the least significant digits,
but I am wondering if there is any way to get them to be identical.
The big problem is when I try the program on a '386 that doesn't have
a math coprocessor. When run under DOS everything behaves as I would
expect. Performance is very slow, but things work as they should, and
the results match with what I get on the '486 and the SUN IPX.
However, runnning in a DOS compatibility window under WINDOWS is a big
problem. The program fails to recognize that there ISN'T a math chip,
and tries to execute anyway. Here are some of the scenarios:
With 387=NO and GO32 unset, the program runs to completion, and all
floating point results are zero. No error message is printed. Under DOS,
with the same setup the program fails at the first math operation.
With 387 unset and GO32= emu emu387 the program runs and all the floating
point results are zero.
With 387 unset and GO32 unset, with emu387 in the same directory as the
executable, the program runs and all the floating point results are zero.
Anyone else notice this problem???
Tom
--
Tom Moore tmoore AT pnfi DOT forestry DOT ca
Petawawa National Forestry Institute
Canadian Forest Service, Box 2000, Chalk River +1 (613) 589-2880
ONT K0J 1J0 CANADA +1 (613) 589-2275 telefax
- Raw text -