diff --git a/ports/c/builder.js b/ports/c/builder.js index a1c0ac5..99eaf79 100644 --- a/ports/c/builder.js +++ b/ports/c/builder.js @@ -661,11 +661,6 @@ class BuilderC { async _buildCircuitVar(fdData) { - const pP = fdData.pos; - - const strBuff = new TextEncoder("utf-8").encode(this.header.P.toString()); - await fdData.write(strBuff); - const buff = new Uint8Array(72); const buffV = new DataView(buff.buffer); @@ -673,7 +668,7 @@ class BuilderC { utils.setUint64(buffV, 8, this.pComponents, true); utils.setUint64(buffV, 16, this.pMapIsInput, true); utils.setUint64(buffV, 24, this.pConstants, true); - utils.setUint64(buffV, 32, pP, true); + utils.setUint64(buffV, 32, this.pPriemStr, true); utils.setUint64(buffV, 40, this.pCets, true); buffV.setUint32(48, this.header.NSignals, true); @@ -688,6 +683,16 @@ class BuilderC { await fdData.write(buff); } + async _buildPrimeStr(fdData) { + this.pPriemStr = fdData.pos; + const strBuff = new TextEncoder("utf-8").encode(this.header.P.toString()); + await fdData.write(strBuff); + + const zB = new Uint8Array(1); + zB[0] =0; + await fdData.write(zB); + } + async build(fdCode, fdData) { const encoder = new TextEncoder("utf-8"); @@ -696,6 +701,7 @@ class BuilderC { const code=new BigArray(); this._buildHeader(code); + await this._buildPrimeStr(fdData); await this._buildSizes(fdData); await this._buildConstants(fdData); await this._buildHashMaps(fdData); diff --git a/ports/wasm/build_runtime.js b/ports/wasm/build_runtime.js index ca5a4b9..a299986 100644 --- a/ports/wasm/build_runtime.js +++ b/ports/wasm/build_runtime.js @@ -473,7 +473,7 @@ module.exports = function buildRuntime(module, builder) { ); f.addCode( - c.if( // If ( mapIsInput[s >> 5] & 1 << (s & 0x1f) ) + c.if( // If ( mapIsInput[s >> 5] & (1 << (s & 0x1f)) ) c.i32_and( c.i32_load( c.i32_add( diff --git a/src/r1csfile.js b/src/r1csfile.js index e5eeb94..bddb29d 100644 --- a/src/r1csfile.js +++ b/src/r1csfile.js @@ -8,7 +8,7 @@ module.exports.buildR1cs = buildR1cs; async function buildR1cs(ctx, fileName) { - const fd = await fastFile.createOverride(fileName, 1<<22, 1<<24); + const fd = await fastFile.createOverride(fileName, 1<<24, 1<<22); const buffBigInt = new Uint8Array(ctx.F.n8);