From 041be829fcc82e4e214e55c2ac1a4218a15c0582 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Sat, 16 Feb 2019 16:08:43 +0100 Subject: [PATCH] ENH: improvements to label/scalar ranges - construct from MinMax, optional start index for identity factory method to match Foam::identity() - use GREAT instead of VGREAT in inverted scalarRange. Consistent with boundBox - to reduce the potential of overflow if calculating the span. - add min()/max() methods to labelRange --- src/OpenFOAM/primitives/Tuple2/Tuple2.H | 8 +- .../primitives/ranges/MinMax/MinMax.H | 12 +-- .../primitives/ranges/MinMax/MinMaxI.H | 8 +- .../primitives/ranges/labelRange/labelRange.C | 16 +++- .../primitives/ranges/labelRange/labelRange.H | 34 ++++++-- .../ranges/labelRange/labelRangeI.H | 20 ++++- .../ranges/scalarRange/scalarRange.C | 57 ++++++++++++- .../ranges/scalarRange/scalarRange.H | 85 +++++++++++++------ .../ranges/scalarRange/scalarRangeI.H | 70 ++++++++------- 9 files changed, 225 insertions(+), 85 deletions(-) diff --git a/src/OpenFOAM/primitives/Tuple2/Tuple2.H b/src/OpenFOAM/primitives/Tuple2/Tuple2.H index c47c96f992..599649d9a0 100644 --- a/src/OpenFOAM/primitives/Tuple2/Tuple2.H +++ b/src/OpenFOAM/primitives/Tuple2/Tuple2.H @@ -114,25 +114,25 @@ public: // Member Functions //- Return first - inline const T1& first() const + inline const T1& first() const noexcept { return f_; } //- Return first - inline T1& first() + inline T1& first() noexcept { return f_; } //- Return second - inline const T2& second() const + inline const T2& second() const noexcept { return s_; } //- Return second - inline T2& second() + inline T2& second() noexcept { return s_; } diff --git a/src/OpenFOAM/primitives/ranges/MinMax/MinMax.H b/src/OpenFOAM/primitives/ranges/MinMax/MinMax.H index 2400289f6b..1cd0243075 100644 --- a/src/OpenFOAM/primitives/ranges/MinMax/MinMax.H +++ b/src/OpenFOAM/primitives/ranges/MinMax/MinMax.H @@ -112,8 +112,8 @@ template class MinMax; class zero; // Common min/max types -typedef MinMax