⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 slowwalsh.cc

📁 the FXT library: fast transforms and low level algorithms. The package contains many algorithms for
💻 CC
字号:
#include "fxttypes.h"voiddit2_walsh_wak_slow(double *f, ulong ldn)  // nonlocal ==> SLOW!//// transform wrt. to walsh-kronecker basis (wak-functions)// same result as dit2_walsh_wak() but the loops//  with loop variables j and r are swapped (as in ffts)// ==> nonlocal ==> SLOW!//{    ulong n = (1<<(ulong)ldn);    for (ulong ldm=1; ldm<=ldn; ++ldm)    {        const ulong m = (1<<ldm);        const ulong mh = (m>>1);        for (ulong j=0; j<mh; ++j)        {            for (ulong r=0; r<n; r+=m)            {                const ulong t1 = r+j;                const ulong t2 = t1+mh;                double v = f[t2];                double u = f[t1];                f[t1] = u+v;                f[t2] = u-v;            }        }    }}// -------------------------voiddif2_walsh_wak_slow(double *f, ulong ldn)//// transform wrt. to walsh-kronecker basis (wak-functions)// same result as dif2_walsh_wak() but the loops//  with loop variables j and r are swapped (as in ffts)// ==> nonlocal ==> SLOW!//{    const ulong n = (1<<ldn);    for (ulong ldm=ldn; ldm>=1; --ldm)    {        const ulong m = (1<<ldm);        const ulong mh = (m>>1);        for (ulong j=0; j<mh; ++j)        {            for (ulong r=0; r<n; r+=m)            {                const ulong t1 = r+j;                const ulong t2 = t1+mh;                double u = f[t1];                double v = f[t2];                f[t1] = u+v;                f[t2] = u-v;            }        }    }}// -------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -