Implémenter les nombres complexes et la FFT avec seulement des types de données (pas de flottants)

Cet article présente une méthode pour implémenter les nombres complexes et la Transformée de Fourier Rapide (FFT) en utilisant uniquement des types de données algébriques, sans recourir aux nombres à virgule flottante. L'auteur commence par expliquer les avantages de l'utilisation de types de données algébriques pour la représentation numérique et souligne les inefficacités des implémentations traditionnelles de la FFT. Une implémentation concise et élégante des entiers et des nombres complexes utilisant uniquement des types de données algébriques est ensuite démontrée. Enfin, une implémentation purement fonctionnelle de la FFT complexe, sans flottants, est dérivée. Ceci est réalisé en utilisant une représentation ternaire équilibrée pour les entiers et en étendant les entiers gaussiens pour représenter les nombres complexes, contournant habilement les effets qui empêchent la fusion de l'arithmétique à virgule flottante, améliorant ainsi l'efficacité de l'algorithme.