Blob Blame History Raw
/* Check how the C++ standard library parses the following number correctly.
   On IBM double-double, the 7 least significant bits are messed up.
   On IEEE 128-bit long double, this number is correctly represented.  */
#include <sstream>
#include <stdio.h>

int main() {
  long double d;
  std::stringstream ss("0x1.5bf0a8b1457695355fb8ac404e7ap+1");

  ss >> d;
  printf("%La\n", d);

  return 0;
}