From 12784de211d48cac4154d849e326f05a8eb3cbda Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Tue, 29 Aug 2017 15:54:25 -0700 Subject: [PATCH] Produce "nan" and "inf" strings instead of aborting --- milo/dtoa_milo.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/milo/dtoa_milo.h b/milo/dtoa_milo.h index e3dc3e8..9ebb2d1 100644 --- a/milo/dtoa_milo.h +++ b/milo/dtoa_milo.h @@ -377,9 +377,16 @@ inline void Prettify(std::string &buffer, int length, int k) { inline std::string dtoa_milo(double value) { std::string buffer; - // Not handling NaN and inf - assert(!isnan(value)); - assert(!isinf(value)); + if (isnan(value)) { + return "nan"; + } + if (isinf(value)) { + if (value < 0) { + return "-inf"; + } else { + return "inf"; + } + } if (value == 0) { buffer = "0";