|
|
template Internal() { signal input in1; signal input in2[2]; signal input in3[3][2];
signal output out1; signal output out2[2]; signal output out3[3][2];
out1 <== in1; out2[0] <== in2[0]; out2[1] <== in2[1];
out3[0][0] <== in3[0][0]; out3[0][1] <== in3[0][1]; out3[1][0] <== in3[1][0]; out3[1][1] <== in3[1][1]; out3[2][0] <== in3[2][0]; out3[2][1] <== in3[2][1]; }
template InOut() { signal input in1; signal input in2[2]; signal input in3[3][2];
signal output out1; signal output out2[2]; signal output out3[3][2];
component internal = Internal();
internal.in1 <== in1; internal.in2[0] <== in2[0]; internal.in2[1] <== in2[1]; internal.in3[0][0] <== in3[0][0]; internal.in3[0][1] <== in3[0][1]; internal.in3[1][0] <== in3[1][0]; internal.in3[1][1] <== in3[1][1]; internal.in3[2][0] <== in3[2][0]; internal.in3[2][1] <== in3[2][1];
internal.out1 ==> out1; internal.out2[0] ==> out2[0]; internal.out2[1] ==> out2[1]; internal.out3[0][0] ==> out3[0][0]; internal.out3[0][1] ==> out3[0][1]; internal.out3[1][0] ==> out3[1][0]; internal.out3[1][1] ==> out3[1][1]; internal.out3[2][0] ==> out3[2][0]; internal.out3[2][1] ==> out3[2][1]; }
component main = InOut();
|