28 static const bool IsTargetExact = std::is_same_v<TargetValueType, ExactValueType>;
33 template<storm::OptimizationDirection Dir>
34 SolverStatus RS(std::vector<TargetValueType>& operand, std::vector<TargetValueType>
const& offsets, uint64_t& numIterations,
35 TargetValueType
const& precision, std::function<
SolverStatus(
SolverStatus const&)>
const& iterationCallback = {})
const;
37 SolverStatus RS(std::vector<TargetValueType>& operand, std::vector<TargetValueType>
const& offsets, uint64_t& numIterations,
38 TargetValueType
const& precision, std::optional<storm::OptimizationDirection>
const& dir = {},
41 SolverStatus RS(std::vector<TargetValueType>& operand, std::vector<TargetValueType>
const& offsets, TargetValueType
const& precision,
42 std::optional<storm::OptimizationDirection>
const& dir = {},
46 template<
typename ValueType, storm::OptimizationDirection Dir>
47 std::pair<RSResult, SolverStatus>
RS(std::vector<ValueType>& operand, std::vector<ValueType>
const& offsets, uint64_t& numIterations,
48 ExactValueType precision, std::vector<ExactValueType>
const& exactOffsets, std::vector<TargetValueType>& target,
51 template<
typename ValueType>
52 std::shared_ptr<ValueIterationOperator<ValueType, TrivialRowGrouping>>
const& getOperator()
const;
54 template<
typename ValueType, storm::OptimizationDirection Dir>
55 RSResult sharpen(uint64_t precision, std::vector<ValueType>
const& operand, std::vector<ExactValueType>
const& exactOffsets,
56 std::vector<TargetValueType>& target)
const;
58 std::shared_ptr<ValueIterationOperator<ExactValueType, TrivialRowGrouping>> exactOperator;
59 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