view src/parallel_execution/examples/twice/createArray.cbc @ 410:85b0ddbf458e

Fix CudaWorker
author Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
date Thu, 14 Sep 2017 02:35:20 +0900
parents 4d1e3697a6b8
children 7679093bdd72
line wrap: on
line source

#include <stdio.h>

#include "../../../context.h"

extern int length;
extern int split;
extern int* array_ptr;

__code createArray(__code next(struct Array* output, ...)) {
    struct Array* output = *O_output;
    output->prefix = length/split;
    output->array  = array_ptr;
    output->size   = length;
    *O_output = output;
    printf("created Array\n");
    goto meta(context, context->next);
}

__code createArray_stub(struct Context* context) {
    Array** O_output = (struct Array **)&context->data[context->odg];
    goto createArray(context,
                     context->next,
                     O_output);
}