[Prev][Next][Index][Thread]
Wrong Numerical Results with OSF1 v2.0
I have run into a problem with OSF/1 v2.0 and I would appreciate advice from others.
When we tested v2.0 with our user programs a couple of them started getting wrong results.
This wasn't a complete test of everything that uses our OSF1 systems, just a few users who helped
us with our testing. The problem is with Double Precision Complex
arithmetic in Fortran.
Digital investigated and came up with a new version of a libm routine cpow. If we link this .o file into
the users programs at compile time then everything works fine. But, and it is a big BUT, we cannot make the
Fortran compiler use this new routine. Unless we run at -o0 the compiler may use its own version of the routine to
evaluate a constant expression. The solution is to get a fixed version of the compiler that has been statically
linked with the new routine and a new version of libm. Digital are not providing this until the next level
of the compiler due September.
So, I am stuck! I want some of the things that v2.0 will give me but I don't want to move to an operating
system that gives numerically wrong results. If the problem caused a crash then users would realise they had
it but how many people will not realise that their results are wrong?
Has anyone else noticed this numerical problem? Does anyone have any advice apart from staying with v1.3
until September or later? Do Digital really not have a mechanism for shipping fixes to the compiler outside
of major releases?
John Gordon