LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IsNAN.cpp
Go to the documentation of this file.
1 //===-- IsNAN.cpp ---------------------------------------------------------===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // Platform-independent wrapper around C99 isnan().
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #include "llvm/Config/config.h"
15 
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;
23 #elif defined(_MSC_VER)
24 #include <float.h>
25 #define isnan _isnan
26 #else
27 # error "Don't know how to get isnan()"
28 #endif
29 
30 namespace llvm {
31  int IsNAN(float f) { return isnan(f); }
32  int IsNAN(double d) { return isnan(d); }
33 } // end namespace llvm;
int IsNAN(float f)
Platform-independent wrappers for the C99 isnan() function.
Definition: IsNAN.cpp:31