90d1decdfee83b91788d4e1525757faeb4ded27f
[scilab.git] / scilab / modules / parameters / macros / is_param.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) DIGITEO 2008-2010 - Yann COLLETTE
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
9
10 function [result, err] = is_param(list_name, param_name)
11
12     [nargout, nargin] = argn();
13
14     if nargin <> 2 then
15         error(sprintf(gettext("%s: Wrong number of input arguments: %d expected.\n"), "is_param", 2));
16     end
17
18     result = [];
19     if typeof(list_name) == "plist" then
20         if typeof(param_name) == "string" then
21             result_vec = getfield(1, list_name) == param_name;
22             result = or(result_vec(2:$));
23             if nargout == 2 then
24                 err = %F;
25             end
26         else
27             error(sprintf(gettext("%s: Wrong type for input argument #%d: %s expected.\n"), "is_param", 2, "String"));
28         end
29     else
30         if nargout == 2 then
31             err = %T;
32         else
33             error(sprintf(gettext("%s: Wrong type for input argument #%d: %s expected.\n"), "is_param", 1, "plist"));
34         end
35     end
36
37 endfunction