1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2000 - INRIA - Carlos Klimann
3 //
4 // Copyright (C) 2012 - 2016 - Scilab Enterprises
5 //
6 // This file is hereby licensed under the terms of the GNU GPL v2.0,
7 // pursuant to article 5.3.4 of the CeCILL v.2.1.
8 // This file was originally licensed under the terms of the CeCILL v2.1,
9 // and continues to be available under such terms.
10 // For more information, see the COPYING file which you should have received
11 // along with this program.
13 //
15 function [r]=strange(x,orien)
16     //
17     //The range  is  the distance between   the largest  and smaller  value,
18     //[r]=range(x) computes the range of vector or matrix x.
19     //
20     //[r]=range(x,'r')  (or equivalently  [r]=range(x,1)) give a  row vector
21     //with the range of each column.
22     //
23     //[r]=range(x,'c') (or equivalently [r]=range(x,2)) give a column vector
24     //with the range of each row.
25     //
26     //
27     [lhs,rhs]=argn(0)
28     if rhs==0 then error(msprintf(gettext("%s: Wrong number of input arguments: %d to %d expected.\n"),"strange",0,2)), end
29     if rhs==1 then
30         r=max(x)-min(x)
31     elseif rhs==2 then
32         if orien=="r"|orien==1 then
33             r=max(x,"r")-min(x,"r")
34         elseif orien=="c"|orien==2 then
35             r=max(x,"c")-min(x,"c")
36         else
37             error(msprintf(gettext("%s: Wrong value for %d input argument: ''%s'', ''%s'', %d or %d expected.\n"),"strange",2,"r","c",1,2)),
38         end
39     end
40 endfunction