OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ippl
src
Utility
RandomNumberGen.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
/***************************************************************************
3
*
4
* The IPPL Framework
5
*
6
*
7
* Visit http://people.web.psi.ch/adelmann/ for more details
8
*
9
***************************************************************************/
10
11
#ifndef RANDOM_NUMBER_GEN_H
12
#define RANDOM_NUMBER_GEN_H
13
14
/***********************************************************************
15
*
16
* class RandomNumberGen
17
*
18
* RandomNumberGen is actually just a typedef for one of the many
19
* RNGSequence classes available in IPPL. It is selected by examining the
20
* values of #define's. Other RNGSequence classes may be used in a program,
21
* but using RandomNumberGen give you the 'default' RNGSequence type as
22
* selected at compile time.
23
*
24
* When using Random or Distributed number sequences, include this file.
25
*
26
***********************************************************************/
27
28
// include files
29
#include "
Utility/RNGRand.h
"
30
#include "
Utility/RNGSimple.h
"
31
#include "
Utility/RNGXDiv.h
"
32
#include "
Utility/RNGXCI.h
"
33
34
// typedef for the default RNG ... selected by #define
35
#if defined(IPPL_USE_XDIV_RNG)
36
typedef
RNGXDivSequence
RandomNumberGen
;
37
#elif defined(IPPL_USE_RAND_RNG)
38
typedef
RNGRandSequence
RandomNumberGen
;
39
#elif defined(IPPL_USE_SIMPLE_RNG)
40
typedef
RNGSimpleSequence
RandomNumberGen
;
41
#elif defined(IPPL_USE_XCI_RNG)
42
typedef
RNGXCISequence
RandomNumberGen
;
43
#else
44
typedef
RNGSimpleSequence
RandomNumberGen
;
45
#endif
46
47
48
// a default RandomNumberGen object for use in the Framework. When
49
// running in parallel, the Ippl object will advance this by the
50
// node number so as to have different RNG sequences on each node. If the
51
// same RNG sequence is needed on each node, the user must instantiate their
52
// own RNG sequence object and use that.
53
extern
RandomNumberGen
IpplRandom
;
54
55
56
#endif // RANDOM_NUMBER_GEN_H
57
58
/***************************************************************************
59
* $RCSfile: RandomNumberGen.h,v $ $Author: adelmann $
60
* $Revision: 1.1.1.1 $ $Date: 2003/01/23 07:40:33 $
61
* IPPL_VERSION_ID: $Id: RandomNumberGen.h,v 1.1.1.1 2003/01/23 07:40:33 adelmann Exp $
62
***************************************************************************/
IpplRandom
RandomNumberGen IpplRandom
Definition:
RandomNumberGen.cpp:30
RandomNumberGen
RNGSimpleSequence RandomNumberGen
Definition:
RandomNumberGen.h:44
RNGSimpleSequence
Definition:
RNGSimple.h:104
RNGXCI.h
RNGXCISequence
Definition:
RNGXCI.h:119
RNGXDiv.h
RNGXDivSequence
Definition:
RNGXDiv.h:143
RNGRandSequence
Definition:
RNGRand.h:106
RNGSimple.h
RNGRand.h
Generated on Sat Jan 4 2020 14:47:40 for OPAL (Object Oriented Parallel Accelerator Library) by
1.8.5