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 #pragma once
19 
20 #include <math.h>
21 
22 #include "RNG.h"
23 
24 class Random {
25 protected:
27 public:
29  virtual ~Random() {}
30  virtual double operator()() = 0;
31 
32  RNG *generator();
33  void generator(RNG *p);
34 };
35 
36 
37 inline Random::Random(RNG *gen)
38 {
39  pGenerator = gen;
40 }
41 
43 {
44  return(pGenerator);
45 }
46 
47 inline void Random::generator(RNG *p)
48 {
49  pGenerator = p;
50 }
Definition: RNG.h:5
Definition: Random.h:24
virtual double operator()()=0
RNG * generator()
Definition: Random.h:42
virtual ~Random()
Definition: Random.h:29
Random(RNG *generator)
Definition: Random.h:37
RNG * pGenerator
Definition: Random.h:26
size_t p