Index: src/tests/.expect/searchsort.txt
===================================================================
--- src/tests/.expect/searchsort.txt	(revision a6151baa3a12bfe16ad97aa148f11da6d2d8d4c3)
+++ src/tests/.expect/searchsort.txt	(revision a6151baa3a12bfe16ad97aa148f11da6d2d8d4c3)
@@ -0,0 +1,16 @@
+10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 
+1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 
+10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 
+
+1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 
+10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 
+10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 
+
+10.5, 9.5, 8.5, 7.5, 6.5, 5.5, 4.5, 3.5, 2.5, 1.5, 
+1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 
+10.5, 9.5, 8.5, 7.5, 6.5, 5.5, 4.5, 3.5, 2.5, 1.5, 
+
+10 11, 9 10, 8 9, 7 8, 6 7, 5 6, 4 5, 3 4, 2 3, 1 2, 
+1 2, 2 3, 3 4, 4 5, 5 6, 6 7, 7 8, 8 9, 9 10, 10 11, 
+10 11, 9 10, 8 9, 7 8, 6 7, 5 6, 4 5, 3 4, 2 3, 1 2, 
+
Index: src/tests/io.c
===================================================================
--- src/tests/io.c	(revision 00b7cd3e8a3b65734bb432ac26ee5940a9e3a00c)
+++ src/tests/io.c	(revision a6151baa3a12bfe16ad97aa148f11da6d2d8d4c3)
@@ -1,3 +1,2 @@
-//                               -*- Mode: C -*- 
 // 
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -11,6 +10,6 @@
 // Created On       : Wed Mar  2 16:56:02 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Jun  8 22:52:04 2016
-// Update Count     : 30
+// Last Modified On : Tue Jul  5 18:29:23 2016
+// Update Count     : 31
 // 
 
Index: src/tests/rational.c
===================================================================
--- src/tests/rational.c	(revision 00b7cd3e8a3b65734bb432ac26ee5940a9e3a00c)
+++ src/tests/rational.c	(revision a6151baa3a12bfe16ad97aa148f11da6d2d8d4c3)
@@ -1,3 +1,2 @@
-//                               -*- Mode: C -*- 
 // 
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -11,6 +10,6 @@
 // Created On       : Mon Mar 28 08:43:12 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May  4 14:19:36 2016
-// Update Count     : 24
+// Last Modified On : Tue Jul  5 18:29:37 2016
+// Update Count     : 25
 // 
 
Index: src/tests/searchsort.c
===================================================================
--- src/tests/searchsort.c	(revision a6151baa3a12bfe16ad97aa148f11da6d2d8d4c3)
+++ src/tests/searchsort.c	(revision a6151baa3a12bfe16ad97aa148f11da6d2d8d4c3)
@@ -0,0 +1,101 @@
+// 
+// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+// 
+// searchsort.c -- 
+// 
+// Author           : Peter A. Buhr
+// Created On       : Thu Feb  4 18:17:50 2016
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Tue Jul  5 18:06:07 2016
+// Update Count     : 56
+// 
+
+#include <fstream>
+#include <stdlib>										// bsearch, qsort
+
+int main( void ) {
+	const unsigned int size = 10;
+	int iarr[size];
+
+	for ( unsigned int i = 0; i < size; i += 1 ) {
+		iarr[i] = size - i;
+		sout | iarr[i] | ", ";
+	} // for
+	sout | endl;
+	qsort( iarr, size );
+	for ( unsigned int i = 0; i < size; i += 1 ) {
+		sout | iarr[i] | ", ";
+	} // for
+	sout | endl;
+	for ( unsigned int i = 0; i < size; i += 1 ) {
+		int *v = bsearch( size - i, iarr, size );
+		sout | *v | ", ";
+	} // for
+	sout | endl | endl;
+
+	// descending sort/search by changing < to >
+	for ( unsigned int i = 0; i < size; i += 1 ) {
+		iarr[i] = i + 1;
+		sout | iarr[i] | ", ";
+	} // for
+	sout | endl;
+	{
+		int ?<?( int x, int y ) { return x > y; }
+		qsort( iarr, size );
+		for ( unsigned int i = 0; i < size; i += 1 ) {
+			sout | iarr[i] | ", ";
+		} // for
+		sout | endl;
+		for ( unsigned int i = 0; i < size; i += 1 ) {
+			int *v = bsearch( size - i, iarr, size );
+			sout | *v | ", ";
+		} // for
+	}
+	sout | endl | endl;
+
+	double darr[size];
+	for ( unsigned int i = 0; i < size; i += 1 ) {
+		darr[i] = size - i + 0.5;
+		sout | darr[i] | ", ";
+	} // for
+	sout | endl;
+	qsort( darr, size );
+	for ( unsigned int i = 0; i < size; i += 1 ) {
+		sout | darr[i] | ", ";
+	} // for
+	sout | endl;
+	for ( unsigned int i = 0; i < size; i += 1 ) {
+		double *v = bsearch( size - i + 0.5, darr, size );
+		sout | *v | ", ";
+	} // for
+	sout | endl | endl;
+
+	struct S { int i, j; } sarr[size];
+	int ?<?( S t1, S t2 ) { return t1.i < t2.i && t1.j < t2.j; }
+	ofstream * ?|?( ofstream * os, S v ) { return os | v.i | ' ' | v.j; }
+	for ( unsigned int i = 0; i < size; i += 1 ) {
+		sarr[i].i = size - i;
+		sarr[i].j = size - i + 1;
+		sout | sarr[i] | ", ";
+	} // for
+	sout | endl;
+	qsort( sarr, size );
+	for ( unsigned int i = 0; i < size; i += 1 ) {
+		sout | sarr[i] | ", ";
+	} // for
+	sout | endl;
+	for ( unsigned int i = 0; i < size; i += 1 ) {
+		S temp = { size - i, size - i + 1 };
+		S *v = bsearch( temp, sarr, size );
+		sout | *v | ", ";
+	} // for
+	sout | endl | endl;
+} // main
+
+// Local Variables: //
+// tab-width: 4 //
+// compile-command: "cfa searchsort.c" //
+// End: //
