mirror of
https://github.com/arnaucube/circom.git
synced 2026-02-06 18:56:40 +01:00
functions added
This commit is contained in:
@@ -19,6 +19,14 @@ async function doTest(circuit, testVectors) {
|
||||
|
||||
describe("basic cases", function () {
|
||||
this.timeout(100000);
|
||||
it("inout", async () => {
|
||||
await doTest(
|
||||
"inout.circom",
|
||||
[
|
||||
[{in1: 1, in2: [2,3], in3:[[4,5], [6,7], [8,9]]}, {out1: 1, out2: [2,3], out3: [[4,5], [6,7],[8,9]]}],
|
||||
]
|
||||
);
|
||||
});
|
||||
it("add", async () => {
|
||||
await doTest(
|
||||
"add.circom",
|
||||
@@ -59,4 +67,24 @@ describe("basic cases", function () {
|
||||
]
|
||||
);
|
||||
});
|
||||
it("function1", async () => {
|
||||
await doTest(
|
||||
"function1.circom",
|
||||
[
|
||||
[{in: 0}, {out: 3}],
|
||||
[{in: 10}, {out: 13}],
|
||||
[{in: __P__.minus(2)}, {out: 1}],
|
||||
]
|
||||
);
|
||||
});
|
||||
it("function2", async () => {
|
||||
await doTest(
|
||||
"function2.circom",
|
||||
[
|
||||
[{in: 0}, {out: 3}],
|
||||
[{in: 10}, {out: 13}],
|
||||
[{in: __P__.minus(2)}, {out: 1}],
|
||||
]
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
{"in":[1,2]}
|
||||
12
test/circuits/function1.circom
Normal file
12
test/circuits/function1.circom
Normal file
@@ -0,0 +1,12 @@
|
||||
function func1(a,b) {
|
||||
return a+b;
|
||||
}
|
||||
|
||||
template Main() {
|
||||
signal input in;
|
||||
signal output out;
|
||||
|
||||
out <== func1(in, 3);
|
||||
}
|
||||
|
||||
component main = Main();
|
||||
13
test/circuits/function2.circom
Normal file
13
test/circuits/function2.circom
Normal file
@@ -0,0 +1,13 @@
|
||||
function fnConst(a,b) {
|
||||
return a+b;
|
||||
}
|
||||
|
||||
template Main() {
|
||||
signal input in;
|
||||
signal output out;
|
||||
|
||||
var a = fnConst(1,2);
|
||||
out <== in +a;
|
||||
}
|
||||
|
||||
component main = Main();
|
||||
@@ -1,5 +0,0 @@
|
||||
[
|
||||
"1"
|
||||
,"0"
|
||||
,"0"
|
||||
]
|
||||
@@ -1,19 +0,0 @@
|
||||
const path = require("path");
|
||||
|
||||
const c_tester = require("../index.js").c_tester;
|
||||
// const stringifyBigInts = require("snarkjs").stringifyBigInts;
|
||||
|
||||
|
||||
describe("inout test", function () {
|
||||
this.timeout(100000);
|
||||
it("Should compile a code with vars inside a for", async () => {
|
||||
const cir = await c_tester(path.join(__dirname, "circuits", "inout.circom"));
|
||||
|
||||
const out = await cir.calculateWitness({in1: 1, in2: [2,3], in3:[[4,5], [6,7], [8,9]]});
|
||||
|
||||
// console.log(JSON.stringify(stringifyBigInts(out),null,1));
|
||||
await cir.assertOut(out, {out1: 1, out2: [2,3], out3: [[4,5], [6,7],[8,9]]} );
|
||||
|
||||
await cir.release();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user