diff --git a/Device/Data/Powerfield.h b/Device/Data/Powerfield.h index 34c38902f812243750f4bec0dd0f456fd4786d9a..4de2677c84eb45e3c92ddbb5d9eb41586a3aee8c 100644 --- a/Device/Data/Powerfield.h +++ b/Device/Data/Powerfield.h @@ -399,11 +399,11 @@ std::vector<int> Powerfield<T>::getAxesBinIndices(size_t global_index) const ASSERT(m_ll_data); size_t remainder = global_index; std::vector<int> result; - result.resize(m_ll_data->rank()); - for (size_t i = 0; i < m_ll_data->rank(); ++i) { - result[m_ll_data->rank() - 1 - i] = - (int)(remainder % m_axes[m_ll_data->rank() - 1 - i]->size()); - remainder /= m_axes[m_ll_data->rank() - 1 - i]->size(); + result.resize(rank()); + for (size_t i = 0; i < rank(); ++i) { + result[rank() - 1 - i] = + (int)(remainder % m_axes[rank() - 1 - i]->size()); + remainder /= m_axes[rank() - 1 - i]->size(); } return result; } @@ -413,8 +413,8 @@ size_t Powerfield<T>::getAxisBinIndex(size_t global_index, size_t i_selected_axi { ASSERT(m_ll_data); size_t remainder(global_index); - for (size_t i = 0; i < m_ll_data->rank(); ++i) { - size_t i_axis = m_ll_data->rank() - 1 - i; + for (size_t i = 0; i < rank(); ++i) { + size_t i_axis = rank() - 1 - i; size_t result = remainder % m_axes[i_axis]->size(); if (i_selected_axis == i_axis) return result; @@ -427,10 +427,10 @@ template <class T> size_t Powerfield<T>::toGlobalIndex(const std::vector<unsigned>& axes_indices) const { ASSERT(m_ll_data); - ASSERT(axes_indices.size() == m_ll_data->rank()); + ASSERT(axes_indices.size() == rank()); size_t result = 0; size_t step_size = 1; - for (size_t i = m_ll_data->rank(); i > 0; --i) { + for (size_t i = rank(); i > 0; --i) { ASSERT(axes_indices[i - 1] < m_axes[i - 1]->size()); result += axes_indices[i - 1] * step_size; step_size *= m_axes[i - 1]->size(); @@ -442,10 +442,10 @@ template <class T> size_t Powerfield<T>::findGlobalIndex(const std::vector<double>& coordinates) const { ASSERT(m_ll_data); - ASSERT(coordinates.size() == m_ll_data->rank()); + ASSERT(coordinates.size() == rank()); std::vector<unsigned> axes_indexes; - axes_indexes.resize(m_ll_data->rank()); - for (size_t i = 0; i < m_ll_data->rank(); ++i) + axes_indexes.resize(rank()); + for (size_t i = 0; i < rank(); ++i) axes_indexes[i] = static_cast<unsigned>(m_axes[i]->findClosestIndex(coordinates[i])); return toGlobalIndex(axes_indexes); }