[libcamera-devel] [PATCH 08/10] ipa: raspberrypi: Re-use iterator variable

Niklas Söderlund niklas.soderlund at ragnatech.se
Wed Oct 14 14:32:08 CEST 2020


Hi Kieran,

On 2020-10-13 16:12:39 +0100, Kieran Bingham wrote:
> The function gauss_seidel2_SOR() makes use of a function scoped iterator
> 'i', for several loops, and has a precedence of re-using the function
> scoped iterator declaration, but then proceeds to alias the iterator
> with a new declaration in one of the later loops.
> 
> Re-use the existing iterator variable for consistency, and to prevent
> variable aliasing.
> 
> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> ---
>  src/ipa/raspberrypi/controller/rpi/alsc.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/ipa/raspberrypi/controller/rpi/alsc.cpp b/src/ipa/raspberrypi/controller/rpi/alsc.cpp
> index 42fbc8a476ad..8447f8bec18b 100644
> --- a/src/ipa/raspberrypi/controller/rpi/alsc.cpp
> +++ b/src/ipa/raspberrypi/controller/rpi/alsc.cpp
> @@ -628,7 +628,7 @@ static double gauss_seidel2_SOR(double const M[XY][4], double omega,
>  		lambda[i] = compute_lambda_bottom(i, M, lambda);
>  	lambda[0] = compute_lambda_bottom_start(0, M, lambda);
>  	double max_diff = 0;
> -	for (int i = 0; i < XY; i++) {
> +	for (i = 0; i < XY; i++) {

This change itself is good but reading the top of the function we have,

    static double gauss_seidel2_SOR(double const M[XY][4], double omega,
				    double lambda[XY])
    {
	    double old_lambda[XY];
	    for (int i = 0; i < XY; i++)
		    old_lambda[i] = lambda[i];
	    int i;

Would it not make sens to also fix this up in this patch?

>  		lambda[i] = old_lambda[i] + (lambda[i] - old_lambda[i]) * omega;
>  		if (fabs(lambda[i] - old_lambda[i]) > fabs(max_diff))
>  			max_diff = lambda[i] - old_lambda[i];
> -- 
> 2.25.1
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list