diff --git a/src/EnergyPlus/OutputReportTabularAnnual.cc b/src/EnergyPlus/OutputReportTabularAnnual.cc index 373d4432a7e..c57a9086233 100644 --- a/src/EnergyPlus/OutputReportTabularAnnual.cc +++ b/src/EnergyPlus/OutputReportTabularAnnual.cc @@ -75,7 +75,7 @@ namespace EnergyPlus::OutputReportTabularAnnual { constexpr Real64 veryLarge = std::numeric_limits::max(); -constexpr Real64 verySmall = std::numeric_limits::min(); +constexpr Real64 verySmall = std::numeric_limits::lowest(); void GetInputTabularAnnual(EnergyPlusData &state) { @@ -187,7 +187,6 @@ void AnnualTable::setupGathering(EnergyPlusData &state) std::transform(filterFieldUpper.begin(), filterFieldUpper.end(), filterFieldUpper.begin(), ::toupper); const bool useFilter = !m_filter.empty(); - // Gather key lists for each field set and build the union of all keys (optionally filtered) for (auto &fldSt : m_annualFields) { const int keyCount = fldSt.getVariableKeyCountandTypeFromFldSt(state, typeVar, avgSumVar, stepTypeVar, unitsVar); fldSt.getVariableKeysFromFldSt(state, typeVar, keyCount, fldSt.m_namesOfKeys, fldSt.m_indexesForKeyVar); @@ -228,11 +227,11 @@ void AnnualTable::setupGathering(EnergyPlusData &state) switch (fldSt.m_aggregate) { case AnnualFieldSet::AggregationKind::maximum: case AnnualFieldSet::AggregationKind::maximumDuringHoursShown: - fldSt.m_cell[tableRowIndex].result = -9.9e99; + fldSt.m_cell[tableRowIndex].result = verySmall; break; case AnnualFieldSet::AggregationKind::minimum: case AnnualFieldSet::AggregationKind::minimumDuringHoursShown: - fldSt.m_cell[tableRowIndex].result = 9.9e99; + fldSt.m_cell[tableRowIndex].result = veryLarge; break; default: fldSt.m_cell[tableRowIndex].result = 0.0; @@ -594,11 +593,11 @@ void AnnualTable::resetGathering() switch (fldSt.m_aggregate) { case AnnualFieldSet::AggregationKind::maximum: case AnnualFieldSet::AggregationKind::maximumDuringHoursShown: - cell.result = -9.9e99; + cell.result = verySmall; break; case AnnualFieldSet::AggregationKind::minimum: case AnnualFieldSet::AggregationKind::minimumDuringHoursShown: - cell.result = 9.9e99; + cell.result = veryLarge; break; default: cell.result = 0.0; diff --git a/tst/EnergyPlus/unit/OutputReportTabularAnnual.unit.cc b/tst/EnergyPlus/unit/OutputReportTabularAnnual.unit.cc index eba306fc657..d521f57342f 100644 --- a/tst/EnergyPlus/unit/OutputReportTabularAnnual.unit.cc +++ b/tst/EnergyPlus/unit/OutputReportTabularAnnual.unit.cc @@ -332,8 +332,9 @@ TEST_F(EnergyPlusFixture, OutputReportTabularAnnual_GatherResults_MinMaxHrsShown EXPECT_EQ(fieldSetParams[13], "0.000000"); // m_cell[0].result fieldSetParams = annualTables.back().inspectTableFieldSets(1); - EXPECT_EQ(fieldSetParams[0], "ELECTRICITY:MYTH"); // m_colHead - EXPECT_EQ(fieldSetParams[13].std::string::substr(0, 6), "-99000"); // m_cell[0].result + EXPECT_EQ(fieldSetParams[0], "ELECTRICITY:MYTH"); // m_colHead + std::string const limit = std::to_string(std::numeric_limits::lowest()); + EXPECT_EQ(fieldSetParams[13].std::string::substr(0, 6), limit.substr(0, 6)); // m_cell[0].result meter1->CurTSValue = 15.; meter2->CurTSValue = 55.;