LispBM
lbm_utils.h
1 /*
2  Copyright 2022 Joel Svensson svenssonjoel@yahoo.se
3  Copyright 2022 Benjamin Vedder
4 
5  This program is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 #ifndef LBM_UTILS_H_
20 #define LBM_UTILS_H_
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 #ifndef M_PI
27 #define M_PI 3.14159265358979323846
28 #endif
29 
30 #define DEG2RAD_f(deg) ((deg) * (float)(M_PI / 180.0))
31 #define RAD2DEG_f(rad) ((rad) * (float)(180.0 / M_PI))
32 
33 #ifndef MIN
34 #define MIN(a,b) (((a)<(b))?(a):(b))
35 #endif
36 #ifndef MAX
37 #define MAX(a,b) (((a)>(b))?(a):(b))
38 #endif
39 
40 #define CMP(a,b) (((a) > (b)) - ((a) < (b)));
41 
42 #ifdef __cplusplus
43 }
44 #endif
45 #endif