replace std::max_element with std::ranges::max_element where appropriate

the c++-20 constrained algorithm is safer and code is more readable
This commit is contained in:
Arne Morten Kvarving committed 2026-02-24 07:59:48 +01:00
1 parent 0484d42517
commit 35d9ab77bb
7 files changed
+15 -11

No files matched your search

@@ -980,7 +980,7 @@ int GenericOutputBlackoilModule<FluidSystem>::
regionMax(const std::vector<int>& region,
const Parallel::Communication& comm)
{
const auto max_value = region.empty() ? 0 : *std::max_element(region.begin(), region.end());
const auto max_value = region.empty() ? 0 : *std::ranges::max_element(region);
return comm.max(max_value);
}
+1 -1
View File
@@ -34,7 +34,7 @@ InterRegFlowMapSingleFIP(const std::vector<int>& region)
{
if (! region.empty()) {
this->maxLocalRegionID_= this->maxGlobalRegionID_ =
*std::max_element(region.begin(), region.end());
*std::ranges::max_element(region);
}
std::ranges::transform(region, this->region_.begin(),
+1 -1
View File
@@ -58,7 +58,7 @@ namespace {
for (auto rset = 0*nset; rset < nset; ++rset) {
const auto& reg = getRegionArray(regionNames[rset]);
auto m = std::max_element(reg.begin(), reg.end());
const auto m = std::ranges::max_element(reg);
if (m == reg.end()) { // reg.empty()
continue;
}
@@ -98,8 +98,10 @@ namespace Amg
diag_block_transpose.solve(bweights, rhs);
}
double abs_max = *std::max_element(
bweights.begin(), bweights.end(), [](double a, double b) { return std::fabs(a) < std::fabs(b); });
const double abs_max =
*std::ranges::max_element(bweights,
[](double a, double b)
{ return std::fabs(a) < std::fabs(b); });
bweights /= std::fabs(abs_max);
weights[row_idx] = bweights;
}
@@ -208,8 +210,10 @@ namespace Amg
}
block_transpose.solve(bweights, rhs);
double abs_max = *std::max_element(
bweights.begin(), bweights.end(), [](double a, double b) { return std::fabs(a) < std::fabs(b); });
const double abs_max =
*std::ranges::max_element(bweights,
[](double a, double b)
{ return std::fabs(a) < std::fabs(b); });
// probably a scaling which could give approximately total compressibility would be better
bweights /= std::fabs(abs_max); // given normal densities this scales weights to about 1.
@@ -150,8 +150,8 @@ namespace Opm
/// \brief return max step length used so far
double AdaptiveSimulatorTimer::maxStepLength () const
{
if( steps_.empty() ) return 0.0;
return *(std::max_element( steps_.begin(), steps_.end() ));
if (steps_.empty()) return 0.0;
return *std::ranges::max_element(steps_);
}
/// \brief return min step length used so far
@@ -157,7 +157,7 @@ void Opm::ParallelPAvgDynamicSourceData<Scalar>::defineCommunication()
// permutation of 0..allIndices.size()-1 and the maximum source
// location may exceed size()-1. Resize the storageIndex_ according
// to the largest source location ID.
if (auto maxIxPos = std::max_element(allIndices.begin(), allIndices.end());
if (const auto maxIxPos = std::ranges::max_element(allIndices);
maxIxPos != allIndices.end())
{
// +1 for zero-based indices.
+1 -1
View File
@@ -127,7 +127,7 @@ BOOST_AUTO_TEST_CASE(CheckMassBalanceWithinTRGMBE)
auto mbw = data["MB_Water"];
auto mbg = data["MB_Gas"];
const int num_reports = 1 + *std::max_element(rstep.begin(), rstep.end());
const int num_reports = 1 + *std::ranges::max_element(rstep);
std::vector<double> max_mb;
max_mb.reserve(num_reports);