LispBM
include
lbm_utils.h
Go to the documentation of this file.
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
#ifndef M_PI_2
31
#define M_PI_2 1.57079632679
32
#endif
33
34
#ifndef M_3PI_2
35
#define M_3PI_2 4.71238898038469
36
#endif
37
38
#define DEG2RAD_f(deg) ((deg) * (float)(M_PI / 180.0))
39
#define RAD2DEG_f(rad) ((rad) * (float)(180.0 / M_PI))
40
41
#ifndef MIN
42
#define MIN(a,b) (((a)<(b))?(a):(b))
43
#endif
44
#ifndef MAX
45
#define MAX(a,b) (((a)>(b))?(a):(b))
46
#endif
47
48
#define CMP(a,b) (((a) > (b)) - ((a) < (b)));
49
50
static
inline
bool
str_eq
(
char
*str1,
char
*str2) {
51
if
(*str1 != *str2)
return
false
;
52
if
(*str1 == 0)
return
true
;
53
54
for
(;;) {
55
++str1; ++str2;
56
if
(*str1 != *str2)
return
false
;
57
if
(*str1 == 0)
return
true
;
58
}
59
}
60
61
#ifdef __cplusplus
62
}
63
#endif
64
#endif
str_eq
static bool str_eq(char *str1, char *str2)
Definition:
lbm_utils.h:50
Generated by
1.8.17