[libcamera-devel] [PATCH] ipa: rkisp1: lsc: Use double instead of float to accumulate vector of doubles

Marvin Schmidt marvin.schmidt1987 at gmail.com
Mon Aug 29 20:28:46 CEST 2022


clang-tidy's bugprone-fold-init-type check warns about this:

> ../src/ipa/rkisp1/algorithms/lsc.cpp:61:14: warning: folding type 'double' into type 'float' might result in loss of precision [bugprone-fold-init-type]
>         float sum = std::accumulate(sizes.begin(), sizes.end(), 0.0f);
>                     ^

Fixes: b3e96411 ("ipa: rkisp1: Add support of Lens Shading Correction control")

Signed-off-by: Marvin Schmidt <marvin.schmidt1987 at gmail.com>
---
 src/ipa/rkisp1/algorithms/lsc.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/ipa/rkisp1/algorithms/lsc.cpp b/src/ipa/rkisp1/algorithms/lsc.cpp
index da287ac7..b9efc063 100644
--- a/src/ipa/rkisp1/algorithms/lsc.cpp
+++ b/src/ipa/rkisp1/algorithms/lsc.cpp
@@ -58,7 +58,7 @@ static std::vector<double> parseSizes(const YamlObject &tuningData,
 	 * prevent an exact match (further adjustments will be performed in
 	 * LensShadingCorrection::prepare()).
 	 */
-	float sum = std::accumulate(sizes.begin(), sizes.end(), 0.0f);
+	double sum = std::accumulate(sizes.begin(), sizes.end(), 0.0);
 	if (sum < 0.495 || sum > 0.505) {
 		LOG(RkISP1Lsc, Error)
 			<< "Invalid '" << prop << "' values: sum of the elements"
-- 
2.37.2



More information about the libcamera-devel mailing list