Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions src/EnergyPlus/OutputReportTabularAnnual.cc
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
namespace EnergyPlus::OutputReportTabularAnnual {

constexpr Real64 veryLarge = std::numeric_limits<Real64>::max();
constexpr Real64 verySmall = std::numeric_limits<Real64>::min();
constexpr Real64 verySmall = std::numeric_limits<Real64>::lowest();

void GetInputTabularAnnual(EnergyPlusData &state)
{
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down
5 changes: 3 additions & 2 deletions tst/EnergyPlus/unit/OutputReportTabularAnnual.unit.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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<Real64>::lowest());
EXPECT_EQ(fieldSetParams[13].std::string::substr(0, 6), limit.substr(0, 6)); // m_cell[0].result

meter1->CurTSValue = 15.;
meter2->CurTSValue = 55.;
Expand Down
Loading