mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-03-13 19:57:53 +08:00
Assume that we have cbrt().
Windows has this, and so do all other live platforms according to the buildfarm, so remove the configure probe and float.c's substitute code. 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:
parent
7fde892bc1
commit
abe41f453a
2
configure
vendored
2
configure
vendored
@ -14925,7 +14925,7 @@ fi
|
||||
LIBS_including_readline="$LIBS"
|
||||
LIBS=`echo "$LIBS" | sed -e 's/-ledit//g' -e 's/-lreadline//g'`
|
||||
|
||||
for ac_func in backtrace_symbols cbrt clock_gettime copyfile fdatasync getifaddrs getpeerucred getrlimit kqueue mbstowcs_l memset_s memmove poll posix_fallocate ppoll pstat pthread_is_threaded_np readlink setproctitle setproctitle_fast setsid shm_open strchrnul strsignal symlink sync_file_range uselocale utime utimes wcstombs_l
|
||||
for ac_func in backtrace_symbols clock_gettime copyfile fdatasync getifaddrs getpeerucred getrlimit kqueue mbstowcs_l memset_s memmove poll posix_fallocate ppoll pstat pthread_is_threaded_np readlink setproctitle setproctitle_fast setsid shm_open strchrnul strsignal symlink sync_file_range uselocale utime utimes wcstombs_l
|
||||
do :
|
||||
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
||||
|
@ -1618,7 +1618,6 @@ LIBS=`echo "$LIBS" | sed -e 's/-ledit//g' -e 's/-lreadline//g'`
|
||||
|
||||
AC_CHECK_FUNCS(m4_normalize([
|
||||
backtrace_symbols
|
||||
cbrt
|
||||
clock_gettime
|
||||
copyfile
|
||||
fdatasync
|
||||
|
@ -72,19 +72,6 @@ static double sind_q1(double x);
|
||||
static double cosd_q1(double x);
|
||||
static void init_degree_constants(void);
|
||||
|
||||
#ifndef HAVE_CBRT
|
||||
/*
|
||||
* Some machines (in particular, some versions of AIX) have an extern
|
||||
* declaration for cbrt() in <math.h> but fail to provide the actual
|
||||
* function, which causes configure to not set HAVE_CBRT. Furthermore,
|
||||
* their compilers spit up at the mismatch between extern declaration
|
||||
* and static definition. We work around that here by the expedient
|
||||
* of a #define to make the actual name of the static function different.
|
||||
*/
|
||||
#define cbrt my_cbrt
|
||||
static double cbrt(double x);
|
||||
#endif /* HAVE_CBRT */
|
||||
|
||||
|
||||
/*
|
||||
* We use these out-of-line ereport() calls to report float overflow,
|
||||
@ -3964,28 +3951,3 @@ width_bucket_float8(PG_FUNCTION_ARGS)
|
||||
|
||||
PG_RETURN_INT32(result);
|
||||
}
|
||||
|
||||
/* ========== PRIVATE ROUTINES ========== */
|
||||
|
||||
#ifndef HAVE_CBRT
|
||||
|
||||
static double
|
||||
cbrt(double x)
|
||||
{
|
||||
int isneg = (x < 0.0);
|
||||
double absx = fabs(x);
|
||||
double tmpres = pow(absx, (double) 1.0 / (double) 3.0);
|
||||
|
||||
/*
|
||||
* The result is somewhat inaccurate --- not really pow()'s fault, as the
|
||||
* exponent it's handed contains roundoff error. We can improve the
|
||||
* accuracy by doing one iteration of Newton's formula. Beware of zero
|
||||
* input however.
|
||||
*/
|
||||
if (tmpres > 0.0)
|
||||
tmpres -= (tmpres - absx / (tmpres * tmpres)) / (double) 3.0;
|
||||
|
||||
return isneg ? -tmpres : tmpres;
|
||||
}
|
||||
|
||||
#endif /* !HAVE_CBRT */
|
||||
|
@ -101,9 +101,6 @@
|
||||
/* Define to 1 if you have the `BIO_meth_new' function. */
|
||||
#undef HAVE_BIO_METH_NEW
|
||||
|
||||
/* Define to 1 if you have the `cbrt' function. */
|
||||
#undef HAVE_CBRT
|
||||
|
||||
/* Define to 1 if you have the `clock_gettime' function. */
|
||||
#undef HAVE_CLOCK_GETTIME
|
||||
|
||||
|
@ -210,7 +210,6 @@ sub GenerateFiles
|
||||
HAVE_BACKTRACE_SYMBOLS => undef,
|
||||
HAVE_BIO_GET_DATA => undef,
|
||||
HAVE_BIO_METH_NEW => undef,
|
||||
HAVE_CBRT => undef,
|
||||
HAVE_CLOCK_GETTIME => undef,
|
||||
HAVE_COMPUTED_GOTO => undef,
|
||||
HAVE_COPYFILE => undef,
|
||||
|
Loading…
x
Reference in New Issue
Block a user