]> granicus.if.org Git - postgresql/commitdiff
Fix non-portable use of round().
authorAndres Freund <andres@anarazel.de>
Sun, 1 Apr 2018 03:26:47 +0000 (20:26 -0700)
committerAndres Freund <andres@anarazel.de>
Sun, 1 Apr 2018 03:26:47 +0000 (20:26 -0700)
round() is from C99.  Use rint() instead.  There are behavioral
differences between round() and rint(), but they should not matter to
the Bloom filter optimal_k() function.  We already assume POSIX
behavior for rint(), so there is no question of rint() not using
"rounds towards nearest" as its rounding mode.

Cleanup from commit 51bc271790eb234a1ba4d14d3e6530f70de92ab5.

Per buildfarm member thrips.

Author: Peter Geoghegan
Discussion: https://postgr.es/m/CAH2-Wzn76eCGUonARy-wrVtMHsf+4cvbK_oJAWTLfORTU5ki0w@mail.gmail.com

src/backend/lib/bloomfilter.c

index eb08f4a7b86b6ba2f66db3ac48c530699d6a58a3..3565480d13e67556d80bd88a852707823bb75f8a 100644 (file)
@@ -240,7 +240,7 @@ my_bloom_power(uint64 target_bitset_bits)
 static int
 optimal_k(uint64 bitset_bits, int64 total_elems)
 {
-       int                     k = round(log(2.0) * bitset_bits / total_elems);
+       int                     k = rint(log(2.0) * bitset_bits / total_elems);
 
        return Max(1, Min(k, MAX_HASH_FUNCS));
 }