Browse Source

added missing 'this->'. Also avoid in-place matrix vector multiplication when extracting a scheduler

tempestpy_adaptions
TimQu 7 years ago
parent
commit
20960d56e7
  1. 4
      src/storm/solver/IterativeMinMaxLinearEquationSolver.cpp
  2. 2
      src/storm/solver/LpMinMaxLinearEquationSolver.cpp

4
src/storm/solver/IterativeMinMaxLinearEquationSolver.cpp

@ -256,7 +256,7 @@ namespace storm {
MinMaxLinearEquationSolverRequirements requirements(this->linearEquationSolverFactory->getRequirements()); MinMaxLinearEquationSolverRequirements requirements(this->linearEquationSolverFactory->getRequirements());
// In case we perform value iteration and need to retrieve a scheduler, end components are forbidden // In case we perform value iteration and need to retrieve a scheduler, end components are forbidden
if (this->getSettings().getSolutionMethod() == IterativeMinMaxLinearEquationSolverSettings<ValueType>::SolutionMethod::ValueIteration && isTrackSchedulerSet()) {
if (this->getSettings().getSolutionMethod() == IterativeMinMaxLinearEquationSolverSettings<ValueType>::SolutionMethod::ValueIteration && this->isTrackSchedulerSet()) {
requirements.requireNoEndComponents(); requirements.requireNoEndComponents();
} }
@ -380,7 +380,7 @@ namespace storm {
// If requested, we store the scheduler for retrieval. // If requested, we store the scheduler for retrieval.
if (this->isTrackSchedulerSet()) { if (this->isTrackSchedulerSet()) {
this->schedulerChoices = std::vector<uint_fast64_t>(this->A->getRowGroupCount()); this->schedulerChoices = std::vector<uint_fast64_t>(this->A->getRowGroupCount());
this->linEqSolverA->multiplyAndReduce(dir, this->A->getRowGroupIndices(), x, &b, *currentX, &this->schedulerChoices.get());
this->linEqSolverA->multiplyAndReduce(dir, this->A->getRowGroupIndices(), x, &b, *auxiliaryRowGroupVector.get(), &this->schedulerChoices.get());
} }
if (!this->isCachingEnabled()) { if (!this->isCachingEnabled()) {

2
src/storm/solver/LpMinMaxLinearEquationSolver.cpp

@ -115,7 +115,7 @@ namespace storm {
MinMaxLinearEquationSolverRequirements requirements; MinMaxLinearEquationSolverRequirements requirements;
// In case we need to retrieve a scheduler, end components are forbidden // In case we need to retrieve a scheduler, end components are forbidden
if (isTrackSchedulerSet()) {
if (this->isTrackSchedulerSet()) {
requirements.requireNoEndComponents(); requirements.requireNoEndComponents();
} }

Loading…
Cancel
Save