Index: trunk/Ohana/src/opihi/cmd.data/create.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/create.c	(revision 12332)
+++ trunk/Ohana/src/opihi/cmd.data/create.c	(revision 20936)
@@ -3,8 +3,14 @@
 int create (int argc, char **argv) {
   
-  int i;
+  int i, N, INT;
   float start, end, delta;
   Vector *vec;
   
+  INT = FALSE;
+  if ((N = get_argument (argc, argv, "-int"))) {
+    INT = TRUE;
+    remove_argument (N, &argc, argv);
+  }
+
   if ((argc != 5) && (argc != 4)) {
     gprint (GP_ERR, "USAGE: create vector start end [delta]\n");
@@ -27,9 +33,23 @@
   }
 
+  if (INT && (delta != (int)delta)) {
+    gprint (GP_ERR, "integer vector requested but fractional step-size specified\n");
+    return (FALSE);
+  }
+
   vec[0].Nelements = (end - start) / delta;
-  REALLOCATE (vec[0].elements, float, vec[0].Nelements);
 
-  for (i = 0; i < vec[0].Nelements; i++) {
-    vec[0].elements[i] = start + i*delta;
+  if (INT) {
+    vec[0].type = OPIHI_INT;
+    REALLOCATE (vec[0].elements.Int, opihi_int, vec[0].Nelements);
+    for (i = 0; i < vec[0].Nelements; i++) {
+      vec[0].elements.Int[i] = start + i*delta;
+    }
+  } else {
+    vec[0].type = OPIHI_FLT;
+    REALLOCATE (vec[0].elements.Flt, opihi_flt, vec[0].Nelements);
+    for (i = 0; i < vec[0].Nelements; i++) {
+      vec[0].elements.Flt[i] = start + i*delta;
+    }
   }
 
