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)
commit2c0dd669c3c909484c24b40a797bd99b352c6f0b
tree1701cdbdbd1d515b11529bed54b4032abdedaf31
parent518621c40b23b4188478578d21de62d25582d9e3
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