]> git.lizzy.rs Git - nothing.git/blob - src/math/extrema.h
(#450) Use fmimf fmaxf
[nothing.git] / src / math / extrema.h
1 #ifndef EXTREMA_H_
2 #define EXTREMA_H_
3
4 #include <stdint.h>
5
6 #define MAX_INSTANCE(type)                      \
7     static inline                               \
8     type max_##type(type a, type b) {           \
9         return a > b ? a : b;                   \
10     }                                           \
11
12 MAX_INSTANCE(int64_t)
13 MAX_INSTANCE(size_t)
14 #define MAX(type, a, b) max_##type(a, b)
15
16 #define MIN_INSTANCE(type)                      \
17     static inline                               \
18     type min_##type(type a, type b) {           \
19         return a < b ? a : b;                   \
20     }                                           \
21
22 MIN_INSTANCE(int64_t)
23 MIN_INSTANCE(size_t)
24 #define MIN(type, a, b) min_##type(a, b)
25
26 #endif  // EXTREMA_H_