From 44847515ca09bee8440af13e2404d24ff4a6e947 Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Thu, 20 Feb 2014 03:00:56 +0000 Subject: [PATCH] Fix compilation errors with isnan/isinf using Cygwin's GCC --- src/base/checkFinite.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/base/checkFinite.cpp b/src/base/checkFinite.cpp index 4437382a6..41384cae9 100644 --- a/src/base/checkFinite.cpp +++ b/src/base/checkFinite.cpp @@ -32,7 +32,7 @@ namespace Cantera { void checkFinite(const double tmp) { -#ifdef _WIN32 +#if defined _WIN32 if (_finite(tmp)) { if (_isnan(tmp)) { printf("checkFinite() ERROR: we have encountered a nan!\n"); @@ -43,6 +43,17 @@ void checkFinite(const double tmp) } throw std::range_error("checkFinite()"); } +#elif defined __CYGWIN__ + if (!finite(tmp)) { + if (isnan(tmp)) { + printf("checkFinite() ERROR: we have encountered a nan!\n"); + } else if (isinf(tmp) == 1) { + printf("checkFinite() ERROR: we have encountered a pos inf!\n"); + } else { + printf("checkFinite() ERROR: we have encountered a neg inf!\n"); + } + throw std::range_error("checkFinite()"); + } #else if (!::finite(tmp)) { if (::isnan(tmp)) {