Lines Matching +full:- +full:j
1 /* Copyright Takuya OOURA, 1996-2001.
7 Package home: http://www.kurims.kyoto-u.ac.jp/~ooura/fft.html
22 dfst: Sine Transform of RDFT (Real Anti-symmetric DFT)
32 -------- Complex DFT (Discrete Fourier Transform) --------
35 X[k] = sum_j=0^n-1 x[j]*exp(2*pi*i*j*k/n), 0<=k<n
37 X[k] = sum_j=0^n-1 x[j]*exp(-2*pi*i*j*k/n), 0<=k<n
38 (notes: sum_j=0^n-1 is a summation from j=0 to n-1)
45 cdft(2*n, -1, a, ip, w);
49 a[0...2*n-1] :input/output data (double *)
51 a[2*j] = Re(x[j]),
52 a[2*j+1] = Im(x[j]), 0<=j<n
62 w[0...n/2-1] :cos/sin table (double *)
66 cdft(2*n, -1, a, ip, w);
69 for (j = 0; j <= 2 * n - 1; j++) {
70 a[j] *= 1.0 / n;
75 -------- Real DFT / Inverse of Real DFT --------
78 R[k] = sum_j=0^n-1 a[j]*cos(2*pi*j*k/n), 0<=k<=n/2
79 I[k] = sum_j=0^n-1 a[j]*sin(2*pi*j*k/n), 0<k<n/2
82 sum_j=1^n/2-1 R[j]*cos(2*pi*j*k/n) +
83 sum_j=1^n/2-1 I[j]*sin(2*pi*j*k/n), 0<=k<n
90 rdft(n, -1, a, ip, w);
94 a[0...n-1] :input/output data (double *)
102 a[2*j] = R[j], 0<=j<n/2
103 a[2*j+1] = I[j], 0<j<n/2
111 w[0...n/2-1] :cos/sin table (double *)
117 rdft(n, -1, a, ip, w);
118 for (j = 0; j <= n - 1; j++) {
119 a[j] *= 2.0 / n;
124 -------- DCT (Discrete Cosine Transform) / Inverse of DCT --------
127 C[k] = sum_j=0^n-1 a[j]*cos(pi*j*(k+1/2)/n), 0<=k<n
129 C[k] = sum_j=0^n-1 a[j]*cos(pi*(j+1/2)*k/n), 0<=k<n
136 ddct(n, -1, a, ip, w);
140 a[0...n-1] :input/output data (double *)
149 w[0...n*5/4-1] :cos/sin table (double *)
153 ddct(n, -1, a, ip, w);
157 for (j = 0; j <= n - 1; j++) {
158 a[j] *= 2.0 / n;
163 -------- DST (Discrete Sine Transform) / Inverse of DST --------
166 S[k] = sum_j=1^n A[j]*sin(pi*j*(k+1/2)/n), 0<=k<n
168 S[k] = sum_j=0^n-1 a[j]*sin(pi*(j+1/2)*k/n), 0<k<=n
175 ddst(n, -1, a, ip, w);
179 a[0...n-1] :input/output data (double *)
182 a[j] = A[j], 0<j<n
196 w[0...n*5/4-1] :cos/sin table (double *)
200 ddst(n, -1, a, ip, w);
204 for (j = 0; j <= n - 1; j++) {
205 a[j] *= 2.0 / n;
210 -------- Cosine Transform of RDFT (Real Symmetric DFT) --------
212 C[k] = sum_j=0^n a[j]*cos(pi*j*k/n), 0<=k<=n
217 n :data length - 1 (int)
229 w[0...n*5/8-1] :cos/sin table (double *)
240 for (j = 0; j <= n; j++) {
241 a[j] *= 2.0 / n;
246 -------- Sine Transform of RDFT (Real Anti-symmetric DFT) --------
248 S[k] = sum_j=1^n-1 a[j]*sin(pi*j*k/n), 0<k<n
255 a[0...n-1] :input/output data (double *)
259 t[0...n/2-1] :work area (double *)
266 w[0...n*5/8-1] :cos/sin table (double *)
273 for (j = 1; j <= n - 1; j++) {
274 a[j] *= 2.0 / n;
371 xi = a[0] - a[1]; in rdft()
375 a[1] = 0.5 * (a[0] - a[1]); in rdft()
376 a[0] -= a[1]; in rdft()
390 int j, nw, nc; in ddct() local
407 xr = a[n - 1]; in ddct()
408 for (j = n - 2; j >= 2; j -= 2) { in ddct()
409 a[j + 1] = a[j] - a[j - 1]; in ddct()
410 a[j] += a[j - 1]; in ddct()
412 a[1] = a[0] - xr; in ddct()
431 xr = a[0] - a[1]; in ddct()
433 for (j = 2; j < n; j += 2) { in ddct()
434 a[j - 1] = a[j] - a[j + 1]; in ddct()
435 a[j] += a[j + 1]; in ddct()
437 a[n - 1] = xr; in ddct()
444 int j, nw, nc; in ddst() local
461 xr = a[n - 1]; in ddst()
462 for (j = n - 2; j >= 2; j -= 2) { in ddst()
463 a[j + 1] = -a[j] - a[j - 1]; in ddst()
464 a[j] -= a[j - 1]; in ddst()
467 a[0] -= xr; in ddst()
485 xr = a[0] - a[1]; in ddst()
487 for (j = 2; j < n; j += 2) { in ddst()
488 a[j - 1] = -a[j] - a[j + 1]; in ddst()
489 a[j] -= a[j + 1]; in ddst()
491 a[n - 1] = -xr; in ddst()
498 int j, k, l, m, mh, nw, nc; in dfct() local
517 a[0] -= a[n]; in dfct()
518 t[0] = xi - yi; in dfct()
522 for (j = 1; j < mh; j++) { in dfct()
523 k = m - j; in dfct()
524 xr = a[j] - a[n - j]; in dfct()
525 xi = a[j] + a[n - j]; in dfct()
526 yr = a[k] - a[n - k]; in dfct()
527 yi = a[k] + a[n - k]; in dfct()
528 a[j] = xr; in dfct()
530 t[j] = xi - yi; in dfct()
533 t[mh] = a[mh] + a[n - mh]; in dfct()
534 a[mh] -= a[n - mh]; in dfct()
543 a[n - 1] = a[0] - a[1]; in dfct()
545 for (j = m - 2; j >= 2; j -= 2) { in dfct()
546 a[2 * j + 1] = a[j] + a[j + 1]; in dfct()
547 a[2 * j - 1] = a[j] - a[j + 1]; in dfct()
560 a[n - l] = t[0] - t[1]; in dfct()
563 for (j = 2; j < m; j += 2) { in dfct()
565 a[k - l] = t[j] - t[j + 1]; in dfct()
566 a[k + l] = t[j] + t[j + 1]; in dfct()
570 for (j = 0; j < mh; j++) { in dfct()
571 k = m - j; in dfct()
572 t[j] = t[m + k] - t[m + j]; in dfct()
573 t[k] = t[m + k] + t[m + j]; in dfct()
579 a[n] = t[2] - t[1]; in dfct()
591 int j, k, l, m, mh, nw, nc; in dfst() local
610 for (j = 1; j < mh; j++) { in dfst()
611 k = m - j; in dfst()
612 xr = a[j] + a[n - j]; in dfst()
613 xi = a[j] - a[n - j]; in dfst()
614 yr = a[k] + a[n - k]; in dfst()
615 yi = a[k] - a[n - k]; in dfst()
616 a[j] = xr; in dfst()
618 t[j] = xi + yi; in dfst()
619 t[k] = xi - yi; in dfst()
621 t[0] = a[mh] - a[n - mh]; in dfst()
622 a[mh] += a[n - mh]; in dfst()
632 a[n - 1] = a[1] - a[0]; in dfst()
634 for (j = m - 2; j >= 2; j -= 2) { in dfst()
635 a[2 * j + 1] = a[j] - a[j + 1]; in dfst()
636 a[2 * j - 1] = -a[j] - a[j + 1]; in dfst()
649 a[n - l] = t[1] - t[0]; in dfst()
652 for (j = 2; j < m; j += 2) { in dfst()
654 a[k - l] = -t[j] - t[j + 1]; in dfst()
655 a[k + l] = t[j] - t[j + 1]; in dfst()
659 for (j = 1; j < mh; j++) { in dfst()
660 k = m - j; in dfst()
661 t[j] = t[m + k] + t[m + j]; in dfst()
662 t[k] = t[m + k] - t[m + j]; in dfst()
673 /* -------- initializing routines -------- */
678 int j, nwh; in makewt() local
691 for (j = 2; j < nwh; j += 2) { in makewt()
692 x = cos(delta * j); in makewt()
693 y = sin(delta * j); in makewt()
694 w[j] = x; in makewt()
695 w[j + 1] = y; in makewt()
696 w[nw - j] = y; in makewt()
697 w[nw - j + 1] = x; in makewt()
707 int j, nch; in makect() local
716 for (j = 1; j < nch; j++) { in makect()
717 c[j] = 0.5 * cos(delta * j); in makect()
718 c[nc - j] = 0.5 * sin(delta * j); in makect()
724 /* -------- child routines -------- */
729 int j, j1, k, k1, l, m, m2, ip[256]; in bitrv2() local
738 for (j = 0; j < m; j++) { in bitrv2()
739 ip[m + j] = ip[j] + l; in bitrv2()
746 for (j = 0; j < k; j++) { in bitrv2()
747 j1 = 2 * j + ip[k]; in bitrv2()
748 k1 = 2 * k + ip[j]; in bitrv2()
768 k1 -= m2; in bitrv2()
801 for (j = 0; j < k; j++) { in bitrv2()
802 j1 = 2 * j + ip[k]; in bitrv2()
803 k1 = 2 * k + ip[j]; in bitrv2()
830 int j, j1, k, k1, l, m, m2, ip[256]; in bitrv2conj() local
839 for (j = 0; j < m; j++) { in bitrv2conj()
840 ip[m + j] = ip[j] + l; in bitrv2conj()
847 for (j = 0; j < k; j++) { in bitrv2conj()
848 j1 = 2 * j + ip[k]; in bitrv2conj()
849 k1 = 2 * k + ip[j]; in bitrv2conj()
851 xi = -a[j1 + 1]; in bitrv2conj()
853 yi = -a[k1 + 1]; in bitrv2conj()
861 xi = -a[j1 + 1]; in bitrv2conj()
863 yi = -a[k1 + 1]; in bitrv2conj()
869 k1 -= m2; in bitrv2conj()
871 xi = -a[j1 + 1]; in bitrv2conj()
873 yi = -a[k1 + 1]; in bitrv2conj()
881 xi = -a[j1 + 1]; in bitrv2conj()
883 yi = -a[k1 + 1]; in bitrv2conj()
890 a[k1 + 1] = -a[k1 + 1]; in bitrv2conj()
894 xi = -a[j1 + 1]; in bitrv2conj()
896 yi = -a[k1 + 1]; in bitrv2conj()
902 a[k1 + 1] = -a[k1 + 1]; in bitrv2conj()
905 a[1] = -a[1]; in bitrv2conj()
906 a[m2 + 1] = -a[m2 + 1]; in bitrv2conj()
908 for (j = 0; j < k; j++) { in bitrv2conj()
909 j1 = 2 * j + ip[k]; in bitrv2conj()
910 k1 = 2 * k + ip[j]; in bitrv2conj()
912 xi = -a[j1 + 1]; in bitrv2conj()
914 yi = -a[k1 + 1]; in bitrv2conj()
922 xi = -a[j1 + 1]; in bitrv2conj()
924 yi = -a[k1 + 1]; in bitrv2conj()
931 a[k1 + 1] = -a[k1 + 1]; in bitrv2conj()
932 a[k1 + m2 + 1] = -a[k1 + m2 + 1]; in bitrv2conj()
940 int j, j1, j2, j3, l; in cftfsub() local
953 for (j = 0; j < l; j += 2) { in cftfsub()
954 j1 = j + l; in cftfsub()
957 x0r = a[j] + a[j1]; in cftfsub()
958 x0i = a[j + 1] + a[j1 + 1]; in cftfsub()
959 x1r = a[j] - a[j1]; in cftfsub()
960 x1i = a[j + 1] - a[j1 + 1]; in cftfsub()
963 x3r = a[j2] - a[j3]; in cftfsub()
964 x3i = a[j2 + 1] - a[j3 + 1]; in cftfsub()
965 a[j] = x0r + x2r; in cftfsub()
966 a[j + 1] = x0i + x2i; in cftfsub()
967 a[j2] = x0r - x2r; in cftfsub()
968 a[j2 + 1] = x0i - x2i; in cftfsub()
969 a[j1] = x1r - x3i; in cftfsub()
972 a[j3 + 1] = x1i - x3r; in cftfsub()
975 for (j = 0; j < l; j += 2) { in cftfsub()
976 j1 = j + l; in cftfsub()
977 x0r = a[j] - a[j1]; in cftfsub()
978 x0i = a[j + 1] - a[j1 + 1]; in cftfsub()
979 a[j] += a[j1]; in cftfsub()
980 a[j + 1] += a[j1 + 1]; in cftfsub()
990 int j, j1, j2, j3, l; in cftbsub() local
1003 for (j = 0; j < l; j += 2) { in cftbsub()
1004 j1 = j + l; in cftbsub()
1007 x0r = a[j] + a[j1]; in cftbsub()
1008 x0i = -a[j + 1] - a[j1 + 1]; in cftbsub()
1009 x1r = a[j] - a[j1]; in cftbsub()
1010 x1i = -a[j + 1] + a[j1 + 1]; in cftbsub()
1013 x3r = a[j2] - a[j3]; in cftbsub()
1014 x3i = a[j2 + 1] - a[j3 + 1]; in cftbsub()
1015 a[j] = x0r + x2r; in cftbsub()
1016 a[j + 1] = x0i - x2i; in cftbsub()
1017 a[j2] = x0r - x2r; in cftbsub()
1019 a[j1] = x1r - x3i; in cftbsub()
1020 a[j1 + 1] = x1i - x3r; in cftbsub()
1025 for (j = 0; j < l; j += 2) { in cftbsub()
1026 j1 = j + l; in cftbsub()
1027 x0r = a[j] - a[j1]; in cftbsub()
1028 x0i = -a[j + 1] + a[j1 + 1]; in cftbsub()
1029 a[j] += a[j1]; in cftbsub()
1030 a[j + 1] = -a[j + 1] - a[j1 + 1]; in cftbsub()
1040 int j, k1, k2; in cft1st() local
1046 x1r = a[0] - a[2]; in cft1st()
1047 x1i = a[1] - a[3]; in cft1st()
1050 x3r = a[4] - a[6]; in cft1st()
1051 x3i = a[5] - a[7]; in cft1st()
1054 a[4] = x0r - x2r; in cft1st()
1055 a[5] = x0i - x2i; in cft1st()
1056 a[2] = x1r - x3i; in cft1st()
1059 a[7] = x1i - x3r; in cft1st()
1063 x1r = a[8] - a[10]; in cft1st()
1064 x1i = a[9] - a[11]; in cft1st()
1067 x3r = a[12] - a[14]; in cft1st()
1068 x3i = a[13] - a[15]; in cft1st()
1071 a[12] = x2i - x0i; in cft1st()
1072 a[13] = x0r - x2r; in cft1st()
1073 x0r = x1r - x3i; in cft1st()
1075 a[10] = wk1r * (x0r - x0i); in cft1st()
1078 x0i = x3r - x1i; in cft1st()
1079 a[14] = wk1r * (x0i - x0r); in cft1st()
1082 for (j = 16; j < n; j += 16) { in cft1st()
1089 wk3r = wk1r - 2 * wk2i * wk1i; in cft1st()
1090 wk3i = 2 * wk2i * wk1r - wk1i; in cft1st()
1091 x0r = a[j] + a[j + 2]; in cft1st()
1092 x0i = a[j + 1] + a[j + 3]; in cft1st()
1093 x1r = a[j] - a[j + 2]; in cft1st()
1094 x1i = a[j + 1] - a[j + 3]; in cft1st()
1095 x2r = a[j + 4] + a[j + 6]; in cft1st()
1096 x2i = a[j + 5] + a[j + 7]; in cft1st()
1097 x3r = a[j + 4] - a[j + 6]; in cft1st()
1098 x3i = a[j + 5] - a[j + 7]; in cft1st()
1099 a[j] = x0r + x2r; in cft1st()
1100 a[j + 1] = x0i + x2i; in cft1st()
1101 x0r -= x2r; in cft1st()
1102 x0i -= x2i; in cft1st()
1103 a[j + 4] = wk2r * x0r - wk2i * x0i; in cft1st()
1104 a[j + 5] = wk2r * x0i + wk2i * x0r; in cft1st()
1105 x0r = x1r - x3i; in cft1st()
1107 a[j + 2] = wk1r * x0r - wk1i * x0i; in cft1st()
1108 a[j + 3] = wk1r * x0i + wk1i * x0r; in cft1st()
1110 x0i = x1i - x3r; in cft1st()
1111 a[j + 6] = wk3r * x0r - wk3i * x0i; in cft1st()
1112 a[j + 7] = wk3r * x0i + wk3i * x0r; in cft1st()
1115 wk3r = wk1r - 2 * wk2r * wk1i; in cft1st()
1116 wk3i = 2 * wk2r * wk1r - wk1i; in cft1st()
1117 x0r = a[j + 8] + a[j + 10]; in cft1st()
1118 x0i = a[j + 9] + a[j + 11]; in cft1st()
1119 x1r = a[j + 8] - a[j + 10]; in cft1st()
1120 x1i = a[j + 9] - a[j + 11]; in cft1st()
1121 x2r = a[j + 12] + a[j + 14]; in cft1st()
1122 x2i = a[j + 13] + a[j + 15]; in cft1st()
1123 x3r = a[j + 12] - a[j + 14]; in cft1st()
1124 x3i = a[j + 13] - a[j + 15]; in cft1st()
1125 a[j + 8] = x0r + x2r; in cft1st()
1126 a[j + 9] = x0i + x2i; in cft1st()
1127 x0r -= x2r; in cft1st()
1128 x0i -= x2i; in cft1st()
1129 a[j + 12] = -wk2i * x0r - wk2r * x0i; in cft1st()
1130 a[j + 13] = -wk2i * x0i + wk2r * x0r; in cft1st()
1131 x0r = x1r - x3i; in cft1st()
1133 a[j + 10] = wk1r * x0r - wk1i * x0i; in cft1st()
1134 a[j + 11] = wk1r * x0i + wk1i * x0r; in cft1st()
1136 x0i = x1i - x3r; in cft1st()
1137 a[j + 14] = wk3r * x0r - wk3i * x0i; in cft1st()
1138 a[j + 15] = wk3r * x0i + wk3i * x0r; in cft1st()
1145 int j, j1, j2, j3, k, k1, k2, m, m2; in cftmdl() local
1150 for (j = 0; j < l; j += 2) { in cftmdl()
1151 j1 = j + l; in cftmdl()
1154 x0r = a[j] + a[j1]; in cftmdl()
1155 x0i = a[j + 1] + a[j1 + 1]; in cftmdl()
1156 x1r = a[j] - a[j1]; in cftmdl()
1157 x1i = a[j + 1] - a[j1 + 1]; in cftmdl()
1160 x3r = a[j2] - a[j3]; in cftmdl()
1161 x3i = a[j2 + 1] - a[j3 + 1]; in cftmdl()
1162 a[j] = x0r + x2r; in cftmdl()
1163 a[j + 1] = x0i + x2i; in cftmdl()
1164 a[j2] = x0r - x2r; in cftmdl()
1165 a[j2 + 1] = x0i - x2i; in cftmdl()
1166 a[j1] = x1r - x3i; in cftmdl()
1169 a[j3 + 1] = x1i - x3r; in cftmdl()
1172 for (j = m; j < l + m; j += 2) { in cftmdl()
1173 j1 = j + l; in cftmdl()
1176 x0r = a[j] + a[j1]; in cftmdl()
1177 x0i = a[j + 1] + a[j1 + 1]; in cftmdl()
1178 x1r = a[j] - a[j1]; in cftmdl()
1179 x1i = a[j + 1] - a[j1 + 1]; in cftmdl()
1182 x3r = a[j2] - a[j3]; in cftmdl()
1183 x3i = a[j2 + 1] - a[j3 + 1]; in cftmdl()
1184 a[j] = x0r + x2r; in cftmdl()
1185 a[j + 1] = x0i + x2i; in cftmdl()
1186 a[j2] = x2i - x0i; in cftmdl()
1187 a[j2 + 1] = x0r - x2r; in cftmdl()
1188 x0r = x1r - x3i; in cftmdl()
1190 a[j1] = wk1r * (x0r - x0i); in cftmdl()
1193 x0i = x3r - x1i; in cftmdl()
1194 a[j3] = wk1r * (x0i - x0r); in cftmdl()
1206 wk3r = wk1r - 2 * wk2i * wk1i; in cftmdl()
1207 wk3i = 2 * wk2i * wk1r - wk1i; in cftmdl()
1208 for (j = k; j < l + k; j += 2) { in cftmdl()
1209 j1 = j + l; in cftmdl()
1212 x0r = a[j] + a[j1]; in cftmdl()
1213 x0i = a[j + 1] + a[j1 + 1]; in cftmdl()
1214 x1r = a[j] - a[j1]; in cftmdl()
1215 x1i = a[j + 1] - a[j1 + 1]; in cftmdl()
1218 x3r = a[j2] - a[j3]; in cftmdl()
1219 x3i = a[j2 + 1] - a[j3 + 1]; in cftmdl()
1220 a[j] = x0r + x2r; in cftmdl()
1221 a[j + 1] = x0i + x2i; in cftmdl()
1222 x0r -= x2r; in cftmdl()
1223 x0i -= x2i; in cftmdl()
1224 a[j2] = wk2r * x0r - wk2i * x0i; in cftmdl()
1226 x0r = x1r - x3i; in cftmdl()
1228 a[j1] = wk1r * x0r - wk1i * x0i; in cftmdl()
1231 x0i = x1i - x3r; in cftmdl()
1232 a[j3] = wk3r * x0r - wk3i * x0i; in cftmdl()
1237 wk3r = wk1r - 2 * wk2r * wk1i; in cftmdl()
1238 wk3i = 2 * wk2r * wk1r - wk1i; in cftmdl()
1239 for (j = k + m; j < l + (k + m); j += 2) { in cftmdl()
1240 j1 = j + l; in cftmdl()
1243 x0r = a[j] + a[j1]; in cftmdl()
1244 x0i = a[j + 1] + a[j1 + 1]; in cftmdl()
1245 x1r = a[j] - a[j1]; in cftmdl()
1246 x1i = a[j + 1] - a[j1 + 1]; in cftmdl()
1249 x3r = a[j2] - a[j3]; in cftmdl()
1250 x3i = a[j2 + 1] - a[j3 + 1]; in cftmdl()
1251 a[j] = x0r + x2r; in cftmdl()
1252 a[j + 1] = x0i + x2i; in cftmdl()
1253 x0r -= x2r; in cftmdl()
1254 x0i -= x2i; in cftmdl()
1255 a[j2] = -wk2i * x0r - wk2r * x0i; in cftmdl()
1256 a[j2 + 1] = -wk2i * x0i + wk2r * x0r; in cftmdl()
1257 x0r = x1r - x3i; in cftmdl()
1259 a[j1] = wk1r * x0r - wk1i * x0i; in cftmdl()
1262 x0i = x1i - x3r; in cftmdl()
1263 a[j3] = wk3r * x0r - wk3i * x0i; in cftmdl()
1272 int j, k, kk, ks, m; in rftfsub() local
1278 for (j = 2; j < m; j += 2) { in rftfsub()
1279 k = n - j; in rftfsub()
1281 wkr = 0.5 - c[nc - kk]; in rftfsub()
1283 xr = a[j] - a[k]; in rftfsub()
1284 xi = a[j + 1] + a[k + 1]; in rftfsub()
1285 yr = wkr * xr - wki * xi; in rftfsub()
1287 a[j] -= yr; in rftfsub()
1288 a[j + 1] -= yi; in rftfsub()
1290 a[k + 1] -= yi; in rftfsub()
1297 int j, k, kk, ks, m; in rftbsub() local
1300 a[1] = -a[1]; in rftbsub()
1304 for (j = 2; j < m; j += 2) { in rftbsub()
1305 k = n - j; in rftbsub()
1307 wkr = 0.5 - c[nc - kk]; in rftbsub()
1309 xr = a[j] - a[k]; in rftbsub()
1310 xi = a[j + 1] + a[k + 1]; in rftbsub()
1312 yi = wkr * xi - wki * xr; in rftbsub()
1313 a[j] -= yr; in rftbsub()
1314 a[j + 1] = yi - a[j + 1]; in rftbsub()
1316 a[k + 1] = yi - a[k + 1]; in rftbsub()
1318 a[m + 1] = -a[m + 1]; in rftbsub()
1324 int j, k, kk, ks, m; in dctsub() local
1330 for (j = 1; j < m; j++) { in dctsub()
1331 k = n - j; in dctsub()
1333 wkr = c[kk] - c[nc - kk]; in dctsub()
1334 wki = c[kk] + c[nc - kk]; in dctsub()
1335 xr = wki * a[j] - wkr * a[k]; in dctsub()
1336 a[j] = wkr * a[j] + wki * a[k]; in dctsub()
1345 int j, k, kk, ks, m; in dstsub() local
1351 for (j = 1; j < m; j++) { in dstsub()
1352 k = n - j; in dstsub()
1354 wkr = c[kk] - c[nc - kk]; in dstsub()
1355 wki = c[kk] + c[nc - kk]; in dstsub()
1356 xr = wki * a[k] - wkr * a[j]; in dstsub()
1357 a[k] = wkr * a[k] + wki * a[j]; in dstsub()
1358 a[j] = xr; in dstsub()