# HG changeset patch # User Rik # Date 1632934621 25200 # Node ID 750de16fd35c0077bd7ca6b143195e42b7bf8290 # Parent f5aba4d7e6511fed550225516eef2c8de2fec197 nchoosek.m: Fix algorithm for even K in cset f5aba4d7e651 (bug #61191). * nchoosek.m: When doing pairwise multiplication, flip the second range so that an even number is always multiplied by an odd number. diff -r f5aba4d7e651 -r 750de16fd35c scripts/specfun/nchoosek.m --- a/scripts/specfun/nchoosek.m Tue Sep 28 17:03:25 2021 -0700 +++ b/scripts/specfun/nchoosek.m Wed Sep 29 09:57:01 2021 -0700 @@ -124,9 +124,9 @@ numer = [(v-k+1:v-(k+1)/2) .* (v-1:-1:v-(k-1)/2) / 2, v]; denom = [(1:k/2) .* (k-1:-1:(k+1)/2) / 2, k]; else # k is even - numer = (v-k+1:v-k/2) .* (v-k/2+1:v) / 2; - denom = (1:k/2) .* (k/2+1:k) / 2; - end + numer = (v-k+1:v-k/2) .* (v:-1:v-k/2+1) / 2; + denom = (1:k/2) .* (k:-1:k/2+1) / 2; + endif # Remove common factors from numerator and denominator do