#include "DftExplorationHeuristic.h" #include "storm/adapters/RationalFunctionAdapter.h" #include "storm/exceptions/NotImplementedException.h" namespace storm { namespace builder { template<> double DFTExplorationHeuristicProbability::getPriority() const { return probability; } template double DFTExplorationHeuristicProbability::getPriority() const { STORM_LOG_THROW(false, storm::exceptions::NotImplementedException, "Heuristic 'probability' does not work for this data type."); } template<> double DFTExplorationHeuristicBoundDifference::getPriority() const { double difference = lowerBound - upperBound; // Lower bound is larger than upper bound difference = 2 * difference / (upperBound + lowerBound); return probability * difference; } template double DFTExplorationHeuristicBoundDifference::getPriority() const { STORM_LOG_THROW(false, storm::exceptions::NotImplementedException, "Heuristic 'bound difference' does not work for this data type."); } // Instantiate templates. template class DFTExplorationHeuristic; template class DFTExplorationHeuristicDepth; template class DFTExplorationHeuristicProbability; template class DFTExplorationHeuristicBoundDifference; #ifdef STORM_HAVE_CARL template class DFTExplorationHeuristic; template class DFTExplorationHeuristicDepth; template class DFTExplorationHeuristicProbability; template class DFTExplorationHeuristicBoundDifference; #endif } }