Author: Florian Schmidt
Conversion from double to floating point fft plus various optimizations: Mario Lang
