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)))