arnaucube
arnaucube/grapevine-sonobePublic Self-hosted repository
grapevine-sonobe/circom/node_modules/circomlib/test/circuits/mux3_1.circom
circom/node_modules/circomlib/test/circuits/mux3_1.circomRaw
 1pragma circom 2.0.0;
 2
 3include "../../circuits/mux3.circom";
 4include "../../circuits/bitify.circom";
 5
 6
 7template Constants() {
 8    var i;
 9    signal output out[8];
10
11    out[0] <== 37;
12    out[1] <== 47;
13    out[2] <== 53;
14    out[3] <== 71;
15    out[4] <== 89;
16    out[5] <== 107;
17    out[6] <== 163;
18    out[7] <== 191;
19}
20
21template Main() {
22    var i;
23    signal input selector;//private
24    signal output out;
25
26    component mux = Mux3();
27    component n2b = Num2Bits(3);
28    component cst = Constants();
29
30    selector ==> n2b.in;
31    for (i=0; i<3; i++) {
32        n2b.out[i] ==> mux.s[i];
33    }
34    for (i=0; i<8; i++) {
35        cst.out[i] ==> mux.c[i];
36    }
37
38    mux.out ==> out;
39}
40
41component main = Main();