blob: f7bb4e3d8e3dfe09c7873d20f2b22bd584c330f6 [file] [log] [blame]
Brian Gaeke30135b22004-06-22 23:54:38 +00001//===-- IsNAN.cpp ---------------------------------------------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file was developed by the LLVM research group and is distributed under
6// the University of Illinois Open Source License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// Platform-independent wrapper around C99 isnan().
11//
12//===----------------------------------------------------------------------===//
13
Reid Spencer551ccae2004-09-01 22:55:40 +000014#include "llvm/Config/config.h"
Brian Gaeke30135b22004-06-22 23:54:38 +000015#if HAVE_ISNAN_IN_MATH_H
16# include <math.h>
17#elif HAVE_ISNAN_IN_CMATH
18# include <cmath>
19#elif HAVE_STD_ISNAN_IN_CMATH
20# include <cmath>
21using std::isnan;
Chris Lattner67b6e4e2004-10-25 18:46:05 +000022#elif defined(_MSC_VER)
23#include <float.h>
24#define isnan _isnan
Brian Gaeke30135b22004-06-22 23:54:38 +000025#else
26# error "Don't know how to get isnan()"
27#endif
28
29namespace llvm {
30
31int IsNAN (float f) { return isnan (f); }
32int IsNAN (double d) { return isnan (d); }
33
34}; // end namespace llvm;