Skip to main content

Module gen_odd

Module gen_odd 

Source
Expand description

Odd-size DFT codelet generation using Winograd minimum-multiply factorizations.

Generates optimized DFT codelets for sizes 3, 5, and 7 using the Winograd algorithm which minimizes the number of real multiplications. The generated functions follow the same in-place &mut [Complex<T>] convention as gen_notw.rs.

§DFT Convention

Forward DFT: W_N = e^{-2πi/N} (sign = -1 / sign < 0) Inverse DFT: W_N = e^{+2πi/N} (sign = +1 / sign > 0, unnormalized)

The sign of sine terms flips between forward and inverse. Specifically, for X[k] = Σ x[j] · e^{-2πi·j·k/N}:

  • Forward: imaginary part uses −sin(…) terms
  • Inverse: imaginary part uses +sin(…) terms

Functions§

generate_from_macro
Generate an odd-size (3, 5, 7) DFT codelet from macro input gen_odd_codelet!(N).