Math constants
Microsoft provides several predefined preprocessor macros for common math constants.
Syntax
#define _USE_MATH_DEFINES // for C++
#include <cmath>
#define _USE_MATH_DEFINES // for C
#include <math.h>
Remarks
The following symbols are defined for the values of their indicated expressions:
Symbol | Expression | Value |
---|---|---|
M_E |
e | 2.71828182845904523536 |
M_LOG2E |
log2(e) | 1.44269504088896340736 |
M_LOG10E |
log10(e) | 0.434294481903251827651 |
M_LN2 |
ln(2) | 0.693147180559945309417 |
M_LN10 |
ln(10) | 2.30258509299404568402 |
M_PI |
pi | 3.14159265358979323846 |
M_PI_2 |
pi/2 | 1.57079632679489661923 |
M_PI_4 |
pi/4 | 0.785398163397448309616 |
M_1_PI |
1/pi | 0.318309886183790671538 |
M_2_PI |
2/pi | 0.636619772367581343076 |
M_2_SQRTPI |
2/sqrt(pi) | 1.12837916709551257390 |
M_SQRT2 |
sqrt(2) | 1.41421356237309504880 |
M_SQRT1_2 |
1/sqrt(2) | 0.707106781186547524401 |
The math constants aren't defined in Standard C/C++. To use them, you must first define _USE_MATH_DEFINES
, and then include <cmath>
or <math.h>
.
The file <ATLComTime.h>
includes <math.h>
when your project is built in Release mode. If you use one or more of the math constants in a project that also includes <ATLComTime.h>
, you must define _USE_MATH_DEFINES
before you include <ATLComTime.h>
.