X-Git-Url: http://sraa.de/git/?a=blobdiff_plain;f=dol%2Fexamples%2Fexample4%2Fsrc%2Faddmult.c;fp=dol%2Fexamples%2Fexample4%2Fsrc%2Faddmult.c;h=00ef15e27c4d60e1baab46c811773fdf4510e2a2;hb=8c411cf24ed0eb889191aaeafd8fa1e69081df42;hp=0000000000000000000000000000000000000000;hpb=dea7a4fb1ed110d3ce6e6d9255103d724bd66c0e;p=jump.git diff --git a/dol/examples/example4/src/addmult.c b/dol/examples/example4/src/addmult.c new file mode 100644 index 0000000..00ef15e --- /dev/null +++ b/dol/examples/example4/src/addmult.c @@ -0,0 +1,28 @@ +#include +#include "addmult.h" + +void addmult_init(DOLProcess *p) +{ + sprintf(p->local->id, "addmult_%d_%d_%d", + GETINDEX(0), + GETINDEX(1), + GETINDEX(2)); +} + + +int addmult_fire(DOLProcess *p) +{ + float factor1, factor2, summand; + + DOL_read((void*)PORT_FACTOR1, &factor1, sizeof(float), p); + DOL_read((void*)PORT_FACTOR2, &factor2, sizeof(float), p); + DOL_read((void*)PORT_SUMMAND, &summand, sizeof(float), p); + p->local->sum = factor1 * factor2 + summand; + DOL_write((void*)PORT_SUM, &(p->local->sum), sizeof(float), p); + + printf("%15s: %f * %f + %f = %f\n", + p->local->id, factor1, factor2, summand, p->local->sum); + + return 0; +} +