annotate src/fftw-3.3.8/rdft/scalar/r2cf/r2cfII_20.c @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents d0c2a83c1364
children
rev   line source
Chris@82 1 /*
Chris@82 2 * Copyright (c) 2003, 2007-14 Matteo Frigo
Chris@82 3 * Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
Chris@82 4 *
Chris@82 5 * This program is free software; you can redistribute it and/or modify
Chris@82 6 * it under the terms of the GNU General Public License as published by
Chris@82 7 * the Free Software Foundation; either version 2 of the License, or
Chris@82 8 * (at your option) any later version.
Chris@82 9 *
Chris@82 10 * This program is distributed in the hope that it will be useful,
Chris@82 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Chris@82 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Chris@82 13 * GNU General Public License for more details.
Chris@82 14 *
Chris@82 15 * You should have received a copy of the GNU General Public License
Chris@82 16 * along with this program; if not, write to the Free Software
Chris@82 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Chris@82 18 *
Chris@82 19 */
Chris@82 20
Chris@82 21 /* This file was automatically generated --- DO NOT EDIT */
Chris@82 22 /* Generated on Thu May 24 08:06:48 EDT 2018 */
Chris@82 23
Chris@82 24 #include "rdft/codelet-rdft.h"
Chris@82 25
Chris@82 26 #if defined(ARCH_PREFERS_FMA) || defined(ISA_EXTENSION_PREFERS_FMA)
Chris@82 27
Chris@82 28 /* Generated by: ../../../genfft/gen_r2cf.native -fma -compact -variables 4 -pipeline-latency 4 -n 20 -name r2cfII_20 -dft-II -include rdft/scalar/r2cfII.h */
Chris@82 29
Chris@82 30 /*
Chris@82 31 * This function contains 102 FP additions, 63 FP multiplications,
Chris@82 32 * (or, 39 additions, 0 multiplications, 63 fused multiply/add),
Chris@82 33 * 53 stack variables, 10 constants, and 40 memory accesses
Chris@82 34 */
Chris@82 35 #include "rdft/scalar/r2cfII.h"
Chris@82 36
Chris@82 37 static void r2cfII_20(R *R0, R *R1, R *Cr, R *Ci, stride rs, stride csr, stride csi, INT v, INT ivs, INT ovs)
Chris@82 38 {
Chris@82 39 DK(KP951056516, +0.951056516295153572116439333379382143405698634);
Chris@82 40 DK(KP559016994, +0.559016994374947424102293417182819058860154590);
Chris@82 41 DK(KP707106781, +0.707106781186547524400844362104849039284835938);
Chris@82 42 DK(KP690983005, +0.690983005625052575897706582817180941139845410);
Chris@82 43 DK(KP447213595, +0.447213595499957939281834733746255247088123672);
Chris@82 44 DK(KP552786404, +0.552786404500042060718165266253744752911876328);
Chris@82 45 DK(KP809016994, +0.809016994374947424102293417182819058860154590);
Chris@82 46 DK(KP250000000, +0.250000000000000000000000000000000000000000000);
Chris@82 47 DK(KP381966011, +0.381966011250105151795413165634361882279690820);
Chris@82 48 DK(KP618033988, +0.618033988749894848204586834365638117720309180);
Chris@82 49 {
Chris@82 50 INT i;
Chris@82 51 for (i = v; i > 0; i = i - 1, R0 = R0 + ivs, R1 = R1 + ivs, Cr = Cr + ovs, Ci = Ci + ovs, MAKE_VOLATILE_STRIDE(80, rs), MAKE_VOLATILE_STRIDE(80, csr), MAKE_VOLATILE_STRIDE(80, csi)) {
Chris@82 52 E Ti, T1d, T1f, T1e, Tg, T1p, TS, T1g, T1, T6, T7, T1r, T1k, T8, To;
Chris@82 53 E Tp, Tv, TX, Tr, TV, Tx, TF, TC, TD, T12, TG, TK, T10, Tc, Tf;
Chris@82 54 Ti = R1[WS(rs, 2)];
Chris@82 55 T1d = R0[WS(rs, 5)];
Chris@82 56 {
Chris@82 57 E Ta, Tb, Td, Te;
Chris@82 58 Ta = R0[WS(rs, 9)];
Chris@82 59 Tb = R0[WS(rs, 1)];
Chris@82 60 Tc = Ta - Tb;
Chris@82 61 T1f = Ta + Tb;
Chris@82 62 Td = R0[WS(rs, 3)];
Chris@82 63 Te = R0[WS(rs, 7)];
Chris@82 64 Tf = Td - Te;
Chris@82 65 T1e = Td + Te;
Chris@82 66 }
Chris@82 67 Tg = FNMS(KP618033988, Tf, Tc);
Chris@82 68 T1p = FMA(KP381966011, T1e, T1f);
Chris@82 69 TS = FMA(KP618033988, Tc, Tf);
Chris@82 70 T1g = FMA(KP381966011, T1f, T1e);
Chris@82 71 {
Chris@82 72 E T2, T5, T3, T4, T1i, T1j;
Chris@82 73 T1 = R0[0];
Chris@82 74 T2 = R0[WS(rs, 4)];
Chris@82 75 T5 = R0[WS(rs, 6)];
Chris@82 76 T3 = R0[WS(rs, 8)];
Chris@82 77 T4 = R0[WS(rs, 2)];
Chris@82 78 T1i = T2 + T5;
Chris@82 79 T1j = T3 + T4;
Chris@82 80 T6 = T2 + T3 - T4 - T5;
Chris@82 81 T7 = FNMS(KP250000000, T6, T1);
Chris@82 82 T1r = FNMS(KP618033988, T1i, T1j);
Chris@82 83 T1k = FMA(KP618033988, T1j, T1i);
Chris@82 84 T8 = (T3 + T5 - T2) - T4;
Chris@82 85 }
Chris@82 86 {
Chris@82 87 E Tn, Tu, Tt, Tq, TU;
Chris@82 88 {
Chris@82 89 E Tj, Tk, Tl, Tm;
Chris@82 90 Tj = R1[WS(rs, 8)];
Chris@82 91 To = R1[WS(rs, 6)];
Chris@82 92 Tk = R1[0];
Chris@82 93 Tl = R1[WS(rs, 4)];
Chris@82 94 Tm = Tk + Tl;
Chris@82 95 Tn = Tj - Tm;
Chris@82 96 Tu = Tk - Tl;
Chris@82 97 Tp = Tj + Tm;
Chris@82 98 Tt = To + Tj;
Chris@82 99 }
Chris@82 100 Tv = FNMS(KP618033988, Tu, Tt);
Chris@82 101 TX = FMA(KP618033988, Tt, Tu);
Chris@82 102 Tq = FMA(KP809016994, Tp, To);
Chris@82 103 Tr = FNMS(KP552786404, Tq, Tn);
Chris@82 104 TU = FMA(KP447213595, Tp, Tn);
Chris@82 105 TV = FNMS(KP690983005, TU, To);
Chris@82 106 }
Chris@82 107 {
Chris@82 108 E TJ, TE, TI, TZ;
Chris@82 109 Tx = R1[WS(rs, 7)];
Chris@82 110 {
Chris@82 111 E Ty, Tz, TA, TB;
Chris@82 112 Ty = R1[WS(rs, 1)];
Chris@82 113 TF = R1[WS(rs, 3)];
Chris@82 114 Tz = R1[WS(rs, 5)];
Chris@82 115 TA = R1[WS(rs, 9)];
Chris@82 116 TB = Tz + TA;
Chris@82 117 TC = Ty + TB;
Chris@82 118 TJ = Tz - TA;
Chris@82 119 TE = Ty - TB;
Chris@82 120 TI = TF + Ty;
Chris@82 121 }
Chris@82 122 TD = FMA(KP250000000, TC, Tx);
Chris@82 123 T12 = FNMS(KP618033988, TI, TJ);
Chris@82 124 TG = FNMS(KP552786404, TF, TE);
Chris@82 125 TK = FMA(KP618033988, TJ, TI);
Chris@82 126 TZ = FMA(KP447213595, TC, TE);
Chris@82 127 T10 = FNMS(KP690983005, TZ, TF);
Chris@82 128 }
Chris@82 129 {
Chris@82 130 E T19, T1w, T1c, T1x, T1a, T1b;
Chris@82 131 T19 = T1 + T6;
Chris@82 132 T1w = T1f + T1d - T1e;
Chris@82 133 T1a = Ti + To - Tp;
Chris@82 134 T1b = TC - TF - Tx;
Chris@82 135 T1c = T1a + T1b;
Chris@82 136 T1x = T1a - T1b;
Chris@82 137 Cr[WS(csr, 2)] = FNMS(KP707106781, T1c, T19);
Chris@82 138 Ci[WS(csi, 2)] = FMS(KP707106781, T1x, T1w);
Chris@82 139 Cr[WS(csr, 7)] = FMA(KP707106781, T1c, T19);
Chris@82 140 Ci[WS(csi, 7)] = FMA(KP707106781, T1x, T1w);
Chris@82 141 }
Chris@82 142 {
Chris@82 143 E TT, T15, T1s, T1u, TY, T17, T13, T16;
Chris@82 144 {
Chris@82 145 E TR, T1q, TW, T11;
Chris@82 146 TR = FMA(KP559016994, T8, T7);
Chris@82 147 TT = FMA(KP951056516, TS, TR);
Chris@82 148 T15 = FNMS(KP951056516, TS, TR);
Chris@82 149 T1q = FNMS(KP809016994, T1p, T1d);
Chris@82 150 T1s = FNMS(KP951056516, T1r, T1q);
Chris@82 151 T1u = FMA(KP951056516, T1r, T1q);
Chris@82 152 TW = FNMS(KP809016994, TV, Ti);
Chris@82 153 TY = FMA(KP951056516, TX, TW);
Chris@82 154 T17 = FNMS(KP951056516, TX, TW);
Chris@82 155 T11 = FNMS(KP809016994, T10, Tx);
Chris@82 156 T13 = FNMS(KP951056516, T12, T11);
Chris@82 157 T16 = FMA(KP951056516, T12, T11);
Chris@82 158 }
Chris@82 159 {
Chris@82 160 E T14, T1v, T18, T1t;
Chris@82 161 T14 = TY - T13;
Chris@82 162 Cr[WS(csr, 6)] = FNMS(KP707106781, T14, TT);
Chris@82 163 Cr[WS(csr, 3)] = FMA(KP707106781, T14, TT);
Chris@82 164 T1v = T17 + T16;
Chris@82 165 Ci[WS(csi, 6)] = FMS(KP707106781, T1v, T1u);
Chris@82 166 Ci[WS(csi, 3)] = FMA(KP707106781, T1v, T1u);
Chris@82 167 T18 = T16 - T17;
Chris@82 168 Cr[WS(csr, 8)] = FNMS(KP707106781, T18, T15);
Chris@82 169 Cr[WS(csr, 1)] = FMA(KP707106781, T18, T15);
Chris@82 170 T1t = TY + T13;
Chris@82 171 Ci[WS(csi, 8)] = -(FMA(KP707106781, T1t, T1s));
Chris@82 172 Ci[WS(csi, 1)] = FNMS(KP707106781, T1t, T1s);
Chris@82 173 }
Chris@82 174 }
Chris@82 175 {
Chris@82 176 E Th, TN, T1l, T1n, Tw, TO, TL, TP;
Chris@82 177 {
Chris@82 178 E T9, T1h, Ts, TH;
Chris@82 179 T9 = FNMS(KP559016994, T8, T7);
Chris@82 180 Th = FNMS(KP951056516, Tg, T9);
Chris@82 181 TN = FMA(KP951056516, Tg, T9);
Chris@82 182 T1h = FMA(KP809016994, T1g, T1d);
Chris@82 183 T1l = FMA(KP951056516, T1k, T1h);
Chris@82 184 T1n = FNMS(KP951056516, T1k, T1h);
Chris@82 185 Ts = FNMS(KP559016994, Tr, Ti);
Chris@82 186 Tw = FNMS(KP951056516, Tv, Ts);
Chris@82 187 TO = FMA(KP951056516, Tv, Ts);
Chris@82 188 TH = FNMS(KP559016994, TG, TD);
Chris@82 189 TL = FNMS(KP951056516, TK, TH);
Chris@82 190 TP = FMA(KP951056516, TK, TH);
Chris@82 191 }
Chris@82 192 {
Chris@82 193 E TM, T1m, TQ, T1o;
Chris@82 194 TM = Tw - TL;
Chris@82 195 Cr[WS(csr, 9)] = FNMS(KP707106781, TM, Th);
Chris@82 196 Cr[0] = FMA(KP707106781, TM, Th);
Chris@82 197 T1m = TO + TP;
Chris@82 198 Ci[0] = -(FMA(KP707106781, T1m, T1l));
Chris@82 199 Ci[WS(csi, 9)] = FNMS(KP707106781, T1m, T1l);
Chris@82 200 TQ = TO - TP;
Chris@82 201 Cr[WS(csr, 5)] = FNMS(KP707106781, TQ, TN);
Chris@82 202 Cr[WS(csr, 4)] = FMA(KP707106781, TQ, TN);
Chris@82 203 T1o = Tw + TL;
Chris@82 204 Ci[WS(csi, 4)] = -(FMA(KP707106781, T1o, T1n));
Chris@82 205 Ci[WS(csi, 5)] = FNMS(KP707106781, T1o, T1n);
Chris@82 206 }
Chris@82 207 }
Chris@82 208 }
Chris@82 209 }
Chris@82 210 }
Chris@82 211
Chris@82 212 static const kr2c_desc desc = { 20, "r2cfII_20", {39, 0, 63, 0}, &GENUS };
Chris@82 213
Chris@82 214 void X(codelet_r2cfII_20) (planner *p) {
Chris@82 215 X(kr2c_register) (p, r2cfII_20, &desc);
Chris@82 216 }
Chris@82 217
Chris@82 218 #else
Chris@82 219
Chris@82 220 /* Generated by: ../../../genfft/gen_r2cf.native -compact -variables 4 -pipeline-latency 4 -n 20 -name r2cfII_20 -dft-II -include rdft/scalar/r2cfII.h */
Chris@82 221
Chris@82 222 /*
Chris@82 223 * This function contains 102 FP additions, 34 FP multiplications,
Chris@82 224 * (or, 86 additions, 18 multiplications, 16 fused multiply/add),
Chris@82 225 * 60 stack variables, 13 constants, and 40 memory accesses
Chris@82 226 */
Chris@82 227 #include "rdft/scalar/r2cfII.h"
Chris@82 228
Chris@82 229 static void r2cfII_20(R *R0, R *R1, R *Cr, R *Ci, stride rs, stride csr, stride csi, INT v, INT ivs, INT ovs)
Chris@82 230 {
Chris@82 231 DK(KP572061402, +0.572061402817684297600072783580302076536153377);
Chris@82 232 DK(KP218508012, +0.218508012224410535399650602527877556893735408);
Chris@82 233 DK(KP309016994, +0.309016994374947424102293417182819058860154590);
Chris@82 234 DK(KP809016994, +0.809016994374947424102293417182819058860154590);
Chris@82 235 DK(KP559016994, +0.559016994374947424102293417182819058860154590);
Chris@82 236 DK(KP951056516, +0.951056516295153572116439333379382143405698634);
Chris@82 237 DK(KP587785252, +0.587785252292473129168705954639072768597652438);
Chris@82 238 DK(KP250000000, +0.250000000000000000000000000000000000000000000);
Chris@82 239 DK(KP176776695, +0.176776695296636881100211090526212259821208984);
Chris@82 240 DK(KP395284707, +0.395284707521047416499861693054089816714944392);
Chris@82 241 DK(KP672498511, +0.672498511963957326960058968885748755876783111);
Chris@82 242 DK(KP415626937, +0.415626937777453428589967464113135184222253485);
Chris@82 243 DK(KP707106781, +0.707106781186547524400844362104849039284835938);
Chris@82 244 {
Chris@82 245 INT i;
Chris@82 246 for (i = v; i > 0; i = i - 1, R0 = R0 + ivs, R1 = R1 + ivs, Cr = Cr + ovs, Ci = Ci + ovs, MAKE_VOLATILE_STRIDE(80, rs), MAKE_VOLATILE_STRIDE(80, csr), MAKE_VOLATILE_STRIDE(80, csi)) {
Chris@82 247 E T8, TD, Tm, TN, T9, TC, TY, TE, Te, TF, Tl, TK, T12, TL, Tk;
Chris@82 248 E TM, T1, T6, Tq, T1l, T1c, Tp, T1f, T1e, T1d, Ty, TW, T1g, T1m, Tx;
Chris@82 249 E Tu;
Chris@82 250 T8 = R1[WS(rs, 2)];
Chris@82 251 TD = KP707106781 * T8;
Chris@82 252 Tm = R1[WS(rs, 7)];
Chris@82 253 TN = KP707106781 * Tm;
Chris@82 254 {
Chris@82 255 E Ta, TA, Td, TB, Tb, Tc;
Chris@82 256 T9 = R1[WS(rs, 6)];
Chris@82 257 Ta = R1[WS(rs, 8)];
Chris@82 258 TA = T9 + Ta;
Chris@82 259 Tb = R1[0];
Chris@82 260 Tc = R1[WS(rs, 4)];
Chris@82 261 Td = Tb + Tc;
Chris@82 262 TB = Tb - Tc;
Chris@82 263 TC = FMA(KP415626937, TA, KP672498511 * TB);
Chris@82 264 TY = FNMS(KP415626937, TB, KP672498511 * TA);
Chris@82 265 TE = KP395284707 * (Ta - Td);
Chris@82 266 Te = Ta + Td;
Chris@82 267 TF = KP176776695 * Te;
Chris@82 268 }
Chris@82 269 {
Chris@82 270 E Tg, TJ, Tj, TI, Th, Ti;
Chris@82 271 Tg = R1[WS(rs, 1)];
Chris@82 272 Tl = R1[WS(rs, 3)];
Chris@82 273 TJ = Tg + Tl;
Chris@82 274 Th = R1[WS(rs, 5)];
Chris@82 275 Ti = R1[WS(rs, 9)];
Chris@82 276 Tj = Th + Ti;
Chris@82 277 TI = Th - Ti;
Chris@82 278 TK = FNMS(KP415626937, TJ, KP672498511 * TI);
Chris@82 279 T12 = FMA(KP415626937, TI, KP672498511 * TJ);
Chris@82 280 TL = KP395284707 * (Tg - Tj);
Chris@82 281 Tk = Tg + Tj;
Chris@82 282 TM = KP176776695 * Tk;
Chris@82 283 }
Chris@82 284 {
Chris@82 285 E T2, T5, T3, T4, T1a, T1b;
Chris@82 286 T1 = R0[0];
Chris@82 287 T2 = R0[WS(rs, 6)];
Chris@82 288 T5 = R0[WS(rs, 8)];
Chris@82 289 T3 = R0[WS(rs, 2)];
Chris@82 290 T4 = R0[WS(rs, 4)];
Chris@82 291 T1a = T4 + T2;
Chris@82 292 T1b = T5 + T3;
Chris@82 293 T6 = T2 + T3 - (T4 + T5);
Chris@82 294 Tq = FMA(KP250000000, T6, T1);
Chris@82 295 T1l = FNMS(KP951056516, T1b, KP587785252 * T1a);
Chris@82 296 T1c = FMA(KP951056516, T1a, KP587785252 * T1b);
Chris@82 297 Tp = KP559016994 * (T5 + T2 - (T4 + T3));
Chris@82 298 }
Chris@82 299 T1f = R0[WS(rs, 5)];
Chris@82 300 {
Chris@82 301 E Tv, Tw, Ts, Tt;
Chris@82 302 Tv = R0[WS(rs, 9)];
Chris@82 303 Tw = R0[WS(rs, 1)];
Chris@82 304 Tx = Tv - Tw;
Chris@82 305 T1e = Tv + Tw;
Chris@82 306 Ts = R0[WS(rs, 3)];
Chris@82 307 Tt = R0[WS(rs, 7)];
Chris@82 308 Tu = Ts - Tt;
Chris@82 309 T1d = Ts + Tt;
Chris@82 310 }
Chris@82 311 Ty = FMA(KP951056516, Tu, KP587785252 * Tx);
Chris@82 312 TW = FNMS(KP951056516, Tx, KP587785252 * Tu);
Chris@82 313 T1g = FMA(KP809016994, T1d, KP309016994 * T1e) + T1f;
Chris@82 314 T1m = FNMS(KP809016994, T1e, T1f) - (KP309016994 * T1d);
Chris@82 315 {
Chris@82 316 E T7, T1r, To, T1q, Tf, Tn;
Chris@82 317 T7 = T1 - T6;
Chris@82 318 T1r = T1e + T1f - T1d;
Chris@82 319 Tf = T8 + (T9 - Te);
Chris@82 320 Tn = (Tk - Tl) - Tm;
Chris@82 321 To = KP707106781 * (Tf + Tn);
Chris@82 322 T1q = KP707106781 * (Tf - Tn);
Chris@82 323 Cr[WS(csr, 2)] = T7 - To;
Chris@82 324 Ci[WS(csi, 2)] = T1q - T1r;
Chris@82 325 Cr[WS(csr, 7)] = T7 + To;
Chris@82 326 Ci[WS(csi, 7)] = T1q + T1r;
Chris@82 327 }
Chris@82 328 {
Chris@82 329 E T1h, T1j, TX, T15, T10, T16, T13, T17, TV, TZ, T11;
Chris@82 330 T1h = T1c - T1g;
Chris@82 331 T1j = T1c + T1g;
Chris@82 332 TV = Tq - Tp;
Chris@82 333 TX = TV - TW;
Chris@82 334 T15 = TV + TW;
Chris@82 335 TZ = FMA(KP218508012, T9, TD) + TF - TE;
Chris@82 336 T10 = TY + TZ;
Chris@82 337 T16 = TZ - TY;
Chris@82 338 T11 = FNMS(KP218508012, Tl, TL) - (TM + TN);
Chris@82 339 T13 = T11 - T12;
Chris@82 340 T17 = T11 + T12;
Chris@82 341 {
Chris@82 342 E T14, T19, T18, T1i;
Chris@82 343 T14 = T10 + T13;
Chris@82 344 Cr[WS(csr, 5)] = TX - T14;
Chris@82 345 Cr[WS(csr, 4)] = TX + T14;
Chris@82 346 T19 = T17 - T16;
Chris@82 347 Ci[WS(csi, 5)] = T19 - T1h;
Chris@82 348 Ci[WS(csi, 4)] = T19 + T1h;
Chris@82 349 T18 = T16 + T17;
Chris@82 350 Cr[WS(csr, 9)] = T15 - T18;
Chris@82 351 Cr[0] = T15 + T18;
Chris@82 352 T1i = T13 - T10;
Chris@82 353 Ci[0] = T1i - T1j;
Chris@82 354 Ci[WS(csi, 9)] = T1i + T1j;
Chris@82 355 }
Chris@82 356 }
Chris@82 357 {
Chris@82 358 E T1n, T1p, Tz, TR, TH, TS, TP, TT, Tr, TG, TO;
Chris@82 359 T1n = T1l + T1m;
Chris@82 360 T1p = T1m - T1l;
Chris@82 361 Tr = Tp + Tq;
Chris@82 362 Tz = Tr + Ty;
Chris@82 363 TR = Tr - Ty;
Chris@82 364 TG = TD + TE + FNMS(KP572061402, T9, TF);
Chris@82 365 TH = TC + TG;
Chris@82 366 TS = TC - TG;
Chris@82 367 TO = TL + TM + FNMS(KP572061402, Tl, TN);
Chris@82 368 TP = TK - TO;
Chris@82 369 TT = TK + TO;
Chris@82 370 {
Chris@82 371 E TQ, T1o, TU, T1k;
Chris@82 372 TQ = TH + TP;
Chris@82 373 Cr[WS(csr, 6)] = Tz - TQ;
Chris@82 374 Cr[WS(csr, 3)] = Tz + TQ;
Chris@82 375 T1o = TT - TS;
Chris@82 376 Ci[WS(csi, 6)] = T1o - T1p;
Chris@82 377 Ci[WS(csi, 3)] = T1o + T1p;
Chris@82 378 TU = TS + TT;
Chris@82 379 Cr[WS(csr, 8)] = TR - TU;
Chris@82 380 Cr[WS(csr, 1)] = TR + TU;
Chris@82 381 T1k = TP - TH;
Chris@82 382 Ci[WS(csi, 8)] = T1k - T1n;
Chris@82 383 Ci[WS(csi, 1)] = T1k + T1n;
Chris@82 384 }
Chris@82 385 }
Chris@82 386 }
Chris@82 387 }
Chris@82 388 }
Chris@82 389
Chris@82 390 static const kr2c_desc desc = { 20, "r2cfII_20", {86, 18, 16, 0}, &GENUS };
Chris@82 391
Chris@82 392 void X(codelet_r2cfII_20) (planner *p) {
Chris@82 393 X(kr2c_register) (p, r2cfII_20, &desc);
Chris@82 394 }
Chris@82 395
Chris@82 396 #endif