Re: [vox-tech] c program in linux vs sgi
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [vox-tech] c program in linux vs sgi
On Sat, 18 Nov 2000, Qinghua Zhong wrote:
> hello, I am trying to compile and run one program in linux and sgi.
> some problems come up and I don't understand.
> 1) when I am running the program in linux, there is a "core" file created,
> but never happen in sgi. so if I have a big calculation, core is very
> large and it stop running in linux because of "core dumped".
Sounds like a portability problem. Hard to diagnose from this
description. Try running gdb under linux to find the problem code, and
learn how to avoid that portability problem in the future.
> 2) if condition problem-->never happend in sgi machines again.
I don't understand this phrase.
> x is 0.55 (double variable)
> y is 55 (int variable), z is 100 (int variable)
> (x == (double) y / (double) z) returns false.
> how come?
It is rarely a good idea to compare floating point values directly, since
round-off error can make numbers that appear to be the same, not the same.
I suspect that in your case, x is equal to 0.55 plus some very very small
difference from (double)55/100, but you just typed what was printed on
your screen. Putting a literal constant 0.55 in place of x, gcc on linux
shows this test returning true for me.
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil@dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Work:<JeffN@endecon.com> Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...2k
---------------------------------------------------------------------------
|