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 
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 }
double pMean
Definition: Poisson.h:23
virtual double operator()()
Definition: Poisson.cpp:23
RNG * pGenerator
Definition: Random.h:26
exp
Definition: extdef.h:5