|
@ -2,6 +2,9 @@ |
|
|
|
|
|
|
|
|
#include <vector> |
|
|
#include <vector> |
|
|
#include <memory> |
|
|
#include <memory> |
|
|
|
|
|
#include <boost/optional.hpp> |
|
|
|
|
|
|
|
|
|
|
|
#include "storm/storage/BitVector.h" |
|
|
|
|
|
|
|
|
#include "storm/solver/OptimizationDirection.h" |
|
|
#include "storm/solver/OptimizationDirection.h" |
|
|
#include "storm/solver/MultiplicationStyle.h" |
|
|
#include "storm/solver/MultiplicationStyle.h" |
|
@ -134,9 +137,21 @@ namespace storm { |
|
|
*/ |
|
|
*/ |
|
|
virtual void multiplyRow2(uint64_t const& rowIndex, std::vector<ValueType> const& x1, ValueType& val1, std::vector<ValueType> const& x2, ValueType& val2) const; |
|
|
virtual void multiplyRow2(uint64_t const& rowIndex, std::vector<ValueType> const& x1, ValueType& val1, std::vector<ValueType> const& x2, ValueType& val2) const; |
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
|
* TODO |
|
|
|
|
|
*/ |
|
|
|
|
|
void setOptimizationDirectionOverride(storm::storage::BitVector const& optimizationDirectionOverride); |
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
|
* TODO |
|
|
|
|
|
*/ |
|
|
|
|
|
boost::optional<storm::storage::BitVector> getOptimizationDirectionOverride() const; |
|
|
|
|
|
|
|
|
protected: |
|
|
protected: |
|
|
mutable std::unique_ptr<std::vector<ValueType>> cachedVector; |
|
|
mutable std::unique_ptr<std::vector<ValueType>> cachedVector; |
|
|
storm::storage::SparseMatrix<ValueType> const& matrix; |
|
|
storm::storage::SparseMatrix<ValueType> const& matrix; |
|
|
|
|
|
|
|
|
|
|
|
boost::optional<storm::storage::BitVector> optimizationDirectionOverride = boost::none; |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
template<typename ValueType> |
|
|
template<typename ValueType> |
|
|