这篇教程C++ DK函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中DK函数的典型用法代码示例。如果您正苦于以下问题:C++ DK函数的具体用法?C++ DK怎么用?C++ DK使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了DK函数的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: r2cfII_20static void r2cfII_20(R *R0, R *R1, R *Cr, R *Ci, stride rs, stride csr, stride csi, INT v, INT ivs, INT ovs){ DK(KP572061402, +0.572061402817684297600072783580302076536153377); DK(KP218508012, +0.218508012224410535399650602527877556893735408); DK(KP309016994, +0.309016994374947424102293417182819058860154590); DK(KP809016994, +0.809016994374947424102293417182819058860154590); DK(KP559016994, +0.559016994374947424102293417182819058860154590); DK(KP951056516, +0.951056516295153572116439333379382143405698634); DK(KP587785252, +0.587785252292473129168705954639072768597652438); DK(KP250000000, +0.250000000000000000000000000000000000000000000); DK(KP176776695, +0.176776695296636881100211090526212259821208984); DK(KP395284707, +0.395284707521047416499861693054089816714944392); DK(KP672498511, +0.672498511963957326960058968885748755876783111); DK(KP415626937, +0.415626937777453428589967464113135184222253485); DK(KP707106781, +0.707106781186547524400844362104849039284835938); { INT i; for (i = v; i > 0; i = i - 1, R0 = R0 + ivs, R1 = R1 + ivs, Cr = Cr + ovs, Ci = Ci + ovs, MAKE_VOLATILE_STRIDE(rs), MAKE_VOLATILE_STRIDE(csr), MAKE_VOLATILE_STRIDE(csi)) { E T8, TD, Tm, TN, T9, TC, TY, TE, Te, TF, Tl, TK, T12, TL, Tk; E TM, T1, T6, Tq, T1l, T1c, Tp, T1f, T1e, T1d, Ty, TW, T1g, T1m, Tx; E Tu; T8 = R1[WS(rs, 2)]; TD = KP707106781 * T8; Tm = R1[WS(rs, 7)]; TN = KP707106781 * Tm; { E Ta, TA, Td, TB, Tb, Tc; T9 = R1[WS(rs, 6)]; Ta = R1[WS(rs, 8)]; TA = T9 + Ta; Tb = R1[0]; Tc = R1[WS(rs, 4)]; Td = Tb + Tc; TB = Tb - Tc; TC = FMA(KP415626937, TA, KP672498511 * TB); TY = FNMS(KP415626937, TB, KP672498511 * TA); TE = KP395284707 * (Ta - Td); Te = Ta + Td; TF = KP176776695 * Te; } { E Tg, TJ, Tj, TI, Th, Ti; Tg = R1[WS(rs, 1)]; Tl = R1[WS(rs, 3)]; TJ = Tg + Tl; Th = R1[WS(rs, 5)]; Ti = R1[WS(rs, 9)]; Tj = Th + Ti; TI = Th - Ti; TK = FNMS(KP415626937, TJ, KP672498511 * TI); T12 = FMA(KP415626937, TI, KP672498511 * TJ); TL = KP395284707 * (Tg - Tj); Tk = Tg + Tj; TM = KP176776695 * Tk; } { E T2, T5, T3, T4, T1a, T1b; T1 = R0[0]; T2 = R0[WS(rs, 6)]; T5 = R0[WS(rs, 8)]; T3 = R0[WS(rs, 2)]; T4 = R0[WS(rs, 4)]; T1a = T4 + T2; T1b = T5 + T3; T6 = T2 + T3 - (T4 + T5); Tq = FMA(KP250000000, T6, T1); T1l = FNMS(KP951056516, T1b, KP587785252 * T1a); T1c = FMA(KP951056516, T1a, KP587785252 * T1b); Tp = KP559016994 * (T5 + T2 - (T4 + T3)); } T1f = R0[WS(rs, 5)]; { E Tv, Tw, Ts, Tt; Tv = R0[WS(rs, 9)]; Tw = R0[WS(rs, 1)]; Tx = Tv - Tw; T1e = Tv + Tw; Ts = R0[WS(rs, 3)]; Tt = R0[WS(rs, 7)]; Tu = Ts - Tt; T1d = Ts + Tt; } Ty = FMA(KP951056516, Tu, KP587785252 * Tx); TW = FNMS(KP951056516, Tx, KP587785252 * Tu); T1g = FMA(KP809016994, T1d, KP309016994 * T1e) + T1f; T1m = FNMS(KP809016994, T1e, T1f) - (KP309016994 * T1d); { E T7, T1r, To, T1q, Tf, Tn; T7 = T1 - T6; T1r = T1e + T1f - T1d; Tf = T8 + (T9 - Te); Tn = (Tk - Tl) - Tm; To = KP707106781 * (Tf + Tn); T1q = KP707106781 * (Tf - Tn); Cr[WS(csr, 2)] = T7 - To; Ci[WS(csi, 2)] = T1q - T1r; Cr[WS(csr, 7)] = T7 + To; Ci[WS(csi, 7)] = T1q + T1r; } {//.........这里部分代码省略.........
开发者ID:AlexanderB1290,项目名称:scafacos,代码行数:101,
示例2: hc2cfdft_8static void hc2cfdft_8(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms){ DK(KP353553390, +0.353553390593273762200422181052424519642417969); DK(KP500000000, +0.500000000000000000000000000000000000000000000); { INT m; for (m = mb, W = W + ((mb - 1) * 14); m < me; m = m + 1, Rp = Rp + ms, Ip = Ip + ms, Rm = Rm - ms, Im = Im - ms, W = W + 14, MAKE_VOLATILE_STRIDE(32, rs)) { E Tv, TX, Ts, TY, TE, T1a, TJ, T19, T1l, T1m, T9, T10, Ti, T11, TP; E T16, TU, T17, T1i, T1j; { E Tt, Tu, TD, Tz, TA, TB, Tn, TI, Tr, TG, Tk, To; Tt = Ip[0]; Tu = Im[0]; TD = Tt + Tu; Tz = Rm[0]; TA = Rp[0]; TB = Tz - TA; { E Tl, Tm, Tp, Tq; Tl = Ip[WS(rs, 2)]; Tm = Im[WS(rs, 2)]; Tn = Tl - Tm; TI = Tl + Tm; Tp = Rp[WS(rs, 2)]; Tq = Rm[WS(rs, 2)]; Tr = Tp + Tq; TG = Tp - Tq; } Tv = Tt - Tu; TX = TA + Tz; Tk = W[6]; To = W[7]; Ts = FNMS(To, Tr, Tk * Tn); TY = FMA(Tk, Tr, To * Tn); { E Ty, TC, TF, TH; Ty = W[0]; TC = W[1]; TE = FNMS(TC, TD, Ty * TB); T1a = FMA(TC, TB, Ty * TD); TF = W[8]; TH = W[9]; TJ = FMA(TF, TG, TH * TI); T19 = FNMS(TH, TG, TF * TI); } T1l = TJ + TE; T1m = T1a - T19; } { E T4, TO, T8, TM, Td, TT, Th, TR; { E T2, T3, T6, T7; T2 = Ip[WS(rs, 1)]; T3 = Im[WS(rs, 1)]; T4 = T2 - T3; TO = T2 + T3; T6 = Rp[WS(rs, 1)]; T7 = Rm[WS(rs, 1)]; T8 = T6 + T7; TM = T6 - T7; } { E Tb, Tc, Tf, Tg; Tb = Ip[WS(rs, 3)]; Tc = Im[WS(rs, 3)]; Td = Tb - Tc; TT = Tb + Tc; Tf = Rp[WS(rs, 3)]; Tg = Rm[WS(rs, 3)]; Th = Tf + Tg; TR = Tf - Tg; } { E T1, T5, Ta, Te; T1 = W[2]; T5 = W[3]; T9 = FNMS(T5, T8, T1 * T4); T10 = FMA(T1, T8, T5 * T4); Ta = W[10]; Te = W[11]; Ti = FNMS(Te, Th, Ta * Td); T11 = FMA(Ta, Th, Te * Td); { E TL, TN, TQ, TS; TL = W[4]; TN = W[5]; TP = FMA(TL, TM, TN * TO); T16 = FNMS(TN, TM, TL * TO); TQ = W[12]; TS = W[13]; TU = FMA(TQ, TR, TS * TT); T17 = FNMS(TS, TR, TQ * TT); } T1i = T17 - T16; T1j = TP - TU; } } { E T1h, T1t, T1w, T1y, T1o, T1s, T1r, T1x; {//.........这里部分代码省略.........
开发者ID:SKA-ScienceDataProcessor,项目名称:FastImaging,代码行数:101,
示例3: hc2r_9static void hc2r_9(const R *ri, const R *ii, R *O, stride ris, stride iis, stride os, int v, int ivs, int ovs){ DK(KP984807753, +0.984807753012208059366743024589523013670643252); DK(KP173648177, +0.173648177666930348851716626769314796000375677); DK(KP300767466, +0.300767466360870593278543795225003852144476517); DK(KP1_705737063, +1.705737063904886419256501927880148143872040591); DK(KP642787609, +0.642787609686539326322643409907263432907559884); DK(KP766044443, +0.766044443118978035202392650555416673935832457); DK(KP1_326827896, +1.326827896337876792410842639271782594433726619); DK(KP1_113340798, +1.113340798452838732905825904094046265936583811); DK(KP500000000, +0.500000000000000000000000000000000000000000000); DK(KP866025403, +0.866025403784438646763723170752936183471402627); DK(KP2_000000000, +2.000000000000000000000000000000000000000000000); DK(KP1_732050807, +1.732050807568877293527446341505872366942805254); int i; for (i = v; i > 0; i = i - 1, ri = ri + ivs, ii = ii + ivs, O = O + ovs) { E T3, Tq, Tc, Tk, Tj, T8, Tm, Ts, Th, Tr, Tw, Tx; { E Tb, T1, T2, T9, Ta; Ta = ii[WS(iis, 3)]; Tb = KP1_732050807 * Ta; T1 = ri[0]; T2 = ri[WS(ris, 3)]; T9 = T1 - T2; T3 = FMA(KP2_000000000, T2, T1); Tq = T9 + Tb; Tc = T9 - Tb; } { E T4, T7, Ti, Tg, Tl, Td; T4 = ri[WS(ris, 1)]; Tk = ii[WS(iis, 1)]; { E T5, T6, Te, Tf; T5 = ri[WS(ris, 4)]; T6 = ri[WS(ris, 2)]; T7 = T5 + T6; Ti = KP866025403 * (T5 - T6); Te = ii[WS(iis, 4)]; Tf = ii[WS(iis, 2)]; Tg = KP866025403 * (Te + Tf); Tj = Tf - Te; } T8 = T4 + T7; Tl = FMA(KP500000000, Tj, Tk); Tm = Ti + Tl; Ts = Tl - Ti; Td = FNMS(KP500000000, T7, T4); Th = Td - Tg; Tr = Td + Tg; } O[0] = FMA(KP2_000000000, T8, T3); Tw = T3 - T8; Tx = KP1_732050807 * (Tk - Tj); O[WS(os, 3)] = Tw - Tx; O[WS(os, 6)] = Tw + Tx; { E Tp, Tn, To, Tv, Tt, Tu; Tp = FMA(KP1_113340798, Th, KP1_326827896 * Tm); Tn = FNMS(KP642787609, Tm, KP766044443 * Th); To = Tc - Tn; O[WS(os, 1)] = FMA(KP2_000000000, Tn, Tc); O[WS(os, 7)] = To + Tp; O[WS(os, 4)] = To - Tp; Tv = FMA(KP1_705737063, Tr, KP300767466 * Ts); Tt = FNMS(KP984807753, Ts, KP173648177 * Tr); Tu = Tq - Tt; O[WS(os, 2)] = FMA(KP2_000000000, Tt, Tq); O[WS(os, 8)] = Tu + Tv; O[WS(os, 5)] = Tu - Tv; } }}
开发者ID:OS2World,项目名称:MM-SOUND-PM123,代码行数:73,
示例4: hb2_16static void hb2_16(R *cr, R *ci, const R *W, stride rs, INT mb, INT me, INT ms){ DK(KP382683432, +0.382683432365089771728459984030398866761344562); DK(KP923879532, +0.923879532511286756128183189396788286822416626); DK(KP707106781, +0.707106781186547524400844362104849039284835938); { INT m; for (m = mb, W = W + ((mb - 1) * 8); m < me; m = m + 1, cr = cr + ms, ci = ci - ms, W = W + 8, MAKE_VOLATILE_STRIDE(32, rs)) { E Tv, Ty, T1l, T1n, T1p, T1t, T27, T25, Tz, Tw, TB, T21, T1P, T1H, T1X; E T17, T1L, T1N, T1v, T1w, T1x, T1B, T2F, T2T, T2b, T2R, T3j, T3x, T35, T3t; { E TA, T1J, T15, T1G, Tx, T1K, T16, T1F; { E T1m, T1s, T1o, T1r; Tv = W[0]; Ty = W[1]; T1l = W[2]; T1n = W[3]; T1m = Tv * T1l; T1s = Ty * T1l; T1o = Ty * T1n; T1r = Tv * T1n; T1p = T1m + T1o; T1t = T1r - T1s; T27 = T1r + T1s; T25 = T1m - T1o; Tz = W[5]; TA = Ty * Tz; T1J = T1l * Tz; T15 = Tv * Tz; T1G = T1n * Tz; Tw = W[4]; Tx = Tv * Tw; T1K = T1n * Tw; T16 = Ty * Tw; T1F = T1l * Tw; } TB = Tx - TA; T21 = T1J + T1K; T1P = T15 - T16; T1H = T1F + T1G; T1X = T1F - T1G; T17 = T15 + T16; T1L = T1J - T1K; T1N = Tx + TA; T1v = W[6]; T1w = W[7]; T1x = FMA(Tv, T1v, Ty * T1w); T1B = FNMS(Ty, T1v, Tv * T1w); { E T2D, T2E, T29, T2a; T2D = T25 * Tz; T2E = T27 * Tw; T2F = T2D + T2E; T2T = T2D - T2E; T29 = T25 * Tw; T2a = T27 * Tz; T2b = T29 - T2a; T2R = T29 + T2a; } { E T3h, T3i, T33, T34; T3h = T1p * Tz; T3i = T1t * Tw; T3j = T3h + T3i; T3x = T3h - T3i; T33 = T1p * Tw; T34 = T1t * Tz; T35 = T33 - T34; T3t = T33 + T34; } } { E T7, T36, T3k, TC, T1f, T2e, T2I, T1Q, Te, TJ, T1R, T18, T2L, T37, T2l; E T3l, Tm, T1T, TT, T1h, T2A, T2N, T3b, T3n, Tt, T1U, T12, T1i, T2t, T2O; E T3e, T3o; { E T3, T2c, T1e, T2d, T6, T2G, T1b, T2H; { E T1, T2, T1c, T1d; T1 = cr[0]; T2 = ci[WS(rs, 7)]; T3 = T1 + T2; T2c = T1 - T2; T1c = ci[WS(rs, 11)]; T1d = cr[WS(rs, 12)]; T1e = T1c - T1d; T2d = T1c + T1d; } { E T4, T5, T19, T1a; T4 = cr[WS(rs, 4)]; T5 = ci[WS(rs, 3)]; T6 = T4 + T5; T2G = T4 - T5; T19 = ci[WS(rs, 15)]; T1a = cr[WS(rs, 8)]; T1b = T19 - T1a; T2H = T19 + T1a; }//.........这里部分代码省略.........
开发者ID:DougBurke,项目名称:sherpa,代码行数:101,
示例5: q1_3static void q1_3(float *rio, float *iio, const float *W, stride rs, stride vs, INT mb, INT me, INT ms){ DK(KP866025403, +0.866025403784438646763723170752936183471402627); DK(KP500000000, +0.500000000000000000000000000000000000000000000); INT m; for (m = mb, W = W + (mb * 4); m < me; m = m + 1, rio = rio + ms, iio = iio + ms, W = W + 4, MAKE_VOLATILE_STRIDE(rs), MAKE_VOLATILE_STRIDE(vs)) { E T1, T4, T6, Tc, Td, Te, T9, Tf, Tl, To, Tq, Tw, Tx, Ty, Tt; E Tz, TR, TS, TN, TT, TF, TI, TK, TQ; { E T2, T3, Tr, Ts; T1 = rio[0]; T2 = rio[WS(rs, 1)]; T3 = rio[WS(rs, 2)]; T4 = T2 + T3; T6 = FNMS(KP500000000, T4, T1); Tc = KP866025403 * (T3 - T2); { E T7, T8, Tm, Tn; Td = iio[0]; T7 = iio[WS(rs, 1)]; T8 = iio[WS(rs, 2)]; Te = T7 + T8; T9 = KP866025403 * (T7 - T8); Tf = FNMS(KP500000000, Te, Td); Tl = rio[WS(vs, 1)]; Tm = rio[WS(vs, 1) + WS(rs, 1)]; Tn = rio[WS(vs, 1) + WS(rs, 2)]; To = Tm + Tn; Tq = FNMS(KP500000000, To, Tl); Tw = KP866025403 * (Tn - Tm); } Tx = iio[WS(vs, 1)]; Tr = iio[WS(vs, 1) + WS(rs, 1)]; Ts = iio[WS(vs, 1) + WS(rs, 2)]; Ty = Tr + Ts; Tt = KP866025403 * (Tr - Ts); Tz = FNMS(KP500000000, Ty, Tx); { E TL, TM, TG, TH; TR = iio[WS(vs, 2)]; TL = iio[WS(vs, 2) + WS(rs, 1)]; TM = iio[WS(vs, 2) + WS(rs, 2)]; TS = TL + TM; TN = KP866025403 * (TL - TM); TT = FNMS(KP500000000, TS, TR); TF = rio[WS(vs, 2)]; TG = rio[WS(vs, 2) + WS(rs, 1)]; TH = rio[WS(vs, 2) + WS(rs, 2)]; TI = TG + TH; TK = FNMS(KP500000000, TI, TF); TQ = KP866025403 * (TH - TG); } } rio[0] = T1 + T4; iio[0] = Td + Te; rio[WS(rs, 1)] = Tl + To; iio[WS(rs, 1)] = Tx + Ty; iio[WS(rs, 2)] = TR + TS; rio[WS(rs, 2)] = TF + TI; { E Ta, Tg, T5, Tb; Ta = T6 + T9; Tg = Tc + Tf; T5 = W[0]; Tb = W[1]; rio[WS(vs, 1)] = FMA(T5, Ta, Tb * Tg); iio[WS(vs, 1)] = FNMS(Tb, Ta, T5 * Tg); } { E TW, TY, TV, TX; TW = TK - TN; TY = TT - TQ; TV = W[2]; TX = W[3]; rio[WS(vs, 2) + WS(rs, 2)] = FMA(TV, TW, TX * TY); iio[WS(vs, 2) + WS(rs, 2)] = FNMS(TX, TW, TV * TY); } { E TC, TE, TB, TD; TC = Tq - Tt; TE = Tz - Tw; TB = W[2]; TD = W[3]; rio[WS(vs, 2) + WS(rs, 1)] = FMA(TB, TC, TD * TE); iio[WS(vs, 2) + WS(rs, 1)] = FNMS(TD, TC, TB * TE); } { E Tu, TA, Tp, Tv; Tu = Tq + Tt; TA = Tw + Tz; Tp = W[0]; Tv = W[1]; rio[WS(vs, 1) + WS(rs, 1)] = FMA(Tp, Tu, Tv * TA); iio[WS(vs, 1) + WS(rs, 1)] = FNMS(Tv, Tu, Tp * TA); } { E TO, TU, TJ, TP; TO = TK + TN; TU = TQ + TT; TJ = W[0];//.........这里部分代码省略.........
开发者ID:Rudrj2,项目名称:FFTW3_MOD-for-Android,代码行数:101,
示例6: hc2r_15static void hc2r_15(const R *ri, const R *ii, R *O, stride ris, stride iis, stride os, INT v, INT ivs, INT ovs){ DK(KP559016994, +0.559016994374947424102293417182819058860154590); DK(KP1_902113032, +1.902113032590307144232878666758764286811397268); DK(KP250000000, +0.250000000000000000000000000000000000000000000); DK(KP866025403, +0.866025403784438646763723170752936183471402627); DK(KP1_118033988, +1.118033988749894848204586834365638117720309180); DK(KP618033988, +0.618033988749894848204586834365638117720309180); DK(KP500000000, +0.500000000000000000000000000000000000000000000); DK(KP1_732050807, +1.732050807568877293527446341505872366942805254); DK(KP2_000000000, +2.000000000000000000000000000000000000000000000); INT i; for (i = v; i > 0; i = i - 1, ri = ri + ivs, ii = ii + ivs, O = O + ovs, MAKE_VOLATILE_STRIDE(ris), MAKE_VOLATILE_STRIDE(iis), MAKE_VOLATILE_STRIDE(os)) { E TL, Tz, TM, TK; { E T3, Th, Tt, TD, TI, TH, TY, TC, TZ, Tu, Tm, Tv, Tr, Te, TW; E Tg, T1, T2, T12, T10, TV; Tg = ii[WS(iis, 5)]; T1 = ri[0]; T2 = ri[WS(ris, 5)]; { E T4, TA, T9, TF, T7, Tj, Tc, Tk, TG, Tq, Tf, Tl, TB; T4 = ri[WS(ris, 3)]; TA = ii[WS(iis, 3)]; T9 = ri[WS(ris, 6)]; Tf = T1 - T2; T3 = FMA(KP2_000000000, T2, T1); TF = ii[WS(iis, 6)]; { E Ta, Tb, T5, T6, To, Tp; T5 = ri[WS(ris, 7)]; T6 = ri[WS(ris, 2)]; Th = FMA(KP1_732050807, Tg, Tf); Tt = FNMS(KP1_732050807, Tg, Tf); Ta = ri[WS(ris, 4)]; TD = T5 - T6; T7 = T5 + T6; Tb = ri[WS(ris, 1)]; To = ii[WS(iis, 4)]; Tp = ii[WS(iis, 1)]; Tj = ii[WS(iis, 7)]; Tc = Ta + Tb; TI = Ta - Tb; Tk = ii[WS(iis, 2)]; TG = Tp - To; Tq = To + Tp; } Tl = Tj - Tk; TB = Tj + Tk; TH = FNMS(KP500000000, TG, TF); TY = TG + TF; TC = FMA(KP500000000, TB, TA); TZ = TA - TB; { E Ti, T8, Td, Tn; Ti = FNMS(KP2_000000000, T4, T7); T8 = T4 + T7; Td = T9 + Tc; Tn = FNMS(KP2_000000000, T9, Tc); Tu = FNMS(KP1_732050807, Tl, Ti); Tm = FMA(KP1_732050807, Tl, Ti); Tv = FNMS(KP1_732050807, Tq, Tn); Tr = FMA(KP1_732050807, Tq, Tn); Te = T8 + Td; TW = T8 - Td; } } T12 = FMA(KP618033988, TY, TZ); T10 = FNMS(KP618033988, TZ, TY); TV = FNMS(KP500000000, Te, T3); O[0] = FMA(KP2_000000000, Te, T3); { E TJ, TE, TT, TP, TU, TS, Ty, Tw, Tx; { E TO, Ts, TQ, TN, TR, T11, TX; TO = Tr - Tm; Ts = Tm + Tr; T11 = FMA(KP1_118033988, TW, TV); TX = FNMS(KP1_118033988, TW, TV); TQ = FNMS(KP866025403, TI, TH); TJ = FMA(KP866025403, TI, TH); TN = FMA(KP250000000, Ts, Th); O[WS(os, 6)] = FNMS(KP1_902113032, T12, T11); O[WS(os, 9)] = FMA(KP1_902113032, T12, T11); O[WS(os, 12)] = FMA(KP1_902113032, T10, TX); O[WS(os, 3)] = FNMS(KP1_902113032, T10, TX); TR = FNMS(KP866025403, TD, TC); TE = FMA(KP866025403, TD, TC); O[WS(os, 5)] = Th - Ts; TT = FMA(KP559016994, TO, TN); TP = FNMS(KP559016994, TO, TN); TU = FMA(KP618033988, TQ, TR); TS = FNMS(KP618033988, TR, TQ); } Ty = Tv - Tu; Tw = Tu + Tv; O[WS(os, 14)] = FMA(KP1_902113032, TU, TT); O[WS(os, 11)] = FNMS(KP1_902113032, TU, TT); O[WS(os, 2)] = FMA(KP1_902113032, TS, TP); O[WS(os, 8)] = FNMS(KP1_902113032, TS, TP);//.........这里部分代码省略.........
开发者ID:exic,项目名称:last.fm-dbus,代码行数:101,
示例7: r2cbIII_32static void r2cbIII_32(R *R0, R *R1, R *Cr, R *Ci, stride rs, stride csr, stride csi, INT v, INT ivs, INT ovs){ DK(KP1_913880671, +1.913880671464417729871595773960539938965698411); DK(KP580569354, +0.580569354508924735272384751634790549382952557); DK(KP942793473, +0.942793473651995297112775251810508755314920638); DK(KP1_763842528, +1.763842528696710059425513727320776699016885241); DK(KP1_546020906, +1.546020906725473921621813219516939601942082586); DK(KP1_268786568, +1.268786568327290996430343226450986741351374190); DK(KP196034280, +0.196034280659121203988391127777283691722273346); DK(KP1_990369453, +1.990369453344393772489673906218959843150949737); DK(KP765366864, +0.765366864730179543456919968060797733522689125); DK(KP1_847759065, +1.847759065022573512256366378793576573644833252); DK(KP1_961570560, +1.961570560806460898252364472268478073947867462); DK(KP390180644, +0.390180644032256535696569736954044481855383236); DK(KP1_111140466, +1.111140466039204449485661627897065748749874382); DK(KP1_662939224, +1.662939224605090474157576755235811513477121624); DK(KP1_414213562, +1.414213562373095048801688724209698078569671875); DK(KP2_000000000, +2.000000000000000000000000000000000000000000000); DK(KP382683432, +0.382683432365089771728459984030398866761344562); DK(KP923879532, +0.923879532511286756128183189396788286822416626); DK(KP707106781, +0.707106781186547524400844362104849039284835938); { 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(128, rs), MAKE_VOLATILE_STRIDE(128, csr), MAKE_VOLATILE_STRIDE(128, csi)) { E T7, T2i, T2F, Tz, T1k, T1I, T1Z, T1x, Te, T22, T2E, T2j, T1f, T1y, TK; E T1J, Tm, T2B, TW, T1a, T1C, T1L, T28, T2l, Tt, T2A, T17, T1b, T1F, T1M; E T2d, T2m; { E T3, Tv, T1j, T2h, T6, T1g, Ty, T2g; { E T1, T2, T1h, T1i; T1 = Cr[0]; T2 = Cr[WS(csr, 15)]; T3 = T1 + T2; Tv = T1 - T2; T1h = Ci[0]; T1i = Ci[WS(csi, 15)]; T1j = T1h + T1i; T2h = T1i - T1h; } { E T4, T5, Tw, Tx; T4 = Cr[WS(csr, 8)]; T5 = Cr[WS(csr, 7)]; T6 = T4 + T5; T1g = T4 - T5; Tw = Ci[WS(csi, 8)]; Tx = Ci[WS(csi, 7)]; Ty = Tw + Tx; T2g = Tw - Tx; } T7 = T3 + T6; T2i = T2g + T2h; T2F = T2h - T2g; Tz = Tv - Ty; T1k = T1g + T1j; T1I = T1g - T1j; T1Z = T3 - T6; T1x = Tv + Ty; } { E Ta, TA, TD, T21, Td, TF, TI, T20; { E T8, T9, TB, TC; T8 = Cr[WS(csr, 4)]; T9 = Cr[WS(csr, 11)]; Ta = T8 + T9; TA = T8 - T9; TB = Ci[WS(csi, 4)]; TC = Ci[WS(csi, 11)]; TD = TB + TC; T21 = TB - TC; } { E Tb, Tc, TG, TH; Tb = Cr[WS(csr, 3)]; Tc = Cr[WS(csr, 12)]; Td = Tb + Tc; TF = Tb - Tc; TG = Ci[WS(csi, 3)]; TH = Ci[WS(csi, 12)]; TI = TG + TH; T20 = TH - TG; } Te = Ta + Td; T22 = T20 - T21; T2E = T21 + T20; T2j = Ta - Td; { E T1d, T1e, TE, TJ; T1d = TA + TD; T1e = TF + TI; T1f = KP707106781 * (T1d - T1e); T1y = KP707106781 * (T1d + T1e); TE = TA - TD; TJ = TF - TI; TK = KP707106781 * (TE + TJ); T1J = KP707106781 * (TE - TJ); } }//.........这里部分代码省略.........
开发者ID:SKA-ScienceDataProcessor,项目名称:FastImaging,代码行数:101,
示例8: r2cb_20static void r2cb_20(R *R0, R *R1, R *Cr, R *Ci, stride rs, stride csr, stride csi, INT v, INT ivs, INT ovs){ DK(KP1_118033988, +1.118033988749894848204586834365638117720309180); DK(KP500000000, +0.500000000000000000000000000000000000000000000); DK(KP1_902113032, +1.902113032590307144232878666758764286811397268); DK(KP1_175570504, +1.175570504584946258337411909278145537195304875); 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 T6, TF, Tm, Tt, TQ, T1n, T1f, T12, T1m, TV, T13, T1c, Td, Tk, Tl; E Ty, TD, TE, Tn, To, Tp, TG, TH, TI; { E T5, Ts, T3, Tq; { E T4, Tr, T1, T2; T4 = Cr[WS(csr, 5)]; T5 = KP2_000000000 * T4; Tr = Ci[WS(csi, 5)]; Ts = KP2_000000000 * Tr; T1 = Cr[0]; T2 = Cr[WS(csr, 10)]; T3 = T1 + T2; Tq = T1 - T2; } T6 = T3 - T5; TF = Tq - Ts; Tm = T3 + T5; Tt = Tq + Ts; } { E T9, Tu, TO, T1b, Tc, T1a, Tx, TP, Tg, Tz, TT, T1e, Tj, T1d, TC; E TU; { E T7, T8, TM, TN; T7 = Cr[WS(csr, 4)]; T8 = Cr[WS(csr, 6)]; T9 = T7 + T8; Tu = T7 - T8; TM = Ci[WS(csi, 4)]; TN = Ci[WS(csi, 6)]; TO = TM - TN; T1b = TM + TN; } { E Ta, Tb, Tv, Tw; Ta = Cr[WS(csr, 9)]; Tb = Cr[WS(csr, 1)]; Tc = Ta + Tb; T1a = Ta - Tb; Tv = Ci[WS(csi, 9)]; Tw = Ci[WS(csi, 1)]; Tx = Tv + Tw; TP = Tv - Tw; } { E Te, Tf, TR, TS; Te = Cr[WS(csr, 8)]; Tf = Cr[WS(csr, 2)]; Tg = Te + Tf; Tz = Te - Tf; TR = Ci[WS(csi, 8)]; TS = Ci[WS(csi, 2)]; TT = TR - TS; T1e = TR + TS; } { E Th, Ti, TA, TB; Th = Cr[WS(csr, 7)]; Ti = Cr[WS(csr, 3)]; Tj = Th + Ti; T1d = Th - Ti; TA = Ci[WS(csi, 7)]; TB = Ci[WS(csi, 3)]; TC = TA + TB; TU = TB - TA; } TQ = TO - TP; T1n = T1e - T1d; T1f = T1d + T1e; T12 = TP + TO; T1m = T1b - T1a; TV = TT - TU; T13 = TU + TT; T1c = T1a + T1b; Td = T9 - Tc; Tk = Tg - Tj; Tl = Td + Tk; Ty = Tu + Tx; TD = Tz - TC; TE = Ty + TD; Tn = T9 + Tc; To = Tg + Tj; Tp = Tn + To; TG = Tu - Tx; TH = Tz + TC; TI = TG + TH; } R0[WS(rs, 5)] = FMA(KP2_000000000, Tl, T6); R1[WS(rs, 7)] = FMA(KP2_000000000, TE, Tt); R1[WS(rs, 2)] = FMA(KP2_000000000, TI, TF);//.........这里部分代码省略.........
开发者ID:8cH9azbsFifZ,项目名称:wspr,代码行数:101,
示例9: hc2cbdft_8static void hc2cbdft_8(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms){ DK(KP707106781, +0.707106781186547524400844362104849039284835938); INT m; for (m = mb, W = W + ((mb - 1) * 14); m < me; m = m + 1, Rp = Rp + ms, Ip = Ip + ms, Rm = Rm - ms, Im = Im - ms, W = W + 14, MAKE_VOLATILE_STRIDE(rs)) { E T7, T1d, T1h, Tl, TG, T14, T19, TO, Te, TL, T18, T15, TB, T1e, Tw; E T1i; { E T3, TC, Tk, TM, T6, Th, TF, TN; { E T1, T2, Ti, Tj; T1 = Rp[0]; T2 = Rm[WS(rs, 3)]; T3 = T1 + T2; TC = T1 - T2; Ti = Ip[0]; Tj = Im[WS(rs, 3)]; Tk = Ti + Tj; TM = Ti - Tj; } { E T4, T5, TD, TE; T4 = Rp[WS(rs, 2)]; T5 = Rm[WS(rs, 1)]; T6 = T4 + T5; Th = T4 - T5; TD = Ip[WS(rs, 2)]; TE = Im[WS(rs, 1)]; TF = TD + TE; TN = TD - TE; } T7 = T3 + T6; T1d = Tk - Th; T1h = TC + TF; Tl = Th + Tk; TG = TC - TF; T14 = T3 - T6; T19 = TM - TN; TO = TM + TN; } { E Ta, Tm, Tp, TJ, Td, Tr, Tu, TK; { E T8, T9, Tn, To; T8 = Rp[WS(rs, 1)]; T9 = Rm[WS(rs, 2)]; Ta = T8 + T9; Tm = T8 - T9; Tn = Ip[WS(rs, 1)]; To = Im[WS(rs, 2)]; Tp = Tn + To; TJ = Tn - To; } { E Tb, Tc, Ts, Tt; Tb = Rm[0]; Tc = Rp[WS(rs, 3)]; Td = Tb + Tc; Tr = Tb - Tc; Ts = Im[0]; Tt = Ip[WS(rs, 3)]; Tu = Ts + Tt; TK = Tt - Ts; } Te = Ta + Td; TL = TJ + TK; T18 = Ta - Td; T15 = TK - TJ; { E Tz, TA, Tq, Tv; Tz = Tm - Tp; TA = Tr - Tu; TB = KP707106781 * (Tz + TA); T1e = KP707106781 * (Tz - TA); Tq = Tm + Tp; Tv = Tr + Tu; Tw = KP707106781 * (Tq - Tv); T1i = KP707106781 * (Tq + Tv); } } { E Tf, TP, TI, TQ; Tf = T7 + Te; TP = TL + TO; { E Tx, TH, Tg, Ty; Tx = Tl + Tw; TH = TB + TG; Tg = W[0]; Ty = W[1]; TI = FMA(Tg, Tx, Ty * TH); TQ = FNMS(Ty, Tx, Tg * TH); } Rp[0] = Tf - TI; Ip[0] = TP + TQ; Rm[0] = Tf + TI; Im[0] = TQ - TP; } { E T1r, T1x, T1w, T1y;//.........这里部分代码省略.........
开发者ID:8cH9azbsFifZ,项目名称:wspr,代码行数:101,
示例10: t2_8static void t2_8(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms){ DK(KP707106781, +0.707106781186547524400844362104849039284835938); { INT m; for (m = mb, W = W + (mb * 6); m < me; m = m + 1, ri = ri + ms, ii = ii + ms, W = W + 6, MAKE_VOLATILE_STRIDE(16, rs)) { E TS, T1m, TJ, T1l, T1k, Tw, T1w, T1u; { E T2, T3, Tl, Tn, T5, T4, Tm, Tr, T6; T2 = W[0]; T3 = W[2]; Tl = W[4]; Tn = W[5]; T5 = W[1]; T4 = T2 * T3; Tm = T2 * Tl; Tr = T2 * Tn; T6 = W[3]; { E T1, T1s, TG, Td, T1r, Tu, TY, Tk, TW, T18, T1d, TD, TH, TA, T13; E TE, T14; { E To, Ts, Tf, T7, T8, Ti, Tb, T9, Tc, TC, Ta, TF, TB, Tg, Th; E Tj; T1 = ri[0]; To = FMA(T5, Tn, Tm); Ts = FNMS(T5, Tl, Tr); Tf = FMA(T5, T6, T4); T7 = FNMS(T5, T6, T4); Ta = T2 * T6; T1s = ii[0]; T8 = ri[WS(rs, 4)]; TF = Tf * Tn; TB = Tf * Tl; Ti = FNMS(T5, T3, Ta); Tb = FMA(T5, T3, Ta); T9 = T7 * T8; Tc = ii[WS(rs, 4)]; TG = FNMS(Ti, Tl, TF); TC = FMA(Ti, Tn, TB); { E Tp, T1q, Tt, Tq, TX; Tp = ri[WS(rs, 6)]; Td = FMA(Tb, Tc, T9); T1q = T7 * Tc; Tt = ii[WS(rs, 6)]; Tq = To * Tp; Tg = ri[WS(rs, 2)]; T1r = FNMS(Tb, T8, T1q); TX = To * Tt; Tu = FMA(Ts, Tt, Tq); Th = Tf * Tg; Tj = ii[WS(rs, 2)]; TY = FNMS(Ts, Tp, TX); } { E TO, TQ, TN, TP, T1a, T1b; { E TK, TM, TL, T19, TV; TK = ri[WS(rs, 7)]; TM = ii[WS(rs, 7)]; Tk = FMA(Ti, Tj, Th); TV = Tf * Tj; TL = Tl * TK; T19 = Tl * TM; TO = ri[WS(rs, 3)]; TW = FNMS(Ti, Tg, TV); TQ = ii[WS(rs, 3)]; TN = FMA(Tn, TM, TL); TP = T3 * TO; T1a = FNMS(Tn, TK, T19); T1b = T3 * TQ; } { E Tx, Tz, Ty, T12, T1c, TR; Tx = ri[WS(rs, 1)]; TR = FMA(T6, TQ, TP); Tz = ii[WS(rs, 1)]; T1c = FNMS(T6, TO, T1b); Ty = T2 * Tx; T18 = TN - TR; TS = TN + TR; T12 = T2 * Tz; T1d = T1a - T1c; T1m = T1a + T1c; TD = ri[WS(rs, 5)]; TH = ii[WS(rs, 5)]; TA = FMA(T5, Tz, Ty); T13 = FNMS(T5, Tx, T12); TE = TC * TD; T14 = TC * TH; } } } { E Te, T1p, T1t, Tv; { E T1g, T10, T1z, T1B, T1A, T1j, T1C, T1f; { E T1x, T11, T16, T1y;//.........这里部分代码省略.........
开发者ID:Aegisub,项目名称:fftw3,代码行数:101,
示例11: t1_8static void t1_8(float *ri, float *ii, const float *W, stride rs, INT mb, INT me, INT ms){ DK(KP707106781, +0.707106781186547524400844362104849039284835938); INT m; for (m = mb, W = W + (mb * 14); m < me; m = m + 1, ri = ri + ms, ii = ii + ms, W = W + 14, MAKE_VOLATILE_STRIDE(rs)) { E T1g, T1f, T1e, Tm, T1q, T1o, T1p, TN, T1h, T1i; { E T1, T1m, T1l, T7, TS, Tk, TQ, Te, To, Tr, T17, TM, T12, Tu, TW; E Tp, Tx, Tt, Tq, Tw; { E T3, T6, T2, T5; T1 = ri[0]; T1m = ii[0]; T3 = ri[WS(rs, 4)]; T6 = ii[WS(rs, 4)]; T2 = W[6]; T5 = W[7]; { E Ta, Td, T9, Tc; { E Tg, Tj, Ti, TR, Th, T1k, T4, Tf; Tg = ri[WS(rs, 6)]; Tj = ii[WS(rs, 6)]; T1k = T2 * T6; T4 = T2 * T3; Tf = W[10]; Ti = W[11]; T1l = FNMS(T5, T3, T1k); T7 = FMA(T5, T6, T4); TR = Tf * Tj; Th = Tf * Tg; Ta = ri[WS(rs, 2)]; Td = ii[WS(rs, 2)]; TS = FNMS(Ti, Tg, TR); Tk = FMA(Ti, Tj, Th); T9 = W[2]; Tc = W[3]; } { E TB, TE, TH, T13, TC, TK, TG, TD, TJ, TP, Tb, TA, Tn; TB = ri[WS(rs, 7)]; TE = ii[WS(rs, 7)]; TP = T9 * Td; Tb = T9 * Ta; TA = W[12]; TH = ri[WS(rs, 3)]; TQ = FNMS(Tc, Ta, TP); Te = FMA(Tc, Td, Tb); T13 = TA * TE; TC = TA * TB; TK = ii[WS(rs, 3)]; TG = W[4]; TD = W[13]; TJ = W[5]; { E T14, TF, T16, TL, T15, TI; To = ri[WS(rs, 1)]; T15 = TG * TK; TI = TG * TH; T14 = FNMS(TD, TB, T13); TF = FMA(TD, TE, TC); T16 = FNMS(TJ, TH, T15); TL = FMA(TJ, TK, TI); Tr = ii[WS(rs, 1)]; Tn = W[0]; T17 = T14 - T16; T1g = T14 + T16; TM = TF + TL; T12 = TF - TL; } Tu = ri[WS(rs, 5)]; TW = Tn * Tr; Tp = Tn * To; Tx = ii[WS(rs, 5)]; Tt = W[8]; Tq = W[1]; Tw = W[9]; } } } { E T8, T1j, T1n, Tz, T1a, TU, Tl, T1b, T1c, T1v, T1t, T1w, T19, T1u, T1d; { E T1r, T10, TV, T1s, T11, T18; { E TO, TX, Ts, TZ, Ty, TT, TY, Tv; T8 = T1 + T7; TO = T1 - T7; TY = Tt * Tx; Tv = Tt * Tu; TX = FNMS(Tq, To, TW); Ts = FMA(Tq, Tr, Tp); TZ = FNMS(Tw, Tu, TY); Ty = FMA(Tw, Tx, Tv); TT = TQ - TS; T1j = TQ + TS; T1n = T1l + T1m; T1r = T1m - T1l; T10 = TX - TZ; T1f = TX + TZ;//.........这里部分代码省略.........
开发者ID:Rudrj2,项目名称:FFTW3_MOD-for-Android,代码行数:101,
示例12: hc2cfdft2_16static void hc2cfdft2_16(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms){ DK(KP923879532, +0.923879532511286756128183189396788286822416626); DK(KP414213562, +0.414213562373095048801688724209698078569671875); DK(KP707106781, +0.707106781186547524400844362104849039284835938); DK(KP500000000, +0.500000000000000000000000000000000000000000000); { INT m; for (m = mb, W = W + ((mb - 1) * 8); m < me; m = m + 1, Rp = Rp + ms, Ip = Ip + ms, Rm = Rm - ms, Im = Im - ms, W = W + 8, MAKE_VOLATILE_STRIDE(64, rs)) { E T4p, T4o, T4n, T4s; { E T1, T2, Tw, Ty, Th, T3, Tx, TE, Ti, TK, Tj, T4, T5; T1 = W[0]; T2 = W[2]; Tw = W[6]; Ty = W[7]; Th = W[4]; T3 = T1 * T2; Tx = T1 * Tw; TE = T1 * Ty; Ti = T1 * Th; TK = T2 * Th; Tj = W[5]; T4 = W[1]; T5 = W[3]; { E T1v, T2q, T1s, T2s, T38, T3T, T1Y, T3P, T17, T1h, T2x, T2v, T33, T3Q, T3S; E T1N, Tv, T3A, T2E, T3B, T3L, T2c, T3I, T2S, TW, T3E, T3J, T2n, T3D, T2J; E T3M, T2X; { E TF, Tk, Tz, TL, T6, TR, Tq, Tc, T2h, T25, T2k, T29, T1G, T1M, T2P; E T2R; { E T18, TY, T1d, T13, T1H, T1A, T1K, T1E, T37, T1R, T35, T1X; { E T1j, T1o, T1W, T1p, T1m, T1Q, T1U, T1q; { E T1k, T1l, T1S, T1T; { E T1t, T28, T24, T1D, T1z, T1u, TQ, Tp, Tb; T1t = Ip[0]; TQ = T2 * Tj; Tp = T1 * Tj; TF = FNMS(T4, Tw, TE); T1j = FMA(T4, Tj, Ti); Tk = FNMS(T4, Tj, Ti); Tz = FMA(T4, Ty, Tx); T18 = FNMS(T5, Tj, TK); TL = FMA(T5, Tj, TK); TY = FNMS(T4, T5, T3); T6 = FMA(T4, T5, T3); Tb = T1 * T5; TR = FNMS(T5, Th, TQ); T1d = FMA(T5, Th, TQ); Tq = FMA(T4, Th, Tp); T1o = FNMS(T4, Th, Tp); T28 = T6 * Tj; T24 = T6 * Th; T1D = TY * Tj; T1z = TY * Th; Tc = FNMS(T4, T2, Tb); T13 = FMA(T4, T2, Tb); T1u = Im[0]; T1k = Ip[WS(rs, 4)]; T2h = FMA(Tc, Tj, T24); T25 = FNMS(Tc, Tj, T24); T2k = FNMS(Tc, Th, T28); T29 = FMA(Tc, Th, T28); T1H = FNMS(T13, Tj, T1z); T1A = FMA(T13, Tj, T1z); T1K = FMA(T13, Th, T1D); T1E = FNMS(T13, Th, T1D); T1W = T1t + T1u; T1v = T1t - T1u; T1l = Im[WS(rs, 4)]; } T1S = Rm[0]; T1T = Rp[0]; T1p = Rp[WS(rs, 4)]; T1m = T1k - T1l; T1Q = T1k + T1l; T2q = T1T + T1S; T1U = T1S - T1T; T1q = Rm[WS(rs, 4)]; } { E T36, T1V, T1O, T1r, T1n, T1P, T34, T2r; T36 = T4 * T1U; T1V = T1 * T1U; T1O = T1q - T1p; T1r = T1p + T1q; T1n = T1j * T1m; T37 = FMA(T1, T1W, T36); T2r = T1j * T1r; T1P = Th * T1O; T34 = Tj * T1O; T1s = FNMS(T1o, T1r, T1n); T2s = FMA(T1o, T1m, T2r); T1R = FNMS(Tj, T1Q, T1P); T35 = FMA(Th, T1Q, T34);//.........这里部分代码省略.........
开发者ID:SKA-ScienceDataProcessor,项目名称:FastImaging,代码行数:101,
示例13: hc2cfdft_4static void hc2cfdft_4(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms){ DK(KP500000000, +0.500000000000000000000000000000000000000000000); { INT m; for (m = mb, W = W + ((mb - 1) * 6); m < me; m = m + 1, Rp = Rp + ms, Ip = Ip + ms, Rm = Rm - ms, Im = Im - ms, W = W + 6, MAKE_VOLATILE_STRIDE(16, rs)) { E Tc, Tr, Tk, Tx, T9, Ts, Tp, Tw; { E Ta, Tb, Tj, Tf, Tg, Th, Te, Ti; Ta = Ip[0]; Tb = Im[0]; Tj = Ta + Tb; Tf = Rm[0]; Tg = Rp[0]; Th = Tf - Tg; Tc = Ta - Tb; Tr = Tg + Tf; Te = W[0]; Ti = W[1]; Tk = FNMS(Ti, Tj, Te * Th); Tx = FMA(Ti, Th, Te * Tj); } { E T4, To, T8, Tm; { E T2, T3, T6, T7; T2 = Ip[WS(rs, 1)]; T3 = Im[WS(rs, 1)]; T4 = T2 - T3; To = T2 + T3; T6 = Rp[WS(rs, 1)]; T7 = Rm[WS(rs, 1)]; T8 = T6 + T7; Tm = T6 - T7; } { E T1, T5, Tl, Tn; T1 = W[2]; T5 = W[3]; T9 = FNMS(T5, T8, T1 * T4); Ts = FMA(T1, T8, T5 * T4); Tl = W[4]; Tn = W[5]; Tp = FMA(Tl, Tm, Tn * To); Tw = FNMS(Tn, Tm, Tl * To); } } { E Td, Tq, Tz, TA; Td = T9 + Tc; Tq = Tk - Tp; Ip[0] = KP500000000 * (Td + Tq); Im[WS(rs, 1)] = KP500000000 * (Tq - Td); Tz = Tr + Ts; TA = Tw + Tx; Rm[WS(rs, 1)] = KP500000000 * (Tz - TA); Rp[0] = KP500000000 * (Tz + TA); } { E Tt, Tu, Tv, Ty; Tt = Tr - Ts; Tu = Tp + Tk; Rm[0] = KP500000000 * (Tt - Tu); Rp[WS(rs, 1)] = KP500000000 * (Tt + Tu); Tv = Tc - T9; Ty = Tw - Tx; Ip[WS(rs, 1)] = KP500000000 * (Tv + Ty); Im[0] = KP500000000 * (Ty - Tv); } } }}
开发者ID:LiZimo,项目名称:interactiveCart,代码行数:72,
示例14: r2hc_11static void r2hc_11(const R *I, R *ro, R *io, stride is, stride ros, stride ios, INT v, INT ivs, INT ovs){ DK(KP959492973, +0.959492973614497389890368057066327699062454848); DK(KP876768831, +0.876768831002589333891339807079336796764054852); DK(KP918985947, +0.918985947228994779780736114132655398124909697); DK(KP989821441, +0.989821441880932732376092037776718787376519372); DK(KP778434453, +0.778434453334651800608337670740821884709317477); DK(KP830830026, +0.830830026003772851058548298459246407048009821); DK(KP715370323, +0.715370323453429719112414662767260662417897278); DK(KP634356270, +0.634356270682424498893150776899916060542806975); DK(KP342584725, +0.342584725681637509502641509861112333758894680); DK(KP521108558, +0.521108558113202722944698153526659300680427422); INT i; for (i = v; i > 0; i = i - 1, I = I + ivs, ro = ro + ovs, io = io + ovs, MAKE_VOLATILE_STRIDE(is), MAKE_VOLATILE_STRIDE(ros), MAKE_VOLATILE_STRIDE(ios)) { E T1, Tg, TF, TB, TI, TL, Tz, TA; { E T4, TC, TE, T7, TD, Ta, TS, TG, TJ, Td, TP, TM, Ty, Tq, Th; E Tt, Tl; T1 = I[0]; { E Tb, Tc, Tx, Tp; { E T2, T3, Te, Tf; T2 = I[WS(is, 1)]; T3 = I[WS(is, 10)]; Te = I[WS(is, 5)]; Tf = I[WS(is, 6)]; { E T5, T6, T8, T9; T5 = I[WS(is, 2)]; T4 = T2 + T3; TC = T3 - T2; Tg = Te + Tf; TE = Tf - Te; T6 = I[WS(is, 9)]; T8 = I[WS(is, 3)]; T9 = I[WS(is, 8)]; Tb = I[WS(is, 4)]; T7 = T5 + T6; TD = T5 - T6; Ta = T8 + T9; TF = T9 - T8; Tc = I[WS(is, 7)]; } } TS = FMA(KP521108558, TC, TD); TG = FMA(KP521108558, TF, TE); TJ = FMA(KP521108558, TE, TC); Td = Tb + Tc; TB = Tb - Tc; Tx = FNMS(KP342584725, Ta, T7); Tp = FNMS(KP342584725, T4, Ta); TP = FNMS(KP521108558, TB, TF); TM = FNMS(KP521108558, TD, TB); Ty = FNMS(KP634356270, Tx, Td); Tq = FNMS(KP634356270, Tp, Tg); Th = FNMS(KP342584725, Tg, Td); Tt = FNMS(KP342584725, Td, T4); Tl = FNMS(KP342584725, T7, Tg); } { E Tu, Ts, TN, Tv; { E Tm, TU, Tj, Ti, TT; TT = FMA(KP715370323, TS, TF); Ti = FNMS(KP634356270, Th, Ta); Tu = FNMS(KP634356270, Tt, T7); Tm = FNMS(KP634356270, Tl, T4); TU = FMA(KP830830026, TT, TB); Tj = FNMS(KP778434453, Ti, T7); { E Tk, TR, To, Tn, TQ, Tr; TQ = FMA(KP715370323, TP, TC); Tn = FNMS(KP778434453, Tm, Ta); io[WS(ios, 5)] = KP989821441 * (FMA(KP918985947, TU, TE)); Tk = FNMS(KP876768831, Tj, T4); TR = FNMS(KP830830026, TQ, TE); To = FNMS(KP876768831, Tn, Td); Tr = FNMS(KP778434453, Tq, Td); ro[WS(ros, 5)] = FNMS(KP959492973, Tk, T1); io[WS(ios, 4)] = KP989821441 * (FNMS(KP918985947, TR, TD)); ro[WS(ros, 4)] = FNMS(KP959492973, To, T1); Ts = FNMS(KP876768831, Tr, T7); } } TN = FNMS(KP715370323, TM, TE); Tv = FNMS(KP778434453, Tu, Tg); ro[0] = T1 + T4 + T7 + Ta + Td + Tg; ro[WS(ros, 3)] = FNMS(KP959492973, Ts, T1); { E TO, Tw, TH, TK; TO = FNMS(KP830830026, TN, TF); Tw = FNMS(KP876768831, Tv, Ta); TH = FMA(KP715370323, TG, TD); TK = FNMS(KP715370323, TJ, TB); io[WS(ios, 3)] = KP989821441 * (FNMS(KP918985947, TO, TC)); ro[WS(ros, 2)] = FNMS(KP959492973, Tw, T1); TI = FNMS(KP830830026, TH, TC); TL = FMA(KP830830026, TK, TD); Tz = FNMS(KP778434453, Ty, T4);//.........这里部分代码省略.........
开发者ID:exic,项目名称:last.fm-dbus,代码行数:101,
示例15: hf_25static void hf_25(R *cr, R *ci, const R *W, stride rs, INT mb, INT me, INT ms){ DK(KP949179823, +0.949179823508441261575555465843363271711583843); DK(KP860541664, +0.860541664367944677098261680920518816412804187); DK(KP621716863, +0.621716863012209892444754556304102309693593202); DK(KP614372930, +0.614372930789563808870829930444362096004872855); DK(KP557913902, +0.557913902031834264187699648465567037992437152); DK(KP249506682, +0.249506682107067890488084201715862638334226305); DK(KP560319534, +0.560319534973832390111614715371676131169633784); DK(KP681693190, +0.681693190061530575150324149145440022633095390); DK(KP906616052, +0.906616052148196230441134447086066874408359177); DK(KP968479752, +0.968479752739016373193524836781420152702090879); DK(KP845997307, +0.845997307939530944175097360758058292389769300); DK(KP998026728, +0.998026728428271561952336806863450553336905220); DK(KP994076283, +0.994076283785401014123185814696322018529298887); DK(KP734762448, +0.734762448793050413546343770063151342619912334); DK(KP772036680, +0.772036680810363904029489473607579825330539880); DK(KP062914667, +0.062914667253649757225485955897349402364686947); DK(KP833417178, +0.833417178328688677408962550243238843138996060); DK(KP921177326, +0.921177326965143320250447435415066029359282231); DK(KP541454447, +0.541454447536312777046285590082819509052033189); DK(KP803003575, +0.803003575438660414833440593570376004635464850); DK(KP943557151, +0.943557151597354104399655195398983005179443399); DK(KP554608978, +0.554608978404018097464974850792216217022558774); DK(KP242145790, +0.242145790282157779872542093866183953459003101); DK(KP559154169, +0.559154169276087864842202529084232643714075927); DK(KP683113946, +0.683113946453479238701949862233725244439656928); DK(KP248028675, +0.248028675328619457762448260696444630363259177); DK(KP968583161, +0.968583161128631119490168375464735813836012403); DK(KP525970792, +0.525970792408939708442463226536226366643874659); DK(KP726211448, +0.726211448929902658173535992263577167607493062); DK(KP904730450, +0.904730450839922351881287709692877908104763647); DK(KP831864738, +0.831864738706457140726048799369896829771167132); DK(KP871714437, +0.871714437527667770979999223229522602943903653); DK(KP549754652, +0.549754652192770074288023275540779861653779767); DK(KP992114701, +0.992114701314477831049793042785778521453036709); DK(KP939062505, +0.939062505817492352556001843133229685779824606); DK(KP256756360, +0.256756360367726783319498520922669048172391148); DK(KP851038619, +0.851038619207379630836264138867114231259902550); DK(KP912575812, +0.912575812670962425556968549836277086778922727); DK(KP912018591, +0.912018591466481957908415381764119056233607330); DK(KP634619297, +0.634619297544148100711287640319130485732531031); DK(KP470564281, +0.470564281212251493087595091036643380879947982); DK(KP827271945, +0.827271945972475634034355757144307982555673741); DK(KP126329378, +0.126329378446108174786050455341811215027378105); DK(KP951056516, +0.951056516295153572116439333379382143405698634); DK(KP559016994, +0.559016994374947424102293417182819058860154590); DK(KP250000000, +0.250000000000000000000000000000000000000000000); DK(KP618033988, +0.618033988749894848204586834365638117720309180); { INT m; for (m = mb, W = W + ((mb - 1) * 48); m < me; m = m + 1, cr = cr + ms, ci = ci - ms, W = W + 48, MAKE_VOLATILE_STRIDE(50, rs)) { E T7i, T6o, T6m, T7o, T7m, T7h, T6n, T6f, T7j, T7n; { E T6W, T5G, T3Y, T3M, T7q, T70, T6V, T7P, Tt, T3L, T5T, T45, T5Q, T4c, T3G; E T2G, T5P, T49, T5S, T42, T65, T4H, T68, T4A, T2Z, T11, T67, T4x, T64, T4E; E T5Y, T4W, T61, T4P, T3d, T1z, T60, T4M, T5X, T4T, T3g, T1G, T3q, T4q, T4j; E T26, T3i, T1M, T3k, T1S; { E T3u, T2e, T3E, T44, T4b, T2E, T3w, T2k, T3y, T2q; { E T1, T6R, T3P, T7, T3W, Tq, T9, Tc, Tb, T3U, Tk, T3Q, Ta; { E T3, T6, T2, T5; T1 = cr[0]; T6R = ci[0]; T3 = cr[WS(rs, 5)]; T6 = ci[WS(rs, 5)]; T2 = W[8]; T5 = W[9]; { E Tm, Tp, To, T3V, Tn, T3O, T4, Tl; Tm = cr[WS(rs, 15)]; Tp = ci[WS(rs, 15)]; T3O = T2 * T6; T4 = T2 * T3; Tl = W[28]; To = W[29]; T3P = FNMS(T5, T3, T3O); T7 = FMA(T5, T6, T4); T3V = Tl * Tp; Tn = Tl * Tm; { E Tg, Tj, Tf, Ti, T3T, Th, T8; Tg = cr[WS(rs, 10)]; Tj = ci[WS(rs, 10)]; T3W = FNMS(To, Tm, T3V); Tq = FMA(To, Tp, Tn); Tf = W[18]; Ti = W[19]; T9 = cr[WS(rs, 20)]; Tc = ci[WS(rs, 20)]; T3T = Tf * Tj; Th = Tf * Tg; T8 = W[38]; Tb = W[39]; T3U = FNMS(Ti, Tg, T3T); Tk = FMA(Ti, Tj, Th); T3Q = T8 * Tc; Ta = T8 * T9;//.........这里部分代码省略.........
开发者ID:LiZimo,项目名称:interactiveCart,代码行数:101,
示例16: hb_5static void hb_5(R *cr, R *ci, const R *W, stride rs, INT mb, INT me, INT ms){ DK(KP250000000, +0.250000000000000000000000000000000000000000000); DK(KP587785252, +0.587785252292473129168705954639072768597652438); DK(KP951056516, +0.951056516295153572116439333379382143405698634); DK(KP559016994, +0.559016994374947424102293417182819058860154590); INT m; for (m = mb, W = W + ((mb - 1) * 8); m < me; m = m + 1, cr = cr + ms, ci = ci - ms, W = W + 8, MAKE_VOLATILE_STRIDE(rs)) { E T1, Tj, TG, Ts, T8, Ti, T9, Tn, TD, Tu, Tg, Tt; { E T4, Tq, T7, Tr; T1 = cr[0]; { E T2, T3, T5, T6; T2 = cr[WS(rs, 1)]; T3 = ci[0]; T4 = T2 + T3; Tq = T2 - T3; T5 = cr[WS(rs, 2)]; T6 = ci[WS(rs, 1)]; T7 = T5 + T6; Tr = T5 - T6; } Tj = KP559016994 * (T4 - T7); TG = FMA(KP951056516, Tq, KP587785252 * Tr); Ts = FNMS(KP951056516, Tr, KP587785252 * Tq); T8 = T4 + T7; Ti = FNMS(KP250000000, T8, T1); } { E Tc, Tl, Tf, Tm; T9 = ci[WS(rs, 4)]; { E Ta, Tb, Td, Te; Ta = ci[WS(rs, 3)]; Tb = cr[WS(rs, 4)]; Tc = Ta - Tb; Tl = Ta + Tb; Td = ci[WS(rs, 2)]; Te = cr[WS(rs, 3)]; Tf = Td - Te; Tm = Td + Te; } Tn = FNMS(KP951056516, Tm, KP587785252 * Tl); TD = FMA(KP951056516, Tl, KP587785252 * Tm); Tu = KP559016994 * (Tc - Tf); Tg = Tc + Tf; Tt = FNMS(KP250000000, Tg, T9); } cr[0] = T1 + T8; ci[0] = T9 + Tg; { E To, Ty, Tw, TA, Tk, Tv; Tk = Ti - Tj; To = Tk - Tn; Ty = Tk + Tn; Tv = Tt - Tu; Tw = Ts + Tv; TA = Tv - Ts; { E Th, Tp, Tx, Tz; Th = W[2]; Tp = W[3]; cr[WS(rs, 2)] = FNMS(Tp, Tw, Th * To); ci[WS(rs, 2)] = FMA(Th, Tw, Tp * To); Tx = W[4]; Tz = W[5]; cr[WS(rs, 3)] = FNMS(Tz, TA, Tx * Ty); ci[WS(rs, 3)] = FMA(Tx, TA, Tz * Ty); } } { E TE, TK, TI, TM, TC, TH; TC = Tj + Ti; TE = TC - TD; TK = TC + TD; TH = Tu + Tt; TI = TG + TH; TM = TH - TG; { E TB, TF, TJ, TL; TB = W[0]; TF = W[1]; cr[WS(rs, 1)] = FNMS(TF, TI, TB * TE); ci[WS(rs, 1)] = FMA(TB, TI, TF * TE); TJ = W[6]; TL = W[7]; cr[WS(rs, 4)] = FNMS(TL, TM, TJ * TK); ci[WS(rs, 4)] = FMA(TJ, TM, TL * TK); } } }}
开发者ID:8cH9azbsFifZ,项目名称:wspr,代码行数:93,
示例17: hc2cb_16static void hc2cb_16(float *Rp, float *Ip, float *Rm, float *Im, const float *W, stride rs, INT mb, INT me, INT ms){ DK(KP382683432, +0.382683432365089771728459984030398866761344562); DK(KP923879532, +0.923879532511286756128183189396788286822416626); DK(KP707106781, +0.707106781186547524400844362104849039284835938); INT m; for (m = mb, W = W + ((mb - 1) * 30); m < me; m = m + 1, Rp = Rp + ms, Ip = Ip + ms, Rm = Rm - ms, Im = Im - ms, W = W + 30, MAKE_VOLATILE_STRIDE(rs)) { E T7, T2K, T2W, Tw, T17, T1S, T2k, T1w, Te, TD, T1x, T10, T2n, T2L, T1Z; E T2X, Tm, T1z, TN, T19, T2e, T2p, T2P, T2Z, Tt, T1A, TW, T1a, T27, T2q; E T2S, T30; { E T3, T1Q, T13, T2j, T6, T2i, T16, T1R; { E T1, T2, T11, T12; T1 = Rp[0]; T2 = Rm[WS(rs, 7)]; T3 = T1 + T2; T1Q = T1 - T2; T11 = Ip[0]; T12 = Im[WS(rs, 7)]; T13 = T11 - T12; T2j = T11 + T12; } { E T4, T5, T14, T15; T4 = Rp[WS(rs, 4)]; T5 = Rm[WS(rs, 3)]; T6 = T4 + T5; T2i = T4 - T5; T14 = Ip[WS(rs, 4)]; T15 = Im[WS(rs, 3)]; T16 = T14 - T15; T1R = T14 + T15; } T7 = T3 + T6; T2K = T1Q + T1R; T2W = T2j - T2i; Tw = T3 - T6; T17 = T13 - T16; T1S = T1Q - T1R; T2k = T2i + T2j; T1w = T13 + T16; } { E Ta, T1T, TC, T1U, Td, T1W, Tz, T1X; { E T8, T9, TA, TB; T8 = Rp[WS(rs, 2)]; T9 = Rm[WS(rs, 5)]; Ta = T8 + T9; T1T = T8 - T9; TA = Ip[WS(rs, 2)]; TB = Im[WS(rs, 5)]; TC = TA - TB; T1U = TA + TB; } { E Tb, Tc, Tx, Ty; Tb = Rm[WS(rs, 1)]; Tc = Rp[WS(rs, 6)]; Td = Tb + Tc; T1W = Tb - Tc; Tx = Ip[WS(rs, 6)]; Ty = Im[WS(rs, 1)]; Tz = Tx - Ty; T1X = Tx + Ty; } Te = Ta + Td; TD = Tz - TC; T1x = TC + Tz; T10 = Ta - Td; { E T2l, T2m, T1V, T1Y; T2l = T1T + T1U; T2m = T1W + T1X; T2n = KP707106781 * (T2l - T2m); T2L = KP707106781 * (T2l + T2m); T1V = T1T - T1U; T1Y = T1W - T1X; T1Z = KP707106781 * (T1V + T1Y); T2X = KP707106781 * (T1V - T1Y); } } { E Ti, T2b, TI, T29, Tl, T28, TL, T2c, TF, TM; { E Tg, Th, TG, TH; Tg = Rp[WS(rs, 1)]; Th = Rm[WS(rs, 6)]; Ti = Tg + Th; T2b = Tg - Th; TG = Ip[WS(rs, 1)]; TH = Im[WS(rs, 6)]; TI = TG - TH; T29 = TG + TH; } { E Tj, Tk, TJ, TK; Tj = Rp[WS(rs, 5)]; Tk = Rm[WS(rs, 2)];//.........这里部分代码省略.........
开发者ID:Rudrj2,项目名称:FFTW3_MOD-for-Android,代码行数:101,
注:本文中的DK函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ DLEAVE_FUNCTION函数代码示例 C++ DI_SetError函数代码示例 |