dol: initial dol commit
[jump.git] / dol / examples / example1 / src / square.c
1 #include <stdio.h>
2
3 #include "square.h"
4
5 void square_init(DOLProcess *p) {
6     p->local->index = 0;
7     p->local->len = LENGTH;
8 }
9
10 int square_fire(DOLProcess *p) {
11     float i;
12
13     if (p->local->index < p->local->len) {
14         DOL_read((void*)PORT_IN, &i, sizeof(float), p);
15         i = i*i;
16         DOL_write((void*)PORT_OUT, &i, sizeof(float), p);
17         p->local->index++;
18     }
19
20     if (p->local->index >= p->local->len) {
21         DOL_detach(p);
22         return -1;
23     }
24
25     return 0;
26 }
27