summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSergey Vojtovich <svoj@mariadb.org>2018-05-25 22:25:45 +0400
committerSergey Vojtovich <svoj@mariadb.org>2018-05-26 13:27:50 +0400
commit3e63fa6eb39977c38c6ec6d1259554133a8d6390 (patch)
tree0ab7fb4caeaf6750cb811ed9b533c9b23a17efc0 /include
parent7ffd7fe9627d1f750a3712aebb4503e5ae8aea8e (diff)
downloadmariadb-git-3e63fa6eb39977c38c6ec6d1259554133a8d6390.tar.gz
Cleanup rint() portability checks
Diffstat (limited to 'include')
-rw-r--r--include/my_global.h35
1 files changed, 0 insertions, 35 deletions
diff --git a/include/my_global.h b/include/my_global.h
index 65e10373d3b..05c6d02f390 100644
--- a/include/my_global.h
+++ b/include/my_global.h
@@ -1179,41 +1179,6 @@ typedef struct { const char *dli_fname, dli_fbase; } Dl_info;
#endif
#endif /* !defined(__func__) */
-#ifndef HAVE_RINT
-/**
- All integers up to this number can be represented exactly as double precision
- values (DBL_MANT_DIG == 53 for IEEE 754 hardware).
-*/
-#define MAX_EXACT_INTEGER ((1LL << DBL_MANT_DIG) - 1)
-
-/**
- rint(3) implementation for platforms that do not have it.
- Always rounds to the nearest integer with ties being rounded to the nearest
- even integer to mimic glibc's rint() behavior in the "round-to-nearest"
- FPU mode. Hardware-specific optimizations are possible (frndint on x86).
- Unlike this implementation, hardware will also honor the FPU rounding mode.
-*/
-
-static inline double rint(double x)
-{
- double f, i;
- f = modf(x, &i);
- /*
- All doubles with absolute values > MAX_EXACT_INTEGER are even anyway,
- no need to check it.
- */
- if (x > 0.0)
- i += (double) ((f > 0.5) || (f == 0.5 &&
- i <= (double) MAX_EXACT_INTEGER &&
- (longlong) i % 2));
- else
- i -= (double) ((f < -0.5) || (f == -0.5 &&
- i >= (double) -MAX_EXACT_INTEGER &&
- (longlong) i % 2));
- return i;
-}
-#endif /* HAVE_RINT */
-
/*
MYSQL_PLUGIN_IMPORT macro is used to export mysqld data
(i.e variables) for usage in storage engine loadable plugins.