summaryrefslogtreecommitdiffstats
path: root/ml/Dimension.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ml/Dimension.cc')
-rw-r--r--ml/Dimension.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/ml/Dimension.cc b/ml/Dimension.cc
index 290d4c74..3146e45a 100644
--- a/ml/Dimension.cc
+++ b/ml/Dimension.cc
@@ -161,8 +161,10 @@ void PredictableDimension::addValue(CalculatedNumber Value, bool Exists) {
std::pair<MLResult, bool> PredictableDimension::predict() {
unsigned N = Cfg.DiffN + Cfg.SmoothN + Cfg.LagN;
- if (CNs.size() != N)
+ if (CNs.size() != N) {
+ AnomalyBit = false;
return { MLResult::MissingData, AnomalyBit };
+ }
CalculatedNumber *TmpCNs = new CalculatedNumber[N * (Cfg.LagN + 1)]();
std::memcpy(TmpCNs, CNs.data(), N * sizeof(CalculatedNumber));
@@ -172,8 +174,10 @@ std::pair<MLResult, bool> PredictableDimension::predict() {
AnomalyScore = computeAnomalyScore(SB);
delete[] TmpCNs;
- if (AnomalyScore == std::numeric_limits<CalculatedNumber>::quiet_NaN())
+ if (AnomalyScore == std::numeric_limits<CalculatedNumber>::quiet_NaN()) {
+ AnomalyBit = false;
return { MLResult::NaN, AnomalyBit };
+ }
AnomalyBit = AnomalyScore >= (100 * Cfg.DimensionAnomalyScoreThreshold);
return { MLResult::Success, AnomalyBit };