32 lines · cpp
1//===-- MathExtras.cpp - Implement the MathExtras header --------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8//9// This file implements the MathExtras.h header10//11//===----------------------------------------------------------------------===//12 13#include "llvm/Support/MathExtras.h"14 15#ifdef _MSC_VER16#include <limits>17#else18#include <cmath>19#endif20 21namespace llvm {22 23#if defined(_MSC_VER)24 // Visual Studio defines the HUGE_VAL class of macros using purposeful25 // constant arithmetic overflow, which it then warns on when encountered.26 const float huge_valf = std::numeric_limits<float>::infinity();27#else28 const float huge_valf = HUGE_VALF;29#endif30 31} // namespace llvm32