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