14template<
typename ValueType>
19template<
typename ValueType>
21 return isEqual(value, storm::utility::one<ValueType>());
24template<
typename ValueType>
26 return isEqual(value, storm::utility::zero<ValueType>());
29template<
typename ValueType>
31 if (std::is_same<ValueType, storm::RationalFunction>() || std::is_same<ValueType, storm::Polynomial>()) {
33 return value1 == value2;
35 if (value1 == value2) {
45template<
typename ValueType>
47 STORM_LOG_ASSERT(!relative,
"Relative precision and constants comparator is currently not supported.");
48 return value1 < value2 - precision;
56#if defined(STORM_HAVE_CLN)
60#if defined(STORM_HAVE_GMP)
bool isLess(ValueType const &value1, ValueType const &value2) const
bool isOne(ValueType const &value) const
ConstantsComparator(ValueType const &precision, bool relative=false)
bool isZero(ValueType const &value) const
bool isEqual(ValueType const &value1, ValueType const &value2) const
#define STORM_LOG_ASSERT(cond, message)
bool isApproxEqual(ValueType const &a, ValueType const &b, ValueType const &precision, bool relative)
bool isZero(ValueType const &a)