mirror of
https://github.com/postgres/postgres.git
synced 2025-08-27 07:42:10 +03:00
Assume that we have isinf().
Windows has this, and so do all other live platforms according to the buildfarm, so remove the configure probe and src/port/ substitution. This also lets us get rid of some configure probes that existed only to support src/port/isinf.c. I kept the port.h hack to force using __builtin_isinf() on clang, though. This is part of a series of commits to get rid of no-longer-relevant configure checks and dead src/port/ code. I'm committing them separately to make it easier to back out individual changes if they prove less portable than I expect. Discussion: https://postgr.es/m/15379.1582221614@sss.pgh.pa.us
This commit is contained in:
@@ -1,81 +0,0 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* isinf.c
|
||||
*
|
||||
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* src/port/isinf.c
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "c.h"
|
||||
|
||||
#include <float.h>
|
||||
#include <math.h>
|
||||
|
||||
#if HAVE_FPCLASS /* this is _not_ HAVE_FP_CLASS, and not typo */
|
||||
|
||||
#if HAVE_IEEEFP_H
|
||||
#include <ieeefp.h>
|
||||
#endif
|
||||
|
||||
int
|
||||
isinf(double d)
|
||||
{
|
||||
fpclass_t type = fpclass(d);
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case FP_NINF:
|
||||
case FP_PINF:
|
||||
return 1;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
|
||||
#if defined(HAVE_FP_CLASS) || defined(HAVE_FP_CLASS_D)
|
||||
|
||||
#if HAVE_FP_CLASS_H
|
||||
#include <fp_class.h>
|
||||
#endif
|
||||
|
||||
int
|
||||
isinf(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;
|
||||
}
|
||||
|
||||
#elif defined(HAVE_CLASS)
|
||||
|
||||
int
|
||||
isinf(double x)
|
||||
{
|
||||
int fpclass = class(x);
|
||||
|
||||
if (fpclass == FP_PLUS_INF)
|
||||
return 1;
|
||||
if (fpclass == FP_MINUS_INF)
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user