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

📄 arcmak.cpp

📁 C++数值算法原书代码
💻 CPP
字号:
#include <limits>
#include "nr.h"
using namespace std;

void NR::arcmak(Vec_I_ULNG &nfreq, unsigned long nchh, unsigned long nradd,
	arithcode &acode)
{
	const unsigned long MAXULNG=numeric_limits<unsigned long>::max();
	unsigned long j;

	unsigned long MC=acode.ncumfq.size()-2;
	if (nchh > MC) nrerror("input radix may not exceed MC in arcmak.");
	if (nradd > 256) nrerror("output radix may not exceed 256 in arcmak.");

	acode.minint=MAXULNG/nradd;
	acode.nch=nchh;
	acode.nrad=nradd;
	acode.ncumfq[0]=0;
	for (j=1;j<=acode.nch;j++)
		acode.ncumfq[j]=acode.ncumfq[j-1]+MAX(nfreq[j-1],(unsigned long) 1);
	acode.ncum=acode.ncumfq[acode.nch+1]=acode.ncumfq[acode.nch]+1;
}

⌨️ 快捷键说明

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