* Bug #9627 fixed - Checking arguments in optimsimplex_*() functions
[scilab.git] / scilab / modules / optimization / macros / optimsimplex / optimsimplex_check.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2008 - 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 //
13 // optimsimplex_check --
14 //   Check the consistency of the internal data.
15 //   Generates an error if necessary.
16 // Arguments
17 //   <no arg>
18 //
19 function optimsimplex_check ( this )
20     if typeof(this) <> "TSIMPLEX" then
21         error(msprintf(gettext("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_check", 1));
22     end
23     nx1 = size(this.x,1)
24     nx2 = size(this.x,2)
25     if this.nbve<> 0 & nx1 <> this.nbve then
26         error(msprintf(gettext("%s: Number of rows of x is %d, which is different from number of vertices = %d."),"optimsimplex_check" , nx1 , this.nbve ));
27     end
28     if this.n<> 0 & nx2 <> this.n then
29         error(msprintf(gettext("%s: Number of columns of x is %d, which is different from dimension = %d."),"optimsimplex_check" , nx2 , this.n ));
30     end
31     nf1 = size(this.fv,1)
32     nf2 = size(this.fv,2)
33     if this.n<> 0 & nf1 <> this.nbve then
34         error(msprintf(gettext("%s: Number of rows of fv is %d, which is different from number of vertices = %d."),"optimsimplex_check" , nf1 , this.nbve ));
35     end
36     if this.nbve<> 0 & nf2 <> 1 then
37         error(msprintf(gettext("%s: Number of columns of fv is %d, which is different from 1."),"optimsimplex_check" , nf2 ));
38     end
39 endfunction