gnark-plonky2-verifier/utils/utils.go
utils/utils.goRaw
1package utils
2
3import (
4 "math/big"
5
6 "github.com/consensys/gnark/frontend"
7 "github.com/succinctlabs/gnark-plonky2-verifier/field"
8)
9
10func StrArrayToBigIntArray(input []string) []big.Int {
11 var output []big.Int
12 for i := 0; i < len(input); i++ {
13 a := new(big.Int)
14 a, _ = a.SetString(input[i], 10)
15 output = append(output, *a)
16 }
17 return output
18}
19
20func StrArrayToFrontendVariableArray(input []string) []frontend.Variable {
21 var output []frontend.Variable
22 for i := 0; i < len(input); i++ {
23 output = append(output, frontend.Variable(input[i]))
24 }
25 return output
26}
27
28func Uint64ArrayToFArray(input []uint64) []field.F {
29 var output []field.F
30 for i := 0; i < len(input); i++ {
31 output = append(output, field.NewFieldConst(input[i]))
32 }
33 return output
34}
35
36func Uint64ArrayToQuadraticExtension(input []uint64) field.QuadraticExtension {
37 return [2]field.F{field.NewFieldConst(input[0]), field.NewFieldConst(input[1])}
38}
39
40func Uint64ArrayToQuadraticExtensionArray(input [][]uint64) []field.QuadraticExtension {
41 var output []field.QuadraticExtension
42 for i := 0; i < len(input); i++ {
43 output = append(output, [2]field.F{field.NewFieldConst(input[i][0]), field.NewFieldConst(input[i][1])})
44 }
45 return output
46}