Mercurial > hg > GearsTemplate
view src/parallel_execution/examples/twice/printArray.cbc @ 462:8d7e5d48cad3
Running CPU examples
author | Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 20 Dec 2017 22:05:08 +0900 |
parents | eab6f8cd2820 |
children | 7d67c9cf09ee |
line wrap: on
line source
#include "../../../context.h" #include <stdio.h> __code printArray(struct Array* array, struct Time* inputTime, __code next(...)){ Gearef(context, Time)->time = (union Data*)inputTime; Gearef(context, Time)->next = C_printArray1; goto meta(context, inputTime->end); } __code printArray_stub(struct Context* context) { goto printArray(context, &context->data[context->idg]->Array, &context->data[context->idg+1]->Time, context->next); } __code printArray1(struct Array* array, __code next(...), struct LoopCounter* loopCounter){ int i = loopCounter->i; //printf("%d\n", array->array[i]); if(i < GET_LEN(array->array)) { if (array->array[i] == i*2) { loopCounter->i++; goto meta(context, C_printArray1); } else { printf("wrong result\n"); } } loopCounter->i = 0; goto meta(context, next); } __code printArray1_stub(struct Context* context) { goto printArray1(context, &context->data[context->idg]->Array, context->next, Gearef(context, LoopCounter)); }