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!!!