| Brian Gaeke | ef178a4 | 2004-06-22 23:54:38 +0000 | [diff] [blame] | 1 | //===-- IsNAN.cpp ---------------------------------------------------------===// | 
| Misha Brukman | 10468d8 | 2005-04-21 22:55:34 +0000 | [diff] [blame] | 2 | // | 
| Brian Gaeke | ef178a4 | 2004-06-22 23:54:38 +0000 | [diff] [blame] | 3 | //                     The LLVM Compiler Infrastructure | 
|  | 4 | // | 
| Chris Lattner | f3ebc3f | 2007-12-29 20:36:04 +0000 | [diff] [blame] | 5 | // This file is distributed under the University of Illinois Open Source | 
|  | 6 | // License. See LICENSE.TXT for details. | 
| Misha Brukman | 10468d8 | 2005-04-21 22:55:34 +0000 | [diff] [blame] | 7 | // | 
| Brian Gaeke | ef178a4 | 2004-06-22 23:54:38 +0000 | [diff] [blame] | 8 | //===----------------------------------------------------------------------===// | 
|  | 9 | // | 
| Misha Brukman | 10468d8 | 2005-04-21 22:55:34 +0000 | [diff] [blame] | 10 | // Platform-independent wrapper around C99 isnan(). | 
| Brian Gaeke | ef178a4 | 2004-06-22 23:54:38 +0000 | [diff] [blame] | 11 | // | 
|  | 12 | //===----------------------------------------------------------------------===// | 
|  | 13 |  | 
| Reid Spencer | 7c16caa | 2004-09-01 22:55:40 +0000 | [diff] [blame] | 14 | #include "llvm/Config/config.h" | 
| Reid Spencer | 421475c | 2006-07-26 16:18:00 +0000 | [diff] [blame] | 15 |  | 
| Brian Gaeke | ef178a4 | 2004-06-22 23:54:38 +0000 | [diff] [blame] | 16 | #if HAVE_ISNAN_IN_MATH_H | 
|  | 17 | # include <math.h> | 
|  | 18 | #elif HAVE_ISNAN_IN_CMATH | 
|  | 19 | # include <cmath> | 
|  | 20 | #elif HAVE_STD_ISNAN_IN_CMATH | 
|  | 21 | # include <cmath> | 
|  | 22 | using std::isnan; | 
| Chris Lattner | 2e493d9 | 2004-10-25 18:46:05 +0000 | [diff] [blame] | 23 | #elif defined(_MSC_VER) | 
|  | 24 | #include <float.h> | 
|  | 25 | #define isnan _isnan | 
| Brian Gaeke | ef178a4 | 2004-06-22 23:54:38 +0000 | [diff] [blame] | 26 | #else | 
|  | 27 | # error "Don't know how to get isnan()" | 
|  | 28 | #endif | 
|  | 29 |  | 
|  | 30 | namespace llvm { | 
| Chris Lattner | 5425637 | 2006-08-11 23:52:54 +0000 | [diff] [blame] | 31 | int IsNAN(float f)  { return isnan(f); } | 
|  | 32 | int IsNAN(double d) { return isnan(d); } | 
| Chris Lattner | aa237256 | 2006-05-24 17:04:05 +0000 | [diff] [blame] | 33 | } // end namespace llvm; |