summaryrefslogtreecommitdiff
path: root/lib/bound.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bound.c')
-rw-r--r--lib/bound.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/lib/bound.c b/lib/bound.c
new file mode 100644
index 0000000..f086473
--- /dev/null
+++ b/lib/bound.c
@@ -0,0 +1,37 @@
+/**
+** @file bound.c
+**
+** @author Numerous CSCI-452 classes
+**
+** @brief C implementations of common library functions
+*/
+
+#ifndef BOUND_SRC_INC
+#define BOUND_SRC_INC
+
+#include <common.h>
+
+#include <lib.h>
+
+/**
+** bound(min,value,max)
+**
+** This function confines an argument within specified bounds.
+**
+** @param min Lower bound
+** @param value Value to be constrained
+** @param max Upper bound
+**
+** @return The constrained value
+*/
+uint32_t bound( uint32_t min, uint32_t value, uint32_t max ) {
+ if( value < min ){
+ value = min;
+ }
+ if( value > max ){
+ value = max;
+ }
+ return value;
+}
+
+#endif