1//===-- MathExtras.cpp - Implement the MathExtras header --------------===//
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// 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
19#include <math.h>
20#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
32}
33