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

📄 q1_6.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:39:14 EDT 2003 */#include "codelet-dft.h"/* Generated by: /homee/stevenj/cvs/fftw3.0.1/genfft/gen_twidsq -compact -variables 4 -reload-twiddle -dif -n 6 -name q1_6 -include q.h *//* * This function contains 276 FP additions, 168 FP multiplications, * (or, 192 additions, 84 multiplications, 84 fused multiply/add), * 85 stack variables, and 144 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_twidsq.ml,v 1.14 2003/03/15 20:29:42 stevenj Exp $ */#include "q.h"static const R *q1_6(R *rio, R *iio, const R *W, stride is, stride vs, int m, int dist){     DK(KP500000000, +0.500000000000000000000000000000000000000000000);     DK(KP866025403, +0.866025403784438646763723170752936183471402627);     int i;     for (i = m; i > 0; i = i - 1, rio = rio + dist, iio = iio + dist, W = W + 10) {	  E T3, Tc, Tt, TM, TX, T16, T1n, T1G, T2h, T2A, T1R, T20, T2L, T2U, T3b;	  E T3u, T3F, T3O, T45, T4o, T4Z, T5i, T4z, T4I, Ta, TP, Tf, Tq, Tn, TN;	  E Tu, TJ, T14, T1J, T19, T1k, T1h, T1H, T1o, T1D, T2b, T2B, T2i, T2x, T1Y;	  E T2D, T23, T2e, T2S, T3x, T2X, T38, T35, T3v, T3c, T3r, T3M, T4r, T3R, T42;	  E T3Z, T4p, T46, T4l, T4T, T5j, T50, T5f, T4G, T5l, T4L, T4W;	  {	       E T1, T2, T1l, T1m;	       T1 = rio[0];	       T2 = rio[WS(is, 3)];	       T3 = T1 + T2;	       Tc = T1 - T2;	       {		    E Tr, Ts, TV, TW;		    Tr = iio[0];		    Ts = iio[WS(is, 3)];		    Tt = Tr - Ts;		    TM = Tr + Ts;		    TV = rio[WS(vs, 1)];		    TW = rio[WS(vs, 1) + WS(is, 3)];		    TX = TV + TW;		    T16 = TV - TW;	       }	       T1l = iio[WS(vs, 1)];	       T1m = iio[WS(vs, 1) + WS(is, 3)];	       T1n = T1l - T1m;	       T1G = T1l + T1m;	       {		    E T2f, T2g, T1P, T1Q;		    T2f = iio[WS(vs, 2)];		    T2g = iio[WS(vs, 2) + WS(is, 3)];		    T2h = T2f - T2g;		    T2A = T2f + T2g;		    T1P = rio[WS(vs, 2)];		    T1Q = rio[WS(vs, 2) + WS(is, 3)];		    T1R = T1P + T1Q;		    T20 = T1P - T1Q;	       }	  }	  {	       E T2J, T2K, T43, T44;	       T2J = rio[WS(vs, 3)];	       T2K = rio[WS(vs, 3) + WS(is, 3)];	       T2L = T2J + T2K;	       T2U = T2J - T2K;	       {		    E T39, T3a, T3D, T3E;		    T39 = iio[WS(vs, 3)];		    T3a = iio[WS(vs, 3) + WS(is, 3)];		    T3b = T39 - T3a;		    T3u = T39 + T3a;		    T3D = rio[WS(vs, 4)];		    T3E = rio[WS(vs, 4) + WS(is, 3)];		    T3F = T3D + T3E;		    T3O = T3D - T3E;	       }	       T43 = iio[WS(vs, 4)];	       T44 = iio[WS(vs, 4) + WS(is, 3)];	       T45 = T43 - T44;	       T4o = T43 + T44;	       {		    E T4X, T4Y, T4x, T4y;		    T4X = iio[WS(vs, 5)];		    T4Y = iio[WS(vs, 5) + WS(is, 3)];		    T4Z = T4X - T4Y;		    T5i = T4X + T4Y;		    T4x = rio[WS(vs, 5)];		    T4y = rio[WS(vs, 5) + WS(is, 3)];		    T4z = T4x + T4y;		    T4I = T4x - T4y;	       }	  }	  {	       E T6, Td, T9, Te;	       {		    E T4, T5, T7, T8;		    T4 = rio[WS(is, 2)];		    T5 = rio[WS(is, 5)];		    T6 = T4 + T5;		    Td = T4 - T5;		    T7 = rio[WS(is, 4)];		    T8 = rio[WS(is, 1)];		    T9 = T7 + T8;		    Te = T7 - T8;	       }	       Ta = T6 + T9;	       TP = KP866025403 * (T9 - T6);	       Tf = Td + Te;	       Tq = KP866025403 * (Te - Td);	  }	  {	       E Tj, TH, Tm, TI;	       {		    E Th, Ti, Tk, Tl;		    Th = iio[WS(is, 2)];		    Ti = iio[WS(is, 5)];		    Tj = Th - Ti;		    TH = Th + Ti;		    Tk = iio[WS(is, 4)];		    Tl = iio[WS(is, 1)];		    Tm = Tk - Tl;		    TI = Tk + Tl;	       }	       Tn = KP866025403 * (Tj - Tm);	       TN = TH + TI;	       Tu = Tj + Tm;	       TJ = KP866025403 * (TH - TI);	  }	  {	       E T10, T17, T13, T18;	       {		    E TY, TZ, T11, T12;		    TY = rio[WS(vs, 1) + WS(is, 2)];		    TZ = rio[WS(vs, 1) + WS(is, 5)];		    T10 = TY + TZ;		    T17 = TY - TZ;		    T11 = rio[WS(vs, 1) + WS(is, 4)];		    T12 = rio[WS(vs, 1) + WS(is, 1)];		    T13 = T11 + T12;		    T18 = T11 - T12;	       }	       T14 = T10 + T13;	       T1J = KP866025403 * (T13 - T10);	       T19 = T17 + T18;	       T1k = KP866025403 * (T18 - T17);	  }	  {	       E T1d, T1B, T1g, T1C;	       {		    E T1b, T1c, T1e, T1f;		    T1b = iio[WS(vs, 1) + WS(is, 2)];		    T1c = iio[WS(vs, 1) + WS(is, 5)];		    T1d = T1b - T1c;		    T1B = T1b + T1c;		    T1e = iio[WS(vs, 1) + WS(is, 4)];		    T1f = iio[WS(vs, 1) + WS(is, 1)];		    T1g = T1e - T1f;		    T1C = T1e + T1f;	       }	       T1h = KP866025403 * (T1d - T1g);	       T1H = T1B + T1C;	       T1o = T1d + T1g;	       T1D = KP866025403 * (T1B - T1C);	  }	  {	       E T27, T2v, T2a, T2w;	       {		    E T25, T26, T28, T29;		    T25 = iio[WS(vs, 2) + WS(is, 2)];		    T26 = iio[WS(vs, 2) + WS(is, 5)];		    T27 = T25 - T26;		    T2v = T25 + T26;		    T28 = iio[WS(vs, 2) + WS(is, 4)];		    T29 = iio[WS(vs, 2) + WS(is, 1)];		    T2a = T28 - T29;		    T2w = T28 + T29;	       }	       T2b = KP866025403 * (T27 - T2a);	       T2B = T2v + T2w;	       T2i = T27 + T2a;	       T2x = KP866025403 * (T2v - T2w);	  }	  {	       E T1U, T21, T1X, T22;	       {		    E T1S, T1T, T1V, T1W;		    T1S = rio[WS(vs, 2) + WS(is, 2)];		    T1T = rio[WS(vs, 2) + WS(is, 5)];		    T1U = T1S + T1T;		    T21 = T1S - T1T;		    T1V = rio[WS(vs, 2) + WS(is, 4)];		    T1W = rio[WS(vs, 2) + WS(is, 1)];		    T1X = T1V + T1W;		    T22 = T1V - T1W;	       }	       T1Y = T1U + T1X;	       T2D = KP866025403 * (T1X - T1U);	       T23 = T21 + T22;	       T2e = KP866025403 * (T22 - T21);	  }	  {	       E T2O, T2V, T2R, T2W;	       {		    E T2M, T2N, T2P, T2Q;		    T2M = rio[WS(vs, 3) + WS(is, 2)];		    T2N = rio[WS(vs, 3) + WS(is, 5)];		    T2O = T2M + T2N;		    T2V = T2M - T2N;		    T2P = rio[WS(vs, 3) + WS(is, 4)];		    T2Q = rio[WS(vs, 3) + WS(is, 1)];		    T2R = T2P + T2Q;		    T2W = T2P - T2Q;	       }	       T2S = T2O + T2R;	       T3x = KP866025403 * (T2R - T2O);	       T2X = T2V + T2W;	       T38 = KP866025403 * (T2W - T2V);	  }	  {	       E T31, T3p, T34, T3q;	       {		    E T2Z, T30, T32, T33;		    T2Z = iio[WS(vs, 3) + WS(is, 2)];		    T30 = iio[WS(vs, 3) + WS(is, 5)];		    T31 = T2Z - T30;		    T3p = T2Z + T30;		    T32 = iio[WS(vs, 3) + WS(is, 4)];		    T33 = iio[WS(vs, 3) + WS(is, 1)];		    T34 = T32 - T33;		    T3q = T32 + T33;	       }	       T35 = KP866025403 * (T31 - T34);	       T3v = T3p + T3q;	       T3c = T31 + T34;	       T3r = KP866025403 * (T3p - T3q);	  }	  {	       E T3I, T3P, T3L, T3Q;	       {		    E T3G, T3H, T3J, T3K;		    T3G = rio[WS(vs, 4) + WS(is, 2)];		    T3H = rio[WS(vs, 4) + WS(is, 5)];		    T3I = T3G + T3H;		    T3P = T3G - T3H;		    T3J = rio[WS(vs, 4) + WS(is, 4)];		    T3K = rio[WS(vs, 4) + WS(is, 1)];		    T3L = T3J + T3K;		    T3Q = T3J - T3K;	       }	       T3M = T3I + T3L;	       T4r = KP866025403 * (T3L - T3I);	       T3R = T3P + T3Q;	       T42 = KP866025403 * (T3Q - T3P);	  }	  {	       E T3V, T4j, T3Y, T4k;	       {		    E T3T, T3U, T3W, T3X;		    T3T = iio[WS(vs, 4) + WS(is, 2)];		    T3U = iio[WS(vs, 4) + WS(is, 5)];		    T3V = T3T - T3U;		    T4j = T3T + T3U;		    T3W = iio[WS(vs, 4) + WS(is, 4)];		    T3X = iio[WS(vs, 4) + WS(is, 1)];		    T3Y = T3W - T3X;		    T4k = T3W + T3X;	       }	       T3Z = KP866025403 * (T3V - T3Y);	       T4p = T4j + T4k;	       T46 = T3V + T3Y;	       T4l = KP866025403 * (T4j - T4k);	  }	  {	       E T4P, T5d, T4S, T5e;	       {		    E T4N, T4O, T4Q, T4R;		    T4N = iio[WS(vs, 5) + WS(is, 2)];		    T4O = iio[WS(vs, 5) + WS(is, 5)];		    T4P = T4N - T4O;		    T5d = T4N + T4O;		    T4Q = iio[WS(vs, 5) + WS(is, 4)];		    T4R = iio[WS(vs, 5) + WS(is, 1)];		    T4S = T4Q - T4R;		    T5e = T4Q + T4R;	       }	       T4T = KP866025403 * (T4P - T4S);	       T5j = T5d + T5e;	       T50 = T4P + T4S;	       T5f = KP866025403 * (T5d - T5e);	  }	  {	       E T4C, T4J, T4F, T4K;	       {		    E T4A, T4B, T4D, T4E;		    T4A = rio[WS(vs, 5) + WS(is, 2)];		    T4B = rio[WS(vs, 5) + WS(is, 5)];		    T4C = T4A + T4B;		    T4J = T4A - T4B;		    T4D = rio[WS(vs, 5) + WS(is, 4)];		    T4E = rio[WS(vs, 5) + WS(is, 1)];		    T4F = T4D + T4E;		    T4K = T4D - T4E;

⌨️ 快捷键说明

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