* Bug #9627 fixed - Checking arguments in optimsimplex_*() functions
[scilab.git] / scilab / modules / optimization / macros / optimsimplex / optimsimplex_setx.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_setx --
13 //   Set the coordinates of the vertex at given index,
14 //   as a row vector, into the current simplex.
15 // Arguments
16 //   ive : vertex index
17 //
18 function this = optimsimplex_setx ( this , ive , x )
19     if typeof(this) <> "TSIMPLEX" then
20         error(msprintf(gettext("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setx", 1));
21     end
22     if type(ive) <> 1 then
23         error(msprintf(gettext("%s: Wrong type for input argument #%d: A real scalar expected.\n"), "optimsimplex_setx", 2));
24     end
25     if type(x) <> 1 then
26         error(msprintf(gettext("%s: Wrong type for input argument #%d: A real matrix expected.\n"), "optimsimplex_setx", 3));
27     end
28     if or(size(ive) <> [1 1]) then
29         error(msprintf(gettext("%s: Wrong size for input argument #%d: A real scalar expected.\n"), "optimsimplex_setx", 2));
30     end
31     if ive-floor(ive) <> 0 then
32         error(msprintf(gettext("%s: Wrong value for input argument #%d: An integer expected.\n"), "optimsimplex_setx", 2));
33     end
34     this.x ( ive , 1:this.n ) = x(1:this.n);
35 endfunction