Divisão pelo complexo <double> no clang ++ versus g ++
Ao compilar o código a seguir com g ++ (4.8.1 ou 4.9.0) ou clang ++ (3.4), recebo diferentes saídas.
#include <iostream>
#include <complex>
int main() {
std::complex<double> c = {1.e-162,0};
std::cout << 1.0/c << std::endl;
return 0;
}
g ++:
(1e+162,0)
clang ++:
(inf,-nan)
Isso é um bug no clang?
Atualizar:
Obrigado por suas respostas! Eu relatei o bug:http://llvm.org/bugs/show_bug.cgi?id=19820