您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ FMA函数代码示例

51自学网 2021-06-01 20:42:34
  C++
这篇教程C++ FMA函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中FMA函数的典型用法代码示例。如果您正苦于以下问题:C++ FMA函数的具体用法?C++ FMA怎么用?C++ FMA使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了FMA函数的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: r2cb_20

static 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,


示例2: t1_10

static void t1_10(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms){     DK(KP951056516, +0.951056516295153572116439333379382143405698634);     DK(KP559016994, +0.559016994374947424102293417182819058860154590);     DK(KP250000000, +0.250000000000000000000000000000000000000000000);     DK(KP618033988, +0.618033988749894848204586834365638117720309180);     INT m;     for (m = mb, W = W + (mb * 18); m < me; m = m + 1, ri = ri + ms, ii = ii + ms, W = W + 18, MAKE_VOLATILE_STRIDE(rs)) {	  E T1X, T21, T20, T22;	  {	       E T23, T1U, T8, T12, T1y, T25, T1P, T1H, T1Y, T18, T10, T2b, T1K, T1O, T15;	       E T1Z, T2a, Tz, T24, T1n;	       {		    E T1, T1T, T3, T6, T2, T5;		    T1 = ri[0];		    T1T = ii[0];		    T3 = ri[WS(rs, 5)];		    T6 = ii[WS(rs, 5)];		    T2 = W[8];		    T5 = W[9];		    {			 E T1w, TY, T1s, T1F, TM, T16, T1u, TS;			 {			      E TF, T1p, TO, TR, T1r, TL, TN, TQ, T1t, TP;			      {				   E TU, TX, TT, TW;				   {					E TB, TE, T1R, T4, TA, TD;					TB = ri[WS(rs, 4)];					TE = ii[WS(rs, 4)];					T1R = T2 * T6;					T4 = T2 * T3;					TA = W[6];					TD = W[7];					{					     E T1S, T7, T1o, TC;					     T1S = FNMS(T5, T3, T1R);					     T7 = FMA(T5, T6, T4);					     T1o = TA * TE;					     TC = TA * TB;					     T23 = T1T - T1S;					     T1U = T1S + T1T;					     T8 = T1 - T7;					     T12 = T1 + T7;					     TF = FMA(TD, TE, TC);					     T1p = FNMS(TD, TB, T1o);					}				   }				   TU = ri[WS(rs, 1)];				   TX = ii[WS(rs, 1)];				   TT = W[0];				   TW = W[1];				   {					E TH, TK, TJ, T1q, TI, T1v, TV, TG;					TH = ri[WS(rs, 9)];					TK = ii[WS(rs, 9)];					T1v = TT * TX;					TV = TT * TU;					TG = W[16];					TJ = W[17];					T1w = FNMS(TW, TU, T1v);					TY = FMA(TW, TX, TV);					T1q = TG * TK;					TI = TG * TH;					TO = ri[WS(rs, 6)];					TR = ii[WS(rs, 6)];					T1r = FNMS(TJ, TH, T1q);					TL = FMA(TJ, TK, TI);					TN = W[10];					TQ = W[11];				   }			      }			      T1s = T1p - T1r;			      T1F = T1p + T1r;			      TM = TF - TL;			      T16 = TF + TL;			      T1t = TN * TR;			      TP = TN * TO;			      T1u = FNMS(TQ, TO, T1t);			      TS = FMA(TQ, TR, TP);			 }			 {			      E T1e, Te, T1l, Tx, Tn, Tq, Tp, T1g, Tk, T1i, To;			      {				   E Tt, Tw, Tv, T1k, Tu;				   {					E Ta, Td, T9, Tc, T1d, Tb, Ts;					Ta = ri[WS(rs, 2)];					Td = ii[WS(rs, 2)];					{					     E T1G, T1x, TZ, T17;					     T1G = T1u + T1w;					     T1x = T1u - T1w;					     TZ = TS - TY;					     T17 = TS + TY;					     T1y = T1s - T1x;					     T25 = T1s + T1x;					     T1P = T1F + T1G;					     T1H = T1F - T1G;					     T1Y = T16 - T17;//.........这里部分代码省略.........
开发者ID:bambang,项目名称:vsipl,代码行数:101,


示例3: FNMS

static const R *hf_4(R *rio, R *iio, const R *W, stride ios, INT m, INT dist){     INT i;     for (i = m - 2; i > 0; i = i - 2, rio = rio + dist, iio = iio - dist, W = W + 6, MAKE_VOLATILE_STRIDE(ios)) {	  E Tq, Tk, Ty, Tw, T8, Tm, To, Te;	  {	       E T1, Tv, Ta, Td, Tu, T7, T9, Tc, Tn, Tb;	       {		    E Tg, Tj, Tf, Ti;		    T1 = rio[0];		    Tg = rio[WS(ios, 3)];		    Tj = iio[0];		    Tf = W[4];		    Ti = W[5];		    Tv = iio[-WS(ios, 3)];		    {			 E T3, T6, T5, Tt, T4, T2, Tp, Th;			 T3 = rio[WS(ios, 2)];			 Tp = Tf * Tj;			 Th = Tf * Tg;			 T6 = iio[-WS(ios, 1)];			 T2 = W[2];			 Tq = FNMS(Ti, Tg, Tp);			 Tk = FMA(Ti, Tj, Th);			 T5 = W[3];			 Tt = T2 * T6;			 T4 = T2 * T3;			 Ta = rio[WS(ios, 1)];			 Td = iio[-WS(ios, 2)];			 Tu = FNMS(T5, T3, Tt);			 T7 = FMA(T5, T6, T4);			 T9 = W[0];			 Tc = W[1];		    }	       }	       Ty = Tv - Tu;	       Tw = Tu + Tv;	       T8 = T1 + T7;	       Tm = T1 - T7;	       Tn = T9 * Td;	       Tb = T9 * Ta;	       To = FNMS(Tc, Ta, Tn);	       Te = FMA(Tc, Td, Tb);	  }	  {	       E Ts, Tr, Tl, Tx;	       Ts = To + Tq;	       Tr = To - Tq;	       Tl = Te + Tk;	       Tx = Tk - Te;	       rio[WS(ios, 1)] = Tm + Tr;	       iio[-WS(ios, 3)] = Tm - Tr;	       iio[0] = Ts + Tw;	       rio[WS(ios, 2)] = Ts - Tw;	       iio[-WS(ios, 1)] = Tx + Ty;	       rio[WS(ios, 3)] = Tx - Ty;	       rio[0] = T8 + Tl;	       iio[-WS(ios, 2)] = T8 - Tl;	  }     }     return W;}
开发者ID:exic,项目名称:last.fm-dbus,代码行数:62,


示例4: hc2cfdft_8

static void hc2cfdft_8(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms){     DK(KP707106781, +0.707106781186547524400844362104849039284835938);     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 T1A, T1w, T1z, T1x, T1H, T1v, T1L, T1F;	       {		    E Ty, T14, TO, T1o, Tv, TG, T16, T1m, Ta, T19, T1h, TV, T10, TX, TZ;		    E Tk, T1i, TY, T1b, TF, TB, T1l;		    {			 E TH, TN, TK, TM;			 {			      E Tw, Tx, TI, TJ;			      Tw = Ip[0];			      Tx = Im[0];			      TI = Rm[0];			      TJ = Rp[0];			      TH = W[0];			      Ty = Tw - Tx;			      TN = Tw + Tx;			      T14 = TJ + TI;			      TK = TI - TJ;			      TM = W[1];			 }			 {			      E Ts, Tp, Tt, Tm, Tr;			      {				   E Tn, To, TL, T1n;				   Tn = Ip[WS(rs, 2)];				   To = Im[WS(rs, 2)];				   TL = TH * TK;				   T1n = TM * TK;				   Ts = Rp[WS(rs, 2)];				   TF = Tn + To;				   Tp = Tn - To;				   TO = FNMS(TM, TN, TL);				   T1o = FMA(TH, TN, T1n);				   Tt = Rm[WS(rs, 2)];			      }			      Tm = W[6];			      Tr = W[7];			      {				   E TE, TD, T15, TC, Tu, Tq;				   TB = W[8];				   TC = Tt - Ts;				   Tu = Ts + Tt;				   Tq = Tm * Tp;				   TE = W[9];				   TD = TB * TC;				   T15 = Tm * Tu;				   Tv = FNMS(Tr, Tu, Tq);				   T1l = TE * TC;				   TG = FNMS(TE, TF, TD);				   T16 = FMA(Tr, Tp, T15);			      }			 }		    }		    {			 E TU, TR, TT, T1g, TS;			 {			      E T2, T3, T7, T8;			      T2 = Ip[WS(rs, 1)];			      T1m = FMA(TB, TF, T1l);			      T3 = Im[WS(rs, 1)];			      T7 = Rp[WS(rs, 1)];			      T8 = Rm[WS(rs, 1)];			      {				   E T1, T4, T9, T6, T5, TQ, T18;				   T1 = W[2];				   TU = T2 + T3;				   T4 = T2 - T3;				   TR = T7 - T8;				   T9 = T7 + T8;				   T6 = W[3];				   T5 = T1 * T4;				   TQ = W[4];				   T18 = T1 * T9;				   TT = W[5];				   Ta = FNMS(T6, T9, T5);				   T1g = TQ * TU;				   TS = TQ * TR;				   T19 = FMA(T6, T4, T18);			      }			 }			 {			      E Tc, Td, Th, Ti;			      Tc = Ip[WS(rs, 3)];			      T1h = FNMS(TT, TR, T1g);			      TV = FMA(TT, TU, TS);			      Td = Im[WS(rs, 3)];			      Th = Rp[WS(rs, 3)];			      Ti = Rm[WS(rs, 3)];			      {				   E Tb, Te, Tj, Tg, Tf, TW, T1a;				   Tb = W[10];				   T10 = Tc + Td;				   Te = Tc - Td;				   TX = Th - Ti;//.........这里部分代码省略.........
开发者ID:SKA-ScienceDataProcessor,项目名称:FastImaging,代码行数:101,


示例5: hb_5

static 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,


示例6: r2hc_11

static 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,


示例7: q1_3

static 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 Tk, Tn, Tm, To, Tl;	  {	       E T1, Td, T4, Tg, Tp, T9, Te, T6, Tf, TB, TE, Ts, TZ, Tu, Tx;	       E TC, TN, TO, TD, TV, T10, TP, Tq, Tr;	       {		    E T2, T3, T7, T8;		    T1 = rio[0];		    T2 = rio[WS(rs, 1)];		    T3 = rio[WS(rs, 2)];		    Td = iio[0];		    T7 = iio[WS(rs, 1)];		    T8 = iio[WS(rs, 2)];		    T4 = T2 + T3;		    Tg = T3 - T2;		    Tp = rio[WS(vs, 1)];		    T9 = T7 - T8;		    Te = T7 + T8;		    T6 = FNMS(KP500000000, T4, T1);		    Tq = rio[WS(vs, 1) + WS(rs, 1)];		    Tr = rio[WS(vs, 1) + WS(rs, 2)];		    Tf = FNMS(KP500000000, Te, Td);	       }	       {		    E Tv, Tw, TT, TU;		    TB = iio[WS(vs, 1)];		    Tv = iio[WS(vs, 1) + WS(rs, 1)];		    TE = Tr - Tq;		    Ts = Tq + Tr;		    Tw = iio[WS(vs, 1) + WS(rs, 2)];		    TZ = iio[WS(vs, 2)];		    TT = iio[WS(vs, 2) + WS(rs, 1)];		    Tu = FNMS(KP500000000, Ts, Tp);		    Tx = Tv - Tw;		    TC = Tv + Tw;		    TU = iio[WS(vs, 2) + WS(rs, 2)];		    TN = rio[WS(vs, 2)];		    TO = rio[WS(vs, 2) + WS(rs, 1)];		    TD = FNMS(KP500000000, TC, TB);		    TV = TT - TU;		    T10 = TT + TU;		    TP = rio[WS(vs, 2) + WS(rs, 2)];	       }	       {		    E T11, T12, TS, TQ;		    rio[0] = T1 + T4;		    iio[0] = Td + Te;		    T11 = FNMS(KP500000000, T10, TZ);		    T12 = TP - TO;		    TQ = TO + TP;		    rio[WS(rs, 1)] = Tp + Ts;		    iio[WS(rs, 1)] = TB + TC;		    iio[WS(rs, 2)] = TZ + T10;		    TS = FNMS(KP500000000, TQ, TN);		    rio[WS(rs, 2)] = TN + TQ;		    {			 E TW, T13, Ty, TI, TL, TF, TH, TK;			 {			      E Ta, Th, T5, Tc;			      Tk = FNMS(KP866025403, T9, T6);			      Ta = FMA(KP866025403, T9, T6);			      Th = FMA(KP866025403, Tg, Tf);			      Tn = FNMS(KP866025403, Tg, Tf);			      T5 = W[0];			      Tc = W[1];			      {				   E T16, T19, T18, T1a, T17, Ti, Tb, T15;				   TW = FMA(KP866025403, TV, TS);				   T16 = FNMS(KP866025403, TV, TS);				   T19 = FNMS(KP866025403, T12, T11);				   T13 = FMA(KP866025403, T12, T11);				   Ti = T5 * Th;				   Tb = T5 * Ta;				   T15 = W[2];				   T18 = W[3];				   iio[WS(vs, 1)] = FNMS(Tc, Ta, Ti);				   rio[WS(vs, 1)] = FMA(Tc, Th, Tb);				   T1a = T15 * T19;				   T17 = T15 * T16;				   Ty = FMA(KP866025403, Tx, Tu);				   TI = FNMS(KP866025403, Tx, Tu);				   TL = FNMS(KP866025403, TE, TD);				   TF = FMA(KP866025403, TE, TD);				   iio[WS(vs, 2) + WS(rs, 2)] = FNMS(T18, T16, T1a);				   rio[WS(vs, 2) + WS(rs, 2)] = FMA(T18, T19, T17);				   TH = W[2];				   TK = W[3];			      }			 }			 {			      E TA, TG, Tz, TM, TJ, Tt;			      TM = TH * TL;			      TJ = TH * TI;			      Tt = W[0];			      TA = W[1];//.........这里部分代码省略.........
开发者ID:Rudrj2,项目名称:FFTW3_MOD-for-Android,代码行数:101,


示例8: hf_25

static 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,


示例9: hc2cfdft_4

static 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,


示例10: hc2cfdft2_16

static void hc2cfdft2_16(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms){     DK(KP461939766, +0.461939766255643378064091594698394143411208313);     DK(KP191341716, +0.191341716182544885864229992015199433380672281);     DK(KP353553390, +0.353553390593273762200422181052424519642417969);     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 T1, T4, T2, T5, T7, Td, T12, TY, Tk, Ti, Tm, T1l, T1b, TL, T1h;	       E Ts, TR, T17, Ty, Tz, TA, TE, T1L, T1Q, T1H, T1O, T24, T2d, T20, T2b;	       {		    E Tl, TP, Tq, TK, Tj, TQ, Tr, TJ;		    {			 E T3, Tc, T6, Tb;			 T1 = W[0];			 T4 = W[1];			 T2 = W[2];			 T5 = W[3];			 T3 = T1 * T2;			 Tc = T4 * T2;			 T6 = T4 * T5;			 Tb = T1 * T5;			 T7 = T3 + T6;			 Td = Tb - Tc;			 T12 = Tb + Tc;			 TY = T3 - T6;			 Tk = W[5];			 Tl = T4 * Tk;			 TP = T2 * Tk;			 Tq = T1 * Tk;			 TK = T5 * Tk;			 Ti = W[4];			 Tj = T1 * Ti;			 TQ = T5 * Ti;			 Tr = T4 * Ti;			 TJ = T2 * Ti;		    }		    Tm = Tj - Tl;		    T1l = Tq - Tr;		    T1b = TP + TQ;		    TL = TJ + TK;		    T1h = Tj + Tl;		    Ts = Tq + Tr;		    TR = TP - TQ;		    T17 = TJ - TK;		    Ty = W[6];		    Tz = W[7];		    TA = FMA(T1, Ty, T4 * Tz);		    TE = FNMS(T4, Ty, T1 * Tz);		    {			 E T1J, T1K, T1F, T1G;			 T1J = TY * Tk;			 T1K = T12 * Ti;			 T1L = T1J - T1K;			 T1Q = T1J + T1K;			 T1F = TY * Ti;			 T1G = T12 * Tk;			 T1H = T1F + T1G;			 T1O = T1F - T1G;		    }		    {			 E T22, T23, T1Y, T1Z;			 T22 = T7 * Tk;			 T23 = Td * Ti;			 T24 = T22 + T23;			 T2d = T22 - T23;			 T1Y = T7 * Ti;			 T1Z = Td * Tk;			 T20 = T1Y - T1Z;			 T2b = T1Y + T1Z;		    }	       }	       {		    E T1t, T3i, T2l, T3B, T1E, T3t, T2M, T3x, T1g, T3C, T2J, T3u, T1T, T3w, T2o;		    E T3j, Tx, T3b, T2C, T3q, T27, T3m, T2s, T3c, TW, T3f, T2F, T3n, T2g, T3p;		    E T2v, T3e;		    {			 E T1k, T1C, T1o, T1B, T1s, T1z, T1y, T2j, T1p, T2k;			 {			      E T1i, T1j, T1m, T1n;			      T1i = Ip[WS(rs, 4)];			      T1j = Im[WS(rs, 4)];			      T1k = T1i - T1j;			      T1C = T1i + T1j;			      T1m = Rp[WS(rs, 4)];			      T1n = Rm[WS(rs, 4)];			      T1o = T1m + T1n;			      T1B = T1m - T1n;			 }			 {			      E T1q, T1r, T1w, T1x;			      T1q = Ip[0];			      T1r = Im[0];			      T1s = T1q - T1r;			      T1z = T1q + T1r;			      T1w = Rm[0];			      T1x = Rp[0];			      T1y = T1w - T1x;			      T2j = T1x + T1w;//.........这里部分代码省略.........
开发者ID:SKA-ScienceDataProcessor,项目名称:FastImaging,代码行数:101,


示例11: hb2_16

static 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,


示例12: t1_8

static 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 T7, T1e, TH, T19, TF, T13, TR, TU, Ti, T1f, TK, T16, Tu, T12, TM;	  E TP;	  {	       E T1, T18, T6, T17;	       T1 = ri[0];	       T18 = ii[0];	       {		    E T3, T5, T2, T4;		    T3 = ri[WS(rs, 4)];		    T5 = ii[WS(rs, 4)];		    T2 = W[6];		    T4 = W[7];		    T6 = FMA(T2, T3, T4 * T5);		    T17 = FNMS(T4, T3, T2 * T5);	       }	       T7 = T1 + T6;	       T1e = T18 - T17;	       TH = T1 - T6;	       T19 = T17 + T18;	  }	  {	       E Tz, TS, TE, TT;	       {		    E Tw, Ty, Tv, Tx;		    Tw = ri[WS(rs, 7)];		    Ty = ii[WS(rs, 7)];		    Tv = W[12];		    Tx = W[13];		    Tz = FMA(Tv, Tw, Tx * Ty);		    TS = FNMS(Tx, Tw, Tv * Ty);	       }	       {		    E TB, TD, TA, TC;		    TB = ri[WS(rs, 3)];		    TD = ii[WS(rs, 3)];		    TA = W[4];		    TC = W[5];		    TE = FMA(TA, TB, TC * TD);		    TT = FNMS(TC, TB, TA * TD);	       }	       TF = Tz + TE;	       T13 = TS + TT;	       TR = Tz - TE;	       TU = TS - TT;	  }	  {	       E Tc, TI, Th, TJ;	       {		    E T9, Tb, T8, Ta;		    T9 = ri[WS(rs, 2)];		    Tb = ii[WS(rs, 2)];		    T8 = W[2];		    Ta = W[3];		    Tc = FMA(T8, T9, Ta * Tb);		    TI = FNMS(Ta, T9, T8 * Tb);	       }	       {		    E Te, Tg, Td, Tf;		    Te = ri[WS(rs, 6)];		    Tg = ii[WS(rs, 6)];		    Td = W[10];		    Tf = W[11];		    Th = FMA(Td, Te, Tf * Tg);		    TJ = FNMS(Tf, Te, Td * Tg);	       }	       Ti = Tc + Th;	       T1f = Tc - Th;	       TK = TI - TJ;	       T16 = TI + TJ;	  }	  {	       E To, TN, Tt, TO;	       {		    E Tl, Tn, Tk, Tm;		    Tl = ri[WS(rs, 1)];		    Tn = ii[WS(rs, 1)];		    Tk = W[0];		    Tm = W[1];		    To = FMA(Tk, Tl, Tm * Tn);		    TN = FNMS(Tm, Tl, Tk * Tn);	       }	       {		    E Tq, Ts, Tp, Tr;		    Tq = ri[WS(rs, 5)];		    Ts = ii[WS(rs, 5)];		    Tp = W[8];		    Tr = W[9];		    Tt = FMA(Tp, Tq, Tr * Ts);		    TO = FNMS(Tr, Tq, Tp * Ts);	       }	       Tu = To + Tt;	       T12 = TN + TO;	       TM = To - Tt;	       TP = TN - TO;	  }//.........这里部分代码省略.........
开发者ID:Rudrj2,项目名称:FFTW3_MOD-for-Android,代码行数:101,


示例13: hc2r_15

static void hc2r_15(const R *ri, const R *ii, R *O, stride ris, stride iis, stride os, INT v, INT ivs, INT ovs){     DK(KP1_118033988, +1.118033988749894848204586834365638117720309180);     DK(KP1_902113032, +1.902113032590307144232878666758764286811397268);     DK(KP1_175570504, +1.175570504584946258337411909278145537195304875);     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, MAKE_VOLATILE_STRIDE(ris), MAKE_VOLATILE_STRIDE(iis), MAKE_VOLATILE_STRIDE(os)) {	  E T3, Tu, Ti, TB, TZ, T10, TE, TG, TJ, Tn, Tv, Ts, Tw, T8, Td;	  E Te;	  {	       E Th, T1, T2, Tf, Tg;	       Tg = ii[WS(iis, 5)];	       Th = KP1_732050807 * Tg;	       T1 = ri[0];	       T2 = ri[WS(ris, 5)];	       Tf = T1 - T2;	       T3 = FMA(KP2_000000000, T2, T1);	       Tu = Tf - Th;	       Ti = Tf + Th;	  }	  {	       E T4, TD, T9, TI, T5, T6, T7, Ta, Tb, Tc, Tr, TH, Tm, TC, Tj;	       E To;	       T4 = ri[WS(ris, 3)];	       TD = ii[WS(iis, 3)];	       T9 = ri[WS(ris, 6)];	       TI = ii[WS(iis, 6)];	       T5 = ri[WS(ris, 7)];	       T6 = ri[WS(ris, 2)];	       T7 = T5 + T6;	       Ta = ri[WS(ris, 4)];	       Tb = ri[WS(ris, 1)];	       Tc = Ta + Tb;	       {		    E Tp, Tq, Tk, Tl;		    Tp = ii[WS(iis, 4)];		    Tq = ii[WS(iis, 1)];		    Tr = KP866025403 * (Tp + Tq);		    TH = Tp - Tq;		    Tk = ii[WS(iis, 7)];		    Tl = ii[WS(iis, 2)];		    Tm = KP866025403 * (Tk - Tl);		    TC = Tk + Tl;	       }	       TB = KP866025403 * (T5 - T6);	       TZ = TD - TC;	       T10 = TI - TH;	       TE = FMA(KP500000000, TC, TD);	       TG = KP866025403 * (Ta - Tb);	       TJ = FMA(KP500000000, TH, TI);	       Tj = FNMS(KP500000000, T7, T4);	       Tn = Tj - Tm;	       Tv = Tj + Tm;	       To = FNMS(KP500000000, Tc, T9);	       Ts = To - Tr;	       Tw = To + Tr;	       T8 = T4 + T7;	       Td = T9 + Tc;	       Te = T8 + Td;	  }	  O[0] = FMA(KP2_000000000, Te, T3);	  {	       E T11, T13, TY, T12, TW, TX;	       T11 = FNMS(KP1_902113032, T10, KP1_175570504 * TZ);	       T13 = FMA(KP1_902113032, TZ, KP1_175570504 * T10);	       TW = FNMS(KP500000000, Te, T3);	       TX = KP1_118033988 * (T8 - Td);	       TY = TW - TX;	       T12 = TX + TW;	       O[WS(os, 12)] = TY - T11;	       O[WS(os, 9)] = T12 + T13;	       O[WS(os, 3)] = TY + T11;	       O[WS(os, 6)] = T12 - T13;	  }	  {	       E TP, Tt, TO, TT, TV, TR, TS, TU, TQ;	       TP = KP1_118033988 * (Tn - Ts);	       Tt = Tn + Ts;	       TO = FNMS(KP500000000, Tt, Ti);	       TR = TE - TB;	       TS = TJ - TG;	       TT = FNMS(KP1_902113032, TS, KP1_175570504 * TR);	       TV = FMA(KP1_902113032, TR, KP1_175570504 * TS);	       O[WS(os, 5)] = FMA(KP2_000000000, Tt, Ti);	       TU = TP + TO;	       O[WS(os, 11)] = TU - TV;	       O[WS(os, 14)] = TU + TV;	       TQ = TO - TP;	       O[WS(os, 2)] = TQ - TT;	       O[WS(os, 8)] = TQ + TT;	  }	  {	       E Tz, Tx, Ty, TL, TN, TF, TK, TM, TA;	       Tz = KP1_118033988 * (Tv - Tw);	       Tx = Tv + Tw;	       Ty = FNMS(KP500000000, Tx, Tu);//.........这里部分代码省略.........
开发者ID:exic,项目名称:last.fm-dbus,代码行数:101,


示例14: hc2r_9

static 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,


示例15: r2cbIII_32

//.........这里部分代码省略.........				   TS = Ci[WS(csi, 2)];				   TT = Ci[WS(csi, 13)];				   Tj = Cr[WS(csr, 10)];				   Tk = Cr[WS(csr, 5)];				   TN = Ci[WS(csi, 10)];				   T25 = TS - TT;				   TU = TS + TT;				   TR = Tj - Tk;				   Tl = Tj + Tk;				   TO = Ci[WS(csi, 5)];			      }			      {				   E T12, T13, Tq, Tr;				   {					E Tn, T1A, TV, T24, T26, TP, To, T27, T1B, TQ;					Tn = Cr[WS(csr, 1)];					T1A = TR - TU;					TV = TR + TU;					T24 = Ti - Tl;					Tm = Ti + Tl;					T26 = TN - TO;					TP = TN + TO;					To = Cr[WS(csr, 14)];					T12 = Ci[WS(csi, 1)];					T27 = T25 - T26;					T2B = T26 + T25;					T1B = TM + TP;					TQ = TM - TP;					TX = Tn - To;					Tp = Tn + To;					T2m = T24 + T27;					T28 = T24 - T27;					T1M = FNMS(KP414213562, T1A, T1B);					T1C = FMA(KP414213562, T1B, T1A);					T1k = FMA(KP414213562, TQ, TV);					TW = FNMS(KP414213562, TV, TQ);					T13 = Ci[WS(csi, 14)];				   }				   Tq = Cr[WS(csr, 6)];				   Tr = Cr[WS(csr, 9)];				   TY = Ci[WS(csi, 6)];				   T2a = T13 - T12;				   T14 = T12 + T13;				   T15 = Tq - Tr;				   Ts = Tq + Tr;				   TZ = Ci[WS(csi, 9)];			      }			 }		    }		    {			 E T1L, T1F, T23, T2n, T2k, T2e, T1p, T1t, T1s, T1i, T1o, T19, T1l, T1q;			 {			      E T2z, T2G, T2H, T2C, T1j, T17, T2r, T2s, T2u, T2v, T2K, T2D;			      {				   E T2L, T2d, T2l, T2O;				   {					E Tf, T2N, Tu, T2M;					{					     E T1D, T16, T29, Tt, T2b, T10;					     T2z = T7 - Te;					     Tf = T7 + Te;					     T1D = T15 + T14;					     T16 = T14 - T15;					     T29 = Tp - Ts;					     Tt = Tp + Ts;					     T2b = TY - TZ;
开发者ID:SKA-ScienceDataProcessor,项目名称:FastImaging,代码行数:67,


示例16: hb_12

static void hb_12(R *cr, R *ci, const R *W, stride rs, INT mb, INT me, INT ms){     DK(KP500000000, +0.500000000000000000000000000000000000000000000);     DK(KP866025403, +0.866025403784438646763723170752936183471402627);     {	  INT m;	  for (m = mb, W = W + ((mb - 1) * 22); m < me; m = m + 1, cr = cr + ms, ci = ci - ms, W = W + 22, MAKE_VOLATILE_STRIDE(24, rs)) {	       E T5, TH, T12, T1M, T1i, T1U, Tg, Tt, T19, T1X, T1p, T1P, Ta, TM, T15;	       E T1N, T1l, T1V, Tl, Ty, T1c, T1Y, T1s, T1Q;	       {		    E T1, TD, T4, T1g, TG, T11, T10, T1h;		    T1 = cr[0];		    TD = ci[WS(rs, 11)];		    {			 E T2, T3, TE, TF;			 T2 = cr[WS(rs, 4)];			 T3 = ci[WS(rs, 3)];			 T4 = T2 + T3;			 T1g = KP866025403 * (T2 - T3);			 TE = ci[WS(rs, 7)];			 TF = cr[WS(rs, 8)];			 TG = TE - TF;			 T11 = KP866025403 * (TE + TF);		    }		    T5 = T1 + T4;		    TH = TD + TG;		    T10 = FNMS(KP500000000, T4, T1);		    T12 = T10 - T11;		    T1M = T10 + T11;		    T1h = FNMS(KP500000000, TG, TD);		    T1i = T1g + T1h;		    T1U = T1h - T1g;	       }	       {		    E Tc, Tp, Tf, T17, Ts, T1o, T18, T1n;		    Tc = cr[WS(rs, 3)];		    Tp = ci[WS(rs, 8)];		    {			 E Td, Te, Tq, Tr;			 Td = ci[WS(rs, 4)];			 Te = ci[0];			 Tf = Td + Te;			 T17 = KP866025403 * (Td - Te);			 Tq = cr[WS(rs, 7)];			 Tr = cr[WS(rs, 11)];			 Ts = Tq + Tr;			 T1o = KP866025403 * (Tq - Tr);		    }		    Tg = Tc + Tf;		    Tt = Tp - Ts;		    T18 = FMA(KP500000000, Ts, Tp);		    T19 = T17 + T18;		    T1X = T18 - T17;		    T1n = FNMS(KP500000000, Tf, Tc);		    T1p = T1n + T1o;		    T1P = T1n - T1o;	       }	       {		    E T6, TL, T9, T1j, TK, T14, T13, T1k;		    T6 = ci[WS(rs, 5)];		    TL = cr[WS(rs, 6)];		    {			 E T7, T8, TI, TJ;			 T7 = ci[WS(rs, 1)];			 T8 = cr[WS(rs, 2)];			 T9 = T7 + T8;			 T1j = KP866025403 * (T7 - T8);			 TI = ci[WS(rs, 9)];			 TJ = cr[WS(rs, 10)];			 TK = TI - TJ;			 T14 = KP866025403 * (TI + TJ);		    }		    Ta = T6 + T9;		    TM = TK - TL;		    T13 = FNMS(KP500000000, T9, T6);		    T15 = T13 + T14;		    T1N = T13 - T14;		    T1k = FMA(KP500000000, TK, TL);		    T1l = T1j - T1k;		    T1V = T1j + T1k;	       }	       {		    E Th, Tx, Tk, T1a, Tw, T1r, T1b, T1q;		    Th = ci[WS(rs, 2)];		    Tx = cr[WS(rs, 9)];		    {			 E Ti, Tj, Tu, Tv;			 Ti = cr[WS(rs, 1)];			 Tj = cr[WS(rs, 5)];			 Tk = Ti + Tj;			 T1a = KP866025403 * (Ti - Tj);			 Tu = ci[WS(rs, 10)];			 Tv = ci[WS(rs, 6)];			 Tw = Tu + Tv;			 T1r = KP866025403 * (Tv - Tu);		    }		    Tl = Th + Tk;		    Ty = Tw - Tx;		    T1b = FMA(KP500000000, Tw, Tx);		    T1c = T1a - T1b;//.........这里部分代码省略.........
开发者ID:Aegisub,项目名称:fftw3,代码行数:101,


示例17: hc2cbdft_8

static 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 T1m, T1r, T1i, T1u, T1o, T1v, T1n, T1w, T1s;	  {	       E T1k, Tl, T1p, TE, TP, T1g, TM, T1b, T1f, T1a, TU, Tf, T1l, TH, Tw;	       E T1q;	       {		    E TA, T3, TN, Tk, Th, T6, TO, TD, Tb, Tm, Ta, TK, Tp, Tc, Ts;		    E Tt;		    {			 E T4, T5, TB, TC;			 {			      E T1, T2, Ti, Tj;			      T1 = Rp[0];			      T2 = Rm[WS(rs, 3)];			      Ti = Ip[0];			      Tj = Im[WS(rs, 3)];			      T4 = Rp[WS(rs, 2)];			      TA = T1 - T2;			      T3 = T1 + T2;			      TN = Ti - Tj;			      Tk = Ti + Tj;			      T5 = Rm[WS(rs, 1)];			      TB = Ip[WS(rs, 2)];			      TC = Im[WS(rs, 1)];			 }			 {			      E T8, T9, Tn, To;			      T8 = Rp[WS(rs, 1)];			      Th = T4 - T5;			      T6 = T4 + T5;			      TO = TB - TC;			      TD = TB + TC;			      T9 = Rm[WS(rs, 2)];			      Tn = Ip[WS(rs, 1)];			      To = Im[WS(rs, 2)];			      Tb = Rm[0];			      Tm = T8 - T9;			      Ta = T8 + T9;			      TK = Tn - To;			      Tp = Tn + To;			      Tc = Rp[WS(rs, 3)];			      Ts = Im[0];			      Tt = Ip[WS(rs, 3)];			 }		    }		    {			 E Tr, Td, Tu, TL, Te, T7;			 T1k = Tk - Th;			 Tl = Th + Tk;			 Tr = Tb - Tc;			 Td = Tb + Tc;			 TL = Tt - Ts;			 Tu = Ts + Tt;			 T1p = TA + TD;			 TE = TA - TD;			 TP = TN + TO;			 T1g = TN - TO;			 TM = TK + TL;			 T1b = TL - TK;			 T1f = Ta - Td;			 Te = Ta + Td;			 T1a = T3 - T6;			 T7 = T3 + T6;			 {			      E Tq, TF, TG, Tv;			      Tq = Tm + Tp;			      TF = Tm - Tp;			      TG = Tr - Tu;			      Tv = Tr + Tu;			      TU = T7 - Te;			      Tf = T7 + Te;			      T1l = TF - TG;			      TH = TF + TG;			      Tw = Tq - Tv;			      T1q = Tq + Tv;			 }		    }	       }	       {		    E TX, T10, T1c, T13, T1h, T1E, T1H, T1C, T1K, T1G, T1L, T1F;		    {			 E TQ, Tx, T1y, TI, Tg, Tz;			 TX = TP - TM;			 TQ = TM + TP;			 Tx = FMA(KP707106781, Tw, Tl);			 T10 = FNMS(KP707106781, Tw, Tl);			 T1c = T1a + T1b;			 T1y = T1a - T1b;			 T13 = FNMS(KP707106781, TH, TE);			 TI = FMA(KP707106781, TH, TE);			 Tg = W[0];			 Tz = W[1];			 {			      E T1B, T1A, T1x, T1J, T1z, T1D;			      {				   E TR, Ty, TS, TJ;//.........这里部分代码省略.........
开发者ID:8cH9azbsFifZ,项目名称:wspr,代码行数:101,



注:本文中的FMA函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ FMF_SetCell函数代码示例
C++ FLinearColor函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。