gnark-plonky2-verifier/plonky2_verifier/vars.go
plonky2_verifier/vars.goRaw
1package plonky2_verifier
2
3import (
4 . "gnark-plonky2-verifier/field"
5)
6
7type EvaluationVars struct {
8 localConstants []QuadraticExtension
9 localWires []QuadraticExtension
10 publicInputsHash Hash
11}
12
13func (e *EvaluationVars) RemovePrefix(numSelectors uint64) {
14 e.localConstants = e.localConstants[numSelectors:]
15}
16
17func (e *EvaluationVars) GetLocalExtAlgebra(wireRange Range) QEAlgebra {
18 // For now, only support degree 2
19 if wireRange.end-wireRange.start != D {
20 panic("Range must be of size D")
21 }
22
23 var ret QEAlgebra
24 for i := wireRange.start; i < wireRange.end; i++ {
25 ret[i-wireRange.start] = e.localWires[i]
26 }
27
28 return ret
29}