# HG changeset patch # User Rik # Date 1302314442 25200 # Node ID 4e32a1bb9096a42bda862d888f4625a10f9e2139 # Parent c8be316f95438b7b3e8293c3ce0b6bba35fa6d3b mode.m, quantile.m: Return output of same class as input. diff --git a/scripts/ChangeLog b/scripts/ChangeLog --- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,8 @@ +2011-04-08 Rik + + * statistics/base/mode.m, statistics/base/quantile.m: Return output + of same class as input. + 2011-04-06 Rik * miscellaneous/pack.m: Improve docstring. diff --git a/scripts/statistics/base/mode.m b/scripts/statistics/base/mode.m --- a/scripts/statistics/base/mode.m +++ b/scripts/statistics/base/mode.m @@ -90,7 +90,7 @@ if (issparse (x)) m = sparse (sz2(1), sz2(2)); else - m = zeros (sz2); + m = zeros (sz2, class (x)); endif for i = 1 : prod (sz2) c{i} = xs (t2 (:, i) == f(i), i); diff --git a/scripts/statistics/base/quantile.m b/scripts/statistics/base/quantile.m --- a/scripts/statistics/base/quantile.m +++ b/scripts/statistics/base/quantile.m @@ -308,6 +308,10 @@ error ("quantile: X must be a numeric vector or matrix"); endif + if (isinteger (x)) + x = double (x); + endif + ## Save length and set shape of quantiles. n = numel (p); p = p(:); @@ -320,7 +324,7 @@ nx = size (x, 2); ## Initialize output values. - inv = Inf*(-(p < 0) + (p > 1)); + inv = Inf(class (x)) * (-(p < 0) + (p > 1)); inv = repmat (inv, 1, nx); ## Do the work.