dol: initial dol commit
[jump.git] / dol / examples / example4 / src / addmult.c
1 #include <stdio.h>
2 #include "addmult.h"
3
4 void addmult_init(DOLProcess *p)
5 {
6   sprintf(p->local->id, "addmult_%d_%d_%d",
7           GETINDEX(0),
8           GETINDEX(1),
9           GETINDEX(2));
10 }
11
12
13 int addmult_fire(DOLProcess *p)
14 {
15   float factor1, factor2, summand;
16
17   DOL_read((void*)PORT_FACTOR1, &factor1, sizeof(float), p);
18   DOL_read((void*)PORT_FACTOR2, &factor2, sizeof(float), p);
19   DOL_read((void*)PORT_SUMMAND, &summand, sizeof(float), p);
20   p->local->sum = factor1 * factor2 + summand;
21   DOL_write((void*)PORT_SUM, &(p->local->sum), sizeof(float), p);
22
23   printf("%15s: %f * %f + %f = %f\n",
24          p->local->id, factor1, factor2, summand, p->local->sum);
25
26   return 0;
27 }
28