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

Function ifft8pt

src/core/_SoundPipe_FFT.cpp:1825–1941  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1823}
1824
1825static void ifft8pt(SPFLOAT * ioptr, SPFLOAT scale)
1826{
1827 /*** RADIX 8 ifft ***/
1828 SPFLOAT w0r = 1.0 / MYROOT2; /* cos(pi/4) */
1829 SPFLOAT f0r, f0i, f1r, f1i, f2r, f2i, f3r, f3i;
1830 SPFLOAT f4r, f4i, f5r, f5i, f6r, f6i, f7r, f7i;
1831 SPFLOAT t0r, t0i, t1r, t1i;
1832 const SPFLOAT Two = 2.0;
1833
1834 /* bit reversed load */
1835 f0r = ioptr[0];
1836 f0i = ioptr[1];
1837 f1r = ioptr[8];
1838 f1i = ioptr[9];
1839 f2r = ioptr[4];
1840 f2i = ioptr[5];
1841 f3r = ioptr[12];
1842 f3i = ioptr[13];
1843 f4r = ioptr[2];
1844 f4i = ioptr[3];
1845 f5r = ioptr[10];
1846 f5i = ioptr[11];
1847 f6r = ioptr[6];
1848 f6i = ioptr[7];
1849 f7r = ioptr[14];
1850 f7i = ioptr[15];
1851
1852 /* Butterflys */
1853 /*
1854 f0 - - t0 - - f0 - - f0
1855 f1 - 1 - f1 - - f1 - - f1
1856 f2 - - f2 - 1 - f2 - - f2
1857 f3 - 1 - t1 - i - f3 - - f3
1858 f4 - - t0 - - f4 - 1 - t0
1859 f5 - 1 - f5 - - f5 - w3 - f4
1860 f6 - - f6 - 1 - f6 - i - t1
1861 f7 - 1 - t1 - i - f7 - iw3- f6
1862 */
1863
1864 t0r = f0r + f1r;
1865 t0i = f0i + f1i;
1866 f1r = f0r - f1r;
1867 f1i = f0i - f1i;
1868
1869 t1r = f2r - f3r;
1870 t1i = f2i - f3i;
1871 f2r = f2r + f3r;
1872 f2i = f2i + f3i;
1873
1874 f0r = t0r + f2r;
1875 f0i = t0i + f2i;
1876 f2r = t0r - f2r;
1877 f2i = t0i - f2i;
1878
1879 f3r = f1r + t1i;
1880 f3i = f1i - t1r;
1881 f1r = f1r - t1i;
1882 f1i = f1i + t1r;

Callers 1

iffts1Function · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected