@ -1377,17 +1377,19 @@ namespace storm {
summandIterator = summand - > begin ( ) ;
}
for ( ; resultIterator ! = resultIteratorEnd ; + + rowIterator , + + resultIterator ) {
for ( ; resultIterator ! = resultIteratorEnd ; + + rowIterator , + + resultIterator , + + summandIterator ) {
ValueType newValue ;
if ( summand ) {
* resultIterator = * summandIterator ;
+ + summandIterator ;
newValue = * summandIterator ;
} else {
* resultIterator = storm : : utility : : zero < ValueType > ( ) ;
newValue = storm : : utility : : zero < ValueType > ( ) ;
}
for ( ite = this - > begin ( ) + * ( rowIterator + 1 ) ; it ! = ite ; + + it ) {
* resultIterator + = it - > getValue ( ) * vector [ it - > getColumn ( ) ] ;
newValue + = it - > getValue ( ) * vector [ it - > getColumn ( ) ] ;
}
* resultIterator = newValue ;
}
}
@ -1404,20 +1406,18 @@ namespace storm {
}
for ( ; resultIterator ! = resultIteratorEnd ; - - rowIterator , - - resultIterator , - - summandIterator ) {
ValueType newValue ;
if ( summand ) {
* resultIterator = * summandIterator ;
std : : cout < < " row[ " < < std : : distance ( rowIndications . begin ( ) , rowIterator ) < < " ]: " < < * resultIterator < < " because of summand " < < std : : endl ;
newValue = * summandIterator ;
} else {
* resultIterator = storm : : utility : : zero < ValueType > ( ) ;
newValue = storm : : utility : : zero < ValueType > ( ) ;
}
for ( ite = this - > begin ( ) + * rowIterator - 1 ; it ! = ite ; - - it ) {
std : : cout < < " row[ " < < std : : distance ( rowIndications . begin ( ) , rowIterator ) < < " ]: " < < * resultIterator < < std : : endl ;
std : : cout < < " row[ " < < std : : distance ( rowIndications . begin ( ) , rowIterator ) < < " ]: op " < < * resultIterator < < " + " < < ( it - > getValue ( ) * vector [ it - > getColumn ( ) ] ) < < " (= " < < it - > getValue ( ) < < " * " < < vector [ it - > getColumn ( ) ] < < " ) = " < < ( * resultIterator + ( it - > getValue ( ) * vector [ it - > getColumn ( ) ] ) ) < < std : : endl ;
* resultIterator = * resultIterator + ( it - > getValue ( ) * vector [ it - > getColumn ( ) ] ) ;
// std::cout << "row[" << std::distance(rowIndications.begin(), rowIterator) << "]: " << *resultIterator << " because of " << it->getValue() << " * " << vector[it->getColumn()] << " = " << (it->getValue() * vector[it->getColumn()]) << std::endl;
newValue + = ( it - > getValue ( ) * vector [ it - > getColumn ( ) ] ) ;
}
std : : cout < < " row[ " < < std : : distance ( rowIndications . begin ( ) , rowIterator ) < < " ] final value " < < * resultIterator < < std : : endl ;
* resultIterator = newValue ;
}
}
@ -1447,11 +1447,13 @@ namespace storm {
}
for ( ; resultIterator ! = resultIteratorEnd ; + + rowIterator , + + resultIterator , + + summandIterator ) {
* resultIterator = summand ? * summandIterator : storm : : utility : : zero < ValueType > ( ) ;
ValueType newValue = summand ? * summandIterator : storm : : utility : : zero < ValueType > ( ) ;
for ( ite = columnsAndEntries . begin ( ) + * ( rowIterator + 1 ) ; it ! = ite ; + + it ) {
* resultIterator + = it - > getValue ( ) * x [ it - > getColumn ( ) ] ;
newValue + = it - > getValue ( ) * x [ it - > getColumn ( ) ] ;
}
* resultIterator = newValue ;
}
}
xxxxxxxxxx