2023-07-28 22:10:14 +02:00
|
|
|
|
2023-10-24 13:54:39 +02:00
|
|
|
import
|
|
|
|
constantine/math/io/io_fields,
|
|
|
|
constantine/math/arithmetic,
|
|
|
|
constantine/math/config/curves
|
2023-07-28 22:10:14 +02:00
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
type B* = BigInt[254]
|
|
|
|
type F* = Fr[BN254_Snarks]
|
|
|
|
type S* = (F,F,F)
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
func getZero*() : F =
|
|
|
|
var z : F
|
|
|
|
setZero(z)
|
|
|
|
return z
|
|
|
|
|
2023-10-24 13:55:04 +02:00
|
|
|
func toF*(a: int) : F =
|
2023-07-28 22:10:14 +02:00
|
|
|
var y : F
|
|
|
|
fromInt(y, a);
|
|
|
|
return y
|
|
|
|
|
2023-10-24 13:55:04 +02:00
|
|
|
func hexToF*(s : string) : F =
|
2023-07-28 22:10:14 +02:00
|
|
|
var y : F
|
|
|
|
fromHex(y, s)
|
|
|
|
return y
|
|
|
|
|
2023-10-24 13:55:04 +02:00
|
|
|
func arrayFromHex*[N]( inp: array[N, string]) : array[N, F] =
|
2023-07-28 22:10:14 +02:00
|
|
|
var tmp : array[N, F]
|
|
|
|
for i in low(inp)..high(inp):
|
|
|
|
tmp[i] = hexToF( inp[i] )
|
|
|
|
return tmp
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|