Mercurial > hg > octave-terminal
changeset 12585:4e32a1bb9096
mode.m, quantile.m: Return output of same class as input.
author | Rik <octave@nomad.inbox5.com> |
---|---|
date | Fri, 08 Apr 2011 19:00:42 -0700 |
parents | c8be316f9543 |
children | f9b7aa3b88f8 |
files | scripts/ChangeLog scripts/statistics/base/mode.m scripts/statistics/base/quantile.m |
diffstat | 3 files changed, 11 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,8 @@ +2011-04-08 Rik <octave@nomad.inbox5.com> + + * statistics/base/mode.m, statistics/base/quantile.m: Return output + of same class as input. + 2011-04-06 Rik <octave@nomad.inbox5.com> * miscellaneous/pack.m: Improve docstring.
--- 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);
--- 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.