16template<
typename ValueType>
21template<
typename ValueType>
23 return isEqual(value, storm::utility::one<ValueType>());
26template<
typename ValueType>
28 return isEqual(value, storm::utility::zero<ValueType>());
31template<
typename ValueType>
33 if (std::is_same<ValueType, storm::RationalFunction>() || std::is_same<ValueType, storm::Polynomial>()) {
35 return value1 == value2;
37 if (value1 == value2) {
47template<
typename ValueType>
49 STORM_LOG_ASSERT(!relative,
"Relative precision and constants comparator is currently not supported.");
50 return value1 < value2 - precision;
58#if defined(STORM_HAVE_CLN)
62#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)