From 6899b6043e29972b347f68d02fe3bfc93780c9bd Mon Sep 17 00:00:00 2001 From: Steven Hahn <hahnse@ornl.gov> Date: Mon, 1 May 2017 15:12:11 -0400 Subject: [PATCH] Avoid extra search inside map. --- Framework/API/src/MatrixWorkspace.cpp | 6 +----- Framework/Kernel/src/Matrix.cpp | 3 ++- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/Framework/API/src/MatrixWorkspace.cpp b/Framework/API/src/MatrixWorkspace.cpp index d8b2fdd90a3..e4293eaf3d1 100644 --- a/Framework/API/src/MatrixWorkspace.cpp +++ b/Framework/API/src/MatrixWorkspace.cpp @@ -1027,11 +1027,7 @@ void MatrixWorkspace::flagMasked(const size_t &index, const size_t &binIndex, // First get a reference to the list for this spectrum (or create a new // list) MaskList &binList = m_masks[index]; - auto it = binList.find(binIndex); - if (it != binList.end()) { - binList.erase(it); - } - binList.emplace(binIndex, weight); + binList[binIndex] = weight; } } diff --git a/Framework/Kernel/src/Matrix.cpp b/Framework/Kernel/src/Matrix.cpp index 4c00c81362e..5ea8fddd9c0 100644 --- a/Framework/Kernel/src/Matrix.cpp +++ b/Framework/Kernel/src/Matrix.cpp @@ -387,7 +387,8 @@ std::vector<T> Matrix<T>::operator*(const std::vector<T> &Vec) const template <typename T> void Matrix<T>::multiplyPoint(const std::vector<T> &in, std::vector<T> &out) const { - out.assign(nx, static_cast<T>(0.0)); + out.resize(nx); + std::fill(std::begin(out), std::end(out), static_cast<T>(0.0)); if (ny > in.size()) throw Kernel::Exception::MisMatch<size_t>(ny, in.size(), "Matrix::multiplyPoint(in,out)"); -- GitLab