7 Input_generator_State input_generator_state =
8 { matrixA: MATRIX_A_INITIAL_VALUE, matrixB: MATRIX_B_INITIAL_VALUE };
10 void input_generator_init(DOLProcess *p)
12 for (p->local->row = 0; p->local->row < NUMBER_OF_ROWS_COLS; p->local->row++)
14 for (p->local->col = 0; p->local->col < NUMBER_OF_ROWS_COLS; p->local->col++)
16 p->local->matrixA[p->local->row][p->local->col] = (NUMBER_OF_ROWS_COLS * p->local->row) + p->local->col + 1;
17 p->local->matrixB[p->local->row][p->local->col] = -((NUMBER_OF_ROWS_COLS * p->local->row) + p->local->col);
23 int input_generator_fire(DOLProcess *p)
27 for (p->local->row = 0; p->local->row < NUMBER_OF_ROWS_COLS; p->local->row++)
29 for (p->local->col = 0; p->local->col < NUMBER_OF_ROWS_COLS; p->local->col++)
31 CREATEPORT(port, PORT_ZEROINPUT, 1,
32 p->local->row * NUMBER_OF_ROWS_COLS + p->local->col, NUMBER_OF_ROWS_COLS
33 * NUMBER_OF_ROWS_COLS);
34 printf("%15s: Write to zeroinput_%d: %f\n", "input_generator",
35 p->local->row * NUMBER_OF_ROWS_COLS + p->local->col, 0.0);
36 DOL_write((void*)port, &(p->local->zero), sizeof(float), p);
38 for (p->local->i = 0; p->local->i < NUMBER_OF_ROWS_COLS; p->local->i++)
40 CREATEPORT(port, PORT_MATRIXA, 3,
41 p->local->row, NUMBER_OF_ROWS_COLS,
42 p->local->col, NUMBER_OF_ROWS_COLS,
43 p->local->i, NUMBER_OF_ROWS_COLS);
44 printf("%15s: Write to matrixA_%d_%d_%d: %f\n",
45 "input_generator", p->local->i, p->local->row, p->local->col,
46 p->local->matrixA[p->local->row][p->local->col]);
47 DOL_write((void*)port, &(p->local->matrixA[p->local->row][p->local->col]),
49 CREATEPORT(port, PORT_MATRIXB, 3,
50 p->local->row, NUMBER_OF_ROWS_COLS,
51 p->local->col, NUMBER_OF_ROWS_COLS,
52 p->local->i, NUMBER_OF_ROWS_COLS);
53 printf("%15s: Write to matrixB_%d_%d_%d: %f\n",
54 "input_generator", p->local->i, p->local->row, p->local->col,
55 p->local->matrixB[p->local->row][p->local->col]);
56 DOL_write((void*)port, &(p->local->matrixB[p->local->row][p->local->col]),