Expand description
Contains convolution::ConvolutionAlgorithm
, an abstraction for algorithms
for computing convolutions, together with various implementations.
Modules§
- fft
- Contains an implementation of computing convolutions using complex floating-point FFTs.
- generic_
tests generic_tests
- karatsuba
- Contains an optimized implementation of Karatsuba’s for computing convolutions
- ntt
- Contains an implementation of computing convolutions using NTTs, i.e. FFTs over a finite field that has suitable roots of unity.
- rns
- Contains an implementation of computing convolutions by considering them modulo various primes that are either smaller or allow for suitable roots of unity.
Structs§
- Karatsuba
Algorithm - Implementation of convolutions that uses Karatsuba’s algorithm
with a threshold defined by
KaratsubaHint
.
Constants§
- STANDARD_
CONVOLUTION - Good default algorithm for computing convolutions, using Karatsuba’s algorithm
with a threshold defined by
KaratsubaHint
.
Traits§
- Convolution
Algorithm - Trait for objects that can compute a convolution over some ring.
- Karatsuba
Hint unstable-enable
- Trait to allow rings to customize the parameters with which
KaratsubaAlgorithm
will compute convolutions over the ring.