arnaucube
arnaucube/circomlibPublic Self-hosted repository
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();