Patch Detail
Show a patch.
GET /api/patches/21381/?format=api
{ "id": 21381, "url": "https://patchwork.libcamera.org/api/patches/21381/?format=api", "web_url": "https://patchwork.libcamera.org/patch/21381/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20240926100640.3504-1-laurent.pinchart@ideasonboard.com>", "date": "2024-09-26T10:06:39", "name": "[1/2] ipa: rpi: Replace last users of math.c", "commit_ref": "09c291192c58fcf37a997aab273e3b0409a79277", "pull_url": null, "state": "accepted", "archived": false, "hash": "bd6600ed92b61085fd3c96a76968cce8895a2b06", "submitter": { "id": 2, "url": "https://patchwork.libcamera.org/api/people/2/?format=api", "name": "Laurent Pinchart", "email": "laurent.pinchart@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/21381/mbox/", "series": [ { "id": 4630, "url": "https://patchwork.libcamera.org/api/series/4630/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4630", "date": "2024-09-26T10:06:39", "name": "[1/2] ipa: rpi: Replace last users of math.c", "version": 1, "mbox": "https://patchwork.libcamera.org/series/4630/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/21381/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/21381/checks/", "tags": {}, "headers": { "Return-Path": "<libcamera-devel-bounces@lists.libcamera.org>", "X-Original-To": "parsemail@patchwork.libcamera.org", "Delivered-To": "parsemail@patchwork.libcamera.org", "Received": [ "from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 338FDC3257\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 26 Sep 2024 10:06:45 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C22F763510;\n\tThu, 26 Sep 2024 12:06:44 +0200 (CEST)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DC380634F9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 26 Sep 2024 12:06:42 +0200 (CEST)", "from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id AD3DB169;\n\tThu, 26 Sep 2024 12:05:14 +0200 (CEST)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"GTZQ+njZ\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1727345114;\n\tbh=/VhWJCpNsnCDt92jHJL43dYe6j/u6ySzhdsBNb3OX+0=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=GTZQ+njZhNIykFvn7vNqHQP0pcoP5FLnizqrsMYZy1A39xMCrqph3VlXmLAqIoOWf\n\tS1H4VAal86JbGjTotKslknVUvQ7lSZyKWzhTkPJ0Vkq578bI2nllgeRRzy2k8ktJ2L\n\ttkkwzx2eLEEJ0DUKewOoRzqaucnILerPu+aSkNjg=", "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Naushir Patuck <naush@raspberrypi.com>,\n\tDavid Plowman <david.plowman@raspberrypi.com>", "Subject": "[PATCH 1/2] ipa: rpi: Replace last users of math.c", "Date": "Thu, 26 Sep 2024 13:06:39 +0300", "Message-ID": "<20240926100640.3504-1-laurent.pinchart@ideasonboard.com>", "X-Mailer": "git-send-email 2.45.2", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "libcamera-devel@lists.libcamera.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "<libcamera-devel.lists.libcamera.org>", "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>", "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>", "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>", "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>", "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "As described in the coding style document, libcamera favours <cmath>\nover <math.h>. Replace the last few occurrences of the latter with the\nformer in the Raspberry Pi IPA and adapt the code accordingly. In some\ncases, the <math.h> include is simply dropped as it isn't needed.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n src/ipa/rpi/cam_helper/cam_helper_imx283.cpp | 2 +-\n src/ipa/rpi/cam_helper/cam_helper_imx290.cpp | 6 +++---\n src/ipa/rpi/controller/histogram.cpp | 6 +++---\n src/ipa/rpi/controller/rpi/af.cpp | 2 +-\n src/ipa/rpi/controller/rpi/black_level.cpp | 1 -\n src/ipa/rpi/controller/rpi/lux.cpp | 1 -\n src/ipa/rpi/controller/rpi/noise.cpp | 4 ++--\n src/ipa/rpi/controller/rpi/sharpen.cpp | 4 ++--\n 8 files changed, 12 insertions(+), 14 deletions(-)\n\n\nbase-commit: f2088eb91fd6477b152233b9031cb115ca1ae824", "diff": "diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx283.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx283.cpp\nindex 1fd4d7f31b04..cb0be72a0aa7 100644\n--- a/src/ipa/rpi/cam_helper/cam_helper_imx283.cpp\n+++ b/src/ipa/rpi/cam_helper/cam_helper_imx283.cpp\n@@ -8,7 +8,7 @@\n #include <assert.h>\n \n #include \"cam_helper.h\"\n-#include \"math.h\"\n+\n using namespace RPiController;\n \n class CamHelperImx283 : public CamHelper\ndiff --git a/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp\nindex 24275e121836..e57ab5381c31 100644\n--- a/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp\n+++ b/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp\n@@ -5,7 +5,7 @@\n * camera helper for imx290 sensor\n */\n \n-#include <math.h>\n+#include <cmath>\n \n #include \"cam_helper.h\"\n \n@@ -37,13 +37,13 @@ CamHelperImx290::CamHelperImx290()\n \n uint32_t CamHelperImx290::gainCode(double gain) const\n {\n-\tint code = 66.6667 * log10(gain);\n+\tint code = 66.6667 * std::log10(gain);\n \treturn std::max(0, std::min(code, 0xf0));\n }\n \n double CamHelperImx290::gain(uint32_t gainCode) const\n {\n-\treturn pow(10, 0.015 * gainCode);\n+\treturn std::pow(10, 0.015 * gainCode);\n }\n \n void CamHelperImx290::getDelays(int &exposureDelay, int &gainDelay,\ndiff --git a/src/ipa/rpi/controller/histogram.cpp b/src/ipa/rpi/controller/histogram.cpp\nindex ba5b25dd9b36..130898397d3c 100644\n--- a/src/ipa/rpi/controller/histogram.cpp\n+++ b/src/ipa/rpi/controller/histogram.cpp\n@@ -4,7 +4,7 @@\n *\n * histogram calculations\n */\n-#include <math.h>\n+#include <cmath>\n #include <stdio.h>\n \n #include \"histogram.h\"\n@@ -49,9 +49,9 @@ double Histogram::interBinMean(double binLo, double binHi) const\n {\n \tassert(binHi >= binLo);\n \tdouble sumBinFreq = 0, cumulFreq = 0;\n-\tfor (double binNext = floor(binLo) + 1.0; binNext <= ceil(binHi);\n+\tfor (double binNext = std::floor(binLo) + 1.0; binNext <= std::ceil(binHi);\n \t binLo = binNext, binNext += 1.0) {\n-\t\tint bin = floor(binLo);\n+\t\tint bin = std::floor(binLo);\n \t\tdouble freq = (cumulative_[bin + 1] - cumulative_[bin]) *\n \t\t\t (std::min(binNext, binHi) - binLo);\n \t\tsumBinFreq += bin * freq;\ndiff --git a/src/ipa/rpi/controller/rpi/af.cpp b/src/ipa/rpi/controller/rpi/af.cpp\nindex 5ca76dd98b4b..2157eb94f427 100644\n--- a/src/ipa/rpi/controller/rpi/af.cpp\n+++ b/src/ipa/rpi/controller/rpi/af.cpp\n@@ -7,8 +7,8 @@\n \n #include \"af.h\"\n \n+#include <cmath>\n #include <iomanip>\n-#include <math.h>\n #include <stdlib.h>\n \n #include <libcamera/base/log.h>\ndiff --git a/src/ipa/rpi/controller/rpi/black_level.cpp b/src/ipa/rpi/controller/rpi/black_level.cpp\nindex ea991df9f60d..4c968f14a1ca 100644\n--- a/src/ipa/rpi/controller/rpi/black_level.cpp\n+++ b/src/ipa/rpi/controller/rpi/black_level.cpp\n@@ -5,7 +5,6 @@\n * black level control algorithm\n */\n \n-#include <math.h>\n #include <stdint.h>\n \n #include <libcamera/base/log.h>\ndiff --git a/src/ipa/rpi/controller/rpi/lux.cpp b/src/ipa/rpi/controller/rpi/lux.cpp\nindex 7b31faab472f..652d85d7e22f 100644\n--- a/src/ipa/rpi/controller/rpi/lux.cpp\n+++ b/src/ipa/rpi/controller/rpi/lux.cpp\n@@ -4,7 +4,6 @@\n *\n * Lux control algorithm\n */\n-#include <math.h>\n \n #include <libcamera/base/log.h>\n \ndiff --git a/src/ipa/rpi/controller/rpi/noise.cpp b/src/ipa/rpi/controller/rpi/noise.cpp\nindex 3f1c62cf1508..145175fb4940 100644\n--- a/src/ipa/rpi/controller/rpi/noise.cpp\n+++ b/src/ipa/rpi/controller/rpi/noise.cpp\n@@ -5,7 +5,7 @@\n * Noise control algorithm\n */\n \n-#include <math.h>\n+#include <cmath>\n \n #include <libcamera/base/log.h>\n \n@@ -69,7 +69,7 @@ void Noise::prepare(Metadata *imageMetadata)\n \t\t * make some adjustments based on the camera mode (such as\n \t\t * binning), if we knew how to discover it...\n \t\t */\n-\t\tdouble factor = sqrt(deviceStatus.analogueGain) / modeFactor_;\n+\t\tdouble factor = std::sqrt(deviceStatus.analogueGain) / modeFactor_;\n \t\tstruct NoiseStatus status;\n \t\tstatus.noiseConstant = referenceConstant_ * factor;\n \t\tstatus.noiseSlope = referenceSlope_ * factor;\ndiff --git a/src/ipa/rpi/controller/rpi/sharpen.cpp b/src/ipa/rpi/controller/rpi/sharpen.cpp\nindex 39537f4aaf0a..1d143ff53287 100644\n--- a/src/ipa/rpi/controller/rpi/sharpen.cpp\n+++ b/src/ipa/rpi/controller/rpi/sharpen.cpp\n@@ -5,7 +5,7 @@\n * sharpening control algorithm\n */\n \n-#include <math.h>\n+#include <cmath>\n \n #include <libcamera/base/log.h>\n \n@@ -68,7 +68,7 @@ void Sharpen::prepare(Metadata *imageMetadata)\n \t * we adjust the limit and threshold less aggressively. Using a sqrt\n \t * function is an arbitrary but gentle way of accomplishing this.\n \t */\n-\tdouble userStrengthSqrt = sqrt(userStrength_);\n+\tdouble userStrengthSqrt = std::sqrt(userStrength_);\n \tstruct SharpenStatus status;\n \t/*\n \t * Binned modes seem to need the sharpening toned down with this\n", "prefixes": [ "1/2" ] }