Significant refactor and all tests passing, as well as optimized range check for Goldilocks (#37)

This commit is contained in:
puma314
2023-10-11 18:02:46 -07:00
committed by GitHub
parent 13624e4daf
commit 940c81b212
50 changed files with 1089 additions and 1146 deletions

View File

@@ -36,7 +36,7 @@ func (g *EvaluateGatesChip) computeFilter(
s gl.QuadraticExtensionVariable,
manySelector bool,
) gl.QuadraticExtensionVariable {
glApi := gl.NewChip(g.api)
glApi := gl.New(g.api)
product := gl.OneExtension()
for i := groupRange.start; i < groupRange.end; i++ {
if i == uint64(row) {
@@ -62,7 +62,7 @@ func (g *EvaluateGatesChip) evalFiltered(
groupRange Range,
numSelectors uint64,
) []gl.QuadraticExtensionVariable {
glApi := gl.NewChip(g.api)
glApi := gl.New(g.api)
filter := g.computeFilter(row, groupRange, vars.localConstants[selectorIndex], numSelectors > 1)
vars.RemovePrefix(numSelectors)
@@ -75,7 +75,7 @@ func (g *EvaluateGatesChip) evalFiltered(
}
func (g *EvaluateGatesChip) EvaluateGateConstraints(vars EvaluationVars) []gl.QuadraticExtensionVariable {
glApi := gl.NewChip(g.api)
glApi := gl.New(g.api)
constraints := make([]gl.QuadraticExtensionVariable, g.numGateConstraints)
for i := range constraints {
constraints[i] = gl.ZeroExtension()

View File

@@ -11,7 +11,7 @@ import (
gl "github.com/succinctlabs/gnark-plonky2-verifier/goldilocks"
"github.com/succinctlabs/gnark-plonky2-verifier/plonk/gates"
"github.com/succinctlabs/gnark-plonky2-verifier/poseidon"
"github.com/succinctlabs/gnark-plonky2-verifier/verifier"
"github.com/succinctlabs/gnark-plonky2-verifier/types"
)
// From recursive_step circuit
@@ -690,10 +690,10 @@ type TestGateCircuit struct {
}
func (circuit *TestGateCircuit) Define(api frontend.API) error {
commonCircuitData := verifier.DeserializeCommonCircuitData("../../data/decode_block/common_circuit_data.json")
commonCircuitData := types.ReadCommonCircuitData("../../testdata/decode_block/common_circuit_data.json")
numSelectors := commonCircuitData.SelectorsInfo.NumSelectors()
glApi := gl.NewChip(api)
glApi := gl.New(api)
vars := gates.NewEvaluationVars(localConstants[numSelectors:], localWires, publicInputsHash)

View File

@@ -45,7 +45,7 @@ func (g *PoseidonMdsGate) mdsRowShfAlgebra(
v [poseidon.SPONGE_WIDTH]gl.QuadraticExtensionAlgebraVariable,
api frontend.API,
) gl.QuadraticExtensionAlgebraVariable {
glApi := gl.NewChip(api)
glApi := gl.New(api)
if r >= poseidon.SPONGE_WIDTH {
panic("MDS row index out of range")
}