From c886bb15676f354880b3e98152efe457089d6930 Mon Sep 17 00:00:00 2001 From: Anonymus Raccoon Date: Wed, 29 Apr 2020 23:01:47 +0200 Subject: [PATCH] Adding my_overflow utilities --- include/utility.h | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/include/utility.h b/include/utility.h index 80684a8..7672192 100644 --- a/include/utility.h +++ b/include/utility.h @@ -28,12 +28,10 @@ void *my_realloc(void *oldptr, size_t oldsize, size_t newsize); #define MIN(x, y) ((x) < (y) ? (x) : (y)) #define MAX(x, y) ((x) > (y) ? (x) : (y)) +#define ABS(x) ((x) > 0 ? (x) : -(x)) -#define CLAMP(x, y) (((x) > (y)) ? ((x) = (y)) : (x)) -#define NCLAMP(x, y) (((x) < (y)) ? ((x) = (y)) : (x)) -#define ABSCLAMP(x, y) (((x) > 0) ? CLAMP((x), (y)) : NCLAMP((x), -(y))) +#define CLAMP(x, min, max) \ +((((x) > (max) ? (max) : (x)) < (min)) ? (min) : ((x) > (max) ? (max) : (x))) -#define SIGN(x) (((x) < 0) ? (-1) : ((x == 0 ? 0 : 1))) -#define SET_SIGN(x, s) (x = (x) * (s) > 0 ? (x) : ((x) * (-1))) - -#define ABS(x) ((x) > 0 ? (x) : -(x)) \ No newline at end of file +#define MY_OVERFLOW(x, value) (x = ((x) > (value) ? -(value) : (x))) +#define MY_UNDERFLOW(x, value) (x = ((x) < (value) ? -(value) : (x)))