Monado OpenXR Runtime
m_mathinclude.h
Go to the documentation of this file.
1// Copyright 2020, Collabora, Ltd.
2// SPDX-License-Identifier: BSL-1.0
3/*!
4 * @file
5 * @brief Wrapper header for <math.h> to ensure pi-related math constants are
6 * defined.
7 *
8 * Use this instead of directly including <math.H> in headers and when
9 * you need M_PI and its friends.
10 * @author Rylie Pavlik <rylie.pavlik@collabora.com>
11 *
12 * @ingroup aux_math
13 */
14
15#pragma once
16
17#define _USE_MATH_DEFINES // for M_PI // NOLINT
18#ifdef __cplusplus
19#include <cmath>
20#endif
21
22#include <math.h>
23
24
25// Might be missing on Windows.
26#ifndef M_PI
27#define M_PI (3.14159265358979323846)
28#endif
29
30// Might be missing on Windows.
31#ifndef M_PIl
32#define M_PIl (3.14159265358979323846264338327950288)
33#endif
34
35#ifndef M_1_PI
36#define M_1_PI (1. / M_PI)
37#endif