mirror of
https://github.com/postgres/postgres.git
synced 2025-11-12 05:01:15 +03:00
Move all the isinf() stuff from float.c to isinf.c, and build it according to
configure vs port specific #ifdef's...
This commit is contained in:
@@ -1,15 +1,63 @@
|
||||
/* $Id: isinf.c,v 1.1 1998/01/15 20:54:37 scrappy Exp $ */
|
||||
/* $Id: isinf.c,v 1.2 1998/02/02 00:03:46 scrappy Exp $ */
|
||||
|
||||
#include <ieeefp.h>
|
||||
#include <math.h>
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#if HAVE_FPCLASS
|
||||
# if HAVE_IEEEFP_H
|
||||
# include <ieeefp.h>
|
||||
# endif
|
||||
int
|
||||
isinf(double d)
|
||||
{
|
||||
fpclass_t type = fpclass(d);
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case FP_SNAN:
|
||||
case FP_QNAN:
|
||||
case FP_NINF:
|
||||
case FP_PINF:
|
||||
return (1);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return (0);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_FP_CLASS) || defined(HAVE_FP_CLASS_D)
|
||||
# if HAVE_FP_CLASS_H
|
||||
# include <fp_class.h>
|
||||
# endif
|
||||
int
|
||||
isinf(x)
|
||||
double x;
|
||||
{
|
||||
#if HAVE_FP_CLASS
|
||||
int fpclass = fp_class(x);
|
||||
#else
|
||||
int fpclass = fp_class_d(x);
|
||||
#endif
|
||||
|
||||
if (fpclass == FP_POS_INF)
|
||||
return (1);
|
||||
if (fpclass == FP_NEG_INF)
|
||||
return (-1);
|
||||
return (0);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_CLASS)
|
||||
int
|
||||
isinf(double x)
|
||||
{
|
||||
if((fpclass(x) == FP_PINF) || (fpclass(x) == FP_NINF)) return 1;
|
||||
else return 0;
|
||||
}
|
||||
int fpclass = class(x);
|
||||
|
||||
if (fpclass == FP_PLUS_INF)
|
||||
return (1);
|
||||
if (fpclass == FP_MINUS_INF)
|
||||
return (-1);
|
||||
return (0);
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user