NEURON
Weibull.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 _Weibull_h
19
#ifdef __GNUG__
20
//#pragma interface
21
#endif
22
#define _Weibull_h
23
24
#include <
Random.h
>
25
26
class
Weibull
:
public
Random
{
27
protected
:
28
double
pAlpha
;
29
double
pInvAlpha
;
30
double
pBeta
;
31
32
void
setState
();
33
34
public
:
35
Weibull
(
double
alpha
,
double
beta
,
RNG
*gen);
36
37
double
alpha
();
38
double
alpha
(
double
x);
39
40
double
beta
();
41
double
beta
(
double
x);
42
43
virtual
double
operator()
();
44
};
45
46
47
inline
void
Weibull::setState
() {
48
pInvAlpha
= 1.0 /
pAlpha
;
49
}
50
51
inline
Weibull::Weibull
(
double
alpha
,
double
beta
,
RNG
*gen) :
Random
(gen)
52
{
53
pAlpha
=
alpha
;
54
pBeta
=
beta
;
55
setState
();
56
}
57
58
inline
double
Weibull::alpha
() {
return
pAlpha
; }
59
60
inline
double
Weibull::alpha
(
double
x) {
61
double
tmp =
pAlpha
;
62
pAlpha
= x;
63
setState
();
64
return
tmp;
65
}
66
67
inline
double
Weibull::beta
() {
return
pBeta
; };
68
inline
double
Weibull::beta
(
double
x) {
69
double
tmp =
pBeta
;
70
pBeta
= x;
71
return
tmp;
72
};
73
74
#endif
Weibull::pAlpha
double pAlpha
Definition:
Weibull.h:28
RNG
Definition:
RNG.h:55
Random
Definition:
Random.h:32
Weibull
Definition:
Weibull.h:26
Weibull::pBeta
double pBeta
Definition:
Weibull.h:30
Weibull::setState
void setState()
Definition:
Weibull.h:47
Weibull::Weibull
Weibull(double alpha, double beta, RNG *gen)
Definition:
Weibull.h:51
Weibull::alpha
double alpha()
Definition:
Weibull.h:58
Weibull::beta
double beta()
Definition:
Weibull.h:67
Random.h
Weibull::pInvAlpha
double pInvAlpha
Definition:
Weibull.h:29
Weibull::operator()
virtual double operator()()
Definition:
Weibull.cpp:30
src
gnu
Weibull.h