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
238 lines
5.1 KiB
Go
238 lines
5.1 KiB
Go
// Code generated by bavard DO NOT EDIT
|
|
|
|
package ringsis_64_16
|
|
|
|
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, 63)
|
|
var r, s field.Element
|
|
e := new(big.Int)
|
|
|
|
s = shifter
|
|
|
|
for k := 0; k < 5; k++ {
|
|
s.Square(&s)
|
|
}
|
|
|
|
toReturn[0] = s
|
|
|
|
s = shifter
|
|
|
|
for k := 0; k < 4; k++ {
|
|
s.Square(&s)
|
|
}
|
|
|
|
toReturn[1] = s
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<4*1)))
|
|
toReturn[2].Mul(&r, &s)
|
|
|
|
s = shifter
|
|
|
|
for k := 0; k < 3; k++ {
|
|
s.Square(&s)
|
|
}
|
|
|
|
toReturn[3] = s
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<3*2)))
|
|
toReturn[4].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<3*1)))
|
|
toReturn[5].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<3*3)))
|
|
toReturn[6].Mul(&r, &s)
|
|
|
|
s = shifter
|
|
|
|
for k := 0; k < 2; k++ {
|
|
s.Square(&s)
|
|
}
|
|
|
|
toReturn[7] = s
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<2*4)))
|
|
toReturn[8].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<2*2)))
|
|
toReturn[9].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<2*6)))
|
|
toReturn[10].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<2*1)))
|
|
toReturn[11].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<2*5)))
|
|
toReturn[12].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<2*3)))
|
|
toReturn[13].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<2*7)))
|
|
toReturn[14].Mul(&r, &s)
|
|
|
|
s = shifter
|
|
|
|
for k := 0; k < 1; k++ {
|
|
s.Square(&s)
|
|
}
|
|
|
|
toReturn[15] = s
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*8)))
|
|
toReturn[16].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*4)))
|
|
toReturn[17].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*12)))
|
|
toReturn[18].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*2)))
|
|
toReturn[19].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*10)))
|
|
toReturn[20].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*6)))
|
|
toReturn[21].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*14)))
|
|
toReturn[22].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*1)))
|
|
toReturn[23].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*9)))
|
|
toReturn[24].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*5)))
|
|
toReturn[25].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*13)))
|
|
toReturn[26].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*3)))
|
|
toReturn[27].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*11)))
|
|
toReturn[28].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*7)))
|
|
toReturn[29].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<1*15)))
|
|
toReturn[30].Mul(&r, &s)
|
|
|
|
s = shifter
|
|
|
|
for k := 0; k < 0; k++ {
|
|
s.Square(&s)
|
|
}
|
|
|
|
toReturn[31] = s
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*16)))
|
|
toReturn[32].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*8)))
|
|
toReturn[33].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*24)))
|
|
toReturn[34].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*4)))
|
|
toReturn[35].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*20)))
|
|
toReturn[36].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*12)))
|
|
toReturn[37].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*28)))
|
|
toReturn[38].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*2)))
|
|
toReturn[39].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*18)))
|
|
toReturn[40].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*10)))
|
|
toReturn[41].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*26)))
|
|
toReturn[42].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*6)))
|
|
toReturn[43].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*22)))
|
|
toReturn[44].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*14)))
|
|
toReturn[45].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*30)))
|
|
toReturn[46].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*1)))
|
|
toReturn[47].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*17)))
|
|
toReturn[48].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*9)))
|
|
toReturn[49].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*25)))
|
|
toReturn[50].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*5)))
|
|
toReturn[51].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*21)))
|
|
toReturn[52].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*13)))
|
|
toReturn[53].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*29)))
|
|
toReturn[54].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*3)))
|
|
toReturn[55].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*19)))
|
|
toReturn[56].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*11)))
|
|
toReturn[57].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*27)))
|
|
toReturn[58].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*7)))
|
|
toReturn[59].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*23)))
|
|
toReturn[60].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*15)))
|
|
toReturn[61].Mul(&r, &s)
|
|
|
|
r.Exp(generator, e.SetUint64(uint64(1<<0*31)))
|
|
toReturn[62].Mul(&r, &s)
|
|
|
|
return toReturn
|
|
}
|