⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t1_32.c

📁 fftw-3.0.1
💻 C
📖 第 1 页 / 共 2 页
字号:
/* * Copyright (c) 2003 Matteo Frigo * Copyright (c) 2003 Massachusetts Institute of Technology * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * *//* This file was automatically generated --- DO NOT EDIT *//* Generated on Sat Jul  5 21:30:07 EDT 2003 */#include "codelet-dft.h"/* Generated by: /homee/stevenj/cvs/fftw3.0.1/genfft/gen_twiddle -compact -variables 4 -n 32 -name t1_32 -include t.h *//* * This function contains 434 FP additions, 208 FP multiplications, * (or, 340 additions, 114 multiplications, 94 fused multiply/add), * 96 stack variables, and 128 memory accesses *//* * Generator Id's :  * $Id: algsimp.ml,v 1.7 2003/03/15 20:29:42 stevenj Exp $ * $Id: fft.ml,v 1.2 2003/03/15 20:29:42 stevenj Exp $ * $Id: gen_twiddle.ml,v 1.16 2003/04/16 19:51:27 athena Exp $ */#include "t.h"static const R *t1_32(R *ri, R *ii, const R *W, stride ios, int m, int dist){     DK(KP195090322, +0.195090322016128267848284868477022240927691618);     DK(KP980785280, +0.980785280403230449126182236134239036973933731);     DK(KP555570233, +0.555570233019602224742830813948532874374937191);     DK(KP831469612, +0.831469612302545237078788377617905756738560812);     DK(KP382683432, +0.382683432365089771728459984030398866761344562);     DK(KP923879532, +0.923879532511286756128183189396788286822416626);     DK(KP707106781, +0.707106781186547524400844362104849039284835938);     int i;     for (i = m; i > 0; i = i - 1, ri = ri + dist, ii = ii + dist, W = W + 62) {	  E Tj, T5F, T7C, T7Q, T35, T4T, T78, T7m, T1Q, T61, T5Y, T6J, T3K, T59, T41;	  E T56, T2B, T67, T6e, T6O, T4b, T5d, T4s, T5g, TG, T7l, T5I, T73, T3a, T4U;	  E T3f, T4V, T14, T5N, T5M, T6E, T3m, T4Y, T3r, T4Z, T1r, T5P, T5S, T6F, T3x;	  E T51, T3C, T52, T2d, T5Z, T64, T6K, T3V, T57, T44, T5a, T2Y, T6f, T6a, T6P;	  E T4m, T5h, T4v, T5e;	  {	       E T1, T76, T6, T75, Tc, T32, Th, T33;	       T1 = ri[0];	       T76 = ii[0];	       {		    E T3, T5, T2, T4;		    T3 = ri[WS(ios, 16)];		    T5 = ii[WS(ios, 16)];		    T2 = W[30];		    T4 = W[31];		    T6 = FMA(T2, T3, T4 * T5);		    T75 = FNMS(T4, T3, T2 * T5);	       }	       {		    E T9, Tb, T8, Ta;		    T9 = ri[WS(ios, 8)];		    Tb = ii[WS(ios, 8)];		    T8 = W[14];		    Ta = W[15];		    Tc = FMA(T8, T9, Ta * Tb);		    T32 = FNMS(Ta, T9, T8 * Tb);	       }	       {		    E Te, Tg, Td, Tf;		    Te = ri[WS(ios, 24)];		    Tg = ii[WS(ios, 24)];		    Td = W[46];		    Tf = W[47];		    Th = FMA(Td, Te, Tf * Tg);		    T33 = FNMS(Tf, Te, Td * Tg);	       }	       {		    E T7, Ti, T7A, T7B;		    T7 = T1 + T6;		    Ti = Tc + Th;		    Tj = T7 + Ti;		    T5F = T7 - Ti;		    T7A = T76 - T75;		    T7B = Tc - Th;		    T7C = T7A - T7B;		    T7Q = T7B + T7A;	       }	       {		    E T31, T34, T74, T77;		    T31 = T1 - T6;		    T34 = T32 - T33;		    T35 = T31 - T34;		    T4T = T31 + T34;		    T74 = T32 + T33;		    T77 = T75 + T76;		    T78 = T74 + T77;		    T7m = T77 - T74;	       }	  }	  {	       E T1y, T3G, T1O, T3Z, T1D, T3H, T1J, T3Y;	       {		    E T1v, T1x, T1u, T1w;		    T1v = ri[WS(ios, 1)];		    T1x = ii[WS(ios, 1)];		    T1u = W[0];		    T1w = W[1];		    T1y = FMA(T1u, T1v, T1w * T1x);		    T3G = FNMS(T1w, T1v, T1u * T1x);	       }	       {		    E T1L, T1N, T1K, T1M;		    T1L = ri[WS(ios, 25)];		    T1N = ii[WS(ios, 25)];		    T1K = W[48];		    T1M = W[49];		    T1O = FMA(T1K, T1L, T1M * T1N);		    T3Z = FNMS(T1M, T1L, T1K * T1N);	       }	       {		    E T1A, T1C, T1z, T1B;		    T1A = ri[WS(ios, 17)];		    T1C = ii[WS(ios, 17)];		    T1z = W[32];		    T1B = W[33];		    T1D = FMA(T1z, T1A, T1B * T1C);		    T3H = FNMS(T1B, T1A, T1z * T1C);	       }	       {		    E T1G, T1I, T1F, T1H;		    T1G = ri[WS(ios, 9)];		    T1I = ii[WS(ios, 9)];		    T1F = W[16];		    T1H = W[17];		    T1J = FMA(T1F, T1G, T1H * T1I);		    T3Y = FNMS(T1H, T1G, T1F * T1I);	       }	       {		    E T1E, T1P, T5W, T5X;		    T1E = T1y + T1D;		    T1P = T1J + T1O;		    T1Q = T1E + T1P;		    T61 = T1E - T1P;		    T5W = T3G + T3H;		    T5X = T3Y + T3Z;		    T5Y = T5W - T5X;		    T6J = T5W + T5X;	       }	       {		    E T3I, T3J, T3X, T40;		    T3I = T3G - T3H;		    T3J = T1J - T1O;		    T3K = T3I + T3J;		    T59 = T3I - T3J;		    T3X = T1y - T1D;		    T40 = T3Y - T3Z;		    T41 = T3X - T40;		    T56 = T3X + T40;	       }	  }	  {	       E T2j, T4o, T2z, T49, T2o, T4p, T2u, T48;	       {		    E T2g, T2i, T2f, T2h;		    T2g = ri[WS(ios, 31)];		    T2i = ii[WS(ios, 31)];		    T2f = W[60];		    T2h = W[61];		    T2j = FMA(T2f, T2g, T2h * T2i);		    T4o = FNMS(T2h, T2g, T2f * T2i);	       }	       {		    E T2w, T2y, T2v, T2x;		    T2w = ri[WS(ios, 23)];		    T2y = ii[WS(ios, 23)];		    T2v = W[44];		    T2x = W[45];		    T2z = FMA(T2v, T2w, T2x * T2y);		    T49 = FNMS(T2x, T2w, T2v * T2y);	       }	       {		    E T2l, T2n, T2k, T2m;		    T2l = ri[WS(ios, 15)];		    T2n = ii[WS(ios, 15)];		    T2k = W[28];		    T2m = W[29];		    T2o = FMA(T2k, T2l, T2m * T2n);		    T4p = FNMS(T2m, T2l, T2k * T2n);	       }	       {		    E T2r, T2t, T2q, T2s;		    T2r = ri[WS(ios, 7)];		    T2t = ii[WS(ios, 7)];		    T2q = W[12];		    T2s = W[13];		    T2u = FMA(T2q, T2r, T2s * T2t);		    T48 = FNMS(T2s, T2r, T2q * T2t);	       }	       {		    E T2p, T2A, T6c, T6d;		    T2p = T2j + T2o;		    T2A = T2u + T2z;		    T2B = T2p + T2A;		    T67 = T2p - T2A;		    T6c = T4o + T4p;		    T6d = T48 + T49;		    T6e = T6c - T6d;		    T6O = T6c + T6d;	       }	       {		    E T47, T4a, T4q, T4r;		    T47 = T2j - T2o;		    T4a = T48 - T49;		    T4b = T47 - T4a;		    T5d = T47 + T4a;		    T4q = T4o - T4p;		    T4r = T2u - T2z;		    T4s = T4q + T4r;		    T5g = T4q - T4r;	       }	  }	  {	       E To, T36, TE, T3d, Tt, T37, Tz, T3c;	       {		    E Tl, Tn, Tk, Tm;		    Tl = ri[WS(ios, 4)];		    Tn = ii[WS(ios, 4)];		    Tk = W[6];		    Tm = W[7];		    To = FMA(Tk, Tl, Tm * Tn);		    T36 = FNMS(Tm, Tl, Tk * Tn);	       }	       {		    E TB, TD, TA, TC;		    TB = ri[WS(ios, 12)];		    TD = ii[WS(ios, 12)];		    TA = W[22];		    TC = W[23];		    TE = FMA(TA, TB, TC * TD);		    T3d = FNMS(TC, TB, TA * TD);	       }	       {		    E Tq, Ts, Tp, Tr;		    Tq = ri[WS(ios, 20)];		    Ts = ii[WS(ios, 20)];		    Tp = W[38];		    Tr = W[39];		    Tt = FMA(Tp, Tq, Tr * Ts);		    T37 = FNMS(Tr, Tq, Tp * Ts);	       }	       {		    E Tw, Ty, Tv, Tx;		    Tw = ri[WS(ios, 28)];		    Ty = ii[WS(ios, 28)];		    Tv = W[54];		    Tx = W[55];		    Tz = FMA(Tv, Tw, Tx * Ty);		    T3c = FNMS(Tx, Tw, Tv * Ty);	       }	       {		    E Tu, TF, T5G, T5H;		    Tu = To + Tt;		    TF = Tz + TE;		    TG = Tu + TF;		    T7l = TF - Tu;		    T5G = T36 + T37;		    T5H = T3c + T3d;		    T5I = T5G - T5H;		    T73 = T5G + T5H;	       }	       {		    E T38, T39, T3b, T3e;		    T38 = T36 - T37;		    T39 = To - Tt;		    T3a = T38 - T39;		    T4U = T39 + T38;		    T3b = Tz - TE;		    T3e = T3c - T3d;		    T3f = T3b + T3e;		    T4V = T3b - T3e;	       }	  }	  {	       E TM, T3i, T12, T3p, TR, T3j, TX, T3o;	       {		    E TJ, TL, TI, TK;		    TJ = ri[WS(ios, 2)];		    TL = ii[WS(ios, 2)];		    TI = W[2];		    TK = W[3];		    TM = FMA(TI, TJ, TK * TL);		    T3i = FNMS(TK, TJ, TI * TL);	       }	       {		    E TZ, T11, TY, T10;		    TZ = ri[WS(ios, 26)];		    T11 = ii[WS(ios, 26)];		    TY = W[50];		    T10 = W[51];		    T12 = FMA(TY, TZ, T10 * T11);		    T3p = FNMS(T10, TZ, TY * T11);	       }	       {		    E TO, TQ, TN, TP;		    TO = ri[WS(ios, 18)];		    TQ = ii[WS(ios, 18)];		    TN = W[34];		    TP = W[35];		    TR = FMA(TN, TO, TP * TQ);		    T3j = FNMS(TP, TO, TN * TQ);	       }	       {		    E TU, TW, TT, TV;		    TU = ri[WS(ios, 10)];		    TW = ii[WS(ios, 10)];		    TT = W[18];		    TV = W[19];		    TX = FMA(TT, TU, TV * TW);		    T3o = FNMS(TV, TU, TT * TW);	       }	       {		    E TS, T13, T5K, T5L;		    TS = TM + TR;		    T13 = TX + T12;		    T14 = TS + T13;		    T5N = TS - T13;		    T5K = T3i + T3j;		    T5L = T3o + T3p;		    T5M = T5K - T5L;		    T6E = T5K + T5L;	       }	       {		    E T3k, T3l, T3n, T3q;		    T3k = T3i - T3j;		    T3l = TX - T12;		    T3m = T3k + T3l;		    T4Y = T3k - T3l;		    T3n = TM - TR;		    T3q = T3o - T3p;		    T3r = T3n - T3q;		    T4Z = T3n + T3q;	       }	  }	  {	       E T19, T3t, T1p, T3A, T1e, T3u, T1k, T3z;	       {		    E T16, T18, T15, T17;		    T16 = ri[WS(ios, 30)];		    T18 = ii[WS(ios, 30)];		    T15 = W[58];		    T17 = W[59];		    T19 = FMA(T15, T16, T17 * T18);		    T3t = FNMS(T17, T16, T15 * T18);	       }	       {		    E T1m, T1o, T1l, T1n;		    T1m = ri[WS(ios, 22)];		    T1o = ii[WS(ios, 22)];		    T1l = W[42];		    T1n = W[43];		    T1p = FMA(T1l, T1m, T1n * T1o);		    T3A = FNMS(T1n, T1m, T1l * T1o);	       }	       {		    E T1b, T1d, T1a, T1c;		    T1b = ri[WS(ios, 14)];		    T1d = ii[WS(ios, 14)];		    T1a = W[26];		    T1c = W[27];		    T1e = FMA(T1a, T1b, T1c * T1d);		    T3u = FNMS(T1c, T1b, T1a * T1d);	       }	       {		    E T1h, T1j, T1g, T1i;		    T1h = ri[WS(ios, 6)];		    T1j = ii[WS(ios, 6)];		    T1g = W[10];		    T1i = W[11];		    T1k = FMA(T1g, T1h, T1i * T1j);		    T3z = FNMS(T1i, T1h, T1g * T1j);	       }	       {		    E T1f, T1q, T5Q, T5R;		    T1f = T19 + T1e;		    T1q = T1k + T1p;		    T1r = T1f + T1q;		    T5P = T1f - T1q;		    T5Q = T3t + T3u;		    T5R = T3z + T3A;		    T5S = T5Q - T5R;		    T6F = T5Q + T5R;	       }	       {		    E T3v, T3w, T3y, T3B;		    T3v = T3t - T3u;		    T3w = T1k - T1p;		    T3x = T3v + T3w;		    T51 = T3v - T3w;		    T3y = T19 - T1e;		    T3B = T3z - T3A;		    T3C = T3y - T3B;		    T52 = T3y + T3B;	       }	  }	  {	       E T1V, T3R, T20, T3S, T3Q, T3T, T26, T3M, T2b, T3N, T3L, T3O;	       {		    E T1S, T1U, T1R, T1T;		    T1S = ri[WS(ios, 5)];		    T1U = ii[WS(ios, 5)];		    T1R = W[8];		    T1T = W[9];		    T1V = FMA(T1R, T1S, T1T * T1U);		    T3R = FNMS(T1T, T1S, T1R * T1U);	       }	       {		    E T1X, T1Z, T1W, T1Y;		    T1X = ri[WS(ios, 21)];		    T1Z = ii[WS(ios, 21)];		    T1W = W[40];		    T1Y = W[41];		    T20 = FMA(T1W, T1X, T1Y * T1Z);		    T3S = FNMS(T1Y, T1X, T1W * T1Z);	       }	       T3Q = T1V - T20;	       T3T = T3R - T3S;	       {		    E T23, T25, T22, T24;		    T23 = ri[WS(ios, 29)];		    T25 = ii[WS(ios, 29)];		    T22 = W[56];		    T24 = W[57];		    T26 = FMA(T22, T23, T24 * T25);		    T3M = FNMS(T24, T23, T22 * T25);	       }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -