Fix bug in -= operator.

This commit is contained in:
Atgeirr Flø Rasmussen 2014-03-26 11:44:49 +01:00
parent 5e4dff401c
commit 3bc57780aa

View File

@ -198,7 +198,11 @@ namespace Opm
AutoDiffBlock& operator-=(const AutoDiffBlock& rhs) AutoDiffBlock& operator-=(const AutoDiffBlock& rhs)
{ {
if (jac_.empty()) { if (jac_.empty()) {
jac_ = rhs.jac_; const int num_blocks = rhs.numBlocks();
jac_.resize(num_blocks);
for (int block = 0; block < num_blocks; ++block) {
jac_[block] = -rhs.jac_[block];
}
} else if (!rhs.jac_.empty()) { } else if (!rhs.jac_.empty()) {
assert (numBlocks() == rhs.numBlocks()); assert (numBlocks() == rhs.numBlocks());
assert (value().size() == rhs.value().size()); assert (value().size() == rhs.value().size());