circom/test/circuits/componentarray.circom
test/circuits/componentarray.circomRaw
1template Square() {
2 signal input in;
3 signal output out;
4
5 out <== in*in;
6}
7
8template Main(n) {
9 signal input in;
10 signal output out;
11
12 component squares[n];
13
14 var i;
15
16 for (i=0; i<n; i++) {
17 squares[i] = Square();
18 if (i==0) {
19 squares[i].in <== in;
20 } else {
21 squares[i].in <== squares[i-1].out;
22 }
23 }
24
25 squares[n-1].out ==> out;
26}
27
28component main = Main(3);