OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 19 matching lines...) Expand all Loading... |
30 // semantics for these functions. | 30 // semantics for these functions. |
31 // (http://www.opengroup.org/onlinepubs/000095399/) | 31 // (http://www.opengroup.org/onlinepubs/000095399/) |
32 | 32 |
33 #ifndef V8_WIN32_MATH_H_ | 33 #ifndef V8_WIN32_MATH_H_ |
34 #define V8_WIN32_MATH_H_ | 34 #define V8_WIN32_MATH_H_ |
35 | 35 |
36 #ifndef _MSC_VER | 36 #ifndef _MSC_VER |
37 #error Wrong environment, expected MSVC. | 37 #error Wrong environment, expected MSVC. |
38 #endif // _MSC_VER | 38 #endif // _MSC_VER |
39 | 39 |
| 40 // MSVC 2013+ provides implementations of all standard math functions. |
| 41 #if (_MSC_VER < 1800) |
40 enum { | 42 enum { |
41 FP_NAN, | 43 FP_NAN, |
42 FP_INFINITE, | 44 FP_INFINITE, |
43 FP_ZERO, | 45 FP_ZERO, |
44 FP_SUBNORMAL, | 46 FP_SUBNORMAL, |
45 FP_NORMAL | 47 FP_NORMAL |
46 }; | 48 }; |
47 | 49 |
48 | 50 |
49 namespace std { | 51 namespace std { |
50 | 52 |
51 int isfinite(double x); | 53 int isfinite(double x); |
52 int isinf(double x); | 54 int isinf(double x); |
53 int isnan(double x); | 55 int isnan(double x); |
54 int isless(double x, double y); | 56 int isless(double x, double y); |
55 int isgreater(double x, double y); | 57 int isgreater(double x, double y); |
56 int fpclassify(double x); | 58 int fpclassify(double x); |
57 int signbit(double x); | 59 int signbit(double x); |
58 | 60 |
59 } // namespace std | 61 } // namespace std |
60 | 62 |
| 63 #endif // _MSC_VER < 1800 |
| 64 |
61 #endif // V8_WIN32_MATH_H_ | 65 #endif // V8_WIN32_MATH_H_ |
OLD | NEW |