BUG DESCRIPTION:
----------------
Here is an example:
--> ob = mlist(["mytype","mat","title"],rand(3,4),"A test object");
--> function s = %mytype_size(ob)
> s = size(ob.mat)
> endfunction
--> size(ob)
ans =
3. 4. // OK: size() is overloadable
// MEAN:
--> function m = %mytype_mean(ob,varargin)
> m = mean(ob.mat, varargin(:));
> endfunction
--> %mytype_mean(ob)
ans =
0.5247468
--> %mytype_mean(ob,1)
ans =
0.32253 0.5413667 0.8045642 0.4305265
--> mean(ob) // <<===== should work
at line 17 of function mean ( SCI\modules\statistics\macros\mean.sci line 32 )
mean: Wrong type for input argument #1: Real vector or matrix expected.
// STDEV:
--> function s = %mytype_stdev(ob,varargin)
> s = stdev(ob.mat, varargin(:));
> endfunction
--> %mytype_stdev(ob)
ans =
0.2985076
--> %mytype_stdev(ob,1)
ans =
0.3899896 0.183699 0.1038925 0.3177134
--> stdev(ob) // <<===== should work
at line 64 of function stdev ( SCI\modules\statistics\macros\stdev.sci line 79 )
stdev: Wrong type for input argument #1: A real matrix expected.
ERROR LOG:
----------
mean: Wrong type for input argument #1: Real vector or matrix expected.
stdev: Wrong type for input argument #1: A real matrix expected.
HOW TO REPRODUCE THE BUG:
-------------------------
ob = mlist(["mytype","mat","title"],rand(3,4),"A test object");
function s = %mytype_size(ob, varargin)
s = size(ob.mat, varargin(:));
endfunction
size(ob)
// Mean:
function m = %mytype_mean(ob, varargin)
m = mean(ob.mat, varargin(:));
endfunction
%mytype_mean(ob)
%mytype_mean(ob,1)
mean(ob)
// Standard deviation:
function s = %mytype_stdev(ob, varargin)
s = stdev(ob.mat, varargin(:));
endfunction
%mytype_stdev(ob)
%mytype_stdev(ob,1)
stdev(ob)
OTHER INFORMATION:
------------------
Same situation with Scilab 6.0.0