blob: 6b9d048f636ba9a2ab4b133df087af9fe026f0c3 [file] [log] [blame]
Eugene Zelenko1760dc22016-04-05 20:19:49 +00001//===-- MathExtras.cpp - Implement the MathExtras header ------------------===//
Yaron Keren7b4133a2014-09-27 14:41:29 +00002//
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// This file implements the MathExtras.h header
11//
12//===----------------------------------------------------------------------===//
13
14#include "llvm/Support/MathExtras.h"
15
16#ifdef _MSC_VER
17#include <limits>
18#else
Eugene Zelenko1760dc22016-04-05 20:19:49 +000019#include <cmath>
Yaron Keren7b4133a2014-09-27 14:41:29 +000020#endif
21
22namespace llvm {
23
24#if defined(_MSC_VER)
25 // Visual Studio defines the HUGE_VAL class of macros using purposeful
26 // constant arithmetic overflow, which it then warns on when encountered.
27 const float huge_valf = std::numeric_limits<float>::infinity();
28#else
29 const float huge_valf = HUGE_VALF;
30#endif
31
Eugene Zelenko1760dc22016-04-05 20:19:49 +000032} // end namespace llvm