dol: initial dol commit
[jump.git] / dol / examples / example1 / src / arraygen.c
diff --git a/dol/examples/example1/src/arraygen.c b/dol/examples/example1/src/arraygen.c
new file mode 100644 (file)
index 0000000..14b3fed
--- /dev/null
@@ -0,0 +1,42 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+
+#include "arragygen.h"
+
+// initialization function
+void arraygen_init(DOLProcess *p) {
+    p->local->index = 0;
+    srand((unsigned) time(NULL));
+    //p->local->len = LENGTH;
+}
+
+int arraygen_fire(DOLProcess *p) {
+
+    
+  /* generate a random integer array of length L */
+  //int num = rand() % 1000;
+
+  int i;
+  int len = LENGTH;
+  int * array;
+  array = (int *) malloc(sizeof(int)*len);
+
+  for(i=0;i<len;i++)
+    array[i] = rand() % (len*2);
+#if DEBUG 
+  for(i=0;i<LENGTH;i++)
+    printf("%d ", array[i]);
+  printf("\n");
+  printf("generated\n");
+#endif
+
+  DOL_write((void*)PORT_OUT1, &(len), sizeof(int), p);
+  DOL_write((void*)PORT_OUT2, array, sizeof(int)*length, p);
+
+  free(array);
+  DOL_detach(p);
+  return -1;
+    
+}