NEURON
HypGeom.cpp
Go to the documentation of this file.
1
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
#ifdef __GNUG__
19
#pragma implementation
20
#endif
21
#include "
Random.h
"
22
#include "
HypGeom.h
"
23
24
double
HyperGeometric::operator()
()
25
{
26
double
d = (
pGenerator
-> asDouble() >
pP
) ? (1.0 -
pP
) : (
pP
);
27
return
(-
pMean
*
log
(
pGenerator
-> asDouble()) / (2.0 * d) );
28
}
29
HypGeom.h
Random.h
HyperGeometric::pP
double pP
Definition:
HypGeom.h:26
HyperGeometric::pMean
double pMean
Definition:
HypGeom.h:24
HyperGeometric::operator()
virtual double operator()()
Definition:
HypGeom.cpp:24
Random::pGenerator
RNG * pGenerator
Definition:
Random.h:26
log
log
Definition:
extdef.h:4
src
gnu
HypGeom.cpp