Files
linea-monorepo/prover/crypto/ringsis/ringsis_32_8/twiddles.go
Lakshminarayanan Nandakumar 8ddd4c1d3d Prover/wizard performance monitor (#768)
* wizard runtime perf monitor

* ring-sis before revert

* sanity check successful

* rm test config file
2025-03-12 08:43:31 +00:00

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
}