changeset 31882:3bdfda4f7c16

mean.m: correct regression on default on dim error (bug #63410) * mean.m: Change input validation check for 'dim' option to catch Inf inputs. Re-add input validation BISTs to check for error handling of negative, NaN, and Inf inputs that were dropped with patch #10314.
author Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
date Fri, 03 Mar 2023 14:04:18 -0500
parents 95e06f13fde3
children 56809fe23e53 53abb2f38ace
files scripts/statistics/mean.m
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/statistics/mean.m	Fri Mar 03 10:11:36 2023 +0100
+++ b/scripts/statistics/mean.m	Fri Mar 03 14:04:18 2023 -0500
@@ -219,8 +219,8 @@
 
     ## Two numeric input arguments, dimensions given.  Note scalar is vector!
     vecdim = varargin{1};
-    if (isempty (vecdim) || ! (isvector (vecdim) && all (vecdim > 0))
-        || any (rem (vecdim, 1)))
+    if (isempty (vecdim) || ! (isvector (vecdim) && all (vecdim > 0)
+        && all (rem (vecdim, 1)==0)))
       error ("mean: DIM must be a positive integer scalar or vector");
     endif
 
@@ -629,6 +629,10 @@
 %!error <DIM must be a positive integer> mean (1, 1.5)
 %!error <DIM must be a positive integer> mean (1, 0)
 %!error <DIM must be a positive integer> mean (1, [])
+%!error <DIM must be a positive integer> mean (1, -1)
+%!error <DIM must be a positive integer> mean (1, -1.5)
+%!error <DIM must be a positive integer> mean (1, NaN)
+%!error <DIM must be a positive integer> mean (1, Inf)
 %!error <DIM must be a positive integer> mean (repmat ([1:20;6:25], [5 2]), -1)
 %!error <DIM must be a positive integer> mean (repmat ([1:5;5:9], [5 2]), [1 -1])
 %!error <DIM must be a positive integer> mean (1, ones(1,0))