dol: initial dol commit
[jump.git] / dol / examples / example1 / src / arraygen.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <time.h>
4
5 #include "arragygen.h"
6
7 // initialization function
8 void arraygen_init(DOLProcess *p) {
9     p->local->index = 0;
10     srand((unsigned) time(NULL));
11     //p->local->len = LENGTH;
12 }
13
14 int arraygen_fire(DOLProcess *p) {
15
16     
17   /* generate a random integer array of length L */
18   //int num = rand() % 1000;
19
20   int i;
21   int len = LENGTH;
22   int * array;
23   array = (int *) malloc(sizeof(int)*len);
24
25   for(i=0;i<len;i++)
26     array[i] = rand() % (len*2);
27  
28 #if DEBUG 
29   for(i=0;i<LENGTH;i++)
30     printf("%d ", array[i]);
31   printf("\n");
32   printf("generated\n");
33 #endif
34
35   DOL_write((void*)PORT_OUT1, &(len), sizeof(int), p);
36   DOL_write((void*)PORT_OUT2, array, sizeof(int)*length, p);
37
38   free(array);
39   DOL_detach(p);
40   return -1;
41     
42 }