minix/lib/math/hugeval.c

39 lines
814 B
C
Raw Normal View History

2005-04-21 16:53:53 +02:00
/*
* (c) copyright 1990 by the Vrije Universiteit, Amsterdam, The Netherlands.
* See the copyright notice in the ACK home directory, in the file "Copyright".
*
* Author: Hans van Eck
*/
/* $Header$ */
2009-08-18 21:10:20 +02:00
#include <assert.h>
2005-04-21 16:53:53 +02:00
#include <math.h>
double
2009-12-24 21:22:41 +01:00
__infinity(void)
2005-04-21 16:53:53 +02:00
{
2009-08-18 21:10:20 +02:00
#if (CHIP == INTEL)
static unsigned char ieee_infinity[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f };
assert(sizeof(double) == sizeof(ieee_infinity));
return *(double *) ieee_infinity;
#else
2005-04-21 16:53:53 +02:00
return 1.0e+1000; /* This will generate a warning */
2009-08-18 21:10:20 +02:00
#endif
2005-04-21 16:53:53 +02:00
}
2009-12-24 21:22:41 +01:00
double
__qnan(void)
{
#if (CHIP == INTEL)
static unsigned char ieee_qnan[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f };
assert(sizeof(double) == sizeof(ieee_qnan));
return *(double *) ieee_qnan;
#else
#error QNaN not defined on this architecture
#endif
}