• Tom Lane's avatar
    Avoid use of float arithmetic in bipartite_match.c. · 44ed65a5
    Tom Lane authored
    Since the distances used in this algorithm are small integers (not more
    than the size of the U set, in fact), there is no good reason to use float
    arithmetic for them.  Use short ints instead: they're smaller, faster, and
    require no special portability assumptions.
    
    Per testing by Greg Stark, which disclosed that the code got into an
    infinite loop on VAX for lack of IEEE-style float infinities.  We don't
    really care all that much whether Postgres can run on a VAX anymore,
    but there seems sufficient reason to change this code anyway.
    
    In passing, make a few other small adjustments to make the code match
    usual Postgres coding style a bit better.
    44ed65a5
bipartite_match.h 1.74 KB