mirror of
https://github.com/arnaucube/circom.git
synced 2026-02-07 11:16:42 +01:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f25842f67c | ||
|
|
92399017df | ||
|
|
1463685b11 | ||
|
|
a1ae6e4a44 | ||
|
|
c7c6b799ad | ||
|
|
b107a11432 |
8
package-lock.json
generated
8
package-lock.json
generated
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "circom",
|
"name": "circom",
|
||||||
"version": "0.5.5",
|
"version": "0.5.7",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -592,9 +592,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ffjavascript": {
|
"ffjavascript": {
|
||||||
"version": "0.0.4",
|
"version": "0.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.0.5.tgz",
|
||||||
"integrity": "sha512-6eiRvy+YuGCRjH4U8KdJbRel5VBW0zeuUL1FXQ+fFxTp5xv2ClqTfCYf5ClUtq0voGpd9XJAdUCvgIxHDbAQ0Q==",
|
"integrity": "sha512-7je6PydOWLDUj3vU8JeCUgeezg4yrG/6qjlukQNuPHeeavnM4REcrN9LA2+xtqIMIPdx/wdUkPMQpixsz+CdIw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"big-integer": "^1.6.48"
|
"big-integer": "^1.6.48"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "circom",
|
"name": "circom",
|
||||||
"version": "0.5.5",
|
"version": "0.5.7",
|
||||||
"description": "Language to generate logic circuits",
|
"description": "Language to generate logic circuits",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"directories": {
|
"directories": {
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
"chai": "^4.2.0",
|
"chai": "^4.2.0",
|
||||||
"circom_runtime": "0.0.3",
|
"circom_runtime": "0.0.3",
|
||||||
"ffiasm": "0.0.2",
|
"ffiasm": "0.0.2",
|
||||||
"ffjavascript": "0.0.4",
|
"ffjavascript": "0.0.5",
|
||||||
"ffwasm": "0.0.6",
|
"ffwasm": "0.0.6",
|
||||||
"fnv-plus": "^1.3.1",
|
"fnv-plus": "^1.3.1",
|
||||||
"r1csfile": "0.0.3",
|
"r1csfile": "0.0.3",
|
||||||
|
|||||||
@@ -42,11 +42,14 @@ async function c_tester(circomFile, _options) {
|
|||||||
await fs.promises.writeFile(path.join(dir.path, "fr.h"), source.h, "utf8");
|
await fs.promises.writeFile(path.join(dir.path, "fr.h"), source.h, "utf8");
|
||||||
await fs.promises.writeFile(path.join(dir.path, "fr.c"), source.c, "utf8");
|
await fs.promises.writeFile(path.join(dir.path, "fr.c"), source.c, "utf8");
|
||||||
|
|
||||||
|
let pThread = "";
|
||||||
|
|
||||||
if (process.platform === "darwin") {
|
if (process.platform === "darwin") {
|
||||||
await exec("nasm -fmacho64 --prefix _ " +
|
await exec("nasm -fmacho64 --prefix _ " +
|
||||||
` ${path.join(dir.path, "fr.asm")}`
|
` ${path.join(dir.path, "fr.asm")}`
|
||||||
);
|
);
|
||||||
} else if (process.platform === "linux") {
|
} else if (process.platform === "linux") {
|
||||||
|
pThread = "-pthread";
|
||||||
await exec("nasm -felf64 " +
|
await exec("nasm -felf64 " +
|
||||||
` ${path.join(dir.path, "fr.asm")}`
|
` ${path.join(dir.path, "fr.asm")}`
|
||||||
);
|
);
|
||||||
@@ -54,7 +57,7 @@ async function c_tester(circomFile, _options) {
|
|||||||
|
|
||||||
const cdir = path.join(path.dirname(require.resolve("circom_runtime")), "c");
|
const cdir = path.join(path.dirname(require.resolve("circom_runtime")), "c");
|
||||||
|
|
||||||
await exec("g++" +
|
await exec("g++" + ` ${pThread}` +
|
||||||
` ${path.join(cdir, "main.cpp")}` +
|
` ${path.join(cdir, "main.cpp")}` +
|
||||||
` ${path.join(cdir, "calcwit.cpp")}` +
|
` ${path.join(cdir, "calcwit.cpp")}` +
|
||||||
` ${path.join(cdir, "utils.cpp")}` +
|
` ${path.join(cdir, "utils.cpp")}` +
|
||||||
|
|||||||
@@ -923,41 +923,41 @@ class BuilderWasm {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_buildComponents(module) {
|
_buildComponents(module) {
|
||||||
const bytes = [];
|
const bytes = new Array(this.components.length*5*4);
|
||||||
|
bytes.length=0;
|
||||||
for (let i=0; i<this.components.length; i++) {
|
for (let i=0; i<this.components.length; i++) {
|
||||||
const c = this.components[i];
|
const c = this.components[i];
|
||||||
|
|
||||||
bytes.push(intToBytes32(this.hashMaps[c.hashMapName].pointer));
|
bytes.push(...intToBytes32(this.hashMaps[c.hashMapName].pointer));
|
||||||
bytes.push(intToBytes32(this.componentEntriesTables[c.entryTableName].pointer));
|
bytes.push(...intToBytes32(this.componentEntriesTables[c.entryTableName].pointer));
|
||||||
bytes.push(intToBytes32(i));
|
bytes.push(...intToBytes32(i));
|
||||||
bytes.push(intToBytes32(c.nInSignals));
|
bytes.push(...intToBytes32(c.nInSignals));
|
||||||
bytes.push(intToBytes32(c.newThread ? 1 : 0));
|
bytes.push(...intToBytes32(c.newThread ? 1 : 0));
|
||||||
|
|
||||||
module.addFunctionToTable(c.functionName);
|
module.addFunctionToTable(c.functionName);
|
||||||
}
|
}
|
||||||
|
|
||||||
const fBytes = [].concat(...bytes);
|
this.pComponents = module.alloc(bytes);
|
||||||
this.pComponents = module.alloc(fBytes);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_buildMapIsInput(module) {
|
_buildMapIsInput(module) {
|
||||||
const bytes = [];
|
const bytes = new Array(this.mapIsInput.length*4);
|
||||||
|
bytes.length=0;
|
||||||
for (let i=0; i<this.mapIsInput.length; i++) {
|
for (let i=0; i<this.mapIsInput.length; i++) {
|
||||||
bytes.push(intToBytes32(this.mapIsInput[i]));
|
bytes.push(...intToBytes32(this.mapIsInput[i]));
|
||||||
}
|
}
|
||||||
|
|
||||||
const fBytes = [].concat(...bytes);
|
this.pMapIsInput = module.alloc(bytes);
|
||||||
this.pMapIsInput = module.alloc(fBytes);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_buildWit2Sig(module) {
|
_buildWit2Sig(module) {
|
||||||
const bytes = [];
|
const bytes = new Array(this.wit2sig.length*4);
|
||||||
|
bytes.length =0;
|
||||||
for (let i=0; i<this.wit2sig.length; i++) {
|
for (let i=0; i<this.wit2sig.length; i++) {
|
||||||
bytes.push(intToBytes32(this.wit2sig[i]));
|
bytes.push(...intToBytes32(this.wit2sig[i]));
|
||||||
}
|
}
|
||||||
|
|
||||||
const fBytes = [].concat(...bytes);
|
this.pWit2sig = module.alloc(bytes);
|
||||||
this.pWit2sig = module.alloc(fBytes);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_buildCircuitVar(module) {
|
_buildCircuitVar(module) {
|
||||||
|
|||||||
Reference in New Issue
Block a user