add numerical recipes library
This commit is contained in:
17
lib/nr/cpp/recipes/hufapp.cpp
Normal file
17
lib/nr/cpp/recipes/hufapp.cpp
Normal file
@@ -0,0 +1,17 @@
|
||||
#include "nr.h"
|
||||
|
||||
void NR::hufapp(Vec_IO_ULNG &index, Vec_I_ULNG &nprob, const unsigned long n,
|
||||
const unsigned long m)
|
||||
{
|
||||
unsigned long i=m,j,k;
|
||||
|
||||
k=index[i];
|
||||
while (i < (n >> 1)) {
|
||||
if ((j = 2*i+1) < n-1
|
||||
&& nprob[index[j]] > nprob[index[j+1]]) j++;
|
||||
if (nprob[k] <= nprob[index[j]]) break;
|
||||
index[i]=index[j];
|
||||
i=j;
|
||||
}
|
||||
index[i]=k;
|
||||
}
|
||||
Reference in New Issue
Block a user