Index: src/libcfa/stdlib
===================================================================
--- src/libcfa/stdlib	(revision 9c47a4703e167be1d751e6ac55951251b078e14c)
+++ src/libcfa/stdlib	(revision f3458a8c18db18bb7dfaf46579869ea14b7fb386)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jan 28 17:12:35 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Dec 28 18:43:12 2017
-// Update Count     : 277
+// Last Modified On : Mon Jan  1 17:35:43 2018
+// Update Count     : 291
 //
 
@@ -186,17 +186,44 @@
 
 forall( otype E | { int ?<?( E, E ); } )
-E * bsearch( E key, const E * arr, size_t dim );
-
-forall( otype E | { int ?<?( E, E ); } )
-unsigned int bsearch( E key, const E * arr, size_t dim );
-
-forall( otype K, otype E | { int ?<?( K, K ); K getKey( E & ); } )
-E * bsearch( K key, const E * arr, size_t dim );
-
-forall( otype K, otype E | { int ?<?( K, K ); K getKey( E & ); } )
-unsigned int bsearch( K key, const E * arr, size_t dim );
-
-forall( otype E | { int ?<?( E, E ); } )
-void qsort( E * arr, size_t dim );
+E * bsearch( E key, const E * vals, size_t dim );
+
+forall( otype E | { int ?<?( E, E ); } )
+size_t bsearch( E key, const E * vals, size_t dim );
+
+forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
+E * bsearch( K key, const E * vals, size_t dim );
+
+forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
+size_t bsearch( K key, const E * vals, size_t dim );
+
+
+forall( otype E | { int ?<?( E, E ); } )
+E * bsearchl( E key, const E * vals, size_t dim );
+
+forall( otype E | { int ?<?( E, E ); } )
+size_t bsearchl( E key, const E * vals, size_t dim );
+
+forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
+E * bsearchl( K key, const E * vals, size_t dim );
+
+forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
+size_t bsearchl( K key, const E * vals, size_t dim );
+
+
+forall( otype E | { int ?<?( E, E ); } )
+E * bsearchu( E key, const E * vals, size_t dim );
+
+forall( otype E | { int ?<?( E, E ); } )
+size_t bsearchu( E key, const E * vals, size_t dim );
+
+forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
+E * bsearchu( K key, const E * vals, size_t dim );
+
+forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
+size_t bsearchu( K key, const E * vals, size_t dim );
+
+
+forall( otype E | { int ?<?( E, E ); } )
+void qsort( E * vals, size_t dim );
 
 //---------------------------------------
