Message ID | 20221024055543.116040-7-nicholas@rothemail.net |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
Hi Nicholas, Thank you for the patch. On Mon, Oct 24, 2022 at 12:55:38AM -0500, Nicholas Roth via libcamera-devel wrote: > From: Nicholas Roth <nicholas@rothemail.net> Apart from the commit message issue raised by Kieran, the code change looks good to me. I expect to merge the patch from v3. > --- > 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) { > /*
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) { /*
From: Nicholas Roth <nicholas@rothemail.net> --- src/ipa/raspberrypi/controller/pwl.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)