dol: initial dol commit
[jump.git] / dol / examples / examplewindowedfifo / src / generator.c
1 #include <stdio.h>
2 #include <string.h>
3
4 #include "generator.h"
5
6 // initialization function
7 void generator_init(DOLProcess *p) {
8     p->local->index = 0;
9     p->local->len = LENGTH;
10 }
11
12 int generator_fire(DOLProcess *p) {
13
14     if (p->local->index < p->local->len) {
15         float *x;
16         DOL_reserve((void*)PORT_OUT, &x, sizeof(float), p);
17         *x = (float)p->local->index;
18         DOL_release((void*)PORT_OUT, p);
19         p->local->index++;
20     }
21
22     if (p->local->index >= p->local->len) {
23         DOL_detach(p);
24         return -1;
25     }
26
27     return 0;
28 }
29