/ src / common / CalculatorEngineCommon / Calculator.cpp
Calculator.cpp
 1  #include "pch.h"
 2  #include "Calculator.h"
 3  #include "Calculator.g.cpp"
 4  #include "ExprtkEvaluator.h"
 5  
 6  namespace winrt::CalculatorEngineCommon::implementation
 7  {
 8      Calculator::Calculator(winrt::Windows::Foundation::Collections::IPropertySet const& constants)
 9      {
10          for (auto const& pair : constants)
11          {
12              auto key = pair.Key();
13              auto value = winrt::unbox_value<double>(pair.Value());
14              m_constants.emplace(winrt::to_string(key), value);
15          }
16      }
17  
18      hstring Calculator::EvaluateExpression(hstring const& expression)
19      {
20          auto result = ExprtkCalculator::internal::EvaluateExpression(winrt::to_string(expression), m_constants);
21  
22          return hstring(result);
23      }
24  }