diff options
author | Arne Juul <arnej@verizonmedia.com> | 2021-03-12 08:21:26 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2021-03-12 08:21:26 +0000 |
commit | f44d2312cf0b6ab36612f573580feb627c509012 (patch) | |
tree | c36b39eb62252d0a26fc79855d5b0e27a9392b09 /eval | |
parent | dd8c1a0e61639d0bd5bc3816f205420b5f187632 (diff) |
avoid duplicating switches
Diffstat (limited to 'eval')
-rw-r--r-- | eval/src/vespa/eval/eval/cell_type.h | 13 |
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) { |