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

📄 nttskip.cc

📁 the FXT library: fast transforms and low level algorithms. The package contains many algorithms for
💻 CC
字号:
#include "fxttypes.h"#include "ntt.h"#include "bit2pow.h" // ld()#define MOD_FFT(f, n, is)   ntt_dit4(f, ld(n), is)#define MOD_FFT0(f, n, is)  ntt_dit4(f, ld(n), is)voidskip_ntt(mod *f, ulong n, ulong d, mod *w, int is)//// compute ntt of the n elements// [0], [d], [2d], [3d], ..., [(n-1)*d]//{    ulong k, j;    for (k=0, j=0;  k<n*d;  k+=d, j++)  // fill workspace    {        w[j] = f[k];    }    MOD_FFT(w, n, is);             // do MOD_FFT    for (k=0, j=0;  k<n*d;  k+=d, j++)  // write back    {        f[k] = w[j];    }}// -------------------------voidskip_ntt0(mod *f, ulong n, ulong d, mod *w, int is)//// compute ntt of the n elements// [0], [d], [2d], [3d], ..., [(n-1)*d]//{    ulong k, j;    for (k=0, j=0;  k<(n*d)/2;  k+=d, j++)  // fill workspace    {        w[j] = f[k];    }    for ( ; k<n*d; j++)  // fill in zeros    {        w[j] = mod::zero;    }    MOD_FFT0(w, n, is);             // do MOD_FFT    for (k=0, j=0;  k<n*d;  k+=d, j++)  // write back    {        f[k] = w[j];    }}// -------------------------

⌨️ 快捷键说明

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