roll unrolled loops with code

This commit is contained in:
Jordi Baylina
2019-12-10 18:46:10 +01:00
parent afa8201c2c
commit ec0e7f421b
9 changed files with 96 additions and 22 deletions

View File

@@ -287,4 +287,15 @@ describe("basic cases", function () {
]
);
});
it("Component array ", async () => {
await doTest(
"componentarray.circom",
[
[{in: 1}, {out: 1}],
[{in: 2}, {out: 256}],
[{in: 3}, {out: 6561}],
[{in:-1}, {out: 1}],
]
);
});
});

View File

@@ -0,0 +1,28 @@
template Square() {
signal input in;
signal output out;
out <== in*in;
}
template Main(n) {
signal input in;
signal output out;
component squares[n];
var i;
for (i=0; i<n; i++) {
squares[i] = Square();
if (i==0) {
squares[i].in <== in;
} else {
squares[i].in <== squares[i-1].out;
}
}
squares[n-1].out ==> out;
}
component main = Main(3);