NEURON
Normal.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 _Normal_h
19
#ifdef __GNUG__
20
//#pragma interface
21
#endif
22
#define _Normal_h
23
24
#include <
Random.h
>
25
26
class
Normal
:
public
Random
{
27
char
haveCachedNormal
;
28
double
cachedNormal
;
29
30
protected
:
31
double
pMean
;
32
double
pVariance
;
33
double
pStdDev
;
34
35
public
:
36
Normal
(
double
xmean,
double
xvariance,
RNG
*gen);
37
double
mean
();
38
double
mean
(
double
x);
39
double
variance
();
40
double
variance
(
double
x);
41
virtual
double
operator()
();
42
};
43
44
45
inline
Normal::Normal
(
double
xmean,
double
xvariance,
RNG
*gen)
46
:
Random
(gen) {
47
pMean
= xmean;
48
pVariance
= xvariance;
49
pStdDev
=
sqrt
(
pVariance
);
50
haveCachedNormal
= 0;
51
}
52
53
inline
double
Normal::mean
() {
return
pMean
; };
54
inline
double
Normal::mean
(
double
x) {
55
double
t
=
pMean
;
pMean
= x;
56
return
t
;
57
}
58
59
inline
double
Normal::variance
() {
return
pVariance
; }
60
inline
double
Normal::variance
(
double
x) {
61
double
t
=
pVariance
;
pVariance
= x;
62
pStdDev
=
sqrt
(
pVariance
);
63
return
t
;
64
};
65
66
#endif
RNG
Definition:
RNG.h:55
Random
Definition:
Random.h:32
Normal
Definition:
Normal.h:26
Normal::mean
double mean()
Definition:
Normal.h:53
Normal::cachedNormal
double cachedNormal
Definition:
Normal.h:28
Normal::operator()
virtual double operator()()
Definition:
Normal.cpp:29
Normal::variance
double variance()
Definition:
Normal.h:59
Normal::pStdDev
double pStdDev
Definition:
Normal.h:33
sqrt
sqrt
Definition:
extdef.h:3
Random.h
Normal::pMean
double pMean
Definition:
Normal.h:31
Normal::Normal
Normal(double xmean, double xvariance, RNG *gen)
Definition:
Normal.h:45
t
double t
Definition:
init.cpp:123
Normal::haveCachedNormal
char haveCachedNormal
Definition:
Normal.h:27
Normal::pVariance
double pVariance
Definition:
Normal.h:32
src
gnu
Normal.h