Module tables

Source
Expand description

Lookup-tables used by Engine:s.

All tables are global and each is initialized at most once.

§Tables

TableSizeUsed in encodingUsed in decodingBy engines
Exp128 kiByesyesall
Log128 kiByesyesall
LogWalsh128 kiB-yesall
Mul168 MiByesyesNoSimd
Mul1288 MiByesyesAvx2 Ssse3
Skew128 kiByesyesall

Structs§

ExpLog
Struct holding the Exp and Log lookup tables.
Multiply128lutT
Elements of the Mul128 table

Statics§

EXP_LOG
Lazily initialized exponentiation and logarithm tables.
LOG_WALSH
Lazily initialized logarithmic Walsh transform table.
MUL16
Lazily initialized multiplication table for the NoSimd engine.
MUL128
Lazily initialized multiplication table for SIMD engines.
SKEW
Lazily initialized skew table used in FFT and IFFT operations.

Functions§

mul
Calculates x * log_m using Exp and Log tables.

Type Aliases§

Exp
Used by Naive engine for multiplications and by all Engine:s to initialize other tables.
Log
Used by Naive engine for multiplications and by all Engine:s to initialize other tables.
LogWalsh
Used by all Engine:s in Engine::eval_poly.
Mul16
Used by NoSimd engine for multiplications.
Mul128
Used by Avx2 and Ssse3 engines for multiplications.
Skew
Used by all Engine:s for FFT and IFFT.