From 7e397ac92bda0e68db0f9cff90d239fc461a7833 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Tue, 27 Aug 2019 11:17:39 +0200 Subject: [PATCH] [apps/calculation] Clean code --- apps/calculation/calculation.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/apps/calculation/calculation.cpp b/apps/calculation/calculation.cpp index 84ba7eceb..25ea892c0 100644 --- a/apps/calculation/calculation.cpp +++ b/apps/calculation/calculation.cpp @@ -119,16 +119,18 @@ Calculation::DisplayOutput Calculation::displayOutput(Context * context) { m_displayOutput = DisplayOutput::ExactOnly; } else if (input().recursivelyMatches( [](const Expression e, Context * c) { + constexpr int approximateOnlyTypesCount = 5; /* If the input contains the following types, we only display the * approximate output. */ - ExpressionNode::Type t = e.type(); - return (t == ExpressionNode::Type::Random) - || (t == ExpressionNode::Type::Round) - || (t == ExpressionNode::Type::FracPart) - || (t == ExpressionNode::Type::ConfidenceInterval) - || (t == ExpressionNode::Type::PredictionInterval); - }, - context, true)) + ExpressionNode::Type approximateOnlyTypes[approximateOnlyTypesCount] = { + ExpressionNode::Type::Random, + ExpressionNode::Type::Round, + ExpressionNode::Type::FracPart, + ExpressionNode::Type::ConfidenceInterval, + ExpressionNode::Type::PredictionInterval + }; + return e.isOfType(approximateOnlyTypes, approximateOnlyTypesCount); + }, context, true)) { m_displayOutput = DisplayOutput::ApproximateOnly; } else if (strcmp(exactOutputText(), approximateOutputText()) == 0) {