Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixAnalysisResult.java @ 9646:0380717105ba
Implemented alternative fitting strategy for Log-Linear function.
author | Gernot Belger <g.belger@bjoernsen.de> |
---|---|
date | Mon, 02 Dec 2019 17:56:15 +0100 |
parents | 9744ce3c3853 |
children |
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde * Software engineering by Intevation GmbH * * This file is Free Software under the GNU AGPL (>=v3) * and comes with ABSOLUTELY NO WARRANTY! Check out the * documentation coming with Dive4Elements River for details. */ package org.dive4elements.river.artifacts.model.fixings; import org.dive4elements.river.artifacts.model.Parameters; import org.dive4elements.river.utils.KMIndex; public class FixAnalysisResult extends FixResult { private static final long serialVersionUID = 1L; private final KMIndex<AnalysisPeriod[]> analysisKmPeriods; private final AnalysisPeriodEventResults analysisEventResults; public FixAnalysisResult(final Parameters parameters, final FixResultColumns fixResultColumns, final KMIndex<AnalysisPeriod[]> analysisKmPeriods, final AnalysisPeriodEventResults analysisEventResults) { super(parameters, fixResultColumns); this.analysisKmPeriods = analysisKmPeriods; this.analysisEventResults = analysisEventResults; } public final int getUsedSectorsInAnalysisPeriods() { int result = 0; for (final KMIndex.Entry<AnalysisPeriod[]> entry : this.analysisKmPeriods) { for (final AnalysisPeriod period : entry.getValue()) { for (int i = 0; i < 4; ++i) { result |= period.getQSectorAverage(i) != null ? (1 << i) : 0; } // XXX: Stop early on result == ~(~0 << 4)) ? } } return result; } public final KMIndex<AnalysisPeriod[]> getAnalysisPeriods() { return this.analysisKmPeriods; } public AnalysisPeriodEventResults getAnalysisEventResults() { return this.analysisEventResults; } }