ksone.c

来自「Numerical Recipes 是国际公认的高水平的、关于数值计算的书」· C语言 代码 · 共 31 行

C
31
字号
#include <math.h>

static float maxarg1,maxarg2;
#define MAX(a,b) (maxarg1=(a),maxarg2=(b),(maxarg1) > (maxarg2) ?\
	(maxarg1) : (maxarg2))

void ksone(data,n,func,d,prob)
float data[],*d,*prob;
float (*func)();	/* ANSI: float (*func)(float); */
int n;
{
	int j;
	float fo=0.0,fn,ff,en,dt;
	void sort();
	float probks();

	sort(n,data);
	en=n;
	*d=0.0;
	for (j=1;j<=n;j++) {
		fn=j/en;
		ff=(*func)(data[j]);
		dt = MAX(fabs(fo-ff),fabs(fn-ff));
		if (dt > *d) *d=dt;
		fo=fn;
	}
	*prob=probks(sqrt(en)*(*d));
}

#undef MAX

⌨️ 快捷键说明

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