Subject: Re: +Infinity D_Float on VAX?
To: I. Souvatzis <ignatios@cs.uni-bonn.de>
From: Anders Magnusson <ragge@ludd.luth.se>
List: port-vax
Date: 03/29/1999 13:49:39
> On Mon, Mar 29, 1999 at 01:29:33PM +0200, Anders Magnusson wrote:
> > > Finally got the problems resolved with Povray running under NetBSD/vax
> > > over the weekend.  A friend of mine trudged through the povray code and
> > > found the problem to be in a test against the HUGE_VAL define from
> > > <math.h> which gets its value from the __infinity symbol in libc.a or more
> > > specifically from /usr/src/lib/libc/arch/vax/gen/infinity.c
> > > 
> > > I've checked all the other architectures listed under
> > > /usr/src/lib/libc/arch, and it looks like just about all of them use
> > > 
> > >   const char __infinity[] = { 0, 0, 0, 0, 0, 0, (char)0xf0, 0x7f };
> > > 
> > This is completely wrong on VAX (as also stated in the comment in
> > the C source file). The VAX FP format does not have infinity; it uses
> > floating point traps instead. I don't remember exactly how/what this
> > should be instead, someone that like floating point specifications
> > should fix this :-)
> 
> well, I guess setting __infinity to the value HUGE_VAL should have is ok
> on the VAX.	
> 
You think so? Actually, I don't know how all this math stuff should work.
All numbers on VAX are useable; nothing like the IEEE "infinity".
Traditional VAX BSD had the define:

#define HUGE    1.701411733192644270e38

May that be something similar?

-- Ragge