📄 hc2cfdft_20.c
字号:
} { E TS, TW, T1G, T1I; TS = W[36]; TW = W[37]; T10 = FNMS(TW, TZ, TS * TV); T2Q = FMA(TW, TV, TS * TZ); T1G = W[34]; T1I = W[35]; T1K = FNMS(T1I, T1J, T1G * T1H); T3s = FMA(T1I, T1H, T1G * T1J); } } { E T1P, T27, T1T, T29; { E T1N, T1O, T1R, T1S; T1N = Ip[WS(rs, 6)]; T1O = Im[WS(rs, 6)]; T1P = T1N + T1O; T27 = T1N - T1O; T1R = Rp[WS(rs, 6)]; T1S = Rm[WS(rs, 6)]; T1T = T1R - T1S; T29 = T1R + T1S; } { E T1M, T1Q, T26, T28; T1M = W[24]; T1Q = W[25]; T1U = FNMS(T1Q, T1T, T1M * T1P); T2J = FMA(T1Q, T1P, T1M * T1T); T26 = W[22]; T28 = W[23]; T2a = FNMS(T28, T29, T26 * T27); T3x = FMA(T28, T27, T26 * T29); } } { E T16, T2k, T1a, T2i; { E T14, T15, T18, T19; T14 = Ip[WS(rs, 8)]; T15 = Im[WS(rs, 8)]; T16 = T14 - T15; T2k = T14 + T15; T18 = Rp[WS(rs, 8)]; T19 = Rm[WS(rs, 8)]; T1a = T18 + T19; T2i = T19 - T18; } { E T13, T17, T2h, T2j; T13 = W[30]; T17 = W[31]; T1b = FNMS(T17, T1a, T13 * T16); T3l = FMA(T13, T1a, T17 * T16); T2h = W[33]; T2j = W[32]; T2l = FMA(T2h, T2i, T2j * T2k); T2D = FNMS(T2h, T2k, T2j * T2i); } } { E T2g, T2r, T3n, T3o; { E TI, T11, T4m, T4n; TI = TC - TH; T11 = TR - T10; T12 = TI - T11; T2w = TI + T11; T4m = T3g + T3h; T4n = TR + T10; T4o = T4m + T4n; T4V = T4m - T4n; } { E T2F, T2G, T4w, T4x; T2F = T2D - T2E; T2G = T2a + T2f; T2H = T2F - T2G; T3a = T2F + T2G; T4w = T2l + T2q; T4x = T3x + T3y; T4y = T4w + T4x; T4Y = T4x - T4w; } { E T1l, T1y, T1L, T24; T1l = T1b - T1k; T1y = T1q - T1x; T1z = T1l + T1y; T2v = T1y - T1l; T1L = T1F - T1K; T24 = T1U - T23; T25 = T1L - T24; T2y = T1L + T24; } T2g = T2a - T2f; T2r = T2l - T2q; T2s = T2g - T2r; T2z = T2r + T2g; { E T4t, T4u, T4p, T4q; T4t = T3r + T3s; T4u = T1U + T23; T4v = T4t + T4u; T4X = T4t - T4u; T4p = T3l + T3m; T4q = T1q + T1x; T4r = T4p + T4q; T4U = T4p - T4q; } { E T3w, T3z, T2T, T2W; T3w = T2D + T2E; T3z = T3x - T3y; T3A = T3w + T3z; T3Z = T3z - T3w; T2T = T1b + T1k; T2W = T2U + T2V; T2X = T2T + T2W; T37 = T2T - T2W; } { E T3i, T3j, T2I, T2L; T3i = T3g - T3h; T3j = T2Q - T2P; T3k = T3i + T3j; T41 = T3i - T3j; T2I = T1F + T1K; T2L = T2J + T2K; T2M = T2I + T2L; T39 = T2I - T2L; } { E T3t, T3u, T2O, T2R; T3t = T3r - T3s; T3u = T2K - T2J; T3v = T3t + T3u; T3Y = T3t - T3u; T2O = TC + TH; T2R = T2P + T2Q; T2S = T2O + T2R; T36 = T2O - T2R; } T3n = T3l - T3m; T3o = T2U - T2V; T3p = T3n + T3o; T42 = T3n - T3o; { E Tc, T3M, T4, T8; T4 = W[18]; T8 = W[19]; Tc = FNMS(T8, Tb, T4 * T7); T3M = FMA(T4, Tb, T8 * T7); Td = T3 - Tc; T4G = T3L + T3M; T33 = Tc + T3; T3N = T3L - T3M; } { E Tm, T30, Tv, T31; { E Te, Ti, Tn, Tr; Te = W[8]; Ti = W[9]; Tm = FNMS(Ti, Tl, Te * Th); T30 = FMA(Ti, Th, Te * Tl); Tn = W[28]; Tr = W[29]; Tv = FNMS(Tr, Tu, Tn * Tq); T31 = FMA(Tr, Tq, Tn * Tu); } Tw = Tm - Tv; T4H = Tm + Tv; T32 = T30 + T31; T3O = T31 - T30; } } } { E T3C, T3E, Tx, T2u, T3d, T3e, T3D, T3f; { E T3q, T3B, T1A, T2t; T3q = T3k - T3p; T3B = T3v - T3A; T3C = FMA(KP475528258, T3q, KP293892626 * T3B); T3E = FNMS(KP293892626, T3q, KP475528258 * T3B); Tx = Td - Tw; T1A = T12 + T1z; T2t = T25 + T2s; T2u = T1A + T2t; T3d = KP279508497 * (T1A - T2t); T3e = FNMS(KP125000000, T2u, KP500000000 * Tx); } Ip[WS(rs, 5)] = KP500000000 * (Tx + T2u); T3D = T3d - T3e; Im[WS(rs, 2)] = T3D - T3E; Im[WS(rs, 6)] = T3D + T3E; T3f = T3d + T3e; Ip[WS(rs, 1)] = T3f - T3C; Ip[WS(rs, 9)] = T3f + T3C; } { E T3H, T3T, T3P, T3Q, T3K, T3R, T3U, T3S; { E T3F, T3G, T3I, T3J; T3F = T12 - T1z; T3G = T25 - T2s; T3H = FMA(KP475528258, T3F, KP293892626 * T3G); T3T = FNMS(KP293892626, T3F, KP475528258 * T3G); T3P = T3N + T3O; T3I = T3k + T3p; T3J = T3v + T3A; T3Q = T3I + T3J; T3K = KP279508497 * (T3I - T3J); T3R = FNMS(KP125000000, T3Q, KP500000000 * T3P); } Rp[WS(rs, 5)] = KP500000000 * (T3P + T3Q); T3U = T3R - T3K; Rm[WS(rs, 6)] = T3T + T3U; Rm[WS(rs, 2)] = T3U - T3T; T3S = T3K + T3R; Rp[WS(rs, 1)] = T3H + T3S; Rp[WS(rs, 9)] = T3S - T3H; } { E T44, T46, T2C, T2B, T3V, T3W, T45, T3X; { E T40, T43, T2x, T2A; T40 = T3Y - T3Z; T43 = T41 - T42; T44 = FNMS(KP293892626, T43, KP475528258 * T40); T46 = FMA(KP475528258, T43, KP293892626 * T40); T2C = Tw + Td; T2x = T2v - T2w; T2A = T2y + T2z; T2B = T2x - T2A; T3V = FMA(KP500000000, T2C, KP125000000 * T2B); T3W = KP279508497 * (T2x + T2A); } Im[WS(rs, 4)] = KP500000000 * (T2B - T2C); T45 = T3W - T3V; Im[0] = T45 - T46; Im[WS(rs, 8)] = T45 + T46; T3X = T3V + T3W; Ip[WS(rs, 3)] = T3X - T44; Ip[WS(rs, 7)] = T3X + T44; } { E T49, T4h, T4a, T4d, T4e, T4f, T4i, T4g; { E T47, T48, T4b, T4c; T47 = T2y - T2z; T48 = T2w + T2v; T49 = FNMS(KP293892626, T48, KP475528258 * T47); T4h = FMA(KP475528258, T48, KP293892626 * T47); T4a = T3N - T3O; T4b = T41 + T42; T4c = T3Y + T3Z; T4d = T4b + T4c; T4e = FNMS(KP125000000, T4d, KP500000000 * T4a); T4f = KP279508497 * (T4b - T4c); } Rm[WS(rs, 4)] = KP500000000 * (T4a + T4d); T4i = T4f + T4e; Rm[WS(rs, 8)] = T4h + T4i; Rm[0] = T4i - T4h; T4g = T4e - T4f; Rp[WS(rs, 3)] = T49 + T4g; Rp[WS(rs, 7)] = T4g - T49; } { E T50, T52, T34, T2Z, T4R, T4S, T51, T4T; { E T4W, T4Z, T2N, T2Y; T4W = T4U - T4V; T4Z = T4X - T4Y; T50 = FNMS(KP293892626, T4Z, KP475528258 * T4W); T52 = FMA(KP293892626, T4W, KP475528258 * T4Z); T34 = T32 + T33; T2N = T2H - T2M; T2Y = T2S + T2X; T2Z = T2N - T2Y; T4R = FMA(KP500000000, T34, KP125000000 * T2Z); T4S = KP279508497 * (T2Y + T2N); } Im[WS(rs, 9)] = KP500000000 * (T2Z - T34); T51 = T4R - T4S; Ip[WS(rs, 2)] = T51 + T52; Im[WS(rs, 1)] = T52 - T51; T4T = T4R + T4S; Ip[WS(rs, 6)] = T4T + T50; Im[WS(rs, 5)] = T50 - T4T; } { E T5c, T5d, T53, T56, T57, T58, T5e, T59; { E T5a, T5b, T54, T55; T5a = T2M + T2H; T5b = T2S - T2X; T5c = FNMS(KP293892626, T5b, KP475528258 * T5a); T5d = FMA(KP475528258, T5b, KP293892626 * T5a); T53 = T4G - T4H; T54 = T4V + T4U; T55 = T4X + T4Y; T56 = T54 + T55; T57 = FNMS(KP125000000, T56, KP500000000 * T53); T58 = KP279508497 * (T54 - T55); } Rm[WS(rs, 9)] = KP500000000 * (T53 + T56); T5e = T58 + T57; Rp[WS(rs, 6)] = T5d + T5e; Rm[WS(rs, 5)] = T5e - T5d; T59 = T57 - T58; Rp[WS(rs, 2)] = T59 - T5c; Rm[WS(rs, 1)] = T5c + T59; } { E T4A, T4C, T35, T3c, T4j, T4k, T4B, T4l; { E T4s, T4z, T38, T3b; T4s = T4o - T4r; T4z = T4v - T4y; T4A = FNMS(KP475528258, T4z, KP293892626 * T4s); T4C = FMA(KP475528258, T4s, KP293892626 * T4z); T35 = T33 - T32; T38 = T36 + T37; T3b = T39 + T3a; T3c = T38 + T3b; T4j = FNMS(KP125000000, T3c, KP500000000 * T35); T4k = KP279508497 * (T38 - T3b); } Ip[0] = KP500000000 * (T35 + T3c); T4B = T4k + T4j; Ip[WS(rs, 4)] = T4B + T4C; Im[WS(rs, 3)] = T4C - T4B; T4l = T4j - T4k; Ip[WS(rs, 8)] = T4l + T4A; Im[WS(rs, 7)] = T4A - T4l; } { E T4O, T4P, T4I, T4J, T4F, T4K, T4Q, T4L; { E T4M, T4N, T4D, T4E; T4M = T36 - T37; T4N = T39 - T3a; T4O = FMA(KP475528258, T4M, KP293892626 * T4N); T4P = FNMS(KP293892626, T4M, KP475528258 * T4N); T4I = T4G + T4H; T4D = T4o + T4r; T4E = T4v + T4y; T4J = T4D + T4E; T4F = KP279508497 * (T4D - T4E); T4K = FNMS(KP125000000, T4J, KP500000000 * T4I); } Rp[0] = KP500000000 * (T4I + T4J); T4Q = T4K - T4F; Rp[WS(rs, 8)] = T4P + T4Q; Rm[WS(rs, 7)] = T4Q - T4P; T4L = T4F + T4K; Rp[WS(rs, 4)] = T4L - T4O; Rm[WS(rs, 3)] = T4O + T4L; } }}static const tw_instr twinstr[] = { {TW_FULL, 1, 20}, {TW_NEXT, 1, 0}};static const hc2c_desc desc = { 20, "hc2cfdft_20", twinstr, &GENUS, {224, 78, 62, 0} };void X(codelet_hc2cfdft_20) (planner *p) { X(khc2c_register) (p, hc2cfdft_20, &desc, HC2C_VIA_DFT);}#endif /* HAVE_FMA */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -