• Tom Lane's avatar
    Fix power() for large inputs yet more. · 5674eb98
    Tom Lane authored
    Buildfarm results for commit e532b1d5 reveal the error in my thinking
    about the unexpected-EDOM case.  I'd supposed this was no longer really
    a live issue, but it seems the fix for glibc's bug #3866 is not all that
    old, and we still have at least one buildfarm animal (lapwing) with the
    bug.  Hence, resurrect essentially the previous logic (but, I hope, less
    opaquely presented), and explain what it is we're really doing here.
    
    Also, blindly try to fix fossa's failure by tweaking the logic that
    figures out whether y is an odd integer when x is -inf.  This smells
    a whole lot like a compiler bug, but I lack access to icc to try to
    pin it down.  Maybe doing division instead of multiplication will
    dodge the issue.
    
    Discussion: https://postgr.es/m/E1jkU7H-00024V-NZ@gemulon.postgresql.org
    5674eb98
float.c 92.3 KB