NEURON
Random.h
Go to the documentation of this file.
1 // This may look like C code, but it is really -*- C++ -*-
2 /*
3 Copyright (C) 1988 Free Software Foundation
4  written by Dirk Grunwald (grunwald@cs.uiuc.edu)
5 
6 This file is part of the GNU C++ Library. This library is free
7 software; you can redistribute it and/or modify it under the terms of
8 the GNU Library General Public License as published by the Free
9 Software Foundation; either version 2 of the License, or (at your
10 option) any later version. This library is distributed in the hope
11 that it will be useful, but WITHOUT ANY WARRANTY; without even the
12 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13 PURPOSE. See the GNU Library General Public License for more details.
14 You should have received a copy of the GNU Library General Public
15 License along with this library; if not, write to the Free Software
16 Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
17 */
18 #ifndef _Random_h
19 #define _Random_h 1
20 #ifdef __GNUG__
21 //#pragma interface
22 #endif
23 
24 #include <math.h>
25 
26 #if MAC
27  #define Random gnu_Random
28 #endif
29 
30 #include <RNG.h>
31 
32 class Random {
33 protected:
35 public:
37  virtual ~Random() {}
38  virtual double operator()() = 0;
39 
40  RNG *generator();
41  void generator(RNG *p);
42 };
43 
44 
45 inline Random::Random(RNG *gen)
46 {
47  pGenerator = gen;
48 }
49 
51 {
52  return(pGenerator);
53 }
54 
55 inline void Random::generator(RNG *p)
56 {
57  pGenerator = p;
58 }
59 
60 #endif
Definition: RNG.h:55
Definition: Random.h:32
virtual double operator()()=0
RNG * generator()
Definition: Random.h:50
virtual ~Random()
Definition: Random.h:37
Random(RNG *generator)
Definition: Random.h:45
RNG * pGenerator
Definition: Random.h:34
size_t p