diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/extlib.c | 18 | ||||
-rw-r--r-- | src/extlib.h | 9 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/extlib.c b/src/extlib.c index e1fdb14..108e3e5 100644 --- a/src/extlib.c +++ b/src/extlib.c @@ -96,3 +96,21 @@ rrmdir (char *pathname) return err; return 0; } + +inline float +min (float v, float min_v) +{ + return (v < min_v) ? min_v : v; +} + +inline float +max (float v, float max_v) +{ + return (v > max_v) ? max_v : v; +} + +inline float +cap (float v, float min_v, float max_v) +{ + return min(max(v, max_v), min_v); +} diff --git a/src/extlib.h b/src/extlib.h index c62c374..c36b919 100644 --- a/src/extlib.h +++ b/src/extlib.h @@ -67,3 +67,12 @@ char *replace_str (char *s, char *old, char *replace); /// Join an array of strings into one string char *join_str (char **s, size_t len, char delim); + +/// Limit a value to a maximum +float max (float v, float max_v); + +/// Limit a value to a minimum +float min (float v, float min_v); + +/// Limit a value between min and max +float cap (float v, float min_v, float max_v); |