diff --git a/ecc/bls12-377/fr/iop/polynomial.go b/ecc/bls12-377/fr/iop/polynomial.go index 9954e3cc8d..42bcf9f270 100644 --- a/ecc/bls12-377/fr/iop/polynomial.go +++ b/ecc/bls12-377/fr/iop/polynomial.go @@ -170,19 +170,20 @@ func (p *Polynomial) Evaluate(x fr.Element) fr.Element { } var g fr.Element + gen, err := fft.Generator(uint64(p.size)) + if err != nil { + panic(err) + } if p.shift <= 5 { - gen, err := fft.Generator(uint64(p.size)) - if err != nil { - panic(err) - } g = smallExp(gen, p.shift) x.Mul(&x, &g) return p.polynomial.evaluate(x) } bs := big.NewInt(int64(p.shift)) - g = *g.Exp(g, bs) + g = *g.Exp(gen, bs) x.Mul(&x, &g) + return p.polynomial.evaluate(x) } diff --git a/ecc/bls12-381/fr/iop/polynomial.go b/ecc/bls12-381/fr/iop/polynomial.go index 1064e65b8b..a928787e41 100644 --- a/ecc/bls12-381/fr/iop/polynomial.go +++ b/ecc/bls12-381/fr/iop/polynomial.go @@ -170,19 +170,20 @@ func (p *Polynomial) Evaluate(x fr.Element) fr.Element { } var g fr.Element + gen, err := fft.Generator(uint64(p.size)) + if err != nil { + panic(err) + } if p.shift <= 5 { - gen, err := fft.Generator(uint64(p.size)) - if err != nil { - panic(err) - } g = smallExp(gen, p.shift) x.Mul(&x, &g) return p.polynomial.evaluate(x) } bs := big.NewInt(int64(p.shift)) - g = *g.Exp(g, bs) + g = *g.Exp(gen, bs) x.Mul(&x, &g) + return p.polynomial.evaluate(x) } diff --git a/ecc/bls24-315/fr/iop/polynomial.go b/ecc/bls24-315/fr/iop/polynomial.go index 4226d08852..3b1deecdf4 100644 --- a/ecc/bls24-315/fr/iop/polynomial.go +++ b/ecc/bls24-315/fr/iop/polynomial.go @@ -170,19 +170,20 @@ func (p *Polynomial) Evaluate(x fr.Element) fr.Element { } var g fr.Element + gen, err := fft.Generator(uint64(p.size)) + if err != nil { + panic(err) + } if p.shift <= 5 { - gen, err := fft.Generator(uint64(p.size)) - if err != nil { - panic(err) - } g = smallExp(gen, p.shift) x.Mul(&x, &g) return p.polynomial.evaluate(x) } bs := big.NewInt(int64(p.shift)) - g = *g.Exp(g, bs) + g = *g.Exp(gen, bs) x.Mul(&x, &g) + return p.polynomial.evaluate(x) } diff --git a/ecc/bls24-317/fr/iop/polynomial.go b/ecc/bls24-317/fr/iop/polynomial.go index 50d37556d4..6b4988d988 100644 --- a/ecc/bls24-317/fr/iop/polynomial.go +++ b/ecc/bls24-317/fr/iop/polynomial.go @@ -170,19 +170,20 @@ func (p *Polynomial) Evaluate(x fr.Element) fr.Element { } var g fr.Element + gen, err := fft.Generator(uint64(p.size)) + if err != nil { + panic(err) + } if p.shift <= 5 { - gen, err := fft.Generator(uint64(p.size)) - if err != nil { - panic(err) - } g = smallExp(gen, p.shift) x.Mul(&x, &g) return p.polynomial.evaluate(x) } bs := big.NewInt(int64(p.shift)) - g = *g.Exp(g, bs) + g = *g.Exp(gen, bs) x.Mul(&x, &g) + return p.polynomial.evaluate(x) } diff --git a/ecc/bn254/fr/iop/polynomial.go b/ecc/bn254/fr/iop/polynomial.go index bdb8ed375a..d8a1b7b0ec 100644 --- a/ecc/bn254/fr/iop/polynomial.go +++ b/ecc/bn254/fr/iop/polynomial.go @@ -170,19 +170,20 @@ func (p *Polynomial) Evaluate(x fr.Element) fr.Element { } var g fr.Element + gen, err := fft.Generator(uint64(p.size)) + if err != nil { + panic(err) + } if p.shift <= 5 { - gen, err := fft.Generator(uint64(p.size)) - if err != nil { - panic(err) - } g = smallExp(gen, p.shift) x.Mul(&x, &g) return p.polynomial.evaluate(x) } bs := big.NewInt(int64(p.shift)) - g = *g.Exp(g, bs) + g = *g.Exp(gen, bs) x.Mul(&x, &g) + return p.polynomial.evaluate(x) } diff --git a/ecc/bw6-633/fr/iop/polynomial.go b/ecc/bw6-633/fr/iop/polynomial.go index 8c0c72d0c4..8be0f8ece3 100644 --- a/ecc/bw6-633/fr/iop/polynomial.go +++ b/ecc/bw6-633/fr/iop/polynomial.go @@ -170,19 +170,20 @@ func (p *Polynomial) Evaluate(x fr.Element) fr.Element { } var g fr.Element + gen, err := fft.Generator(uint64(p.size)) + if err != nil { + panic(err) + } if p.shift <= 5 { - gen, err := fft.Generator(uint64(p.size)) - if err != nil { - panic(err) - } g = smallExp(gen, p.shift) x.Mul(&x, &g) return p.polynomial.evaluate(x) } bs := big.NewInt(int64(p.shift)) - g = *g.Exp(g, bs) + g = *g.Exp(gen, bs) x.Mul(&x, &g) + return p.polynomial.evaluate(x) } diff --git a/ecc/bw6-761/fr/iop/polynomial.go b/ecc/bw6-761/fr/iop/polynomial.go index 4a7c3295c7..6626eb5d3f 100644 --- a/ecc/bw6-761/fr/iop/polynomial.go +++ b/ecc/bw6-761/fr/iop/polynomial.go @@ -170,19 +170,20 @@ func (p *Polynomial) Evaluate(x fr.Element) fr.Element { } var g fr.Element + gen, err := fft.Generator(uint64(p.size)) + if err != nil { + panic(err) + } if p.shift <= 5 { - gen, err := fft.Generator(uint64(p.size)) - if err != nil { - panic(err) - } g = smallExp(gen, p.shift) x.Mul(&x, &g) return p.polynomial.evaluate(x) } bs := big.NewInt(int64(p.shift)) - g = *g.Exp(g, bs) + g = *g.Exp(gen, bs) x.Mul(&x, &g) + return p.polynomial.evaluate(x) } diff --git a/internal/generator/iop/template/polynomial.go.tmpl b/internal/generator/iop/template/polynomial.go.tmpl index bb6b500886..9f5cb333e6 100644 --- a/internal/generator/iop/template/polynomial.go.tmpl +++ b/internal/generator/iop/template/polynomial.go.tmpl @@ -152,19 +152,20 @@ func (p *Polynomial) Evaluate(x fr.Element) fr.Element { } var g fr.Element + gen, err := fft.Generator(uint64(p.size)) + if err != nil { + panic(err) + } if p.shift <= 5 { - gen, err := fft.Generator(uint64(p.size)) - if err != nil { - panic(err) - } g = smallExp(gen, p.shift) x.Mul(&x, &g) return p.polynomial.evaluate(x) } bs := big.NewInt(int64(p.shift)) - g = *g.Exp(g, bs) + g = *g.Exp(gen, bs) x.Mul(&x, &g) + return p.polynomial.evaluate(x) }