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

📄 q1_8.c

📁 fftw-3.0.1
💻 C
📖 第 1 页 / 共 3 页
字号:
/* * 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 8 -name q1_8 -include q.h *//* * This function contains 528 FP additions, 256 FP multiplications, * (or, 416 additions, 144 multiplications, 112 fused multiply/add), * 142 stack variables, and 256 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_8(R *rio, R *iio, const R *W, stride is, stride vs, int m, int dist){     DK(KP707106781, +0.707106781186547524400844362104849039284835938);     int i;     for (i = m; i > 0; i = i - 1, rio = rio + dist, iio = iio + dist, W = W + 14) {	  E T7, T14, T1g, Tk, TC, TQ, T10, TM, T1w, T2p, T2z, T1H, T1M, T1W, T2j;	  E T1V, T7R, T8O, T90, T84, T8m, T8A, T8K, T8w, T9g, Ta9, Taj, T9r, T9w, T9G;	  E Ta3, T9F, Te, T17, T1h, Tp, Tu, TE, T11, TD, T1p, T2m, T2y, T1C, T1U;	  E T28, T2i, T24, T7Y, T8R, T91, T89, T8e, T8o, T8L, T8n, T99, Ta6, Tai, T9m;	  E T9E, T9S, Ta2, T9O, T2H, T3E, T3Q, T2U, T3c, T3q, T3A, T3m, T46, T4Z, T59;	  E T4h, T4m, T4w, T4T, T4v, T5h, T6e, T6q, T5u, T5M, T60, T6a, T5W, T6G, T7z;	  E T7J, T6R, T6W, T76, T7t, T75, T2O, T3H, T3R, T2Z, T34, T3e, T3B, T3d, T3Z;	  E T4W, T58, T4c, T4u, T4I, T4S, T4E, T5o, T6h, T6r, T5z, T5E, T5O, T6b, T5N;	  E T6z, T7w, T7I, T6M, T74, T7i, T7s, T7e;	  {	       E T3, Ty, Tj, TY, T6, Tg, TB, TZ;	       {		    E T1, T2, Th, Ti;		    T1 = rio[0];		    T2 = rio[WS(is, 4)];		    T3 = T1 + T2;		    Ty = T1 - T2;		    Th = iio[0];		    Ti = iio[WS(is, 4)];		    Tj = Th - Ti;		    TY = Th + Ti;	       }	       {		    E T4, T5, Tz, TA;		    T4 = rio[WS(is, 2)];		    T5 = rio[WS(is, 6)];		    T6 = T4 + T5;		    Tg = T4 - T5;		    Tz = iio[WS(is, 2)];		    TA = iio[WS(is, 6)];		    TB = Tz - TA;		    TZ = Tz + TA;	       }	       T7 = T3 + T6;	       T14 = T3 - T6;	       T1g = TY + TZ;	       Tk = Tg + Tj;	       TC = Ty - TB;	       TQ = Tj - Tg;	       T10 = TY - TZ;	       TM = Ty + TB;	  }	  {	       E T1s, T1I, T1L, T2n, T1v, T1D, T1G, T2o;	       {		    E T1q, T1r, T1J, T1K;		    T1q = rio[WS(vs, 1) + WS(is, 1)];		    T1r = rio[WS(vs, 1) + WS(is, 5)];		    T1s = T1q + T1r;		    T1I = T1q - T1r;		    T1J = iio[WS(vs, 1) + WS(is, 1)];		    T1K = iio[WS(vs, 1) + WS(is, 5)];		    T1L = T1J - T1K;		    T2n = T1J + T1K;	       }	       {		    E T1t, T1u, T1E, T1F;		    T1t = rio[WS(vs, 1) + WS(is, 7)];		    T1u = rio[WS(vs, 1) + WS(is, 3)];		    T1v = T1t + T1u;		    T1D = T1t - T1u;		    T1E = iio[WS(vs, 1) + WS(is, 7)];		    T1F = iio[WS(vs, 1) + WS(is, 3)];		    T1G = T1E - T1F;		    T2o = T1E + T1F;	       }	       T1w = T1s + T1v;	       T2p = T2n - T2o;	       T2z = T2n + T2o;	       T1H = T1D - T1G;	       T1M = T1I + T1L;	       T1W = T1D + T1G;	       T2j = T1v - T1s;	       T1V = T1L - T1I;	  }	  {	       E T7N, T8i, T83, T8I, T7Q, T80, T8l, T8J;	       {		    E T7L, T7M, T81, T82;		    T7L = rio[WS(vs, 6)];		    T7M = rio[WS(vs, 6) + WS(is, 4)];		    T7N = T7L + T7M;		    T8i = T7L - T7M;		    T81 = iio[WS(vs, 6)];		    T82 = iio[WS(vs, 6) + WS(is, 4)];		    T83 = T81 - T82;		    T8I = T81 + T82;	       }	       {		    E T7O, T7P, T8j, T8k;		    T7O = rio[WS(vs, 6) + WS(is, 2)];		    T7P = rio[WS(vs, 6) + WS(is, 6)];		    T7Q = T7O + T7P;		    T80 = T7O - T7P;		    T8j = iio[WS(vs, 6) + WS(is, 2)];		    T8k = iio[WS(vs, 6) + WS(is, 6)];		    T8l = T8j - T8k;		    T8J = T8j + T8k;	       }	       T7R = T7N + T7Q;	       T8O = T7N - T7Q;	       T90 = T8I + T8J;	       T84 = T80 + T83;	       T8m = T8i - T8l;	       T8A = T83 - T80;	       T8K = T8I - T8J;	       T8w = T8i + T8l;	  }	  {	       E T9c, T9s, T9v, Ta7, T9f, T9n, T9q, Ta8;	       {		    E T9a, T9b, T9t, T9u;		    T9a = rio[WS(vs, 7) + WS(is, 1)];		    T9b = rio[WS(vs, 7) + WS(is, 5)];		    T9c = T9a + T9b;		    T9s = T9a - T9b;		    T9t = iio[WS(vs, 7) + WS(is, 1)];		    T9u = iio[WS(vs, 7) + WS(is, 5)];		    T9v = T9t - T9u;		    Ta7 = T9t + T9u;	       }	       {		    E T9d, T9e, T9o, T9p;		    T9d = rio[WS(vs, 7) + WS(is, 7)];		    T9e = rio[WS(vs, 7) + WS(is, 3)];		    T9f = T9d + T9e;		    T9n = T9d - T9e;		    T9o = iio[WS(vs, 7) + WS(is, 7)];		    T9p = iio[WS(vs, 7) + WS(is, 3)];		    T9q = T9o - T9p;		    Ta8 = T9o + T9p;	       }	       T9g = T9c + T9f;	       Ta9 = Ta7 - Ta8;	       Taj = Ta7 + Ta8;	       T9r = T9n - T9q;	       T9w = T9s + T9v;	       T9G = T9n + T9q;	       Ta3 = T9f - T9c;	       T9F = T9v - T9s;	  }	  {	       E Ta, Tq, Tt, T15, Td, Tl, To, T16;	       {		    E T8, T9, Tr, Ts;		    T8 = rio[WS(is, 1)];		    T9 = rio[WS(is, 5)];		    Ta = T8 + T9;		    Tq = T8 - T9;		    Tr = iio[WS(is, 1)];		    Ts = iio[WS(is, 5)];		    Tt = Tr - Ts;		    T15 = Tr + Ts;	       }	       {		    E Tb, Tc, Tm, Tn;		    Tb = rio[WS(is, 7)];		    Tc = rio[WS(is, 3)];		    Td = Tb + Tc;		    Tl = Tb - Tc;		    Tm = iio[WS(is, 7)];		    Tn = iio[WS(is, 3)];		    To = Tm - Tn;		    T16 = Tm + Tn;	       }	       Te = Ta + Td;	       T17 = T15 - T16;	       T1h = T15 + T16;	       Tp = Tl - To;	       Tu = Tq + Tt;	       TE = Tl + To;	       T11 = Td - Ta;	       TD = Tt - Tq;	  }	  {	       E T1l, T1Q, T1B, T2g, T1o, T1y, T1T, T2h;	       {		    E T1j, T1k, T1z, T1A;		    T1j = rio[WS(vs, 1)];		    T1k = rio[WS(vs, 1) + WS(is, 4)];		    T1l = T1j + T1k;		    T1Q = T1j - T1k;		    T1z = iio[WS(vs, 1)];		    T1A = iio[WS(vs, 1) + WS(is, 4)];		    T1B = T1z - T1A;		    T2g = T1z + T1A;	       }	       {		    E T1m, T1n, T1R, T1S;		    T1m = rio[WS(vs, 1) + WS(is, 2)];		    T1n = rio[WS(vs, 1) + WS(is, 6)];		    T1o = T1m + T1n;		    T1y = T1m - T1n;		    T1R = iio[WS(vs, 1) + WS(is, 2)];		    T1S = iio[WS(vs, 1) + WS(is, 6)];		    T1T = T1R - T1S;		    T2h = T1R + T1S;	       }	       T1p = T1l + T1o;	       T2m = T1l - T1o;	       T2y = T2g + T2h;	       T1C = T1y + T1B;	       T1U = T1Q - T1T;	       T28 = T1B - T1y;	       T2i = T2g - T2h;	       T24 = T1Q + T1T;	  }	  {	       E T7U, T8a, T8d, T8P, T7X, T85, T88, T8Q;	       {		    E T7S, T7T, T8b, T8c;		    T7S = rio[WS(vs, 6) + WS(is, 1)];		    T7T = rio[WS(vs, 6) + WS(is, 5)];		    T7U = T7S + T7T;		    T8a = T7S - T7T;		    T8b = iio[WS(vs, 6) + WS(is, 1)];		    T8c = iio[WS(vs, 6) + WS(is, 5)];		    T8d = T8b - T8c;		    T8P = T8b + T8c;	       }	       {		    E T7V, T7W, T86, T87;		    T7V = rio[WS(vs, 6) + WS(is, 7)];		    T7W = rio[WS(vs, 6) + WS(is, 3)];		    T7X = T7V + T7W;		    T85 = T7V - T7W;		    T86 = iio[WS(vs, 6) + WS(is, 7)];		    T87 = iio[WS(vs, 6) + WS(is, 3)];		    T88 = T86 - T87;		    T8Q = T86 + T87;	       }	       T7Y = T7U + T7X;	       T8R = T8P - T8Q;	       T91 = T8P + T8Q;	       T89 = T85 - T88;	       T8e = T8a + T8d;	       T8o = T85 + T88;	       T8L = T7X - T7U;	       T8n = T8d - T8a;	  }	  {	       E T95, T9A, T9l, Ta0, T98, T9i, T9D, Ta1;	       {		    E T93, T94, T9j, T9k;		    T93 = rio[WS(vs, 7)];		    T94 = rio[WS(vs, 7) + WS(is, 4)];		    T95 = T93 + T94;		    T9A = T93 - T94;		    T9j = iio[WS(vs, 7)];		    T9k = iio[WS(vs, 7) + WS(is, 4)];		    T9l = T9j - T9k;		    Ta0 = T9j + T9k;	       }	       {		    E T96, T97, T9B, T9C;		    T96 = rio[WS(vs, 7) + WS(is, 2)];		    T97 = rio[WS(vs, 7) + WS(is, 6)];		    T98 = T96 + T97;		    T9i = T96 - T97;		    T9B = iio[WS(vs, 7) + WS(is, 2)];		    T9C = iio[WS(vs, 7) + WS(is, 6)];		    T9D = T9B - T9C;		    Ta1 = T9B + T9C;	       }	       T99 = T95 + T98;	       Ta6 = T95 - T98;	       Tai = Ta0 + Ta1;	       T9m = T9i + T9l;	       T9E = T9A - T9D;	       T9S = T9l - T9i;	       Ta2 = Ta0 - Ta1;	       T9O = T9A + T9D;	  }	  {	       E T2D, T38, T2T, T3y, T2G, T2Q, T3b, T3z;	       {		    E T2B, T2C, T2R, T2S;		    T2B = rio[WS(vs, 2)];		    T2C = rio[WS(vs, 2) + WS(is, 4)];		    T2D = T2B + T2C;		    T38 = T2B - T2C;		    T2R = iio[WS(vs, 2)];		    T2S = iio[WS(vs, 2) + WS(is, 4)];		    T2T = T2R - T2S;		    T3y = T2R + T2S;	       }	       {		    E T2E, T2F, T39, T3a;		    T2E = rio[WS(vs, 2) + WS(is, 2)];		    T2F = rio[WS(vs, 2) + WS(is, 6)];		    T2G = T2E + T2F;		    T2Q = T2E - T2F;		    T39 = iio[WS(vs, 2) + WS(is, 2)];		    T3a = iio[WS(vs, 2) + WS(is, 6)];		    T3b = T39 - T3a;		    T3z = T39 + T3a;	       }	       T2H = T2D + T2G;	       T3E = T2D - T2G;	       T3Q = T3y + T3z;	       T2U = T2Q + T2T;	       T3c = T38 - T3b;	       T3q = T2T - T2Q;	       T3A = T3y - T3z;	       T3m = T38 + T3b;	  }	  {	       E T42, T4i, T4l, T4X, T45, T4d, T4g, T4Y;	       {		    E T40, T41, T4j, T4k;		    T40 = rio[WS(vs, 3) + WS(is, 1)];		    T41 = rio[WS(vs, 3) + WS(is, 5)];		    T42 = T40 + T41;		    T4i = T40 - T41;		    T4j = iio[WS(vs, 3) + WS(is, 1)];		    T4k = iio[WS(vs, 3) + WS(is, 5)];		    T4l = T4j - T4k;		    T4X = T4j + T4k;	       }	       {		    E T43, T44, T4e, T4f;		    T43 = rio[WS(vs, 3) + WS(is, 7)];		    T44 = rio[WS(vs, 3) + WS(is, 3)];		    T45 = T43 + T44;		    T4d = T43 - T44;		    T4e = iio[WS(vs, 3) + WS(is, 7)];		    T4f = iio[WS(vs, 3) + WS(is, 3)];		    T4g = T4e - T4f;		    T4Y = T4e + T4f;	       }	       T46 = T42 + T45;	       T4Z = T4X - T4Y;	       T59 = T4X + T4Y;	       T4h = T4d - T4g;	       T4m = T4i + T4l;	       T4w = T4d + T4g;	       T4T = T45 - T42;	       T4v = T4l - T4i;

⌨️ 快捷键说明

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