From 574bd67de49695f64118412c5b5eae5230f95a46 Mon Sep 17 00:00:00 2001 From: Richard Faasse <56549273+rfaasse@users.noreply.github.com> Date: Thu, 17 Oct 2024 20:32:01 +0200 Subject: [PATCH] Fix iterator to pointer issue in ublas_space.h (#12761) --- kratos/spaces/ublas_space.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/kratos/spaces/ublas_space.h b/kratos/spaces/ublas_space.h index 7f384d9f9703..e3718c82e361 100644 --- a/kratos/spaces/ublas_space.h +++ b/kratos/spaces/ublas_space.h @@ -710,8 +710,8 @@ class UblasSpace { const std::size_t system_size = rA.size1(); - const double* Avalues = rA.value_data().begin(); - const std::size_t* Arow_indices = rA.index1_data().begin(); + const auto& Avalues = rA.value_data(); + const auto& Arow_indices = rA.index1_data(); // Define zero value tolerance const double zero_tolerance = std::numeric_limits::epsilon(); @@ -778,9 +778,9 @@ class UblasSpace */ static double GetDiagonalNorm(const MatrixType& rA) { - const double* Avalues = rA.value_data().begin(); - const std::size_t* Arow_indices = rA.index1_data().begin(); - const std::size_t* Acol_indices = rA.index2_data().begin(); + const auto& Avalues = rA.value_data(); + const auto& Arow_indices = rA.index1_data(); + const auto& Acol_indices = rA.index2_data(); const double diagonal_norm = IndexPartition(Size1(rA)).for_each>([&](std::size_t Index){ const std::size_t col_begin = Arow_indices[Index]; @@ -813,9 +813,9 @@ class UblasSpace */ static double GetMaxDiagonal(const MatrixType& rA) { - const double* Avalues = rA.value_data().begin(); - const std::size_t* Arow_indices = rA.index1_data().begin(); - const std::size_t* Acol_indices = rA.index2_data().begin(); + const auto& Avalues = rA.value_data(); + const auto& Arow_indices = rA.index1_data(); + const auto& Acol_indices = rA.index2_data(); return IndexPartition(Size1(rA)).for_each>([&](std::size_t Index){ const std::size_t col_begin = Arow_indices[Index]; @@ -836,9 +836,9 @@ class UblasSpace */ static double GetMinDiagonal(const MatrixType& rA) { - const double* Avalues = rA.value_data().begin(); - const std::size_t* Arow_indices = rA.index1_data().begin(); - const std::size_t* Acol_indices = rA.index2_data().begin(); + const auto& Avalues = rA.value_data(); + const auto& Arow_indices = rA.index1_data(); + const auto& Acol_indices = rA.index2_data(); return IndexPartition(Size1(rA)).for_each>([&](std::size_t Index){ const std::size_t col_begin = Arow_indices[Index];