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

Function bfR2

src/core/_SoundPipe_FFT.cpp:888–994  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

886}
887
888static void bfR2(SPFLOAT * ioptr, int M, int NDiffU)
889{
890 /*** 2nd radix 2 stage ***/
891 unsigned int pos;
892 unsigned int posi;
893 unsigned int pinc;
894 unsigned int pnext;
895 unsigned int NSameU;
896 unsigned int SameUCnt;
897
898 SPFLOAT * pstrt;
899 SPFLOAT *p0r, *p1r, *p2r, *p3r;
900
901 SPFLOAT f0r, f0i, f1r, f1i, f2r, f2i, f3r, f3i;
902 SPFLOAT f4r, f4i, f5r, f5i, f6r, f6i, f7r, f7i;
903
904 pinc = NDiffU * 2; /* 2 floats per complex */
905 pnext = pinc * 4;
906 pos = 2;
907 posi = pos + 1;
908 NSameU = POW2(M) / 4 / NDiffU; /* 4 Us at a time */
909 pstrt = ioptr;
910 p0r = pstrt;
911 p1r = pstrt + pinc;
912 p2r = p1r + pinc;
913 p3r = p2r + pinc;
914
915 /* Butterflys */
916 /*
917 f0 - - f4
918 f1 - 1 - f5
919 f2 - - f6
920 f3 - 1 - f7
921 */
922 /* Butterflys */
923 /*
924 f0 - - f4
925 f1 - 1 - f5
926 f2 - - f6
927 f3 - 1 - f7
928 */
929
930 for (SameUCnt = NSameU; SameUCnt > 0; SameUCnt--)
931 {
932
933 f0r = *p0r;
934 f1r = *p1r;
935 f0i = *(p0r + 1);
936 f1i = *(p1r + 1);
937 f2r = *p2r;
938 f3r = *p3r;
939 f2i = *(p2r + 1);
940 f3i = *(p3r + 1);
941
942 f4r = f0r + f1r;
943 f4i = f0i + f1i;
944 f5r = f0r - f1r;
945 f5i = f0i - f1i;

Callers 2

ffts1Function · 0.85
rffts1Function · 0.85

Calls 1

POW2Function · 0.85

Tested by

no test coverage detected