Storm 1.11.1.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
BEWeibull.cpp
Go to the documentation of this file.
1#include "BEWeibull.h"
2
5
6namespace storm::dft {
7namespace storage {
8namespace elements {
9
10template<>
11double BEWeibull<double>::getUnreliability(double time) const {
12 // 1 - e^(-(t / lambda)^k)
13 // where lambda is the rate and k the shape
14 return 1 - exp(-std::pow(time / this->rate(), this->shape()));
15}
16
17template<typename ValueType>
18ValueType BEWeibull<ValueType>::getUnreliability(ValueType time) const {
19 STORM_LOG_THROW(false, storm::exceptions::NotSupportedException, "Computing cumulative failure probability not supported for this data type.");
20}
21
22// Explicitly instantiate the class.
23template class BEWeibull<double>;
24template class BEWeibull<RationalFunction>;
25
26} // namespace elements
27} // namespace storage
28} // namespace storm::dft
BE with Weibull failure distribution.
Definition BEWeibull.h:13
ValueType getUnreliability(ValueType time) const override
Return the unreliability of the BE up to the given time point.
Definition BEWeibull.cpp:18
#define STORM_LOG_THROW(cond, exception, message)
Definition macros.h:30