//===-- MathExtras.cpp - Implement the MathExtras header --------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file implements the MathExtras.h header // //===----------------------------------------------------------------------===// #include "llvm/Support/MathExtras.h" #ifdef _MSC_VER #include <limits> #else #include <math.h> #endif namespace llvm { #if defined(_MSC_VER) // Visual Studio defines the HUGE_VAL class of macros using purposeful // constant arithmetic overflow, which it then warns on when encountered. const float huge_valf = std::numeric_limits<float>::infinity(); #else const float huge_valf = HUGE_VALF; #endif }