[libcamera-devel] [PATCH 06/11] Replaces abs() with std::abs(), which supports double-precision in clang.

nicholas at rothemail.net nicholas at rothemail.net
Mon Oct 24 07:55:38 CEST 2022


From: Nicholas Roth <nicholas at rothemail.net>

---
 src/ipa/raspberrypi/controller/pwl.cpp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/ipa/raspberrypi/controller/pwl.cpp b/src/ipa/raspberrypi/controller/pwl.cpp
index c59f5fa1..70c2e24b 100644
--- a/src/ipa/raspberrypi/controller/pwl.cpp
+++ b/src/ipa/raspberrypi/controller/pwl.cpp
@@ -6,6 +6,7 @@
  */
 
 #include <cassert>
+#include <cmath>
 #include <stdexcept>
 
 #include "pwl.h"
@@ -168,7 +169,7 @@ Pwl Pwl::compose(Pwl const &other, const double eps) const
 	while (thisSpan != (int)points_.size() - 1) {
 		double dx = points_[thisSpan + 1].x - points_[thisSpan].x,
 		       dy = points_[thisSpan + 1].y - points_[thisSpan].y;
-		if (abs(dy) > eps &&
+		if (std::abs(dy) > eps &&
 		    otherSpan + 1 < (int)other.points_.size() &&
 		    points_[thisSpan + 1].y >=
 			    other.points_[otherSpan + 1].x + eps) {
@@ -181,7 +182,7 @@ Pwl Pwl::compose(Pwl const &other, const double eps) const
 				 points_[thisSpan].y) *
 					dx / dy;
 			thisY = other.points_[++otherSpan].x;
-		} else if (abs(dy) > eps && otherSpan > 0 &&
+		} else if (std::abs(dy) > eps && otherSpan > 0 &&
 			   points_[thisSpan + 1].y <=
 				   other.points_[otherSpan - 1].x - eps) {
 			/*
-- 
2.34.1



More information about the libcamera-devel mailing list