summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/support/float.c
diff options
context:
space:
mode:
authorAlison Felizzi <alison.felizzi@mongodb.com>2021-10-28 04:09:32 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-10-28 04:36:16 +0000
commit5661f414284e3f9ca7fc0034adc135380cd88ada (patch)
tree53a9dceeac23bdb9be0f6a4e826f0420b2ac349f /src/third_party/wiredtiger/src/support/float.c
parent4c614c274bc33aa13feed6c1226073e96cf296d3 (diff)
downloadmongo-5661f414284e3f9ca7fc0034adc135380cd88ada.tar.gz
Import wiredtiger: e3e77069b2b56efb1445f150bc28945af9c95157 from branch mongodb-master
ref: fafdde779d..e3e77069b2 for: 5.2.0 WT-6022 NVRAM cache
Diffstat (limited to 'src/third_party/wiredtiger/src/support/float.c')
-rw-r--r--src/third_party/wiredtiger/src/support/float.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/third_party/wiredtiger/src/support/float.c b/src/third_party/wiredtiger/src/support/float.c
new file mode 100644
index 00000000000..93bec6da69a
--- /dev/null
+++ b/src/third_party/wiredtiger/src/support/float.c
@@ -0,0 +1,45 @@
+/*-
+ * Public Domain 2014-present MongoDB, Inc.
+ * Public Domain 2008-2014 WiredTiger, Inc.
+ *
+ * This is free and unencumbered software released into the public domain.
+ *
+ * Anyone is free to copy, modify, publish, use, compile, sell, or
+ * distribute this software, either in source code form or as a compiled
+ * binary, for any purpose, commercial or non-commercial, and by any
+ * means.
+ *
+ * In jurisdictions that recognize copyright laws, the author or authors
+ * of this software dedicate any and all copyright interest in the
+ * software to the public domain. We make this dedication for the benefit
+ * of the public at large and to the detriment of our heirs and
+ * successors. We intend this dedication to be an overt act of
+ * relinquishment in perpetuity of all present and future rights to this
+ * software under copyright law.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include "wt_internal.h"
+#include <math.h>
+/*
+ * __wt_floatcmp --
+ * Compares floats in a way that does not generate compiler warnings. Returns an integer greater
+ * than, equal to, or less than 0, according to d1 being greater than, equal to, or less than
+ * d2.
+ */
+int
+__wt_floatcmp(float f1, float f2)
+{
+#define WT_FLOAT_PRECISION 1000
+ if (fabsf(f1 - f2) < 1 / WT_FLOAT_PRECISION)
+ return (0);
+ else
+ return (int)((f1 - f2) * WT_FLOAT_PRECISION);
+}