add numerical recipes library
This commit is contained in:
15
lib/nr/cpp/recipes/irbit2.cpp
Normal file
15
lib/nr/cpp/recipes/irbit2.cpp
Normal file
@@ -0,0 +1,15 @@
|
||||
#include "nr.h"
|
||||
|
||||
int NR::irbit2(unsigned long &iseed)
|
||||
{
|
||||
const unsigned long IB1=1,IB2=2,IB5=16,IB18=131072;
|
||||
const unsigned long MASK=IB1+IB2+IB5;
|
||||
|
||||
if (iseed & IB18) {
|
||||
iseed=((iseed ^ MASK) << 1) | IB1;
|
||||
return 1;
|
||||
} else {
|
||||
iseed <<= 1;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user