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();