From 3bc57780aaa53889efdbc9751c6ada3ece515160 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Atgeirr=20Fl=C3=B8=20Rasmussen?= Date: Wed, 26 Mar 2014 11:44:49 +0100 Subject: [PATCH] Fix bug in -= operator. --- opm/autodiff/AutoDiffBlock.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/opm/autodiff/AutoDiffBlock.hpp b/opm/autodiff/AutoDiffBlock.hpp index a98c014be..7255b8dd1 100644 --- a/opm/autodiff/AutoDiffBlock.hpp +++ b/opm/autodiff/AutoDiffBlock.hpp @@ -198,7 +198,11 @@ namespace Opm AutoDiffBlock& operator-=(const AutoDiffBlock& rhs) { 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()) { assert (numBlocks() == rhs.numBlocks()); assert (value().size() == rhs.value().size());