Index: src/libcfa/stdlib
===================================================================
--- src/libcfa/stdlib	(revision ee5153450a63c4ce207bc8006df0fefce0f172ae)
+++ src/libcfa/stdlib	(revision a9f2c13572a398531dc44276567320b581620249)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jan 28 17:12:35 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Apr 27 22:03:29 2016
-// Update Count     : 96
+// Last Modified On : Thu Jun 30 15:04:18 2016
+// Update Count     : 97
 //
 
@@ -129,4 +129,7 @@
 T max( const T t1, const T t2 );
 
+forall( otype T | { T min( T, T ); T max( T, T ); } )
+T clamp( const T value, const T min_val, const T max_val );
+
 forall( otype T )
 void swap( T * t1, T * t2 );
Index: src/libcfa/stdlib.c
===================================================================
--- src/libcfa/stdlib.c	(revision ee5153450a63c4ce207bc8006df0fefce0f172ae)
+++ src/libcfa/stdlib.c	(revision a9f2c13572a398531dc44276567320b581620249)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jan 28 17:10:29 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Apr 28 07:54:21 2016
-// Update Count     : 166
+// Last Modified On : Thu Jun 30 15:04:25 2016
+// Update Count     : 168
 //
 
@@ -254,4 +254,9 @@
 } // max
 
+forall( otype T | { T min( T, T ); T max( T, T ); } )
+T clamp( const T value, const T min_val, const T max_val ) {
+	return max( min_val, min( value, max_val ) );
+} // clamp
+
 forall( otype T )
 void swap( T * t1, T * t2 ) {
