* Bug #9627 fixed - Checking arguments in optimsimplex_*() functions
[scilab.git] / scilab / modules / optimization / macros / optimsimplex / optimsimplex_setve.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2008-2009 - INRIA - Michael Baudin
3 // Copyright (C) 2009-2010 - DIGITEO - Michael Baudin
4 //
5 // This file must be used under the terms of the CeCILL.
6 // This source file is licensed as described in the file COPYING, which
7 // you should have received as part of this distribution.  The terms
8 // are also available at
9 // http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10
11 //
12 // optimsimplex_setve --
13 //   Sets the coordinates of the vertex and the function value at given index in the current simplex.
14 // Arguments
15 //   ive : vertex index
16 //   fv : the function value
17 //   x : the coordinates of the point, as a row vector
18 //
19 function this = optimsimplex_setve ( this , ive , fv , x )
20     if typeof(this) <> "TSIMPLEX" then
21         error(msprintf(gettext("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setve", 1));
22     end
23     if type(ive) <> 1 then
24         error(msprintf(gettext("%s: Wrong type for input argument #%d: A real scalar expected.\n"), "optimsimplex_setve", 2));
25     end
26     if type(fv) <> 1 then
27         error(msprintf(gettext("%s: Wrong type for input argument #%d: A real vector expected.\n"), "optimsimplex_setve", 3));
28     end
29     if type(x) <> 1 then
30         error(msprintf(gettext("%s: Wrong type for input argument #%d: A real matrix expected.\n"), "optimsimplex_setve", 4));
31     end
32     if or(size(ive) <> [1 1]) then
33         error(msprintf(gettext("%s: Wrong size for input argument #%d: A real scalar expected.\n"), "optimsimplex_setve", 2));
34     end
35     if ive-floor(ive) <> 0 then
36         error(msprintf(gettext("%s: Wrong value for input argument #%d: An integer expected.\n"), "optimsimplex_setve", 2));
37     end
38     this.x(ive,:) = x;
39     this.fv(ive,1) = fv;
40 endfunction