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