📄 shrtdct.c
字号:
a[12][j] = C16_4R * xi + C16_4I * xr; x0r = W16_8R * (x1i - x3i); x2r = W16_8R * (x1i + x3i); xr = x0i + x0r; xi = x2r + x2i; a[2][j] = C16_2R * xr - C16_2I * xi; a[14][j] = C16_2R * xi + C16_2I * xr; xr = x0i - x0r; xi = x2r - x2i; a[6][j] = C16_6R * xr - C16_6I * xi; a[10][j] = C16_6R * xi + C16_6I * xr; xr = W16_8R * (x6r - x6i); xi = W16_8R * (x6i + x6r); x6r = x4r - xr; x6i = x4i - xi; x4r += xr; x4i += xi; xr = W16_4I * x7r - W16_4R * x7i; xi = W16_4I * x7i + W16_4R * x7r; x7r = W16_4R * x5r - W16_4I * x5i; x7i = W16_4R * x5i + W16_4I * x5r; x5r = x7r + xr; x5i = x7i + xi; x7r -= xr; x7i -= xi; xr = x4r + x5r; xi = x5i + x4i; a[1][j] = C16_1R * xr - C16_1I * xi; a[15][j] = C16_1R * xi + C16_1I * xr; xr = x4r - x5r; xi = x5i - x4i; a[7][j] = C16_7R * xr - C16_7I * xi; a[9][j] = C16_7R * xi + C16_7I * xr; xr = x6r - x7i; xi = x7r + x6i; a[5][j] = C16_5R * xr - C16_5I * xi; a[11][j] = C16_5R * xi + C16_5I * xr; xr = x6r + x7i; xi = x7r - x6i; a[3][j] = C16_3R * xr - C16_3I * xi; a[13][j] = C16_3R * xi + C16_3I * xr; } for (j = 0; j <= 15; j++) { x4r = a[j][0] - a[j][15]; xr = a[j][0] + a[j][15]; x4i = a[j][8] - a[j][7]; xi = a[j][8] + a[j][7]; x0r = xr + xi; x0i = xr - xi; x5r = a[j][2] - a[j][13]; xr = a[j][2] + a[j][13]; x5i = a[j][10] - a[j][5]; xi = a[j][10] + a[j][5]; x1r = xr + xi; x1i = xr - xi; x6r = a[j][4] - a[j][11]; xr = a[j][4] + a[j][11]; x6i = a[j][12] - a[j][3]; xi = a[j][12] + a[j][3]; x2r = xr + xi; x2i = xr - xi; x7r = a[j][6] - a[j][9]; xr = a[j][6] + a[j][9]; x7i = a[j][14] - a[j][1]; xi = a[j][14] + a[j][1]; x3r = xr + xi; x3i = xr - xi; xr = x0r + x2r; xi = x1r + x3r; a[j][0] = C16_8R * (xr + xi); a[j][8] = C16_8R * (xr - xi); xr = x0r - x2r; xi = x1r - x3r; a[j][4] = C16_4R * xr - C16_4I * xi; a[j][12] = C16_4R * xi + C16_4I * xr; x0r = W16_8R * (x1i - x3i); x2r = W16_8R * (x1i + x3i); xr = x0i + x0r; xi = x2r + x2i; a[j][2] = C16_2R * xr - C16_2I * xi; a[j][14] = C16_2R * xi + C16_2I * xr; xr = x0i - x0r; xi = x2r - x2i; a[j][6] = C16_6R * xr - C16_6I * xi; a[j][10] = C16_6R * xi + C16_6I * xr; xr = W16_8R * (x6r - x6i); xi = W16_8R * (x6i + x6r); x6r = x4r - xr; x6i = x4i - xi; x4r += xr; x4i += xi; xr = W16_4I * x7r - W16_4R * x7i; xi = W16_4I * x7i + W16_4R * x7r; x7r = W16_4R * x5r - W16_4I * x5i; x7i = W16_4R * x5i + W16_4I * x5r; x5r = x7r + xr; x5i = x7i + xi; x7r -= xr; x7i -= xi; xr = x4r + x5r; xi = x5i + x4i; a[j][1] = C16_1R * xr - C16_1I * xi; a[j][15] = C16_1R * xi + C16_1I * xr; xr = x4r - x5r; xi = x5i - x4i; a[j][7] = C16_7R * xr - C16_7I * xi; a[j][9] = C16_7R * xi + C16_7I * xr; xr = x6r - x7i; xi = x7r + x6i; a[j][5] = C16_5R * xr - C16_5I * xi; a[j][11] = C16_5R * xi + C16_5I * xr; xr = x6r + x7i; xi = x7r - x6i; a[j][3] = C16_3R * xr - C16_3I * xi; a[j][13] = C16_3R * xi + C16_3I * xr; } } else { for (j = 0; j <= 15; j++) { x5r = C16_1R * a[1][j] + C16_1I * a[15][j]; x5i = C16_1R * a[15][j] - C16_1I * a[1][j]; xr = C16_7R * a[7][j] + C16_7I * a[9][j]; xi = C16_7R * a[9][j] - C16_7I * a[7][j]; x4r = x5r + xr; x4i = x5i - xi; x5r -= xr; x5i += xi; x7r = C16_5R * a[5][j] + C16_5I * a[11][j]; x7i = C16_5R * a[11][j] - C16_5I * a[5][j]; xr = C16_3R * a[3][j] + C16_3I * a[13][j]; xi = C16_3R * a[13][j] - C16_3I * a[3][j]; x6r = x7r + xr; x6i = x7i - xi; x7r -= xr; x7i += xi; xr = x4r - x6r; xi = x4i - x6i; x4r += x6r; x4i += x6i; x6r = W16_8R * (xi + xr); x6i = W16_8R * (xi - xr); xr = x5r + x7i; xi = x5i - x7r; x5r -= x7i; x5i += x7r; x7r = W16_4I * x5r + W16_4R * x5i; x7i = W16_4I * x5i - W16_4R * x5r; x5r = W16_4R * xr + W16_4I * xi; x5i = W16_4R * xi - W16_4I * xr; xr = C16_4R * a[4][j] + C16_4I * a[12][j]; xi = C16_4R * a[12][j] - C16_4I * a[4][j]; x2r = C16_8R * (a[0][j] + a[8][j]); x3r = C16_8R * (a[0][j] - a[8][j]); x0r = x2r + xr; x1r = x3r + xi; x2r -= xr; x3r -= xi; x0i = C16_2R * a[2][j] + C16_2I * a[14][j]; x2i = C16_2R * a[14][j] - C16_2I * a[2][j]; x1i = C16_6R * a[6][j] + C16_6I * a[10][j]; x3i = C16_6R * a[10][j] - C16_6I * a[6][j]; xr = x0i - x1i; xi = x2i + x3i; x0i += x1i; x2i -= x3i; x1i = W16_8R * (xi + xr); x3i = W16_8R * (xi - xr); xr = x0r + x0i; xi = x0r - x0i; a[0][j] = xr + x4r; a[15][j] = xr - x4r; a[8][j] = xi + x4i; a[7][j] = xi - x4i; xr = x1r + x1i; xi = x1r - x1i; a[2][j] = xr + x5r; a[13][j] = xr - x5r; a[10][j] = xi + x5i; a[5][j] = xi - x5i; xr = x2r + x2i; xi = x2r - x2i; a[4][j] = xr + x6r; a[11][j] = xr - x6r; a[12][j] = xi + x6i; a[3][j] = xi - x6i; xr = x3r + x3i; xi = x3r - x3i; a[6][j] = xr + x7r; a[9][j] = xr - x7r; a[14][j] = xi + x7i; a[1][j] = xi - x7i; } for (j = 0; j <= 15; j++) { x5r = C16_1R * a[j][1] + C16_1I * a[j][15]; x5i = C16_1R * a[j][15] - C16_1I * a[j][1]; xr = C16_7R * a[j][7] + C16_7I * a[j][9]; xi = C16_7R * a[j][9] - C16_7I * a[j][7]; x4r = x5r + xr; x4i = x5i - xi; x5r -= xr; x5i += xi; x7r = C16_5R * a[j][5] + C16_5I * a[j][11]; x7i = C16_5R * a[j][11] - C16_5I * a[j][5]; xr = C16_3R * a[j][3] + C16_3I * a[j][13]; xi = C16_3R * a[j][13] - C16_3I * a[j][3]; x6r = x7r + xr; x6i = x7i - xi; x7r -= xr; x7i += xi; xr = x4r - x6r; xi = x4i - x6i; x4r += x6r; x4i += x6i; x6r = W16_8R * (xi + xr); x6i = W16_8R * (xi - xr); xr = x5r + x7i; xi = x5i - x7r; x5r -= x7i; x5i += x7r; x7r = W16_4I * x5r + W16_4R * x5i; x7i = W16_4I * x5i - W16_4R * x5r; x5r = W16_4R * xr + W16_4I * xi; x5i = W16_4R * xi - W16_4I * xr; xr = C16_4R * a[j][4] + C16_4I * a[j][12]; xi = C16_4R * a[j][12] - C16_4I * a[j][4]; x2r = C16_8R * (a[j][0] + a[j][8]); x3r = C16_8R * (a[j][0] - a[j][8]); x0r = x2r + xr; x1r = x3r + xi; x2r -= xr; x3r -= xi; x0i = C16_2R * a[j][2] + C16_2I * a[j][14]; x2i = C16_2R * a[j][14] - C16_2I * a[j][2]; x1i = C16_6R * a[j][6] + C16_6I * a[j][10]; x3i = C16_6R * a[j][10] - C16_6I * a[j][6]; xr = x0i - x1i; xi = x2i + x3i; x0i += x1i; x2i -= x3i; x1i = W16_8R * (xi + xr); x3i = W16_8R * (xi - xr); xr = x0r + x0i; xi = x0r - x0i; a[j][0] = xr + x4r; a[j][15] = xr - x4r; a[j][8] = xi + x4i; a[j][7] = xi - x4i; xr = x1r + x1i; xi = x1r - x1i; a[j][2] = xr + x5r; a[j][13] = xr - x5r; a[j][10] = xi + x5i; a[j][5] = xi - x5i; xr = x2r + x2i; xi = x2r - x2i; a[j][4] = xr + x6r; a[j][11] = xr - x6r; a[j][12] = xi + x6i; a[j][3] = xi - x6i; xr = x3r + x3i; xi = x3r - x3i; a[j][6] = xr + x7r; a[j][9] = xr - x7r; a[j][14] = xi + x7i; a[j][1] = xi - x7i; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -