circomlib/test/circuits/mux4_1.circom
test/circuits/mux4_1.circomRaw
1include "../../circuit/mux4.circom";
2include "../../node_modules/circom/circuits/bitify.circom";
3
4
5template Constants() {
6 var i;
7 signal output out[16];
8
9 out[0] <== 123;
10 out[1] <== 456;
11 out[2] <== 789;
12 out[3] <== 012;
13 out[4] <== 111;
14 out[5] <== 222;
15 out[6] <== 333;
16 out[7] <== 4546;
17 out[8] <== 134523;
18 out[9] <== 44356;
19 out[10] <== 15623;
20 out[11] <== 4566;
21 out[12] <== 1223;
22 out[13] <== 4546;
23 out[14] <== 4256;
24 out[15] <== 4456;
25
26/*
27 for (i=0;i<16; i++) {
28 out[i] <== i*2+100;
29 }
30*/
31
32}
33
34template Main() {
35 var i;
36 signal private input selector;
37 signal output out;
38
39 component mux = Mux4();
40 component n2b = Num2Bits(4);
41 component cst = Constants();
42
43 selector ==> n2b.in;
44 for (i=0; i<4; i++) {
45 n2b.out[i] ==> mux.s[i];
46 }
47 for (i=0; i<16; i++) {
48 cst.out[i] ==> mux.c[i];
49 }
50
51 mux.out ==> out;
52}
53
54component main = Main();