diff --git a/src/storm-dft/storage/dft/elements/BEConst.h b/src/storm-dft/storage/dft/elements/BEConst.h index 3f0cdd949..6c82f19a4 100644 --- a/src/storm-dft/storage/dft/elements/BEConst.h +++ b/src/storm-dft/storage/dft/elements/BEConst.h @@ -42,7 +42,7 @@ namespace storm { ValueType getUnreliability(ValueType time) const override; bool isTypeEqualTo(DFTElement const& other) const override { - if (!DFTElement::isTypeEqualTo(other)) { + if (!DFTBE::isTypeEqualTo(other)) { return false; } auto& otherBE = static_cast const&>(other); diff --git a/src/storm-dft/storage/dft/elements/BEExponential.h b/src/storm-dft/storage/dft/elements/BEExponential.h index e29d44642..f52d204bd 100644 --- a/src/storm-dft/storage/dft/elements/BEExponential.h +++ b/src/storm-dft/storage/dft/elements/BEExponential.h @@ -78,7 +78,7 @@ namespace storm { } bool isTypeEqualTo(DFTElement const& other) const override { - if (!DFTElement::isTypeEqualTo(other)) { + if (!DFTBE::isTypeEqualTo(other)) { return false; } auto& otherBE = static_cast const&>(other); diff --git a/src/storm-dft/storage/dft/elements/DFTBE.h b/src/storm-dft/storage/dft/elements/DFTBE.h index 1dd2d91d0..80f8d77e3 100644 --- a/src/storm-dft/storage/dft/elements/DFTBE.h +++ b/src/storm-dft/storage/dft/elements/DFTBE.h @@ -92,6 +92,14 @@ namespace storm { return false; } + bool isTypeEqualTo(DFTElement const& other) const override { + if (!DFTElement::isTypeEqualTo(other)) { + return false; + } + auto& otherBE = static_cast const&>(other); + return this->beType() == otherBE.beType(); + } + private: std::vector>> mIngoingDependencies;