Files
2025-09-12 18:55:25 +09:00

29 lines
629 B
C

#include <math.h>
#include "nrutil.h"
void ks2d1s(x1,y1,n1,quadvl,d1,prob)
float *d1,*prob,x1[],y1[];
unsigned long n1;
void (*quadvl)();
{
float probks();
void pearsn(),quadct();
unsigned long j;
float dum,dumm,fa,fb,fc,fd,ga,gb,gc,gd,r1,rr,sqen;
*d1=0.0;
for (j=1;j<=n1;j++) {
quadct(x1[j],y1[j],x1,y1,n1,&fa,&fb,&fc,&fd);
(*quadvl)(x1[j],y1[j],&ga,&gb,&gc,&gd);
*d1=FMAX(*d1,fabs(fa-ga));
*d1=FMAX(*d1,fabs(fb-gb));
*d1=FMAX(*d1,fabs(fc-gc));
*d1=FMAX(*d1,fabs(fd-gd));
}
pearsn(x1,y1,n1,&r1,&dum,&dumm);
sqen=sqrt((double)n1);
rr=sqrt(1.0-r1*r1);
*prob=probks(*d1*sqen/(1.0+rr*(0.25-0.75/sqen)));
}