1 // Copyright 2011 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Extra POSIX/ANSI routines for Win32 when using Visual Studio C++. Please 6 // refer to The Open Group Base Specification for specification of the correct 7 // semantics for these functions. 8 // (http://www.opengroup.org/onlinepubs/000095399/) 9 10 #ifndef V8_BASE_WIN32_MATH_H_ 11 #define V8_BASE_WIN32_MATH_H_ 12 13 #ifndef _MSC_VER 14 #error Wrong environment, expected MSVC. 15 #endif // _MSC_VER 16 17 // MSVC 2013+ provides implementations of all standard math functions. 18 #if (_MSC_VER < 1800) 19 enum { 20 FP_NAN, 21 FP_INFINITE, 22 FP_ZERO, 23 FP_SUBNORMAL, 24 FP_NORMAL 25 }; 26 27 28 namespace std { 29 30 int isfinite(double x); 31 int isinf(double x); 32 int isnan(double x); 33 int isless(double x, double y); 34 int isgreater(double x, double y); 35 int fpclassify(double x); 36 int signbit(double x); 37 38 } // namespace std 39 40 #endif // _MSC_VER < 1800 41 42 #endif // V8_BASE_WIN32_MATH_H_ 43