MCPcopy Create free account
hub / github.com/LabSound/LabSound / fft4pt

Function fft4pt

src/core/_SoundPipe_FFT.cpp:716–769  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

714}
715
716static void fft4pt(SPFLOAT * ioptr)
717{
718 /*** RADIX 4 fft ***/
719 SPFLOAT f0r, f0i, f1r, f1i, f2r, f2i, f3r, f3i;
720 SPFLOAT t0r, t0i, t1r, t1i;
721
722 /* bit reversed load */
723 f0r = ioptr[0];
724 f0i = ioptr[1];
725 f1r = ioptr[4];
726 f1i = ioptr[5];
727 f2r = ioptr[2];
728 f2i = ioptr[3];
729 f3r = ioptr[6];
730 f3i = ioptr[7];
731
732 /* Butterflys */
733 /*
734 f0 - - t0 - - f0
735 f1 - 1 - f1 - - f1
736 f2 - - f2 - 1 - f2
737 f3 - 1 - t1 - -i - f3
738 */
739
740 t0r = f0r + f1r;
741 t0i = f0i + f1i;
742 f1r = f0r - f1r;
743 f1i = f0i - f1i;
744
745 t1r = f2r - f3r;
746 t1i = f2i - f3i;
747 f2r = f2r + f3r;
748 f2i = f2i + f3i;
749
750 f0r = t0r + f2r;
751 f0i = t0i + f2i;
752 f2r = t0r - f2r;
753 f2i = t0i - f2i;
754
755 f3r = f1r - t1i;
756 f3i = f1i + t1r;
757 f1r = f1r + t1i;
758 f1i = f1i - t1r;
759
760 /* store result */
761 ioptr[0] = f0r;
762 ioptr[1] = f0i;
763 ioptr[2] = f1r;
764 ioptr[3] = f1i;
765 ioptr[4] = f2r;
766 ioptr[5] = f2i;
767 ioptr[6] = f3r;
768 ioptr[7] = f3i;
769}
770
771static void fft8pt(SPFLOAT * ioptr)
772{

Callers 1

ffts1Function · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected