507
|
1 #include <stdio.h>
|
|
2 #include <string.h>
|
|
3 #include "ChainInit.h"
|
|
4 #include "Func.h"
|
|
5
|
|
6 /* これは必須 */
|
|
7 SchedDefineTask(ChainInit);
|
|
8
|
|
9 /*
|
|
10 spe の global 領域に MemList を生成する
|
|
11 */
|
|
12
|
|
13 typedef struct {
|
|
14 double x, y, next_x, next_y;
|
|
15 double vx, vy, next_vx, next_vy;
|
|
16 int can_move;
|
|
17 uint32 parent;
|
|
18 } CHAIN_VARS;
|
|
19
|
|
20
|
|
21 static int
|
|
22 run(SchedTask *s,void *rbuf, void *wbuf)
|
|
23 {
|
|
24 CHAIN_VARS* idata = (CHAIN_VARS*)s->get_input(rbuf, 0);
|
|
25 uint32 chain_len = s->get_param(0);
|
|
26
|
|
27 // property は spe 上で allocate している(global)
|
|
28 CHAIN_VARS *property = (CHAIN_VARS*)s->global_alloc(DATA_ID, sizeof(CHAIN_VARS)*chain_len);
|
|
29 memcpy(property, idata, sizeof(CHAIN_VARS)*chain_len);
|
|
30
|
|
31 return 0;
|
|
32 }
|