add numerical recipes library
This commit is contained in:
17
lib/nr/cpp/recipes/eclazz.cpp
Normal file
17
lib/nr/cpp/recipes/eclazz.cpp
Normal file
@@ -0,0 +1,17 @@
|
||||
#include "nr.h"
|
||||
|
||||
void NR::eclazz(Vec_O_INT &nf, bool equiv(const int, const int))
|
||||
{
|
||||
int kk,jj;
|
||||
|
||||
int n=nf.size();
|
||||
nf[0]=0;
|
||||
for (jj=1;jj<n;jj++) {
|
||||
nf[jj]=jj;
|
||||
for (kk=0;kk<jj;kk++) {
|
||||
nf[kk]=nf[nf[kk]];
|
||||
if (equiv(jj+1,kk+1)) nf[nf[nf[kk]]]=jj;
|
||||
}
|
||||
}
|
||||
for (jj=0;jj<n;jj++) nf[jj]=nf[nf[jj]];
|
||||
}
|
||||
Reference in New Issue
Block a user