Index: src/tests/array.c
===================================================================
--- src/tests/array.c	(revision 6cbc25aec785c39eb8b565ef2c369a483d89f4c6)
+++ src/tests/array.c	(revision 6cbc25aec785c39eb8b565ef2c369a483d89f4c6)
@@ -0,0 +1,41 @@
+//
+// 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.
+//
+// array.c --
+//
+// Author           : Richard C. Bilson
+// Created On       : Wed May 27 17:56:53 2015
+// Last Modified By : Rob Schluntz
+// Last Modified On : Wed Apr 27 17:21:52 2016
+// Update Count     : 3
+//
+
+#include "array.h"
+
+/// forall( otype array_type, elt_type | bounded_array( array_type, elt_type ) )
+/// [ array_iterator begin, array_iterator end ]
+/// get_iterators( array_type array )
+/// {
+///   begin = 0;
+///   end = last( array );
+/// }
+
+// The first element is always at index 0.
+forall( otype array_type, otype elt_type | bounded_array( array_type, elt_type ) )
+elt_type * begin( array_type * array ) {
+	return &array[ 0 ];
+}
+
+// The end iterator should point one past the last element.
+forall( otype array_type, otype elt_type | bounded_array( array_type, elt_type ) )
+elt_type * end( array_type * array ) {
+	return &array[ last( array ) ] + 1;
+}
+
+// Local Variables: //
+// tab-width: 4 //
+// compile-command: "cfa array.c" //
+// End: //
Index: src/tests/vector_int.c
===================================================================
--- src/tests/vector_int.c	(revision 6cbc25aec785c39eb8b565ef2c369a483d89f4c6)
+++ src/tests/vector_int.c	(revision 6cbc25aec785c39eb8b565ef2c369a483d89f4c6)
@@ -0,0 +1,77 @@
+//
+// 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.
+//
+// vector_int.c --
+//
+// Author           : Richard C. Bilson
+// Created On       : Wed May 27 17:56:53 2015
+// Last Modified By : Rob Schluntz
+// Last Modified On : Wed Apr 27 17:27:12 2016
+// Update Count     : 3
+//
+
+#include "vector_int.h"
+extern "C" {
+#include <stdlib.h>
+#include <assert.h>
+}
+
+#define DEFAULT_CAPACITY 20
+
+void ?{}( vector_int * vec ) {
+	vec { DEFAULT_CAPACITY };
+}
+
+void ?{}( vector_int * vec, int reserve ) {
+	vec->last = -1;
+	vec->capacity = reserve;
+	vec->data = malloc( sizeof( int ) * reserve );
+}
+
+void ?{}( vector_int * vec, vector_int other ) {
+	vec->last = other.last;
+	vec->capacity = other.capacity;
+	vec->data = malloc( sizeof( int ) * other.capacity );
+	for (int i = 0; i < vec->last; i++) {
+		vec->data[i] = other.data[i];
+	}
+}
+
+void ^?{}( vector_int * vec ) {
+	free( vec->data );
+}
+
+void reserve( vector_int *vec, int reserve ) {
+	if ( reserve > vec->capacity ) {
+		vec->data = realloc( vec->data, sizeof( int ) * reserve );
+		vec->capacity = reserve;
+	}
+}
+
+void append( vector_int *vec, int element ) {
+	vec->last++;
+	if ( vec->last == vec->capacity ) {
+		vec->capacity *= 2;
+		vec->data = realloc( vec->data, sizeof( int ) * vec->capacity );
+	}
+	vec->data[ vec->last ] = element;
+}
+
+// implement bounded_array
+
+lvalue int ?[?]( vector_int * vec, int index ) {
+	return vec->data[ index ];
+}
+
+int last( vector_int * vec ) {
+	return vec->last;
+}
+
+
+// Local Variables: //
+// tab-width: 4 //
+// compile-command: "cfa vector_int.c" //
+// End: //
