# HG changeset patch # User jwe # Date 1156435028 0 # Node ID 1c61d6a2c9e6dd90acc036c0cafbc1e9f1e7f3dc # Parent 5c2747f40b568ba1b559dbaa365f762fb9825113 [project @ 2006-08-24 15:57:08 by jwe] diff -r 5c2747f40b56 -r 1c61d6a2c9e6 scripts/ChangeLog --- a/scripts/ChangeLog Wed Aug 23 19:54:47 2006 +0000 +++ b/scripts/ChangeLog Thu Aug 24 15:57:08 2006 +0000 @@ -1,3 +1,8 @@ +2006-08-24 Søren Hauberg + + * miscellaneous/bincoeff.m: Use logical indexing instead of + indices computed by calling find on the logical index. + 2006-08-23 Quentin Spencer * control/system/tf2zp.m: Simplify gain calculation. diff -r 5c2747f40b56 -r 1c61d6a2c9e6 scripts/miscellaneous/bincoeff.m --- a/scripts/miscellaneous/bincoeff.m Wed Aug 23 19:54:47 2006 +0000 +++ b/scripts/miscellaneous/bincoeff.m Thu Aug 24 15:57:08 2006 +0000 @@ -68,33 +68,23 @@ sz = size (n); b = zeros (sz); - ind = find (! (k >= 0) | (k != real (round (k))) | isnan (n)); - if (any (ind)) - b(ind) = NaN; - endif - - ind = find (k == 0); - if (any (ind)) - b(ind) = 1; - endif + ind = (! (k >= 0) | (k != real (round (k))) | isnan (n)); + b(ind) = NaN; + + ind = (k == 0); + b(ind) = 1; - ind = find ((k > 0) & ((n == real (round (n))) & (n < 0))); - if any (ind) - b(ind) = (-1) .^ k(ind) .* exp (gammaln (abs (n(ind)) + k(ind)) ... - - gammaln (k(ind) + 1) - gammaln (abs (n(ind)))); - endif + ind = ((k > 0) & ((n == real (round (n))) & (n < 0))); + b(ind) = (-1) .^ k(ind) .* exp (gammaln (abs (n(ind)) + k(ind)) ... + - gammaln (k(ind) + 1) - gammaln (abs (n(ind)))); - ind = find ((k > 0) & ((n != real (round (n))) | (n >= k))); - if (length (ind) > 0) - b(ind) = exp (gammaln (n(ind) + 1) - gammaln (k(ind) + 1) ... - - gammaln (n(ind) - k(ind) + 1)); - endif - + ind = ((k > 0) & ((n != real (round (n))) | (n >= k))); + b(ind) = exp (gammaln (n(ind) + 1) - gammaln (k(ind) + 1) ... + - gammaln (n(ind) - k(ind) + 1)); + ## clean up rounding errors - ind = find (n == round (n)); - if (any (ind)) - b(ind) = round (b(ind)); - endif - + ind = (n == round (n)); + b(ind) = round (b(ind)); + endfunction