grapevine-sonobe/circom/node_modules/circomlib/test/circuits/binsub_test.circom
circom/node_modules/circomlib/test/circuits/binsub_test.circomRaw
1pragma circom 2.0.0;
2
3include "../../circuits/bitify.circom";
4include "../../circuits/binsub.circom";
5
6template A() {
7 signal input a; //private
8 signal input b;
9 signal output out;
10
11 var i;
12
13 component n2ba = Num2Bits(16);
14 component n2bb = Num2Bits(16);
15 component sub = BinSub(16);
16 component b2n = Bits2Num(16);
17
18 n2ba.in <== a;
19 n2bb.in <== b;
20
21 for (i=0; i<16; i++) {
22 sub.in[0][i] <== n2ba.out[i];
23 sub.in[1][i] <== n2bb.out[i];
24 }
25
26 for (i=0; i<16; i++) {
27 b2n.in[i] <== sub.out[i];
28 }
29
30 out <== b2n.out;
31}
32
33component main = A();