num2mixedradix.h
来自「the FXT library: fast transforms and low」· C头文件 代码 · 共 40 行
H
40 行
#if !defined HAVE_NUM2MIXEDRADIX_H__#define HAVE_NUM2MIXEDRADIX_H__#include "fxttypes.h"#include "restrict.h"inline void num2mixedradix(ulong n, const ulong *r, ulong k, ulong * restrict d)// Compute digits d[0,1,...,k-1] so that// n == d[0]+r[0]*(d[1]+r[1]*(d[2]+...)))// That is, set d[] to the mixed radix representation of n// with k digits r[0,1,...,k-1].{ for (ulong j=0; j<k; ++j) { ulong d[j] = n % r[j]; n /= r[j]; }}// -------------------------inline ulong mixedradix2num(const ulong *r, ulong k, const ulong *d)// Return n := d[0]+r[0]*(d[1]+r[1]*(d[2]+...)))// Inverse of num2mixedradix(){ ulong n=0, p=1; for (ulong j=0; j<k; ++j) { n += p*d[j]; p *= r[j]; } return n;}// -------------------------#endif // !defined HAVE_NUM2MIXEDRADIX_H__
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?