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

📄 r2cb_128.c

📁 快速fft变换
💻 C
📖 第 1 页 / 共 5 页
字号:
					     T5V = T5y - T5z;					     T5A = T5y + T5z;					}					{					     E T5W, T5I, T5Z, T5J;					     {						  E T5D, T3L, T67, T5B, T5Y, T5j, T65, T69, T66, T5k;						  T5D = FNMS(KP1_990369453, T3K, T2R);						  T3L = FMA(KP1_990369453, T3K, T2R);						  T5W = FNMS(KP980785280, T5V, T5U);						  T67 = FMA(KP980785280, T5V, T5U);						  T5I = FNMS(KP980785280, T5A, T5x);						  T5B = FMA(KP980785280, T5A, T5x);						  T5Y = T5i - T4R;						  T5j = T4R + T5i;						  T65 = FNMS(KP1_546020906, T64, T63);						  T69 = FMA(KP1_546020906, T64, T63);						  T5Z = FNMS(KP980785280, T5Y, T5X);						  T66 = FMA(KP980785280, T5Y, T5X);						  T5J = FNMS(KP980785280, T5j, T4q);						  T5k = FMA(KP980785280, T5j, T4q);						  {						       E T68, T6a, T5E, T5C;						       T68 = FNMS(KP357805721, T67, T66);						       T6a = FMA(KP357805721, T66, T67);						       T5E = FMA(KP049126849, T5k, T5B);						       T5C = FNMS(KP049126849, T5B, T5k);						       R1[WS(rs, 60)] = FMA(KP1_883088130, T6a, T69);						       R1[WS(rs, 28)] = FNMS(KP1_883088130, T6a, T69);						       R1[WS(rs, 44)] = FMA(KP1_883088130, T68, T65);						       R1[WS(rs, 12)] = FNMS(KP1_883088130, T68, T65);						       R1[0] = FMA(KP1_997590912, T5C, T3L);						       R1[WS(rs, 32)] = FNMS(KP1_997590912, T5C, T3L);						       R1[WS(rs, 16)] = FNMS(KP1_997590912, T5E, T5D);						       R1[WS(rs, 48)] = FMA(KP1_997590912, T5E, T5D);						  }					     }					     {						  E T5H, T5K, T5T, T60;						  T5L = FMA(KP1_990369453, T5G, T5F);						  T5H = FNMS(KP1_990369453, T5G, T5F);						  T5K = FNMS(KP906347169, T5J, T5I);						  T5M = FMA(KP906347169, T5I, T5J);						  T61 = FMA(KP1_546020906, T5S, T5P);						  T5T = FNMS(KP1_546020906, T5S, T5P);						  T60 = FNMS(KP472964775, T5Z, T5W);						  T62 = FMA(KP472964775, T5W, T5Z);						  R1[WS(rs, 40)] = FMA(KP1_481902250, T5K, T5H);						  R1[WS(rs, 8)] = FNMS(KP1_481902250, T5K, T5H);						  R1[WS(rs, 4)] = FMA(KP1_807978586, T60, T5T);						  R1[WS(rs, 36)] = FNMS(KP1_807978586, T60, T5T);					     }					}				   }			      }			 }			 {			      E T8B, T8C, T8R, T8S;			      {				   E T8v, T7v, T8w, T7O, T8N, T8n, T8U, T8I, T8T, T8F, T8K, T80, T87, T8e, T8L;				   E T8q;				   {					E T8D, T8E, T8H, T8G, T8o, T8p;					{					     E T7n, T7u, T7G, T7N;					     T8D = FMA(KP1_847759065, T7m, T7j);					     T7n = FNMS(KP1_847759065, T7m, T7j);					     R1[WS(rs, 52)] = FMA(KP1_807978586, T62, T61);					     R1[WS(rs, 20)] = FNMS(KP1_807978586, T62, T61);					     R1[WS(rs, 56)] = FMA(KP1_481902250, T5M, T5L);					     R1[WS(rs, 24)] = FNMS(KP1_481902250, T5M, T5L);					     T7u = FNMS(KP668178637, T7t, T7q);					     T8E = FMA(KP668178637, T7q, T7t);					     T8H = FMA(KP923879532, T7F, T7y);					     T7G = FNMS(KP923879532, T7F, T7y);					     T7N = FMA(KP923879532, T7M, T7J);					     T8G = FNMS(KP923879532, T7M, T7J);					     T8v = FNMS(KP1_662939224, T7u, T7n);					     T7v = FMA(KP1_662939224, T7u, T7n);					     T8w = FMA(KP303346683, T7G, T7N);					     T7O = FNMS(KP303346683, T7N, T7G);					}					T8N = FNMS(KP923879532, T8m, T8j);					T8n = FMA(KP923879532, T8m, T8j);					T8U = FMA(KP534511135, T8G, T8H);					T8I = FNMS(KP534511135, T8H, T8G);					T8T = FMA(KP1_662939224, T8E, T8D);					T8F = FNMS(KP1_662939224, T8E, T8D);					T8K = FMA(KP923879532, T7Z, T7S);					T80 = FNMS(KP923879532, T7Z, T7S);					T87 = FNMS(KP668178637, T86, T83);					T8o = FMA(KP668178637, T83, T86);					T8p = FMA(KP668178637, T8a, T8d);					T8e = FNMS(KP668178637, T8d, T8a);					T8L = T8o + T8p;					T8q = T8o - T8p;				   }				   {					E T8M, T8y, T8P, T8z;					{					     E T8t, T7P, T8X, T8r, T8O, T8f, T8V, T8Z, T8W, T8g;					     T8t = FNMS(KP1_913880671, T7O, T7v);					     T7P = FMA(KP1_913880671, T7O, T7v);					     T8M = FNMS(KP831469612, T8L, T8K);					     T8X = FMA(KP831469612, T8L, T8K);					     T8y = FNMS(KP831469612, T8q, T8n);					     T8r = FMA(KP831469612, T8q, T8n);					     T8O = T8e - T87;					     T8f = T87 + T8e;					     T8V = FNMS(KP1_763842528, T8U, T8T);					     T8Z = FMA(KP1_763842528, T8U, T8T);					     T8P = FNMS(KP831469612, T8O, T8N);					     T8W = FMA(KP831469612, T8O, T8N);					     T8z = FNMS(KP831469612, T8f, T80);					     T8g = FMA(KP831469612, T8f, T80);					     {						  E T8Y, T90, T8u, T8s;						  T8Y = FNMS(KP250486960, T8X, T8W);						  T90 = FMA(KP250486960, T8W, T8X);						  T8u = FMA(KP148335987, T8g, T8r);						  T8s = FNMS(KP148335987, T8r, T8g);						  R1[WS(rs, 61)] = FMA(KP1_940062506, T90, T8Z);						  R1[WS(rs, 29)] = FNMS(KP1_940062506, T90, T8Z);						  R1[WS(rs, 45)] = FMA(KP1_940062506, T8Y, T8V);						  R1[WS(rs, 13)] = FNMS(KP1_940062506, T8Y, T8V);						  R1[WS(rs, 1)] = FMA(KP1_978353019, T8s, T7P);						  R1[WS(rs, 33)] = FNMS(KP1_978353019, T8s, T7P);						  R1[WS(rs, 17)] = FNMS(KP1_978353019, T8u, T8t);						  R1[WS(rs, 49)] = FMA(KP1_978353019, T8u, T8t);					     }					}					{					     E T8x, T8A, T8J, T8Q;					     T8B = FMA(KP1_913880671, T8w, T8v);					     T8x = FNMS(KP1_913880671, T8w, T8v);					     T8A = FNMS(KP741650546, T8z, T8y);					     T8C = FMA(KP741650546, T8y, T8z);					     T8R = FMA(KP1_763842528, T8I, T8F);					     T8J = FNMS(KP1_763842528, T8I, T8F);					     T8Q = FNMS(KP599376933, T8P, T8M);					     T8S = FMA(KP599376933, T8M, T8P);					     R1[WS(rs, 41)] = FMA(KP1_606415062, T8A, T8x);					     R1[WS(rs, 9)] = FNMS(KP1_606415062, T8A, T8x);					     R1[WS(rs, 5)] = FMA(KP1_715457220, T8Q, T8J);					     R1[WS(rs, 37)] = FNMS(KP1_715457220, T8Q, T8J);					}				   }			      }			      {				   E T6R, T6S, T77, T78;				   {					E T6L, T6h, T6M, T6o, T73, T6D, T7a, T6Y, T79, T6V, T70, T6s, T6y, T6v, T71;					E T6G;					{					     E T6T, T6U, T6X, T6W, T6E, T6F;					     {						  E T6d, T6g, T6k, T6n;						  T6T = FMA(KP1_847759065, T6c, T6b);						  T6d = FNMS(KP1_847759065, T6c, T6b);						  R1[WS(rs, 53)] = FMA(KP1_715457220, T8S, T8R);						  R1[WS(rs, 21)] = FNMS(KP1_715457220, T8S, T8R);						  R1[WS(rs, 57)] = FMA(KP1_606415062, T8C, T8B);						  R1[WS(rs, 25)] = FNMS(KP1_606415062, T8C, T8B);						  T6g = FNMS(KP668178637, T6f, T6e);						  T6U = FMA(KP668178637, T6e, T6f);						  T6X = FMA(KP923879532, T6j, T6i);						  T6k = FNMS(KP923879532, T6j, T6i);						  T6n = FNMS(KP923879532, T6m, T6l);						  T6W = FMA(KP923879532, T6m, T6l);						  T6L = FMA(KP1_662939224, T6g, T6d);						  T6h = FNMS(KP1_662939224, T6g, T6d);						  T6M = FMA(KP534511135, T6k, T6n);						  T6o = FNMS(KP534511135, T6n, T6k);					     }					     T73 = FMA(KP923879532, T6C, T6B);					     T6D = FNMS(KP923879532, T6C, T6B);					     T7a = FMA(KP303346683, T6W, T6X);					     T6Y = FNMS(KP303346683, T6X, T6W);					     T79 = FMA(KP1_662939224, T6U, T6T);					     T6V = FNMS(KP1_662939224, T6U, T6T);					     T70 = FMA(KP923879532, T6r, T6q);					     T6s = FNMS(KP923879532, T6r, T6q);					     T6y = FNMS(KP668178637, T6x, T6w);					     T6E = FMA(KP668178637, T6w, T6x);					     T6F = FNMS(KP668178637, T6t, T6u);					     T6v = FMA(KP668178637, T6u, T6t);					     T71 = T6E + T6F;					     T6G = T6E - T6F;					}					{					     E T72, T6O, T75, T6P;					     {						  E T6J, T6p, T7d, T6H, T74, T6z, T7b, T7f, T7c, T6A;						  T6J = FNMS(KP1_763842528, T6o, T6h);						  T6p = FMA(KP1_763842528, T6o, T6h);						  T72 = FNMS(KP831469612, T71, T70);						  T7d = FMA(KP831469612, T71, T70);						  T6O = FNMS(KP831469612, T6G, T6D);						  T6H = FMA(KP831469612, T6G, T6D);						  T74 = T6y + T6v;						  T6z = T6v - T6y;						  T7b = FNMS(KP1_913880671, T7a, T79);						  T7f = FMA(KP1_913880671, T7a, T79);						  T75 = FNMS(KP831469612, T74, T73);						  T7c = FMA(KP831469612, T74, T73);						  T6P = FNMS(KP831469612, T6z, T6s);						  T6A = FMA(KP831469612, T6z, T6s);						  {						       E T7e, T7g, T6K, T6I;						       T7e = FNMS(KP148335987, T7d, T7c);						       T7g = FMA(KP148335987, T7c, T7d);						       T6K = FMA(KP250486960, T6A, T6H);						       T6I = FNMS(KP250486960, T6H, T6A);						       R1[WS(rs, 62)] = FMA(KP1_978353019, T7g, T7f);						       R1[WS(rs, 30)] = FNMS(KP1_978353019, T7g, T7f);						       R1[WS(rs, 46)] = FMA(KP1_978353019, T7e, T7b);						       R1[WS(rs, 14)] = FNMS(KP1_978353019, T7e, T7b);						       R1[WS(rs, 2)] = FMA(KP1_940062506, T6I, T6p);						       R1[WS(rs, 34)] = FNMS(KP1_940062506, T6I, T6p);						       R1[WS(rs, 18)] = FNMS(KP1_940062506, T6K, T6J);						       R1[WS(rs, 50)] = FMA(KP1_940062506, T6K, T6J);						  }					     }					     {						  E T6N, T6Q, T6Z, T76;						  T6R = FMA(KP1_763842528, T6M, T6L);						  T6N = FNMS(KP1_763842528, T6M, T6L);						  T6Q = FNMS(KP599376933, T6P, T6O);						  T6S = FMA(KP599376933, T6O, T6P);						  T77 = FMA(KP1_913880671, T6Y, T6V);						  T6Z = FNMS(KP1_913880671, T6Y, T6V);						  T76 = FNMS(KP741650546, T75, T72);						  T78 = FMA(KP741650546, T72, T75);						  R1[WS(rs, 42)] = FMA(KP1_715457220, T6Q, T6N);						  R1[WS(rs, 10)] = FNMS(KP1_715457220, T6Q, T6N);						  R1[WS(rs, 6)] = FMA(KP1_606415062, T76, T6Z);						  R1[WS(rs, 38)] = FNMS(KP1_606415062, T76, T6Z);					     }					}				   }				   {					E T9B, T97, T9C, T9e, T9T, T9t, Ta0, T9O, T9Z, T9L, T9Q, T9i, T9l, T9o, T9R;					E T9w;					{					     E T9J, T9K, T9N, T9M, T9u, T9v;					     {						  E T93, T96, T9a, T9d;						  T9J = FMA(KP1_847759065, T92, T91);						  T93 = FNMS(KP1_847759065, T92, T91);						  R1[WS(rs, 54)] = FMA(KP1_606415062, T78, T77);						  R1[WS(rs, 22)] = FNMS(KP1_606415062, T78, T77);						  R1[WS(rs, 58)] = FMA(KP1_715457220, T6S, T6R);						  R1[WS(rs, 26)] = FNMS(KP1_715457220, T6S, T6R);						  T96 = FNMS(KP198912367, T95, T94);						  T9K = FMA(KP198912367, T94, T95);						  T9N = FMA(KP923879532, T99, T98);						  T9a = FNMS(KP923879532, T99, T98);						  T9d = FNMS(KP923879532, T9c, T9b);						  T9M = FMA(KP923879532, T9c, T9b);						  T9B = FMA(KP1_961570560, T96, T93);						  T97 = FNMS(KP1_961570560, T96, T93);						  T9C = FMA(KP820678790, T9a, T9d);						  T9e = FNMS(KP820678790, T9d, T9a);					     }					     T9T = FMA(KP923879532, T9s, T9r);					     T9t = FNMS(KP923879532, T9s, T9r);					     Ta0 = FMA(KP098491403, T9M, T9N);					     T9O = FNMS(KP098491403, T9N, T9M);					     T9Z = FMA(KP1_961570560, T9K, T9J);					     T9L = FNMS(KP1_961570560, T9K, T9J);					     T9Q = FMA(KP923879532, T9h, T9g);					     T9i = FNMS(KP923879532, T9h, T9g);					     T9l = FNMS(KP198912367, T9k, T9j);					     T9u = FMA(KP198912367, T9j, T9k);					     T9v = FMA(KP198912367, T9m, T9n);					     T9o = FNMS(KP198912367, T9n, T9m);					     T9R = T9u + T9v;					     T9w = T9u - T9v;					}					{					     E T9S, T9E, T9V, T9F;					     {						  E T9z, T9f, Ta3, T9x, T9U, T9p, Ta1, Ta5, Ta2, T9q;						  T9z = FNMS(KP1_546020906, T9e, T97);						  T9f = FMA(KP1_546020906, T9e, T97);						  T9S = FNMS(KP980785280, T9R, T9Q);						  Ta3 = FMA(KP980785280, T9R, T9Q);						  T9E = FNMS(KP980785280, T9w, T9t);						  T9x = FMA(KP980785280, T9w, T9t);						  T9U = T9l - T9o;						  T9p = T9l + T9o;						  Ta1 = FNMS(KP1_990369453, Ta0, T9Z);						  Ta5 = FMA(KP1_990369453, Ta0, T9Z);						  T9V = FNMS(KP980785280, T9U, T9T);						  Ta2 = FMA(KP980785280, T9U, T9T);						  T9F = FMA(KP980785280, T9p, T9i);						  T9q = FNMS(KP980785280, T9p, T9i);						  {						       E Ta4, Ta6, T9A, T9y;						       Ta4 = FNMS(KP049126849, Ta3, Ta2);						       Ta6 = FMA(KP049126849, Ta2, Ta3);						       T9A = FMA(KP357805721, T9q, T9x);						       T9y = FNMS(KP357805721, T9x, T9q);						       R1[WS(rs, 63)] = FMA(KP1_997590912, Ta6, Ta5);						       R1[WS(rs, 31)] = FNMS(KP1_997590912, Ta6, Ta5);						       R1[WS(rs, 47)] = FMA(KP1_997590912, Ta4, Ta1);						       R1[WS(rs, 15)] = FNMS(KP1_997590912, Ta4, Ta1);						       R1[WS(rs, 3)] = FMA(KP1_883088130, T9y, T9f);						       R1[WS(rs, 35)] = FNMS(KP1_883088130, T9y, T9f);						       R1[WS(rs, 19)] = FNMS(KP1_883088130, T9A, T9z);						       R1[WS(rs, 51)] = FMA(KP1_883088130, T9A, T9z);						  }					     }					     {						  E T9D, T9G, T9P, T9W;						  T9H = FMA(KP1_546020906, T9C, T9B);						  T9D = FNMS(KP1_546020906, T9C, T9B);						  T9G = FNMS(KP472964775, T9F, T9E);						  T9I = FMA(KP472964775, T9E, T9F);						  T9X = FMA(KP1_990369453, T9O, T9L);						  T9P = FNMS(KP1_990369453, T9O, T9L);						  T9W = FNMS(KP906347169, T9V, T9S);						  T9Y = FMA(KP906347169, T9S, T9V);						  R1[WS(rs, 43)] = FMA(KP1_807978586, T9G, T9D);						  R1[WS(rs, 11)] = FNMS(KP1_807978586, T9G, T9D);						  R1[WS(rs, 7)] = FMA(KP1_481902250, T9W, T9P);						  R1[WS(rs, 39)] = FNMS(KP1_481902250, T9W, T9P);					     }					}				   }			      }			 }		    }	       }	  }	  R1[WS(rs, 55)] = FMA(KP1_481902250, T9Y, T9X);	  R1[WS(rs, 23)] = FNMS(KP1_481902250, T9Y, T9X);	  R1[WS(rs, 59)] = FMA(KP1_807978586, T9I, T9H);	  R1[WS(rs, 27)] = FNMS(KP1_807978586, T9I, T9H);     }}static const kr2c_desc desc = { 128, "r2cb_128", {416, 0, 540, 0}, &GENUS };void X(codelet_r2cb_128) (planner *p) {     X(kr2c_register) (p, r2cb_128, &desc);}#else				/* HAVE_FMA *//* Generated by: ../../../genfft/gen_r2cb -compact -variables 4 -pipeline-latency 4 -sign 1 -n 128 -name r2cb_128 -include r2cb.h *//* * This function contains 956 FP additions, 342 FP multiplications, * (or, 812 additions, 198 multiplications, 144 fused multiply/add), * 198 stack variables, 39 constants, and 256 memory accesses */#include "r2cb.h"static void r2cb_128(R *R0, R *R1, R *Cr, R *Ci, stride rs, stride csr, stride csi, INT v, INT ivs, INT ovs){     DK(KP1_028205488, +1.028205488386443453187387677937631545216098241);     DK(KP1_715457220, +1.715457220000544139804539968569540274084981599);     DK(KP1_606415062, +1.606415062961289819613353025926283847759138854);     DK(KP1_191398608, +1.191398608984866686934073057659939779023852677);     DK(KP1_940062506, +1.940062506389087985207968414572200502913731924);     DK(KP485960359, +0.485960359806527779896548324154942236641981567);     DK(KP293460948, +0.293460948910723503317700259293435639412430633);     DK(KP1_978353019, +1.978353019929561946903347476032486127967379067);     DK(KP831469612, +0.831469612302545237078788377617905756738560812);     DK(KP555570233, +0.555570233019602224742830813948532874374937191);     DK(KP855110186, +0.855110186860564188641933713777597068609157259);     DK(KP1_807978586, +1.807978586246886663172400594461074097420264050);     DK(KP1_481902250, +1.481902250709918182351233794990325459457910619);     DK(KP1_343117909, +1.343117909694036801250753700854843606457501264);     DK(KP1_883088130, +1.883088130366041556825018805199004714371179592);     DK(KP673779706, +0.673779706784440101378506425238295140955533559);     DK(KP098135348, +0.098135348654836028509909953885365316629490726);     DK(KP1_997590912, +1.997590912410344785429543209518201388886407229);     DK(KP980785280, +0.980785280403230449126182236134239036973933731);     DK(KP195090322, +0.195090322016128267848284868477022240927691618);     DK(KP580569354, +0.580569354508924735272384751634790549382952557);     DK(KP1_913880671, +1.913880671464417729871595773960539938965698411);     DK(KP942793473, +0.942793473651995297112775251810508755314920638);     DK(KP1_763842528, +1.763842528696710059425513727320776699016885241);     DK(KP1_111140466, +1.111140466039204449485661627897065748749874382);     DK(KP1_662939224, +1.662939224605090474157576755235811513477121624);     DK(KP1_268786568, +1.268786568327290996430343226450986741351374190);     DK(KP1_546020906, +1.546020906725473921621813219516939601942082586);     DK(KP196034280, +0.196034280659121203988391127777283691722273346);     DK(KP1_990369453, +1.990369453344393772489673906218959843150949737);     DK(KP390180644, +0.390180644032256535696569736954044481855383236);     DK(KP1_961570560, +1.961570560806460898252364472268478073947867462);     DK(KP382683432, +0.382683432365089771728459984030398866761344562);     DK(KP923879532, +0.923879532511286756128183189396788286822416626);     DK(KP707106781, +0.707106781186547524400844362104849039284835938);     DK(KP765366864, +0.765366864730179543456919968060797733522689125);     DK(KP1_847759065, +1.847759065022573512256366378793576573644833252);     DK(KP1_414213562, +1.414213562373095048801688724209698078569671875);     DK(KP2_000000000, +2.000000000000000000000000000000000000000000000);     INT i;     for (i = v; i > 0; i = i - 1, R0 = R0 + ovs, R1 = R1 + ovs, Cr = Cr + ivs, Ci = Ci + ivs, MAKE_VOLATILE_STRIDE(rs), MAKE_VOLATILE_STRIDE(csr), MAKE_VOLATILE_STRIDE(csi)) {	  E Ta, T6q, T2a, T5k, T8x, Tbx, TcF, Ten, Th, T6r, T2j, T5l, T8E, Tby, TcI;	  E Teo, Tx, T6t, TcM, Teq, TcP, Ter, T2t, T5n, T2C, T5o, T8Q, TbA, T8X, TbB;	  E T6w, T7L, T1j, T6L, Tde, TeC, TdL, TeR, T3v, T5z, T4I, T5O, T9O, TbM, TaV;

⌨️ 快捷键说明

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