ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/mdtools/headers/randomSPRNG.hpp
Revision: 221
Committed: Thu Jan 2 20:14:08 2003 UTC (21 years, 8 months ago) by chuckv
File size: 625 byte(s)
Log Message:
Thermo now can use SPRNG or rand48 (if not MPI).
Finished up work on randomSPRNG. Still need to fix
access to MPISimulation.

File Contents

# User Rev Content
1 chuckv 218 #idndef __randomSPRNG_H
2     #define __randomSPRNG_H
3    
4 chuckv 220 /* Define the random number generator used by SPRNG
5     to be type 3 = Combined Multiple Recursive Generator.
6     */
7     #define GTYPE 3
8     #ifdef IS_MPI
9     #define USE_MPI
10     #endif
11 chuckv 218
12 chuckv 221 class randomSPRNG{
13 chuckv 220 public:
14 chuckv 221 randomSPRNG(int myseed);
15     ~randomSPRNG();
16 chuckv 220
17 chuckv 221 double getRandom();
18 chuckv 220 private:
19     int *thisStream;
20     int myStreamNumber;
21 chuckv 221 int nSPRNGStreams;
22     static int nStreamsInitialized;
23 chuckv 220
24     }
25    
26    
27 chuckv 221 class gaussianSPRNG : public randomSPRNG{
28 chuckv 218 public:
29     gaussianSPRNG();
30     ~gaussianSPRNG();
31    
32 chuckv 221 double getGaussian();
33 chuckv 220 private:
34 chuckv 221 using randomSPRNG::getRandom;
35     double getRandom() { getRandom(); }
36 chuckv 218 }
37    
38    
39    
40     #endif