summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2021-03-12 08:21:26 +0000
committerArne Juul <arnej@verizonmedia.com>2021-03-12 08:21:26 +0000
commitf44d2312cf0b6ab36612f573580feb627c509012 (patch)
treec36b39eb62252d0a26fc79855d5b0e27a9392b09
parentdd8c1a0e61639d0bd5bc3816f205420b5f187632 (diff)
avoid duplicating switches
-rw-r--r--eval/src/vespa/eval/eval/cell_type.h13
1 files changed, 2 insertions, 11 deletions
diff --git a/eval/src/vespa/eval/eval/cell_type.h b/eval/src/vespa/eval/eval/cell_type.h
index 5fcaa57dc43..467f67c1348 100644
--- a/eval/src/vespa/eval/eval/cell_type.h
+++ b/eval/src/vespa/eval/eval/cell_type.h
@@ -159,11 +159,7 @@ struct TypifyCellMeta {
}
abort();
} else {
- switch (value.cell_type) {
- case CellType::DOUBLE: return f(Result<CellMeta(CellType::DOUBLE, false)>());
- case CellType::FLOAT: return f(Result<CellMeta(CellType::FLOAT, false)>());
- }
- abort();
+ return resolve(value.not_scalar(), f);
}
}
template <typename F> static decltype(auto) resolve(CellMetaNotScalar value, F &&f) {
@@ -180,12 +176,7 @@ struct TypifyCellMeta {
}
abort();
} else {
- switch (value.cell_type) {
- case CellType::DOUBLE: return f(Result<CellMeta(CellType::DOUBLE, false)>());
- case CellType::FLOAT: return f(Result<CellMeta(CellType::FLOAT, false)>());
- default: break;
- }
- abort();
+ return resolve(value.not_scalar(), f);
}
}
template <typename F> static decltype(auto) resolve(LimitedCellMetaNotScalar value, F &&f) {