Subject: +Inf for 1.4 [was Re: +Infinity D_Float on VAX?]
To: NetBSD/vax Mailing List <port-vax@netbsd.org>
From: Brian D Chase <bdc@world.std.com>
List: port-vax
Date: 04/16/1999 20:46:44
On Mon, 29 Mar 1999, Brian D Chase 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 };
> 
> or an appropriate equivalent for the endianess of the architecture in
> question.
>
> [snip]

Can we change /usr/src/lib/libc/arch/vax/gen/infinity.c to have

const char __infinity[] = { (char)0xff, (char)0x7f, (char)0xff, (char)0xff,
                         (char)0xff, (char)0xff, (char)0xff, (char)0xff };

instead of

const char __infinity[] = { 0, 0, 0, 0, 0, 0, (char)0xf0, 0x7f };

?

It's not entirely correct in that it's actually the value of the max
D_Float, but it's a lot more correct than what it replaces. *__infinity
currently evaluates to `0'.  :-)

-brian.
---
Brian "JARAI" Chase | http://world.std.com/~bdc/ | VAXZilla LIVES!!!