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

📄 arcmak.c

📁 Numerical Recipes in C的源代码
💻 C
字号:
#include "nrutil.h"
#define MC 512
#ifdef ULONG_MAX
#define MAXINT (ULONG_MAX >> 1)
#else
#define MAXINT 2147483647
#endif

typedef struct {
	unsigned long *ilob,*iupb,*ncumfq,jdif,nc,minint,nch,ncum,nrad;
} arithcode;

void arcmak(nfreq,nchh,nradd,acode)
arithcode *acode;
unsigned long nchh,nfreq[],nradd;
{
	unsigned long j;

	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=MAXINT/nradd;
	acode->nch=nchh;
	acode->nrad=nradd;
	acode->ncumfq[1]=0;
	for (j=2;j<=acode->nch+1;j++)
		acode->ncumfq[j]=acode->ncumfq[j-1]+IMAX(nfreq[j-1],1);
	acode->ncum=acode->ncumfq[acode->nch+2]=acode->ncumfq[acode->nch+1]+1;
}
#undef MC
#undef MAXINT

⌨️ 快捷键说明

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