arcmak.c

来自「适合大型数值计算代码 现在网络上已经找不到了 购买需要20$」· C语言 代码 · 共 35 行

C
35
字号
#define NRANSI#include "nrutil.h"#include <limits.h>#define MC 512#ifdef ULONG_MAX#define MAXINT (ULONG_MAX >> 1)#else#define MAXINT 2147483647#endiftypedef struct {	unsigned long *ilob,*iupb,*ncumfq,jdif,nc,minint,nch,ncum,nrad;} arithcode;void arcmak(unsigned long nfreq[], unsigned long nchh, unsigned long nradd,	arithcode *acode){	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#undef NRANSI

⌨️ 快捷键说明

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