cleaned up qe api (#21)

This commit is contained in:
Kevin Jue
2023-06-06 17:56:10 -07:00
committed by GitHub
parent a516925ad8
commit b3a3aa851b
8 changed files with 9 additions and 14 deletions

View File

@@ -25,9 +25,7 @@ type QuadraticExtensionAPI struct {
ZERO_QE_ALGEBRA QEAlgebra ZERO_QE_ALGEBRA QEAlgebra
} }
func NewQuadraticExtensionAPI(api frontend.API, fieldAPI FieldAPI, degreeBits uint64) *QuadraticExtensionAPI { func NewQuadraticExtensionAPI(api frontend.API, fieldAPI FieldAPI) *QuadraticExtensionAPI {
// TODO: Should degreeBits be verified that it fits within the field and that degree is within uint64?
var ZERO_QE = QuadraticExtension{ZERO_F, ZERO_F} var ZERO_QE = QuadraticExtension{ZERO_F, ZERO_F}
var ZERO_QE_ALGEBRA QEAlgebra var ZERO_QE_ALGEBRA QEAlgebra

View File

@@ -20,8 +20,7 @@ type TestQuadraticExtensionMulCircuit struct {
func (c *TestQuadraticExtensionMulCircuit) Define(api frontend.API) error { func (c *TestQuadraticExtensionMulCircuit) Define(api frontend.API) error {
fieldAPI := NewFieldAPI(api) fieldAPI := NewFieldAPI(api)
degreeBits := 3 c.qeAPI = NewQuadraticExtensionAPI(api, fieldAPI)
c.qeAPI = NewQuadraticExtensionAPI(api, fieldAPI, uint64(degreeBits))
actualRes := c.qeAPI.MulExtension(c.Operand1, c.Operand2) actualRes := c.qeAPI.MulExtension(c.Operand1, c.Operand2)
@@ -54,8 +53,7 @@ type TestQuadraticExtensionDivCircuit struct {
func (c *TestQuadraticExtensionDivCircuit) Define(api frontend.API) error { func (c *TestQuadraticExtensionDivCircuit) Define(api frontend.API) error {
fieldAPI := NewFieldAPI(api) fieldAPI := NewFieldAPI(api)
degreeBits := 3 c.qeAPI = NewQuadraticExtensionAPI(api, fieldAPI)
c.qeAPI = NewQuadraticExtensionAPI(api, fieldAPI, uint64(degreeBits))
actualRes := c.qeAPI.DivExtension(c.Operand1, c.Operand2) actualRes := c.qeAPI.DivExtension(c.Operand1, c.Operand2)

View File

@@ -18,7 +18,7 @@ type TestPoseidonCircuit struct {
func (circuit *TestPoseidonCircuit) Define(api frontend.API) error { func (circuit *TestPoseidonCircuit) Define(api frontend.API) error {
goldilocksApi := field.NewFieldAPI(api) goldilocksApi := field.NewFieldAPI(api)
qeAPI := field.NewQuadraticExtensionAPI(api, goldilocksApi, 3) qeAPI := field.NewQuadraticExtensionAPI(api, goldilocksApi)
var input PoseidonState var input PoseidonState
for i := 0; i < 12; i++ { for i := 0; i < 12; i++ {

View File

@@ -25,7 +25,7 @@ func (circuit *TestFriCircuit) Define(api frontend.API) error {
verifierOnlyCircuitData := utils.DeserializeVerifierOnlyCircuitData(circuit.verifierOnlyCircuitDataFilename) verifierOnlyCircuitData := utils.DeserializeVerifierOnlyCircuitData(circuit.verifierOnlyCircuitDataFilename)
fieldAPI := field.NewFieldAPI(api) fieldAPI := field.NewFieldAPI(api)
qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI, commonCircuitData.DegreeBits) qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI)
poseidonChip := poseidon.NewPoseidonChip(api, fieldAPI, qeAPI) poseidonChip := poseidon.NewPoseidonChip(api, fieldAPI, qeAPI)
poseidonBN128Chip := poseidon.NewPoseidonBN128Chip(api, fieldAPI) poseidonBN128Chip := poseidon.NewPoseidonBN128Chip(api, fieldAPI)
friChip := fri.NewFriChip(api, fieldAPI, qeAPI, poseidonBN128Chip, &commonCircuitData.FriParams) friChip := fri.NewFriChip(api, fieldAPI, qeAPI, poseidonBN128Chip, &commonCircuitData.FriParams)

View File

@@ -688,7 +688,7 @@ func (circuit *TestGateCircuit) Define(api frontend.API) error {
numSelectors := commonCircuitData.SelectorsInfo.NumSelectors() numSelectors := commonCircuitData.SelectorsInfo.NumSelectors()
fieldAPI := field.NewFieldAPI(api) fieldAPI := field.NewFieldAPI(api)
qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI, commonCircuitData.DegreeBits) qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI)
vars := gates.NewEvaluationVars(localConstants[numSelectors:], localWires, publicInputsHash) vars := gates.NewEvaluationVars(localConstants[numSelectors:], localWires, publicInputsHash)

View File

@@ -20,8 +20,7 @@ type TestChallengerCircuit struct {
func (circuit *TestChallengerCircuit) Define(api frontend.API) error { func (circuit *TestChallengerCircuit) Define(api frontend.API) error {
fieldAPI := field.NewFieldAPI(api) fieldAPI := field.NewFieldAPI(api)
degreeBits := 3 qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI)
qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI, uint64(degreeBits))
poseidonChip := poseidon.NewPoseidonChip(api, fieldAPI, qeAPI) poseidonChip := poseidon.NewPoseidonChip(api, fieldAPI, qeAPI)
poseidonBN128Chip := poseidon.NewPoseidonBN128Chip(api, fieldAPI) poseidonBN128Chip := poseidon.NewPoseidonBN128Chip(api, fieldAPI)
challengerChip := NewChallengerChip(api, fieldAPI, poseidonChip, poseidonBN128Chip) challengerChip := NewChallengerChip(api, fieldAPI, poseidonChip, poseidonBN128Chip)

View File

@@ -27,7 +27,7 @@ func (circuit *TestPlonkCircuit) Define(api frontend.API) error {
proofChallenges := verifierChip.GetChallenges(proofWithPis, publicInputsHash, commonCircuitData, verifierOnlyCircuitData) proofChallenges := verifierChip.GetChallenges(proofWithPis, publicInputsHash, commonCircuitData, verifierOnlyCircuitData)
fieldAPI := field.NewFieldAPI(api) fieldAPI := field.NewFieldAPI(api)
qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI, commonCircuitData.DegreeBits) qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI)
plonkChip := plonk.NewPlonkChip( plonkChip := plonk.NewPlonkChip(
api, api,
qeAPI, qeAPI,

View File

@@ -22,7 +22,7 @@ type VerifierChip struct {
func NewVerifierChip(api frontend.API, commonCircuitData common.CommonCircuitData) *VerifierChip { func NewVerifierChip(api frontend.API, commonCircuitData common.CommonCircuitData) *VerifierChip {
fieldAPI := field.NewFieldAPI(api) fieldAPI := field.NewFieldAPI(api)
qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI, commonCircuitData.DegreeBits) qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI)
poseidonBN128Chip := poseidon.NewPoseidonBN128Chip(api, fieldAPI) poseidonBN128Chip := poseidon.NewPoseidonBN128Chip(api, fieldAPI)
friChip := fri.NewFriChip(api, fieldAPI, qeAPI, poseidonBN128Chip, &commonCircuitData.FriParams) friChip := fri.NewFriChip(api, fieldAPI, qeAPI, poseidonBN128Chip, &commonCircuitData.FriParams)