// Times.v 行列積を計算します module Times(in1,in2:input,out:output) int in1 on row; // 入力1、行ごとに分割 int in2 on column; // 入力2、列ごとに分割 int out on pixel; // 出力、要素ごと(画素ごと)に分割 { parallel{ int i; int length; // 行、あるいは列の長さ int dt = 0; // 1つの要素につき入力1の1行、入力2の1列の積をとります for(i = 0; i < 512; i++) dt += in1[i][]*in2[][i]; out[][] = dt; } }