add numerical recipes library

This commit is contained in:
2025-09-12 18:55:25 +09:00
parent d4dff245bd
commit 2c75620ec9
1344 changed files with 63869 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
/* Driver for routine correl */
#include <stdio.h>
#define NRANSI
#include "nr.h"
#include "nrutil.h"
#define N 64
#define N2 (2*N)
int main(void)
{
unsigned long i,j;
float cmp,*data1,*data2,*ans;
data1=vector(1,N);
data2=vector(1,N);
ans=vector(1,N2);
for (i=1;i<=N;i++) {
if ((i > N/2-N/8) && (i < N/2+N/8))
data1[i]=1.0;
else
data1[i]=0.0;
data2[i]=data1[i];
}
correl(data1,data2,N,ans);
/* Calculate directly */
printf("%3s %14s %18s\n","n","CORREL","direct calc.");
for (i=0;i<=16;i++) {
cmp=0.0;
for (j=1;j<=N;j++)
cmp += data1[((i+j-1) % N)+1]*data2[j];
printf("%3ld %15.6f %15.6f\n",i,ans[i+1],cmp);
}
free_vector(ans,1,N2);
free_vector(data2,1,N);
free_vector(data1,1,N);
return 0;
}
#undef NRANSI