arnaucube
arnaucube/circomPublic Self-hosted repository
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);