mirror of
https://github.com/vacp2p/linea-monorepo.git
synced 2026-01-09 04:08:01 -05:00
* wizard runtime perf monitor * ring-sis before revert * sanity check successful * rm test config file
137 lines
2.7 KiB
Go
137 lines
2.7 KiB
Go
// Code generated by bavard DO NOT EDIT
|
|
|
|
package ringsis_32_8
|
|
|
|
import (
|
|
"github.com/consensys/linea-monorepo/prover/maths/field"
|
|
"math/big"
|
|
)
|
|
|
|
// PrecomputeTwiddlesCoset precomputes twiddlesCoset from twiddles and coset table
|
|
// it then return all elements in the correct order for the unrolled FFT.
|
|
func PrecomputeTwiddlesCoset(generator, shifter field.Element) []field.Element {
|
|
toReturn := make([]field.Element, 31)
|
|
var r, s field.Element
|
|
e := new(big.Int)
|
|
|
|
s = shifter
|
|
|
|
for k := 0; k < 4; k++ {
|
|
s.Square(&s)
|
|
}
|
|
|
|
toReturn[0] = s
|
|
|
|
s = shifter
|
|
|
|
for k := 0; k < 3; k++ {
|
|
s.Square(&s)
|
|
}
|
|
|
|
toReturn[1] = s
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<3*1)))
|
|
toReturn[2].Mul(&r, &s)
|
|
|
|
s = shifter
|
|
|
|
for k := 0; k < 2; k++ {
|
|
s.Square(&s)
|
|
}
|
|
|
|
toReturn[3] = s
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<2*2)))
|
|
toReturn[4].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<2*1)))
|
|
toReturn[5].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<2*3)))
|
|
toReturn[6].Mul(&r, &s)
|
|
|
|
s = shifter
|
|
|
|
for k := 0; k < 1; k++ {
|
|
s.Square(&s)
|
|
}
|
|
|
|
toReturn[7] = s
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*4)))
|
|
toReturn[8].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*2)))
|
|
toReturn[9].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*6)))
|
|
toReturn[10].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*1)))
|
|
toReturn[11].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*5)))
|
|
toReturn[12].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*3)))
|
|
toReturn[13].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*7)))
|
|
toReturn[14].Mul(&r, &s)
|
|
|
|
s = shifter
|
|
|
|
for k := 0; k < 0; k++ {
|
|
s.Square(&s)
|
|
}
|
|
|
|
toReturn[15] = s
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*8)))
|
|
toReturn[16].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*4)))
|
|
toReturn[17].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*12)))
|
|
toReturn[18].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*2)))
|
|
toReturn[19].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*10)))
|
|
toReturn[20].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*6)))
|
|
toReturn[21].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*14)))
|
|
toReturn[22].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*1)))
|
|
toReturn[23].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*9)))
|
|
toReturn[24].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*5)))
|
|
toReturn[25].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*13)))
|
|
toReturn[26].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*3)))
|
|
toReturn[27].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*11)))
|
|
toReturn[28].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*7)))
|
|
toReturn[29].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*15)))
|
|
toReturn[30].Mul(&r, &s)
|
|
|
|
return toReturn
|
|
}
|