Skip to content

Commit 05c809e

Browse files
authored
Prefer C++20 std::ssize() over static_cast (#153)
1 parent cd68b81 commit 05c809e

File tree

15 files changed

+32
-26
lines changed

15 files changed

+32
-26
lines changed

include/PolarGrid/polargrid.inl

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#pragma once
22

3+
#include <iterator>
4+
35
#include "polargrid.h"
46

57
inline int PolarGrid::nr() const
@@ -18,13 +20,13 @@ inline int PolarGrid::numberOfNodes() const
1820

1921
inline double PolarGrid::radius(const int r_index) const
2022
{
21-
assert(r_index >= 0 && static_cast<size_t>(r_index) < radii_.size());
23+
assert(r_index >= 0 && r_index < std::ssize(radii_));
2224
return radii_[r_index];
2325
}
2426

2527
inline double PolarGrid::theta(const int theta_index) const
2628
{
27-
assert(theta_index >= 0 && static_cast<size_t>(theta_index) < angles_.size());
29+
assert(theta_index >= 0 && theta_index < std::ssize(angles_));
2830
return angles_[theta_index];
2931
}
3032

@@ -57,7 +59,7 @@ inline int PolarGrid::numberRadialSmootherNodes() const
5759

5860
inline double PolarGrid::radialSpacing(const int r_index) const
5961
{
60-
assert(r_index >= 0 && static_cast<size_t>(r_index) < radial_spacings_.size());
62+
assert(r_index >= 0 && r_index < std::ssize(radial_spacings_));
6163
return radial_spacings_[r_index];
6264
}
6365

src/DirectSolver/DirectSolver-COO-MUMPS-Give/applySymmetryShift.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
#include "../../../include/common/geometry_helper.h"
44

5+
#include <iterator>
6+
57
#ifdef GMGPOLAR_USE_MUMPS
68

79
/* ----------------------- */
@@ -123,7 +125,7 @@ void DirectSolverGive::applySymmetryShiftOuterBoundary(Vector<double> x) const
123125
// clang-format off
124126
void DirectSolverGive::applySymmetryShift(Vector<double> x) const
125127
{
126-
assert(x.size() == grid_.numberOfNodes());
128+
assert(std::ssize(x) == grid_.numberOfNodes());
127129
assert(grid_.nr() >= 4);
128130

129131
if (num_omp_threads_ == 1) {

src/DirectSolver/DirectSolver-COO-MUMPS-Take/applySymmetryShift.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#include "../../../include/DirectSolver/DirectSolver-COO-MUMPS-Take/directSolverTake.h"
22

3+
#include <iterator>
4+
35
#ifdef GMGPOLAR_USE_MUMPS
46

57
/* ----------------------- */
@@ -80,7 +82,7 @@ void DirectSolverTake::applySymmetryShiftOuterBoundary(Vector<double> x) const
8082

8183
void DirectSolverTake::applySymmetryShift(Vector<double> x) const
8284
{
83-
assert(x.size() == grid_.numberOfNodes());
85+
assert(std::ssize(x) == grid_.numberOfNodes());
8486
assert(grid_.nr() >= 4);
8587

8688
if (num_omp_threads_ == 1) {

src/GMGPolar/build_rhs_f.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ void GMGPolar::build_rhs_f(const Level& level, Vector<double> rhs_f, const Bound
44
const SourceTerm& source_term)
55
{
66
const PolarGrid& grid = level.grid();
7-
assert(rhs_f.size() == static_cast<uint>(grid.numberOfNodes()));
7+
assert(std::ssize(rhs_f) == grid.numberOfNodes());
88

99
#pragma omp parallel
1010
{
@@ -55,7 +55,7 @@ void GMGPolar::build_rhs_f(const Level& level, Vector<double> rhs_f, const Bound
5555
void GMGPolar::discretize_rhs_f(const Level& level, Vector<double> rhs_f)
5656
{
5757
const PolarGrid& grid = level.grid();
58-
assert(rhs_f.size() == static_cast<uint>(grid.numberOfNodes()));
58+
assert(std::ssize(rhs_f) == grid.numberOfNodes());
5959

6060
if (level.levelCache().cacheDomainGeometry()) {
6161
/* DomainGeometry is cached */

src/GMGPolar/solver.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -319,8 +319,8 @@ void GMGPolar::extrapolatedResidual(const int current_level, Vector<double> resi
319319
const PolarGrid& fineGrid = levels_[current_level].grid();
320320
const PolarGrid& coarseGrid = levels_[current_level + 1].grid();
321321

322-
assert(residual.size() == static_cast<uint>(fineGrid.numberOfNodes()));
323-
assert(residual_next_level.size() == static_cast<uint>(coarseGrid.numberOfNodes()));
322+
assert(std::ssize(residual) == fineGrid.numberOfNodes());
323+
assert(std::ssize(residual_next_level) == coarseGrid.numberOfNodes());
324324

325325
#pragma omp parallel num_threads(max_omp_threads_)
326326
{
@@ -397,7 +397,7 @@ std::pair<double, double> GMGPolar::computeExactError(Level& level, ConstVector<
397397
const LevelCache& levelCache = level.levelCache();
398398

399399
assert(solution.size() == error.size());
400-
assert(solution.size() == static_cast<uint>(grid.numberOfNodes()));
400+
assert(std::ssize(solution) == grid.numberOfNodes());
401401

402402
#pragma omp parallel num_threads(max_omp_threads_)
403403
{

src/GMGPolar/writeToVTK.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ void GMGPolar::writeToVTK(const std::filesystem::path& file_path, const Level& l
6363
const PolarGrid& grid = level.grid();
6464
const LevelCache& level_cache = level.levelCache();
6565

66-
assert(static_cast<uint>(grid.numberOfNodes()) == grid_function.size());
66+
assert(std::ssize(grid_function) == grid.numberOfNodes());
6767

6868
const auto filename = file_path.stem().string() + ".vtu";
6969

src/Interpolation/extrapolated_prolongation.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@
8484
void Interpolation::applyExtrapolatedProlongation(const PolarGrid& coarse_grid, const PolarGrid& fine_grid,
8585
Vector<double> fine_result, ConstVector<double> coarse_values) const
8686
{
87-
assert(coarse_values.size() == static_cast<uint>(coarse_grid.numberOfNodes()));
88-
assert(fine_result.size() == static_cast<uint>(fine_grid.numberOfNodes()));
87+
assert(std::ssize(coarse_values) == coarse_grid.numberOfNodes());
88+
assert(std::ssize(fine_result) == fine_grid.numberOfNodes());
8989

9090
/* We split the loops into two regions to better respect the */
9191
/* access patterns of the smoother and improve cache locality. */

src/Interpolation/extrapolated_restriction.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@
4949
void Interpolation::applyExtrapolatedRestriction(const PolarGrid& fine_grid, const PolarGrid& coarse_grid,
5050
Vector<double> coarse_result, ConstVector<double> fine_values) const
5151
{
52-
assert(fine_values.size() == static_cast<uint>(fine_grid.numberOfNodes()));
53-
assert(coarse_result.size() == static_cast<uint>(coarse_grid.numberOfNodes()));
52+
assert(std::ssize(fine_values) == fine_grid.numberOfNodes());
53+
assert(std::ssize(coarse_result) == coarse_grid.numberOfNodes());
5454

5555
/* We split the loops into two regions to better respect the */
5656
/* access patterns of the smoother and improve cache locality. */

src/Interpolation/fmg_interpolation.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,8 +231,8 @@
231231
void Interpolation::applyFMGInterpolation(const PolarGrid& coarse_grid, const PolarGrid& fine_grid,
232232
Vector<double> fine_result, ConstVector<double> coarse_values) const
233233
{
234-
assert(coarse_values.size() == static_cast<uint>(coarse_grid.numberOfNodes()));
235-
assert(fine_result.size() == static_cast<uint>(fine_grid.numberOfNodes()));
234+
assert(std::ssize(coarse_values) == coarse_grid.numberOfNodes());
235+
assert(std::ssize(fine_result) == fine_grid.numberOfNodes());
236236

237237
#pragma omp parallel num_threads(max_omp_threads_)
238238
{

src/Interpolation/injection.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
void Interpolation::applyInjection(const PolarGrid& fine_grid, const PolarGrid& coarse_grid,
66
Vector<double> coarse_result, ConstVector<double> fine_values) const
77
{
8-
assert(fine_values.size() == static_cast<uint>(fine_grid.numberOfNodes()));
9-
assert(coarse_result.size() == static_cast<uint>(coarse_grid.numberOfNodes()));
8+
assert(std::ssize(fine_values) == fine_grid.numberOfNodes());
9+
assert(std::ssize(coarse_result) == coarse_grid.numberOfNodes());
1010

1111
#pragma omp parallel num_threads(max_omp_threads_)
1212
{

0 commit comments

Comments
 (0)