diff options
author | Alison Felizzi <alison.felizzi@mongodb.com> | 2021-10-28 04:09:32 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-10-28 04:36:16 +0000 |
commit | 5661f414284e3f9ca7fc0034adc135380cd88ada (patch) | |
tree | 53a9dceeac23bdb9be0f6a4e826f0420b2ac349f /src/third_party/wiredtiger/src/support/float.c | |
parent | 4c614c274bc33aa13feed6c1226073e96cf296d3 (diff) | |
download | mongo-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.c | 45 |
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); +} |