From 8975c70ca7695f2579ae5416e537e73a7cff607a Mon Sep 17 00:00:00 2001 From: Stephane Del Pino <stephane.delpino44@gmail.com> Date: Thu, 17 Oct 2019 11:53:16 +0200 Subject: [PATCH] Add `trunc`, `rint`, `lrint`, `round` and `lround` functions --- src/language/CMathModule.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/language/CMathModule.cpp b/src/language/CMathModule.cpp index 46d2f1f94..a40372b7b 100644 --- a/src/language/CMathModule.cpp +++ b/src/language/CMathModule.cpp @@ -49,4 +49,19 @@ CMathModule::CMathModule() this->_addFunction("pow", std::make_shared<CFunctionEmbedder<double, double, double>>(std::function<double(double, double)>{ [](double x, double y) -> double { return std::pow(x, y); }})); + + this->_addFunction("trunc", std::make_shared<CFunctionEmbedder<double, double>>( + std::function<double(double)>{[](double x) -> double { return std::trunc(x); }})); + + this->_addFunction("round", std::make_shared<CFunctionEmbedder<double, double>>( + std::function<double(double)>{[](double x) -> double { return std::round(x); }})); + + this->_addFunction("lround", std::make_shared<CFunctionEmbedder<int64_t, double>>( + std::function<int64_t(double)>{[](double x) -> int64_t { return std::lround(x); }})); + + this->_addFunction("rint", std::make_shared<CFunctionEmbedder<double, double>>( + std::function<double(double)>{[](double x) -> double { return std::rint(x); }})); + + this->_addFunction("lrint", std::make_shared<CFunctionEmbedder<int64_t, double>>( + std::function<int64_t(double)>{[](double x) -> int64_t { return std::lrint(x); }})); } -- GitLab