From: John Darrington Date: Sun, 7 Feb 2021 08:54:49 +0000 (+0100) Subject: src/math/wilcoxon-sig.c (count_sums_to_W): Avoid use of unsigned value. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=63d7f2b943e987f11fc913a47031b16533382b46;p=pspp src/math/wilcoxon-sig.c (count_sums_to_W): Avoid use of unsigned value. Use signed long int, not unsigned long int. Found by cppcheck. --- diff --git a/src/math/wilcoxon-sig.c b/src/math/wilcoxon-sig.c index a1b43dae50..17484f1411 100644 --- a/src/math/wilcoxon-sig.c +++ b/src/math/wilcoxon-sig.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2009 Free Software Foundation, Inc. + Copyright (C) 2009, 2021 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -86,7 +86,7 @@ only 250,047. */ static unsigned long int -count_sums_to_W (unsigned long int n, unsigned long int w) +count_sums_to_W (unsigned long int n, long int w) { /* The array contain ints even though everything else is long, but no element in the array can have a value bigger than N, @@ -95,10 +95,11 @@ count_sums_to_W (unsigned long int n, unsigned long int w) unsigned long int max; int *array; + assert (w >= 0); assert (n < CHAR_BIT * sizeof (unsigned long int)); if (n == 0) return 0; - else if (w <= 0) + else if (w == 0) return 1 << n; else if (w > n * (n + 1) / 2) return 0;