https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90233

            Bug ID: 90233
           Summary: std::hash<long double>()(INFINITY) == std::hash<long
                    double>()(0)
           Product: gcc
           Version: 8.3.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: redi at gcc dot gnu.org
  Target Milestone: ---

#include <functional>
#include <iostream>
#include <cmath>

int main()
{
  std::hash<double> hd;
  std::hash<long double> hl;
  std::cout << hd(0) << ' ' << hd(INFINITY) << ' ' << hd(-INFINITY) << '\n';
  std::cout << hl(0) << ' ' << hl(INFINITY) << ' ' << hl(-INFINITY) << '\n';
}

Output:

0 3377428025507081056 6848127736350075394
0 0 0

Reply via email to