Implementando números complexos e FFT apenas com tipos de dados (sem floats)
Este artigo apresenta um método para implementar números complexos e Transformada Rápida de Fourier (FFT) usando apenas tipos de dados algébricos, sem depender de números de ponto flutuante. O autor começa explicando as vantagens de usar tipos de dados algébricos para representação numérica e destaca ineficiências nas implementações tradicionais de FFT. Em seguida, uma implementação concisa e elegante de inteiros e números complexos usando apenas tipos de dados algébricos é demonstrada. Finalmente, uma implementação puramente funcional de FFT complexa, também sem floats, é derivada. Isso é alcançado usando representação ternária balanceada para inteiros e estendendo inteiros gaussianos para representar números complexos, contornando habilmente os efeitos que impedem a fusão da aritmética de ponto flutuante, melhorando assim a eficiência do algoritmo.