Skip to content

Commit

Permalink
fix: sis doesn't use twiddles directly no more
Browse files Browse the repository at this point in the history
  • Loading branch information
gbotrel committed Dec 15, 2023
1 parent 8cda879 commit 7ef61c9
Show file tree
Hide file tree
Showing 8 changed files with 326 additions and 176 deletions.
4 changes: 2 additions & 2 deletions ecc/bls12-377/fr/sis/sis.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ func NewRSis(seed int64, logTwoDegree, logTwoBound, maxNbElementsToHash int) (*R
LogTwoBound: logTwoBound,
capacity: capacity,
Degree: degree,
Domain: fft.NewDomain(uint64(degree), shift),
Domain: fft.NewDomain(uint64(degree), fft.WithShift(shift)),
A: make([][]fr.Element, n),
Ag: make([][]fr.Element, n),
bufM: make(fr.Vector, degree*n),
Expand All @@ -129,7 +129,7 @@ func NewRSis(seed int64, logTwoDegree, logTwoBound, maxNbElementsToHash int) (*R
}
if r.LogTwoBound == 8 && r.Degree == 64 {
// TODO @gbotrel fixme, that's dirty.
r.twiddleCosets = precomputeTwiddlesCoset(r.Domain.Twiddles, r.Domain.FrMultiplicativeGen)
r.twiddleCosets = precomputeTwiddlesCoset(r.Domain.Generator, r.Domain.FrMultiplicativeGen)
}

// filling A
Expand Down
225 changes: 149 additions & 76 deletions ecc/bls12-377/fr/sis/sis_fft.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions ecc/bls12-377/fr/sis/sis_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ func TestMulMod(t *testing.T) {
// and random.
var shift fr.Element
shift.SetString("19540430494807482326159819597004422086093766032135589407132600596362845576832")
domain := fft.NewDomain(uint64(size), shift)
domain := fft.NewDomain(uint64(size), fft.WithShift(shift))

// mul mod
domain.FFT(p, fft.DIF, fft.OnCoset())
Expand Down Expand Up @@ -415,7 +415,7 @@ func TestUnrolledFFT(t *testing.T) {

const size = 64
assert := require.New(t)
domain := fft.NewDomain(size, shift)
domain := fft.NewDomain(size, fft.WithShift(shift))

k1 := make([]fr.Element, size)
for i := 0; i < size; i++ {
Expand All @@ -428,7 +428,7 @@ func TestUnrolledFFT(t *testing.T) {
domain.FFT(k1, fft.DIF, fft.OnCoset(), fft.WithNbTasks(1))

// unrolled FFT
twiddlesCoset := precomputeTwiddlesCoset(domain.Twiddles, domain.FrMultiplicativeGen)
twiddlesCoset := precomputeTwiddlesCoset(domain.Generator, domain.FrMultiplicativeGen)
fft64(k2, twiddlesCoset)

// compare results
Expand Down
2 changes: 1 addition & 1 deletion ecc/bn254/fr/sis/sis.go
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ func NewRSis(seed int64, logTwoDegree, logTwoBound, maxNbElementsToHash int) (*R
}
if r.LogTwoBound == 8 && r.Degree == 64 {
// TODO @gbotrel fixme, that's dirty.
r.twiddleCosets = precomputeTwiddlesCoset(r.Domain.Twiddles, r.Domain.FrMultiplicativeGen)
r.twiddleCosets = precomputeTwiddlesCoset(r.Domain.Generator, r.Domain.FrMultiplicativeGen)
}

// filling A
Expand Down
Loading

0 comments on commit 7ef61c9

Please sign in to comment.