Further portability tweaks for float4/float8 hash functions.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: a5e8f7b3798b6fb9a4f3129a5eab98b7087c8a80
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2021-09-04T20:29:08Z
Releases: 9.6.24
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.

Files

PathChange+/−
src/backend/access/hash/hashfunc.c modified +10 −8