PatchworkOS
Loading...
Searching...
No Matches
math.h
Go to the documentation of this file.
1#ifndef _SYS_MATH_H
2#define _SYS_MATH_H 1
3
15#define MAX(x, y) (((x) > (y)) ? (x) : (y))
16#define MIN(x, y) (((x) < (y)) ? (x) : (y))
17#define CLAMP(x, low, high) MIN((high), MAX((low), (x)))
18
19#define ROUND_UP(number, multiple) \
20 ((((uint64_t)(number) + (uint64_t)(multiple) - 1) / (uint64_t)(multiple)) * (uint64_t)(multiple))
21#define ROUND_DOWN(number, multiple) (((uint64_t)(number) / (uint64_t)(multiple)) * (uint64_t)(multiple))
22
23#define LERP_INT(start, end, t, minT, maxT) (((start) * ((maxT) - (t))) + ((end) * ((t) - (minT)))) / ((maxT) - (minT))
24
25#endif
26