mirror of
https://github.com/arnaucube/circom.git
synced 2026-02-07 11:16:42 +01:00
C generation
This commit is contained in:
@@ -1,18 +1,54 @@
|
||||
template Internal() {
|
||||
signal input in;
|
||||
signal output out;
|
||||
signal input in1;
|
||||
signal input in2[2];
|
||||
signal input in3[3][2];
|
||||
|
||||
out <== in;
|
||||
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 in;
|
||||
signal output out;
|
||||
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.in <== in;
|
||||
internal.out ==> out;
|
||||
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();
|
||||
|
||||
Reference in New Issue
Block a user