Further portability tweaks for float4/float8 hash functions.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 4 Sep 2021 20:29:08 +0000 (16:29 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 4 Sep 2021 20:29:08 +0000 (16:29 -0400)
commitb30cc0fd6d5d96c63037824c286cec561e092b6f
treeeb3e23d0eb28005e1039180e40510cacd73f372c
parentac5ea660996ecbbfbe78b881a581132a95d93d26
Further portability tweaks for float4/float8 hash functions.

Attempting to make hashfloat4() look as much as possible like
hashfloat8(), I'd figured I could replace NaNs with get_float4_nan()
before widening to float8.  However, results from protosciurus
and topminnow show that on some platforms that produces a different
bit-pattern from get_float8_nan(), breaking the intent of ce773f230.
Rearrange so that we use the result of get_float8_nan() for all NaN
cases.  As before, back-patch.
src/backend/access/hash/hashfunc.c