29 static const bool IsTargetExact = std::is_same_v<TargetValueType, ExactValueType>;
34 template<storm::OptimizationDirection Dir>
35 SolverStatus RS(std::vector<TargetValueType>& operand, std::vector<TargetValueType>
const& offsets, uint64_t& numIterations,
36 TargetValueType
const& precision, std::function<
SolverStatus(
SolverStatus const&)>
const& iterationCallback = {})
const;
38 SolverStatus RS(std::vector<TargetValueType>& operand, std::vector<TargetValueType>
const& offsets, uint64_t& numIterations,
39 TargetValueType
const& precision, std::optional<storm::OptimizationDirection>
const& dir = {},
42 SolverStatus RS(std::vector<TargetValueType>& operand, std::vector<TargetValueType>
const& offsets, TargetValueType
const& precision,
43 std::optional<storm::OptimizationDirection>
const& dir = {},
47 template<
typename ValueType, storm::OptimizationDirection Dir>
48 std::pair<RSResult, SolverStatus>
RS(std::vector<ValueType>& operand, std::vector<ValueType>
const& offsets, uint64_t& numIterations,
49 ExactValueType precision, std::vector<ExactValueType>
const& exactOffsets, std::vector<TargetValueType>& target,
52 template<
typename ValueType>
53 std::shared_ptr<ValueIterationOperator<ValueType, TrivialRowGrouping>>
const&
getOperator()
const;
55 template<
typename ValueType, storm::OptimizationDirection Dir>
56 RSResult sharpen(uint64_t precision, std::vector<ValueType>
const& operand, std::vector<ExactValueType>
const& exactOffsets,
57 std::vector<TargetValueType>& target)
const;
59 std::shared_ptr<ValueIterationOperator<ExactValueType, TrivialRowGrouping>> exactOperator;
60 std::shared_ptr<ValueIterationOperator<ImpreciseValueType, TrivialRowGrouping>> impreciseOperator;
SolverStatus RS(std::vector< TargetValueType > &operand, std::vector< TargetValueType > const &offsets, uint64_t &numIterations, TargetValueType const &precision, std::function< SolverStatus(SolverStatus const &)> const &iterationCallback={}) const