[{"id":34462,"web_url":"https://patchwork.libcamera.org/comment/34462/","msgid":"<174980986337.425770.4684819231180014925@ping.linuxembedded.co.uk>","date":"2025-06-13T10:17:43","subject":"Re: [PATCH v2 4/4] libipa: pwl: Fix single point Pwl","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Stefan Klug (2025-06-13 11:09:39)\n> Fix the eval() function for Pwls that contain only a single point.\n> Remove the shouldi_fail from the corresponding test case.\n\n\ns/shouldi_fail/should_fail/\n\n> \n> Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>\n> ---\n>  src/ipa/libipa/pwl.cpp      | 4 ++++\n>  test/ipa/libipa/meson.build | 2 +-\n>  2 files changed, 5 insertions(+), 1 deletion(-)\n> \n> diff --git a/src/ipa/libipa/pwl.cpp b/src/ipa/libipa/pwl.cpp\n> index 3d2188170d83..69a9334112e8 100644\n> --- a/src/ipa/libipa/pwl.cpp\n> +++ b/src/ipa/libipa/pwl.cpp\n> @@ -210,6 +210,10 @@ double Pwl::eval(double x, int *span, bool updateSpan) const\n>                                         : points_.size() / 2 - 1);\n>         if (span && updateSpan)\n>                 *span = index;\n> +\n> +       if (points_.size() == 1)\n> +               return points_[0].y();\n\nThat's far clearer/more readable to me thanks.\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> +\n>         return points_[index].y() +\n>                (x - points_[index].x()) * (points_[index + 1].y() - points_[index].y()) /\n>                        (points_[index + 1].x() - points_[index].x());\n> diff --git a/test/ipa/libipa/meson.build b/test/ipa/libipa/meson.build\n> index c553366a7934..2070bed70222 100644\n> --- a/test/ipa/libipa/meson.build\n> +++ b/test/ipa/libipa/meson.build\n> @@ -4,7 +4,7 @@ libipa_test = [\n>      {'name': 'fixedpoint', 'sources': ['fixedpoint.cpp']},\n>      {'name': 'histogram', 'sources': ['histogram.cpp']},\n>      {'name': 'interpolator', 'sources': ['interpolator.cpp']},\n> -    {'name': 'pwl', 'sources': ['pwl.cpp'], 'should_fail': true },\n> +    {'name': 'pwl', 'sources': ['pwl.cpp'] },\n>  ]\n>  \n>  foreach test : libipa_test\n> -- \n> 2.48.1\n>","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 4BA65C3237\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 13 Jun 2025 10:17:49 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5896068DBF;\n\tFri, 13 Jun 2025 12:17:48 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C1EBA68DB4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 13 Jun 2025 12:17:46 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 57D43ED;\n\tFri, 13 Jun 2025 12:17:37 +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=\"lnxK9zUh\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1749809857;\n\tbh=kvaQXBH43QWi0YAFKurAVdN9uTM9Et0l58ESyadCR9U=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=lnxK9zUhbAezzm58UT8qVs/S8B+ZgP0H0KXKqUvgppjN3S5hfzU4Z3gDyshvwOA3N\n\tuF4SyQOxfO+pnXuzfyRg0NnnC4hIcLOB9/3y8dlLEHD4KZ63kFJMQlxyiF7+uymKDu\n\t5OxKKy05c1kul7ba/exQavGoI5pMHxEKCbxVOlOw=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20250613100947.589875-5-stefan.klug@ideasonboard.com>","References":"<20250613100947.589875-1-stefan.klug@ideasonboard.com>\n\t<20250613100947.589875-5-stefan.klug@ideasonboard.com>","Subject":"Re: [PATCH v2 4/4] libipa: pwl: Fix single point Pwl","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Stefan Klug <stefan.klug@ideasonboard.com>","To":"Stefan Klug <stefan.klug@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Fri, 13 Jun 2025 11:17:43 +0100","Message-ID":"<174980986337.425770.4684819231180014925@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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>"}}]