NEURON
Poisson.cpp
Go to the documentation of this file.
1
/*
2
Copyright (C) 1988 Free Software Foundation
3
written by Dirk Grunwald (grunwald@cs.uiuc.edu)
4
5
This file is part of the GNU C++ Library. This library is free
6
software; you can redistribute it and/or modify it under the terms of
7
the GNU Library General Public License as published by the Free
8
Software Foundation; either version 2 of the License, or (at your
9
option) any later version. This library is distributed in the hope
10
that it will be useful, but WITHOUT ANY WARRANTY; without even the
11
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12
PURPOSE. See the GNU Library General Public License for more details.
13
You should have received a copy of the GNU Library General Public
14
License along with this library; if not, write to the Free Software
15
Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
16
*/
17
#ifdef __GNUG__
18
#pragma implementation
19
#endif
20
#include "
Random.h
"
21
#include "
Poisson.h
"
22
23
double
Poisson::operator()
()
24
{
25
double
bound =
exp
(-1.0 *
pMean
);
26
int
count = 0;
27
28
for
(
double
product = 1.0;
29
product >= bound;
30
product *=
pGenerator
-> asDouble()) {
31
count++;
32
}
33
return
(count - 1);
34
}
Poisson.h
Random.h
Poisson::pMean
double pMean
Definition:
Poisson.h:23
Poisson::operator()
virtual double operator()()
Definition:
Poisson.cpp:23
Random::pGenerator
RNG * pGenerator
Definition:
Random.h:26
exp
exp
Definition:
extdef.h:5
src
gnu
Poisson.cpp