John Guibas b670530e7f
Use optimized goldilocks in codebase (#26)
* gl

* stage 1 optimizations

* working optimized poseidon

* Fix posedion tests

* in progress gate type refactor

* working gates

* working e2e

* hm'

* hm2

* debug saga continues

* more debugging cry

* more debug

* it finally works

* optimizations

* more optimizations

* new changes

* more optimizations

* more cleanup

* some refactoring

* new files

* flattening of packages

* working commit

* more refactor

* more flattening

* more flattening

* more more refactor

* more optimizations

* more optimizations

* more optimizations

* plonk benchmark

* plonk

* fix r1cs

* resolve kevin's comments

* Update goldilocks/base.go

Co-authored-by: Kevin Jue <kjue235@gmail.com>

* Update goldilocks/base.go

Co-authored-by: Kevin Jue <kjue235@gmail.com>

* Update goldilocks/base.go

Co-authored-by: Kevin Jue <kjue235@gmail.com>

* Update goldilocks/quadratic_extension.go

Co-authored-by: Kevin Jue <kjue235@gmail.com>

* fix: resolve kevin's confusion

---------

Co-authored-by: Kevin Jue <kjue235@gmail.com>
2023-07-24 16:08:17 -07:00

46 lines
1.1 KiB
Go

package goldilocks
import (
"math/big"
"github.com/consensys/gnark/frontend"
)
func StrArrayToBigIntArray(input []string) []big.Int {
var output []big.Int
for i := 0; i < len(input); i++ {
a := new(big.Int)
a, _ = a.SetString(input[i], 10)
output = append(output, *a)
}
return output
}
func StrArrayToFrontendVariableArray(input []string) []frontend.Variable {
var output []frontend.Variable
for i := 0; i < len(input); i++ {
output = append(output, frontend.Variable(input[i]))
}
return output
}
func Uint64ArrayToVariableArray(input []uint64) []Variable {
var output []Variable
for i := 0; i < len(input); i++ {
output = append(output, NewVariable(input[i]))
}
return output
}
func Uint64ArrayToQuadraticExtension(input []uint64) QuadraticExtensionVariable {
return NewQuadraticExtensionVariable(NewVariable(input[0]), NewVariable(input[1]))
}
func Uint64ArrayToQuadraticExtensionArray(input [][]uint64) []QuadraticExtensionVariable {
var output []QuadraticExtensionVariable
for i := 0; i < len(input); i++ {
output = append(output, NewQuadraticExtensionVariable(NewVariable(input[i][0]), NewVariable(input[i][1])))
}
return output
}