diff options
author | Shashank | 2017-05-29 12:40:26 +0530 |
---|---|---|
committer | Shashank | 2017-05-29 12:40:26 +0530 |
commit | 0345245e860375a32c9a437c4a9d9cae807134e9 (patch) | |
tree | ad51ecbfa7bcd3cc5f09834f1bb8c08feaa526a4 /modules/m2sci/macros/kernel | |
download | scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.tar.gz scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.tar.bz2 scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.zip |
CMSCOPE changed
Diffstat (limited to 'modules/m2sci/macros/kernel')
177 files changed, 10454 insertions, 0 deletions
diff --git a/modules/m2sci/macros/kernel/%contents_i_funcall.bin b/modules/m2sci/macros/kernel/%contents_i_funcall.bin Binary files differnew file mode 100755 index 000000000..ea3f8cd8c --- /dev/null +++ b/modules/m2sci/macros/kernel/%contents_i_funcall.bin diff --git a/modules/m2sci/macros/kernel/%contents_i_funcall.sci b/modules/m2sci/macros/kernel/%contents_i_funcall.sci new file mode 100755 index 000000000..63f3c1ef4 --- /dev/null +++ b/modules/m2sci/macros/kernel/%contents_i_funcall.sci @@ -0,0 +1,17 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function funcall=%contents_i_funcall(field,contlist,funcall) + + if field=="contents" then + funcall.lhs(1).infer.contents=contlist + else + error(gettext("Not yet implemented.")) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%contents_i_operatio.bin b/modules/m2sci/macros/kernel/%contents_i_operatio.bin Binary files differnew file mode 100755 index 000000000..6984de3c2 --- /dev/null +++ b/modules/m2sci/macros/kernel/%contents_i_operatio.bin diff --git a/modules/m2sci/macros/kernel/%contents_i_operatio.sci b/modules/m2sci/macros/kernel/%contents_i_operatio.sci new file mode 100755 index 000000000..d209095b1 --- /dev/null +++ b/modules/m2sci/macros/kernel/%contents_i_operatio.sci @@ -0,0 +1,17 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function operation=%contents_i_operatio(field,contlist,operation) + + if field=="contents" then + operation.out(1).infer.contents=contlist + else + error(gettext("Not yet implemented.")) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%contents_i_variable.bin b/modules/m2sci/macros/kernel/%contents_i_variable.bin Binary files differnew file mode 100755 index 000000000..cdbcc3b38 --- /dev/null +++ b/modules/m2sci/macros/kernel/%contents_i_variable.bin diff --git a/modules/m2sci/macros/kernel/%contents_i_variable.sci b/modules/m2sci/macros/kernel/%contents_i_variable.sci new file mode 100755 index 000000000..e10362c97 --- /dev/null +++ b/modules/m2sci/macros/kernel/%contents_i_variable.sci @@ -0,0 +1,17 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function variable=%contents_i_variable(field,contlist,variable) + + if field=="contents" then + variable.infer.contents=contlist + else + error(gettext("Not yet implemented.")) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%cste_e.bin b/modules/m2sci/macros/kernel/%cste_e.bin Binary files differnew file mode 100755 index 000000000..64ca00ff9 --- /dev/null +++ b/modules/m2sci/macros/kernel/%cste_e.bin diff --git a/modules/m2sci/macros/kernel/%cste_e.sci b/modules/m2sci/macros/kernel/%cste_e.sci new file mode 100755 index 000000000..3c4dd8182 --- /dev/null +++ b/modules/m2sci/macros/kernel/%cste_e.sci @@ -0,0 +1,27 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function val=%cste_e(field,m2scitlist) + // File generated from %PROTO_e.g: PLEASE DO NOT EDIT ! + + val=[] + if field=="infer" then + val=m2scitlist.infer + elseif field=="dims" then + val=m2scitlist.infer.dims + elseif field=="type" then + val=m2scitlist.infer.type + elseif field=="vtype" then + val=m2scitlist.infer.type.vtype + elseif field=="property" then + val=m2scitlist.infer.type.property + else + error(msprintf(gettext("Extraction of %s from ''%s'' tlist is not yet implemented."),string(field),typeof(m2scitlist))) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%funcall_6.bin b/modules/m2sci/macros/kernel/%funcall_6.bin Binary files differnew file mode 100755 index 000000000..65db8eed5 --- /dev/null +++ b/modules/m2sci/macros/kernel/%funcall_6.bin diff --git a/modules/m2sci/macros/kernel/%funcall_6.sci b/modules/m2sci/macros/kernel/%funcall_6.sci new file mode 100755 index 000000000..274f88ec4 --- /dev/null +++ b/modules/m2sci/macros/kernel/%funcall_6.sci @@ -0,0 +1,29 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function val=%funcall_6(field,m2scitlist) + // File generated from %PROTO_6.g: PLEASE DO NOT EDIT ! + + val=[] + if field=="infer" then + val=m2scitlist.lhs(1).infer + elseif field=="dims" then + val=m2scitlist.lhs(1).infer.dims + elseif field=="type" then + val=m2scitlist.lhs(1).infer.type + elseif field=="vtype" then + val=m2scitlist.lhs(1).infer.type.vtype + elseif field=="property" then + val=m2scitlist.lhs(1).infer.type.property + elseif field=="contents" then + val=m2scitlist.lhs(1).infer.contents + else + error(msprintf(gettext("Extraction of %s from ''%s'' tlist is not yet implemented."),string(field),typeof(m2scitlist))) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%funcall_e.bin b/modules/m2sci/macros/kernel/%funcall_e.bin Binary files differnew file mode 100755 index 000000000..56f98f63a --- /dev/null +++ b/modules/m2sci/macros/kernel/%funcall_e.bin diff --git a/modules/m2sci/macros/kernel/%funcall_e.sci b/modules/m2sci/macros/kernel/%funcall_e.sci new file mode 100755 index 000000000..aa227e52f --- /dev/null +++ b/modules/m2sci/macros/kernel/%funcall_e.sci @@ -0,0 +1,28 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function val=%funcall_e(field,m2scitlist) + + val=[] + if field=="infer" then + val=m2scitlist.lhs(1).infer + elseif field=="dims" then + val=m2scitlist.lhs(1).infer.dims + elseif field=="type" then + val=m2scitlist.lhs(1).infer.type + elseif field=="vtype" then + val=m2scitlist.lhs(1).infer.type.vtype + elseif field=="property" then + val=m2scitlist.lhs(1).infer.type.property + elseif field=="contents" then + val=m2scitlist.lhs(1).infer.contents + else + error(msprintf(gettext("Extraction of %s from ''%s'' tlist is not yet implemented."),string(field),typeof(m2scitlist))) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%infer_i_s.bin b/modules/m2sci/macros/kernel/%infer_i_s.bin Binary files differnew file mode 100755 index 000000000..ac533086b --- /dev/null +++ b/modules/m2sci/macros/kernel/%infer_i_s.bin diff --git a/modules/m2sci/macros/kernel/%infer_i_s.sci b/modules/m2sci/macros/kernel/%infer_i_s.sci new file mode 100755 index 000000000..528cc0f90 --- /dev/null +++ b/modules/m2sci/macros/kernel/%infer_i_s.sci @@ -0,0 +1,36 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function M=%infer_i_s(varargin) + + [lhs,rhs]=argn(0) + M=varargin(rhs) + N=varargin(rhs-1)//inserted matrix + index=varargin(1) // + + if rhs==3&(type(index)==10|type(index)==15) then + if type(index)<>15 then + M=struct() + M(index)=N + if index=="entries" then + // change struct to cell + f=getfield(1,M);f(1)="ce" + setfield(1,f,M) + end + else + M=createstruct(index,N) + if type(index(1))<>10 & index(2)=="entries" then + // change struct to cell + f=getfield(1,M);f(1)="ce" + setfield(1,f,M) + end + end + return + end +endfunction diff --git a/modules/m2sci/macros/kernel/%infer_i_st.bin b/modules/m2sci/macros/kernel/%infer_i_st.bin Binary files differnew file mode 100755 index 000000000..e452c1545 --- /dev/null +++ b/modules/m2sci/macros/kernel/%infer_i_st.bin diff --git a/modules/m2sci/macros/kernel/%infer_i_st.sci b/modules/m2sci/macros/kernel/%infer_i_st.sci new file mode 100755 index 000000000..a87ce6c00 --- /dev/null +++ b/modules/m2sci/macros/kernel/%infer_i_st.sci @@ -0,0 +1,12 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function st=%infer_i_st(field,infer,st) + st=generic_i_st(field,infer,st) +endfunction diff --git a/modules/m2sci/macros/kernel/%l_i_cste.bin b/modules/m2sci/macros/kernel/%l_i_cste.bin Binary files differnew file mode 100755 index 000000000..88c18f3b9 --- /dev/null +++ b/modules/m2sci/macros/kernel/%l_i_cste.bin diff --git a/modules/m2sci/macros/kernel/%l_i_cste.sci b/modules/m2sci/macros/kernel/%l_i_cste.sci new file mode 100755 index 000000000..2f3503f28 --- /dev/null +++ b/modules/m2sci/macros/kernel/%l_i_cste.sci @@ -0,0 +1,19 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function cste=%l_i_cste(field,inslist,cste) + + if field=="dims" then + cste.infer.dims=inslist + elseif field=="type" then + cste.infer.type=inslist + else + error(gettext("Not yet implemented.")) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%l_i_funcall.bin b/modules/m2sci/macros/kernel/%l_i_funcall.bin Binary files differnew file mode 100755 index 000000000..bf28cf848 --- /dev/null +++ b/modules/m2sci/macros/kernel/%l_i_funcall.bin diff --git a/modules/m2sci/macros/kernel/%l_i_funcall.sci b/modules/m2sci/macros/kernel/%l_i_funcall.sci new file mode 100755 index 000000000..8d6c66e5f --- /dev/null +++ b/modules/m2sci/macros/kernel/%l_i_funcall.sci @@ -0,0 +1,18 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function funcall=%l_i_funcall(field,inslist,funcall) + if field=="dims" then + funcall.lhs(1).dims=inslist + elseif field=="type" then + funcall.lhs(1).type=inslist + else + error(gettext("Not yet implemented.")) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%l_i_operatio.bin b/modules/m2sci/macros/kernel/%l_i_operatio.bin Binary files differnew file mode 100755 index 000000000..655a4a679 --- /dev/null +++ b/modules/m2sci/macros/kernel/%l_i_operatio.bin diff --git a/modules/m2sci/macros/kernel/%l_i_operatio.sci b/modules/m2sci/macros/kernel/%l_i_operatio.sci new file mode 100755 index 000000000..ad4fe2162 --- /dev/null +++ b/modules/m2sci/macros/kernel/%l_i_operatio.sci @@ -0,0 +1,18 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function operation=%l_i_operatio(field,inslist,operation) + if field=="dims" then + operation.out(1).dims=inslist + elseif field=="type" then + operation.out(1).type=inslist + else + error(gettext("Not yet implemented.")) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%l_i_variable.bin b/modules/m2sci/macros/kernel/%l_i_variable.bin Binary files differnew file mode 100755 index 000000000..892071fe0 --- /dev/null +++ b/modules/m2sci/macros/kernel/%l_i_variable.bin diff --git a/modules/m2sci/macros/kernel/%l_i_variable.sci b/modules/m2sci/macros/kernel/%l_i_variable.sci new file mode 100755 index 000000000..68c109e99 --- /dev/null +++ b/modules/m2sci/macros/kernel/%l_i_variable.sci @@ -0,0 +1,20 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function var=%l_i_variable(field,inslist,var) + if field=="dims" then + var.infer.dims=inslist + elseif field=="type" then + var.infer.type=inslist + elseif field=="contents" then + var.infer.contents=inslist + else + error(gettext("Not yet implemented.")) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%m2scivar_e.bin b/modules/m2sci/macros/kernel/%m2scivar_e.bin Binary files differnew file mode 100755 index 000000000..af7c773c4 --- /dev/null +++ b/modules/m2sci/macros/kernel/%m2scivar_e.bin diff --git a/modules/m2sci/macros/kernel/%m2scivar_e.sci b/modules/m2sci/macros/kernel/%m2scivar_e.sci new file mode 100755 index 000000000..47da81db4 --- /dev/null +++ b/modules/m2sci/macros/kernel/%m2scivar_e.sci @@ -0,0 +1,28 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function val=%m2scivar_e(field,m2scitlist) + + val=[] + if field=="infer" then + val=m2scitlist.infer + elseif field=="dims" then + val=m2scitlist.infer.dims + elseif field=="type" then + val=m2scitlist.infer.type + elseif field=="vtype" then + val=m2scitlist.infer.type.vtype + elseif field=="property" then + val=m2scitlist.infer.type.property + elseif field=="contents" then + val=m2scitlist.infer.contents + else + error(msprintf(gettext("Extraction of %s from ''%s'' tlist is not yet implemented."),string(field),typeof(m2scitlist))) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%operatio_6.bin b/modules/m2sci/macros/kernel/%operatio_6.bin Binary files differnew file mode 100755 index 000000000..241c7e464 --- /dev/null +++ b/modules/m2sci/macros/kernel/%operatio_6.bin diff --git a/modules/m2sci/macros/kernel/%operatio_6.sci b/modules/m2sci/macros/kernel/%operatio_6.sci new file mode 100755 index 000000000..d5cc4661e --- /dev/null +++ b/modules/m2sci/macros/kernel/%operatio_6.sci @@ -0,0 +1,29 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function val=%operatio_6(field,m2scitlist) + // File generated from %PROTO_6.g: PLEASE DO NOT EDIT ! + + val=[] + if field=="infer" then + val=m2scitlist.out(1).infer + elseif field=="dims" then + val=m2scitlist.out(1).infer.dims + elseif field=="type" then + val=m2scitlist.out(1).infer.type + elseif field=="vtype" then + val=m2scitlist.out(1).infer.type.vtype + elseif field=="property" then + val=m2scitlist.out(1).infer.type.property + elseif field=="contents" then + val=m2scitlist.out(1).infer.contents + else + error(msprintf(gettext("Extraction of %s from ''%s'' tlist is not yet implemented."),string(field),typeof(m2scitlist))) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%operatio_e.bin b/modules/m2sci/macros/kernel/%operatio_e.bin Binary files differnew file mode 100755 index 000000000..08fdf78db --- /dev/null +++ b/modules/m2sci/macros/kernel/%operatio_e.bin diff --git a/modules/m2sci/macros/kernel/%operatio_e.sci b/modules/m2sci/macros/kernel/%operatio_e.sci new file mode 100755 index 000000000..66907542c --- /dev/null +++ b/modules/m2sci/macros/kernel/%operatio_e.sci @@ -0,0 +1,29 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function val=%operatio_e(field,m2scitlist) + // File generated from %PROTO_e.g: PLEASE DO NOT EDIT ! + + val=[] + if field=="infer" then + val=m2scitlist.out(1).infer + elseif field=="dims" then + val=m2scitlist.out(1).infer.dims + elseif field=="type" then + val=m2scitlist.out(1).infer.type + elseif field=="vtype" then + val=m2scitlist.out(1).infer.type.vtype + elseif field=="property" then + val=m2scitlist.out(1).infer.type.property + elseif field=="contents" then + val=m2scitlist.out(1).infer.contents + else + error(msprintf(gettext("Extraction of %s from ''%s'' tlist is not yet implemented."),string(field),typeof(m2scitlist))) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%s_i_operatio.bin b/modules/m2sci/macros/kernel/%s_i_operatio.bin Binary files differnew file mode 100755 index 000000000..357dc8c5e --- /dev/null +++ b/modules/m2sci/macros/kernel/%s_i_operatio.bin diff --git a/modules/m2sci/macros/kernel/%s_i_operatio.sci b/modules/m2sci/macros/kernel/%s_i_operatio.sci new file mode 100755 index 000000000..4ac65ba1b --- /dev/null +++ b/modules/m2sci/macros/kernel/%s_i_operatio.sci @@ -0,0 +1,18 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function op=%s_i_operatio(field,cste,op) + if field=="vtype" then + op.type.vtype=cste + elseif field=="property" then + op.type.property=cste + else + error(gettext("Not yet implemented.")) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%s_i_variable.bin b/modules/m2sci/macros/kernel/%s_i_variable.bin Binary files differnew file mode 100755 index 000000000..19778f4f7 --- /dev/null +++ b/modules/m2sci/macros/kernel/%s_i_variable.bin diff --git a/modules/m2sci/macros/kernel/%s_i_variable.sci b/modules/m2sci/macros/kernel/%s_i_variable.sci new file mode 100755 index 000000000..1998542a6 --- /dev/null +++ b/modules/m2sci/macros/kernel/%s_i_variable.sci @@ -0,0 +1,21 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function var=%s_i_variable(field,cste,var) + + if field=="vtype" then + var.infer.type.vtype=cste + elseif field=="property" then + var.infer.type.property=cste + elseif field=="contents" then + var.infer.contents=cste + else + error(gettext("Not yet implemented.")) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%type_i_cste.bin b/modules/m2sci/macros/kernel/%type_i_cste.bin Binary files differnew file mode 100755 index 000000000..1f082b41f --- /dev/null +++ b/modules/m2sci/macros/kernel/%type_i_cste.bin diff --git a/modules/m2sci/macros/kernel/%type_i_cste.sci b/modules/m2sci/macros/kernel/%type_i_cste.sci new file mode 100755 index 000000000..a85e4c240 --- /dev/null +++ b/modules/m2sci/macros/kernel/%type_i_cste.sci @@ -0,0 +1,17 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function cste=%type_i_cste(field,inslist,cste) + + if field=="type" then + cste.infer.type=inslist + else + error(gettext("Not yet implemented.")) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%type_i_funcall.bin b/modules/m2sci/macros/kernel/%type_i_funcall.bin Binary files differnew file mode 100755 index 000000000..fe57ef823 --- /dev/null +++ b/modules/m2sci/macros/kernel/%type_i_funcall.bin diff --git a/modules/m2sci/macros/kernel/%type_i_funcall.sci b/modules/m2sci/macros/kernel/%type_i_funcall.sci new file mode 100755 index 000000000..996a354bd --- /dev/null +++ b/modules/m2sci/macros/kernel/%type_i_funcall.sci @@ -0,0 +1,17 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function funcall=%type_i_funcall(field,inslist,funcall) + + if field=="type" then + funcall.lhs(1).type=inslist + else + error(gettext("Not yet implemented.")) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%type_i_operatio.bin b/modules/m2sci/macros/kernel/%type_i_operatio.bin Binary files differnew file mode 100755 index 000000000..a70ae1a1b --- /dev/null +++ b/modules/m2sci/macros/kernel/%type_i_operatio.bin diff --git a/modules/m2sci/macros/kernel/%type_i_operatio.sci b/modules/m2sci/macros/kernel/%type_i_operatio.sci new file mode 100755 index 000000000..137be6fc9 --- /dev/null +++ b/modules/m2sci/macros/kernel/%type_i_operatio.sci @@ -0,0 +1,17 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function operation=%type_i_operatio(field,inslist,operation) + + if field=="type" then + operation.out(1).type=inslist + else + error(gettext("Not yet implemented.")) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%type_i_variable.bin b/modules/m2sci/macros/kernel/%type_i_variable.bin Binary files differnew file mode 100755 index 000000000..e781b7364 --- /dev/null +++ b/modules/m2sci/macros/kernel/%type_i_variable.bin diff --git a/modules/m2sci/macros/kernel/%type_i_variable.sci b/modules/m2sci/macros/kernel/%type_i_variable.sci new file mode 100755 index 000000000..d0ab15387 --- /dev/null +++ b/modules/m2sci/macros/kernel/%type_i_variable.sci @@ -0,0 +1,40 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function var=%type_i_variable(field,inslist,var) + + if typeof(inslist)=="ce" then + if field=="type" then + var.infer=inslist + else + error(gettext("Not yet implemented.")) + end + elseif typeof(inslist)=="st" then + pause + else + if or(typeof(var.infer)==["ce","st"]) then + if field=="type" then + dims=list() + for kd=1:size(var.infer.dims,"*") + dims(kd)=var.infer.dims(kd) + end + var.infer=Infer(dims,Type()) + var.infer.type=inslist + else + error(gettext("Not yet implemented.")) + end + else + if field=="type" then + var.infer.type=inslist + else + error(gettext("Not yet implemented.")) + end + end + end +endfunction diff --git a/modules/m2sci/macros/kernel/%variable_6.bin b/modules/m2sci/macros/kernel/%variable_6.bin Binary files differnew file mode 100755 index 000000000..512ab3a8d --- /dev/null +++ b/modules/m2sci/macros/kernel/%variable_6.bin diff --git a/modules/m2sci/macros/kernel/%variable_6.sci b/modules/m2sci/macros/kernel/%variable_6.sci new file mode 100755 index 000000000..6a735f665 --- /dev/null +++ b/modules/m2sci/macros/kernel/%variable_6.sci @@ -0,0 +1,29 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function val=%variable_6(field,m2scitlist) + // File generated from %PROTO_6.g: PLEASE DO NOT EDIT ! + + val=[] + if field=="infer" then + val=m2scitlist.infer + elseif field=="dims" then + val=m2scitlist.infer.dims + elseif field=="type" then + val=m2scitlist.infer.type + elseif field=="vtype" then + val=m2scitlist.infer.type.vtype + elseif field=="property" then + val=m2scitlist.infer.type.property + elseif field=="contents" then + val=m2scitlist.infer.contents + else + error(msprintf(gettext("Extraction of %s from ''%s'' tlist is not yet implemented."),string(field),typeof(m2scitlist))) + end +endfunction diff --git a/modules/m2sci/macros/kernel/%variable_e.bin b/modules/m2sci/macros/kernel/%variable_e.bin Binary files differnew file mode 100755 index 000000000..6fe7b191a --- /dev/null +++ b/modules/m2sci/macros/kernel/%variable_e.bin diff --git a/modules/m2sci/macros/kernel/%variable_e.sci b/modules/m2sci/macros/kernel/%variable_e.sci new file mode 100755 index 000000000..6a7fab8e8 --- /dev/null +++ b/modules/m2sci/macros/kernel/%variable_e.sci @@ -0,0 +1,30 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function val=%variable_e(field,m2scitlist) + // File generated from %PROTO_e.g: PLEASE DO NOT EDIT ! + + val=[] + + if field=="infer" then + val=m2scitlist.infer + elseif field=="dims" then + val=m2scitlist.infer.dims + elseif field=="type" then + val=m2scitlist.infer.type + elseif field=="vtype" then + val=m2scitlist.infer.type.vtype + elseif field=="property" then + val=m2scitlist.infer.type.property + elseif field=="contents" then + val=m2scitlist.infer.contents + else + error(msprintf(gettext("Extraction of %s from ''%s'' tlist is not yet implemented."),string(field),typeof(m2scitlist))) + end +endfunction diff --git a/modules/m2sci/macros/kernel/Contents.bin b/modules/m2sci/macros/kernel/Contents.bin Binary files differnew file mode 100755 index 000000000..b87f044a2 --- /dev/null +++ b/modules/m2sci/macros/kernel/Contents.bin diff --git a/modules/m2sci/macros/kernel/Contents.sci b/modules/m2sci/macros/kernel/Contents.sci new file mode 100755 index 000000000..f4f91811a --- /dev/null +++ b/modules/m2sci/macros/kernel/Contents.sci @@ -0,0 +1,31 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function cont=Contents(varargin) + // Create a new inference tlist + + fields=["contents","index","data"] + + nargs=size(varargin) + + // Contents: all unknown + if nargs==0 then + cont=tlist(fields,list(),list()) + elseif nargs==2 then + if typeof(varargin(1))<>"list" then + error(msprintf(gettext("index must be a list instead of a: %s."),typeof(varargin(1)))) + end + if typeof(varargin(2))<>"list" then + error(msprintf(gettext("index must be a list instead of a: %s."),typeof(varargin(2)))) + end + cont=tlist(fields,varargin(1),varargin(2)) + else + error(gettext("Wrong number of inputs.")); + end +endfunction diff --git a/modules/m2sci/macros/kernel/Cste.bin b/modules/m2sci/macros/kernel/Cste.bin Binary files differnew file mode 100755 index 000000000..7936c7337 --- /dev/null +++ b/modules/m2sci/macros/kernel/Cste.bin diff --git a/modules/m2sci/macros/kernel/Cste.sci b/modules/m2sci/macros/kernel/Cste.sci new file mode 100755 index 000000000..8dd54986a --- /dev/null +++ b/modules/m2sci/macros/kernel/Cste.sci @@ -0,0 +1,51 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function const=Cste(value) + // Create a new constant tlist + + rhs=argn(2) + + if rhs~=1 then + error(gettext("Wrong number of inputs.")); + end + + dims=list() + + if value=="" then + dims=list(0,0) + else + sz=size(value) + for k=1:size(sz,"*") + dims($+1)=sz(k) + if type(value)==String then + if k==2 then + dims($)=sum(length(value)) + end + end + end + end + + if type(value)==String then + prop=Real + value=value + else + if type(value)==1 then + if isreal(value) then + prop=Real + else + prop=Complex + end + else + prop=Real + end + end + + const=tlist(["cste","value","infer"],value,Infer(dims,Type(type(value),prop))) +endfunction diff --git a/modules/m2sci/macros/kernel/Equal.bin b/modules/m2sci/macros/kernel/Equal.bin Binary files differnew file mode 100755 index 000000000..504a4c80d --- /dev/null +++ b/modules/m2sci/macros/kernel/Equal.bin diff --git a/modules/m2sci/macros/kernel/Equal.sci b/modules/m2sci/macros/kernel/Equal.sci new file mode 100755 index 000000000..d742b690a --- /dev/null +++ b/modules/m2sci/macros/kernel/Equal.sci @@ -0,0 +1,34 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function eq=Equal(lhslist,expression,endsymbol) + // Create a new 'equal' tlist + + rhs=argn(2) + + if rhs<2 then + error(gettext("Wrong number of inputs.")) + end + if rhs<3 then + endsymbol=";" + end + if typeof(lhslist)<>"list" then + error(msprintf(gettext("lhslist should be a list and not a: %s."),typeof(lhslist))); + end + if and(typeof(expression)<>["funcall","cste","operation","variable"]) then + disp(expression) + error(msprintf(gettext("expression can not be a: %s."),typeof(expression))) + end + if type(endsymbol)<>10 then + error(msprintf(gettext("endsymbol should be a character string and not a: %s."),typeof(lhslist))); + end + + eq=tlist(["equal","lhs","expression","endsymbol"],lhslist,expression,endsymbol) + +endfunction diff --git a/modules/m2sci/macros/kernel/Funcall.bin b/modules/m2sci/macros/kernel/Funcall.bin Binary files differnew file mode 100755 index 000000000..9d1fa324f --- /dev/null +++ b/modules/m2sci/macros/kernel/Funcall.bin diff --git a/modules/m2sci/macros/kernel/Funcall.sci b/modules/m2sci/macros/kernel/Funcall.sci new file mode 100755 index 000000000..feca5cf5a --- /dev/null +++ b/modules/m2sci/macros/kernel/Funcall.sci @@ -0,0 +1,30 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function funcall_tlist=Funcall(name,lhsnb,rhslist,lhslist) + // Copyright INRIA + // Create a new function tlist + + rhs=argn(2) + + // Verify input value + if rhs~=4 then + error(gettext("Wrong number of inputs.")); + elseif typeof(name)~="string" then + error(msprintf(gettext("name must be a string instead of a: %s."),typeof(name))); + elseif typeof(lhsnb)~="constant" then + error(msprintf(gettext("lhsnb must be a constant instead of a: %s."),typeof(lhsnb))); + elseif typeof(rhslist)~="list" & rhslist<>[] then + error(msprintf(gettext("rhslist must be a list instead of a: %s."),typeof(rhslist))); + elseif typeof(lhslist)~="list" then + error(msprintf(gettext("lhslist must be a list instead of a: %s."),typeof(lhslist))); + end + + funcall_tlist=tlist(["funcall","name","lhsnb","rhs","lhs"],name,lhsnb,rhslist,lhslist) +endfunction diff --git a/modules/m2sci/macros/kernel/Infer.bin b/modules/m2sci/macros/kernel/Infer.bin Binary files differnew file mode 100755 index 000000000..661284cb1 --- /dev/null +++ b/modules/m2sci/macros/kernel/Infer.bin diff --git a/modules/m2sci/macros/kernel/Infer.sci b/modules/m2sci/macros/kernel/Infer.sci new file mode 100755 index 000000000..26e3100cc --- /dev/null +++ b/modules/m2sci/macros/kernel/Infer.sci @@ -0,0 +1,42 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function infer=Infer(varargin) + // Create a new inference tlist + + fields=["infer","dims","type","contents"] + + rhs=argn(2) + + nargs=size(varargin) + + // Infer(): all unknown + if nargs==0 then + infer=tlist(fields,list(Unknown,Unknown),Type(Unknown,Unknown),Contents()) + elseif nargs==2 then + if typeof(varargin(1))<>"list" then + error(msprintf(gettext("dims must be a list instead of a: %s."),typeof(varargin(1)))); + end + if typeof(varargin(2))<>"type" then + error(msprintf(gettext("type must be a ''type'' tlist instead of a: %s."),typeof(varargin(2)))); + end + infer=tlist(fields,varargin(1),varargin(2),Contents()) + elseif nargs==3 then // Should only be used for cells and structs + if typeof(varargin(1))<>"list" then + error(msprintf(gettext("dims must be a list instead of a: %s."),typeof(varargin(1)))); + end + if typeof(varargin(2))<>"type" then + error(msprintf(gettext("type must be a ''type'' tlist instead of a: %s."),typeof(varargin(2)))); + end + if typeof(varargin(3))<>"contents" then + error(msprintf(gettext("contents must be a ''contents'' tlist instead of a: %s."),typeof(varargin(3)))); + end + infer=tlist(fields,varargin(1),varargin(2),varargin(3)) + end +endfunction diff --git a/modules/m2sci/macros/kernel/M2scivar.bin b/modules/m2sci/macros/kernel/M2scivar.bin Binary files differnew file mode 100755 index 000000000..6521eeddd --- /dev/null +++ b/modules/m2sci/macros/kernel/M2scivar.bin diff --git a/modules/m2sci/macros/kernel/M2scivar.sci b/modules/m2sci/macros/kernel/M2scivar.sci new file mode 100755 index 000000000..c755548c3 --- /dev/null +++ b/modules/m2sci/macros/kernel/M2scivar.sci @@ -0,0 +1,32 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function var=M2scivar(sciname,matname,infer,call_level) + // Create a new 'm2scivar' tlist + + rhs=argn(2) + + if rhs<3 then + error(gettext("Wrong number of inputs.")) + end + if rhs==3 then + call_level=0 + end + + if typeof(sciname)~="string" then + error(msprintf(gettext("sciname must be a string instead of a: %s."),typeof(sciname))); + elseif typeof(matname)~="string" then + error(msprintf(gettext("matname must be a string instead of a: %s."),typeof(matname))); + elseif typeof(infer)~="infer" then + error(msprintf(gettext("infer must be an ''infer'' tlist instead of a: %s."),typeof(infer))); + end + + var=tlist(["m2scivar","sciname","matname","infer","level"],sciname,matname,infer,call_level) + +endfunction diff --git a/modules/m2sci/macros/kernel/Operation.bin b/modules/m2sci/macros/kernel/Operation.bin Binary files differnew file mode 100755 index 000000000..eec4f0bb0 --- /dev/null +++ b/modules/m2sci/macros/kernel/Operation.bin diff --git a/modules/m2sci/macros/kernel/Operation.sci b/modules/m2sci/macros/kernel/Operation.sci new file mode 100755 index 000000000..0c2ed5eac --- /dev/null +++ b/modules/m2sci/macros/kernel/Operation.sci @@ -0,0 +1,29 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function operation_tlist=Operation(operator,operands,out) + // Create a new operation tlist + + rhs=argn(2) + + // Verify input value + if rhs~=3 then + error(gettext("Wrong number of inputs.")) + end + + if typeof(operator)~="string" then + error(msprintf(gettext("operator must be a string instead of a: %s."),typeof(operator)));; + elseif typeof(operands)~="list" then + error(msprintf(gettext("operands must be a list instead of a: %s."),typeof(operands))); + elseif typeof(out)~="list" then + error(msprintf(gettext("out must be a list instead of a: %s."),typeof(out))); + end + + operation_tlist=tlist(["operation","operator","operands","out"],operator,operands,out) +endfunction diff --git a/modules/m2sci/macros/kernel/Rhs_tlist.bin b/modules/m2sci/macros/kernel/Rhs_tlist.bin Binary files differnew file mode 100755 index 000000000..6df3132ed --- /dev/null +++ b/modules/m2sci/macros/kernel/Rhs_tlist.bin diff --git a/modules/m2sci/macros/kernel/Rhs_tlist.sci b/modules/m2sci/macros/kernel/Rhs_tlist.sci new file mode 100755 index 000000000..437971d81 --- /dev/null +++ b/modules/m2sci/macros/kernel/Rhs_tlist.sci @@ -0,0 +1,31 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function rhs_tlist=Rhs_tlist(varargin) + // Create a new rhs tlist + + expressions=list() + if size(varargin)==1 then + if or(typeof(varargin(1))==["string","constant"]) then + expressions(1)=Cste(varargin(1)) + else + expressions(1)=varargin(1) + end + else + for k=1:size(varargin) + if or(typeof(varargin(k))==["string","constant"]) then + expressions(k)=Cste(varargin(k)) + elseif varargin(k)<>list() then //list() is used for rand()... + expressions(k)=varargin(k) + end + end + end + rhs_tlist=expressions + +endfunction diff --git a/modules/m2sci/macros/kernel/Type.bin b/modules/m2sci/macros/kernel/Type.bin Binary files differnew file mode 100755 index 000000000..35edeaf53 --- /dev/null +++ b/modules/m2sci/macros/kernel/Type.bin diff --git a/modules/m2sci/macros/kernel/Type.sci b/modules/m2sci/macros/kernel/Type.sci new file mode 100755 index 000000000..ec587b11a --- /dev/null +++ b/modules/m2sci/macros/kernel/Type.sci @@ -0,0 +1,30 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function Type_tlist=Type(vtype,property) + // Create a new 'type' tlist for inference + + rhs=argn(2) + if rhs<2 then + Type_tlist=tlist(["type","vtype","property"],Unknown,Unknown) + return + end + + if and(vtype~=[Double,Boolean,String,Unknown,Sparse,Cell,Struct,Int,Handle]) then + error(msprintf(gettext("%s is not yet implemented."),string(vtype))) + end + + if typeof(property)=="list" then + error(gettext("list of properties is not yet implemented.")) + elseif and(property~=[Real,Complex,Unknown]) then + error(msprintf(gettext("wrong property %s."),string(property))) + end + + Type_tlist=tlist(["type","vtype","property"],vtype,property) +endfunction diff --git a/modules/m2sci/macros/kernel/Variable.bin b/modules/m2sci/macros/kernel/Variable.bin Binary files differnew file mode 100755 index 000000000..7132c5a53 --- /dev/null +++ b/modules/m2sci/macros/kernel/Variable.bin diff --git a/modules/m2sci/macros/kernel/Variable.sci b/modules/m2sci/macros/kernel/Variable.sci new file mode 100755 index 000000000..7b55ff9e1 --- /dev/null +++ b/modules/m2sci/macros/kernel/Variable.sci @@ -0,0 +1,27 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function var=Variable(name,infer) + // Create a new variable tlist + + rhs=argn(2) + + if rhs<>2 then + error(gettext("Wrong number of inputs.")) + end + + if typeof(name)~="string" then + error(msprintf(gettext("name must be a string instead of a: %s."),typeof(name))) + elseif typeof(infer)~="infer" then + error(msprintf(gettext("infer must be an ''infer'' tlist instead of a: %s."),typeof(infer))) + end + + var=tlist(["variable","name","infer"],name,infer) + +endfunction diff --git a/modules/m2sci/macros/kernel/allunknown.bin b/modules/m2sci/macros/kernel/allunknown.bin Binary files differnew file mode 100755 index 000000000..f58cc3854 --- /dev/null +++ b/modules/m2sci/macros/kernel/allunknown.bin diff --git a/modules/m2sci/macros/kernel/allunknown.sci b/modules/m2sci/macros/kernel/allunknown.sci new file mode 100755 index 000000000..8e469a182 --- /dev/null +++ b/modules/m2sci/macros/kernel/allunknown.sci @@ -0,0 +1,17 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function dims=allunknown(in) + + dims=list() + for k=1:size(in) + dims(k)=-1 + end + +endfunction diff --git a/modules/m2sci/macros/kernel/buildmacros.sce b/modules/m2sci/macros/kernel/buildmacros.sce new file mode 100755 index 000000000..1adb52e12 --- /dev/null +++ b/modules/m2sci/macros/kernel/buildmacros.sce @@ -0,0 +1,16 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2005 - INRIA - Allan CORNET +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +//------------------------------------ +if (isdef("genlib") == %f) then + exec(SCI+"/modules/functions/scripts/buildmacros/loadgenlib.sce"); +end +//------------------------------------ +genlib("m2scikernellib","SCI/modules/m2sci/macros/kernel",%f,%t); +//------------------------------------ diff --git a/modules/m2sci/macros/kernel/changevarname.bin b/modules/m2sci/macros/kernel/changevarname.bin Binary files differnew file mode 100755 index 000000000..44c51a08a --- /dev/null +++ b/modules/m2sci/macros/kernel/changevarname.bin diff --git a/modules/m2sci/macros/kernel/changevarname.sci b/modules/m2sci/macros/kernel/changevarname.sci new file mode 100755 index 000000000..00e3837ff --- /dev/null +++ b/modules/m2sci/macros/kernel/changevarname.sci @@ -0,0 +1,63 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2004-2006 - INRIA - Farid BELAHCENE +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function changevarname(fun,oldname,newname) + // This function replaces the variable (named oldname) of a file by a new name (which is newname). It uses the old2newinstr function + // INPUTS: + // -fun: a string, the name (with the whole path) of the modifed file + // -oldname: a string, the old name of the variable + // -newname: a string, the new name of the variable after modification + + sep=filesep(); + + sep_ind=strindex(fun,sep); + dot_ind=strindex(fun,"."); + + // funname is the function name (without the path and the extension) + funname=part(fun,sep_ind($)+1:dot_ind($)-1); + + if sep_ind<>[] + funsave=part(fun,1:sep_ind($))+"save_"+part(fun,sep_ind($)+1:dot_ind($)-1)+".sci"; + else + funsave="save_"+part(fun,sep_ind($)+1:dot_ind($)-1)+".sci"; + end + + // Compilation + exec(fun); + var=who("get"); + indvar=find(var==funname); + funvect=var(indvar(1):-1:1); + txt=mgetl(fun); + mputl(txt,funsave); + + txt=[] + for j=1:size(funvect,1) + //Get the tree of the function + execstr("tree=macr2tree("+funvect(j)+")"); + // Change oldname into newname in the tree + if tree.name==oldname then + tree.name=newname; + end + for i=1:size(tree.inputs) + tree.inputs(i)=old2newinstr(tree.inputs(i),oldname,newname); + end + for i=1:size(tree.outputs) + tree.outputs(i)=old2newinstr(tree.outputs(i),oldname,newname); + end + for i=1:size(tree.statements) + tree.statements(i)=old2newinstr(tree.statements(i),oldname,newname); + end + + // Get the matching code of the tree after modification + txt=[txt; tree2code(tree,%T)]; + end + + // Replace the old code by the new code (which is txt) in the file fun + mputl(txt,fun); +endfunction
\ No newline at end of file diff --git a/modules/m2sci/macros/kernel/clause2sci.bin b/modules/m2sci/macros/kernel/clause2sci.bin Binary files differnew file mode 100755 index 000000000..2690bd04d --- /dev/null +++ b/modules/m2sci/macros/kernel/clause2sci.bin diff --git a/modules/m2sci/macros/kernel/clause2sci.sci b/modules/m2sci/macros/kernel/clause2sci.sci new file mode 100755 index 000000000..a50a74bef --- /dev/null +++ b/modules/m2sci/macros/kernel/clause2sci.sci @@ -0,0 +1,385 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [sci_clause,nblines]=clause2sci(mtlb_clause,nblines,leveltemp) + // M2SCI function + + // Global variables for M2SCI + global("m2sci_to_insert_b") + global("varslist") + + // Increment level of clause indentation + level + + // Temp variable used to store instructions to insert before clause + to_insert=list() + select typeof(mtlb_clause) + // --- TRYCATCH --- + case "trycatch" + level=[level;0] + + // Get instructions to insert if there are + if m2sci_to_insert_b<>list() then + to_insert=m2sci_to_insert_b + m2sci_to_insert_b=list() + end + + // Convert try + sci_try=list() + level($)=level($)+1 + for k=1:size(mtlb_clause.trystat) + if typeof(mtlb_clause.trystat(k))=="sup_equal" then + sci_try_temp=list() + for i=1:size(mtlb_clause.trystat(k).sup_instr) + [instr,nblines]=instruction2sci(mtlb_clause.trystat(k).sup_instr(i),nblines) + sci_try_temp=update_instr_list(sci_try_temp,instr) + end + sci_try($+1)=tlist(["sup_equal","sup_instr","nb_opr"],sci_try_temp,mtlb_clause.trystat(k).nb_opr) + else + [instr,nblines]=instruction2sci(mtlb_clause.trystat(k),nblines) + sci_try=update_instr_list(sci_try,instr) + end + end + + // Convert catch + sci_catch=list() + level($)=level($)+1 + for k=1:size(mtlb_clause.catchstat) + if typeof(mtlb_clause.catchstat(k))=="sup_equal" then + sci_catch_temp=list() + for i=1:size(mtlb_clause.catchstat(k).sup_instr) + [instr,nblines]=instruction2sci(mtlb_clause.catchstat(k).sup_instr(i),nblines) + sci_catch_temp=update_instr_list(sci_catch_temp,instr) + end + sci_catch($+1)=tlist(["sup_equal","sup_instr","nb_opr"],sci_catch_temp,mtlb_clause.catchstat(k).nb_opr) + else + [instr,nblines]=instruction2sci(mtlb_clause.catchstat(k),nblines) + sci_catch=update_instr_list(sci_catch,instr) + end + end + + // Create Scilab trycatch + sci_clause=tlist(["trycatch","trystat","catchstat"],sci_try,sci_catch) + level($)=level($)+1 + updatevarslist("END OF CLAUSE") + + // --- IF --- + case "ifthenelse" + level=[level;0] + + // Convert expression + [sci_expr]=expression2sci(mtlb_clause.expression) + + // Get instructions to insert if there are + if m2sci_to_insert_b<>list() then + to_insert=m2sci_to_insert_b + m2sci_to_insert_b=list() + end + + // Convert then statements + sci_then=list() + level($)=level($)+1 + for k=1:size(mtlb_clause.then) + if typeof(mtlb_clause.then(k))=="sup_equal" then + sci_then_temp=list() + for i=1:size(mtlb_clause.then(k).sup_instr) + [instr,nblines]=instruction2sci(mtlb_clause.then(k).sup_instr(i),nblines) + sci_then_temp=update_instr_list(sci_then_temp,instr) + end + sci_then($+1)=tlist(["sup_equal","sup_instr","nb_opr"],sci_then_temp,mtlb_clause.then(k).nb_opr) + else + [instr,nblines]=instruction2sci(mtlb_clause.then(k),nblines) + sci_then=update_instr_list(sci_then,instr) + end + end + + // Convert elseifs + sci_elseifs=list() + for k=1:size(mtlb_clause.elseifs) + level($)=level($)+1 + + // Convert expression + [sci_exprn]=expression2sci(mtlb_clause.elseifs(k).expression) + + // Get instructions to insert if there are + if m2sci_to_insert_b<>list() then + to_insert=m2sci_to_insert_b + m2sci_to_insert_b=list() + end + + // Convert statements + sci_stat=list() + for l=1:size(mtlb_clause.elseifs(k).then) + if typeof(mtlb_clause.elseifs(k).then(l))=="sup_equal" then + sci_stat_temp=list() + for i=1:size(mtlb_clause.elseifs(k).then(l).sup_instr) + [instr,nblines]=instruction2sci(mtlb_clause.elseifs(k).then(l).sup_instr(i),nblines) + sci_stat_temp=update_instr_list(sci_stat_temp,instr) + end + sci_stat($+1)=tlist(["sup_equal","sup_instr","nb_opr"],sci_stat_temp,mtlb_clause.elseifs(k).then(l).nb_opr) + else + [instr,nblines]=instruction2sci(mtlb_clause.elseifs(k).then(l),nblines) + sci_stat=update_instr_list(sci_stat,instr) + end + end + sci_elseifs($+1)=tlist(["elseif","expression","then"],sci_exprn,sci_stat) + end + + // Convert else + sci_else=list() + if size(mtlb_clause.else)<>0 then + level($)=level($)+1 + end + for k=1:size(mtlb_clause.else) + if typeof(mtlb_clause.else(k))=="sup_equal" then + sci_else_temp=list() + for i=1:size(mtlb_clause.else(k).sup_instr) + [instr,nblines]=instruction2sci(mtlb_clause.else(k).sup_instr(i),nblines) + sci_else_temp=update_instr_list(sci_else_temp,instr) + end + sci_else($+1)=tlist(["sup_equal","sup_instr","nb_opr"],sci_else_temp,mtlb_clause.else(k).nb_opr) + else + [instr,nblines]=instruction2sci(mtlb_clause.else(k),nblines) + sci_else=update_instr_list(sci_else,instr) + end + end + + // Create Scilab ifthenelse + sci_clause=tlist(["ifthenelse","expression","then","elseifs","else"],sci_expr,sci_then,sci_elseifs,sci_else) + level($)=level($)+1 + updatevarslist("END OF CLAUSE") + + // --- SELECT --- + case "selectcase" + level=[level;0] + // Convert expression + sci_expr=list() + [sci_expr(1)]=expression2sci(mtlb_clause.expression(1)) + for i=2:size(mtlb_clause.expression) + sci_expr(i)=mtlb_clause.expression(i) // EOL or comment + end + + // Get instructions to insert if there are + if m2sci_to_insert_b<>list() then + to_insert=m2sci_to_insert_b + m2sci_to_insert_b=list() + end + + // Convert cases + sci_cases=list() + k=0 + while k<size(mtlb_clause.cases) + k=k+1 + level($)=level($)+1 + // Convert expression + if typeof(mtlb_clause.cases(k).expression)=="funcall" then + if mtlb_clause.cases(k).expression.name=="makecell" then + // Insert new cases + for nbcas=size(mtlb_clause.cases):-1:k+1 + mtlb_clause.cases(nbcas+size(mtlb_clause.cases(k).expression.rhs))=mtlb_clause.cases(nbcas) + end + for nbrhs=1:size(mtlb_clause.cases(k).expression.rhs) + mtlb_clause.cases(nbrhs+k)=tlist(["case","expression","then"],mtlb_clause.cases(k).expression.rhs(nbrhs),mtlb_clause.cases(k).then) + end + mtlb_clause.cases(k)=null() + end + end + [sci_exprn]=expression2sci(mtlb_clause.cases(k).expression) + // Get instructions to insert if there are + if m2sci_to_insert_b<>list() then + to_insert=m2sci_to_insert_b + m2sci_to_insert_b=list() + end + + // Convert statements + sci_stat=list() + for l=1:size(mtlb_clause.cases(k).then) + if typeof(mtlb_clause.cases(k).then(l))=="sup_equal" then + sci_stat_temp=list() + for i=1:size(mtlb_clause.cases(k).then(l).sup_instr) + [instr,nblines]=instruction2sci(mtlb_clause.cases(k).then(l).sup_instr(i),nblines) + sci_stat_temp=update_instr_list(sci_stat_temp,instr) + end + sci_stat($+1)=tlist(["sup_equal","sup_instr","nb_opr"],sci_stat_temp,mtlb_clause.cases(k).then(l).nb_opr) + else + [instr,nblines]=instruction2sci(mtlb_clause.cases(k).then(l),nblines) + sci_stat=update_instr_list(sci_stat,instr) + end + end + sci_cases($+1)=tlist(["case","expression","then"],sci_exprn,sci_stat) + end + + // Convert else + sci_else=list() + if size(mtlb_clause.else)<>0 then + level($)=level($)+1 + end + for k=1:size(mtlb_clause.else) + if typeof(mtlb_clause.else(k))=="sup_equal" then + sci_else_temp=list(); + for i=1:size(mtlb_clause.else(k).sup_instr) + [instr,nblines]=instruction2sci(mtlb_clause.else(k).sup_instr(i),nblines) + sci_else_temp=update_instr_list(sci_else_temp,instr) + end + sci_else($+1)=tlist(["sup_equal","sup_instr","nb_opr"],sci_else_temp,mtlb_clause.else(k).nb_opr) + else + [instr,nblines]=instruction2sci(mtlb_clause.else(k),nblines) + sci_else=update_instr_list(sci_else,instr) + end + end + // Create Scilab selectcase + sci_clause=tlist(["selectcase","expression","cases","else"],sci_expr,sci_cases,sci_else) + level($)=level($)+1 + updatevarslist("END OF CLAUSE") + + // --- WHILE --- + case "while" + level=[level;0] + sci_do=list() + // Convert expression + [sci_expr]=expression2sci(mtlb_clause.expression) + // If there are instructions to insert, while is modified so that inserted instruction is evaluated in each loop + if m2sci_to_insert_b<>list() then + newif=tlist(["ifthenelse","expression","then","elseifs","else"],sci_expr,list(Funcall("break",1,list(),list())),list(),list()) + m2sci_to_insert_b($+1)=newif + sci_expr=Cste(%T) + sci_do=m2sci_to_insert_b + m2sci_to_insert_b=list() + end + + // Convert all do instructions + level($)=level($)+1 + for k=1:size(mtlb_clause.statements) + if typeof(mtlb_clause.statements(k))=="sup_equal" then + sci_do_temp=list() + for i=1:size(mtlb_clause.statements(k).sup_instr) + [instr,nblines]=instruction2sci(mtlb_clause.statements(k).sup_instr(i),nblines) + // If inserted instruction is an initialisation, it has to be done just one time and before loop + l=1; + while l<=lstsize(m2sci_to_insert_b) + if typeof(m2sci_to_insert_b(l))=="equal" & .. + (and(m2sci_to_insert_b(l).expression==Cste([])) | .. + and(m2sci_to_insert_b(l).expression==Funcall("struct",1,list(),list())) | .. + and(m2sci_to_insert_b(l).expression==Funcall("cell",1,list(),list())) ) then + to_insert($+1)=m2sci_to_insert_b(l) + m2sci_to_insert_b(l)=null() + if lstsize(m2sci_to_insert_b)>=l & m2sci_to_insert_b(l)==list("EOL") then + to_insert($+1)=m2sci_to_insert_b(l) + m2sci_to_insert_b(l)=null() + end + else + l=l+1; + end + end + sci_do_temp=update_instr_list(sci_do_temp,instr) + end + sci_do($+1)=tlist(["sup_equal","sup_instr","nb_opr"],sci_do_temp,mtlb_clause.statements(k).nb_opr) + else + [instr,nblines]=instruction2sci(mtlb_clause.statements(k),nblines) + // If inserted instruction is an initialisation, it has to be done just one time and before loop + l=1; + while l<=lstsize(m2sci_to_insert_b) + if typeof(m2sci_to_insert_b(l))=="equal" & .. + (and(m2sci_to_insert_b(l).expression==Cste([])) | .. + and(m2sci_to_insert_b(l).expression==Funcall("struct",1,list(),list())) | .. + and(m2sci_to_insert_b(l).expression==Funcall("cell",1,list(),list())) ) then + to_insert($+1)=m2sci_to_insert_b(l) + m2sci_to_insert_b(l)=null() + if lstsize(m2sci_to_insert_b)>=l & m2sci_to_insert_b(l)==list("EOL") then + to_insert($+1)=m2sci_to_insert_b(l) + m2sci_to_insert_b(l)=null() + end + else + l=l+1; + end + end + sci_do=update_instr_list(sci_do,instr) + end + end + + // Create Scilab while + sci_clause=tlist(["while","expression","statements"],sci_expr,sci_do) + level($)=level($)+1 + updatevarslist("END OF CLAUSE") + + // --- FOR --- + case "for" + //level=[level;1] + // Convert expression + [sci_expr,nblines]=instruction2sci(mtlb_clause.expression,nblines) + if typeof(sci_expr)=="equal" then + [bval,pos]=isdefinedvar(sci_expr.lhs(1)) + if bval then + varslist(pos).infer.dims=list(varslist(pos).infer.dims(1),1) + end + end + // Get instructions to insert if there are + if m2sci_to_insert_b<>list() then + to_insert=m2sci_to_insert_b + m2sci_to_insert_b=list() + end + sci_instr=list() + // Convert all do instructions + for k=1:size(mtlb_clause.statements) + if typeof(mtlb_clause.statements(k))=="sup_equal" then + sci_instr_temp=list() + for i=1:size(mtlb_clause.statements(k).sup_instr) + [instr,nblines]=instruction2sci(mtlb_clause.statements(k).sup_instr(i),nblines) + // If inserted instruction is an initialisation, it has to be done just one time and before loop + l=1; + while l<=lstsize(m2sci_to_insert_b) + if typeof(m2sci_to_insert_b(l))=="equal" & .. + (and(m2sci_to_insert_b(l).expression==Cste([])) | .. + and(m2sci_to_insert_b(l).expression==Funcall("struct",1,list(),list())) | .. + and(m2sci_to_insert_b(l).expression==Funcall("cell",1,list(),list())) ) then + to_insert($+1)=m2sci_to_insert_b(l) + m2sci_to_insert_b(l)=null() + if lstsize(m2sci_to_insert_b)>=l & m2sci_to_insert_b(l)==list("EOL") then + to_insert($+1)=m2sci_to_insert_b(l) + m2sci_to_insert_b(l)=null() + end + else + l=l+1; + end + end + sci_instr_temp=update_instr_list(sci_instr_temp,instr) + end + sci_instr($+1)=tlist(["sup_equal","sup_instr","nb_opr"],sci_instr_temp,mtlb_clause.statements(k).nb_opr) + else + [instr,nblines]=instruction2sci(mtlb_clause.statements(k),nblines) + // If inserted instruction is an initialisation, it has to be done just one time and before loop + l=1; + while l<=lstsize(m2sci_to_insert_b) + if typeof(m2sci_to_insert_b(l))=="equal" & .. + (and(m2sci_to_insert_b(l).expression==Cste([])) | .. + and(m2sci_to_insert_b(l).expression==Funcall("struct",1,list(),list())) | .. + and(m2sci_to_insert_b(l).expression==Funcall("cell",1,list(),list())) ) then + to_insert($+1)=m2sci_to_insert_b(l) + m2sci_to_insert_b(l)=null() + if lstsize(m2sci_to_insert_b)>=l & m2sci_to_insert_b(l)==list("EOL") then + to_insert($+1)=m2sci_to_insert_b(l) + m2sci_to_insert_b(l)=null() + end + else + l=l+1; + end + end + sci_instr=update_instr_list(sci_instr,instr) + end + end + // Create Scilab while + sci_clause=tlist(["for","expression","statements"],sci_expr,sci_instr) + else + error(msprintf(gettext("unknown clause type: %s."),typeof(mtlb_clause))) + end + m2sci_to_insert_b=to_insert + if m2sci_to_insert_b<>list() then + m2sci_to_insert_b($+1)=list("EOL"); + end +endfunction diff --git a/modules/m2sci/macros/kernel/convert2double.bin b/modules/m2sci/macros/kernel/convert2double.bin Binary files differnew file mode 100755 index 000000000..2161e1b88 --- /dev/null +++ b/modules/m2sci/macros/kernel/convert2double.bin diff --git a/modules/m2sci/macros/kernel/convert2double.sci b/modules/m2sci/macros/kernel/convert2double.sci new file mode 100755 index 000000000..1933dac57 --- /dev/null +++ b/modules/m2sci/macros/kernel/convert2double.sci @@ -0,0 +1,40 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [dble]=convert2double(A) + // This function converts input parameters to double to avoid to write overloading functions in Scilab + + lhs=argn(1) + + if A.vtype==Double then + dble=A + return + end + + if only_double then + dble=A + dble.type=Type(Double,Unknown) + else + if A.vtype==String then + lhslist=list(); + lhslist($+1)=Variable("ans",Infer(A.dims,Type(Double,Real))) + dble=Funcall("asciimat",1,Rhs_tlist(A),lhslist) + elseif A.vtype==Boolean then + lhslist=list(); + lhslist($+1)=Variable("ans",Infer(A.dims,Type(Double,Real))) + dble=Funcall("bool2s",1,Rhs_tlist(A),lhslist) + elseif A.vtype==Unknown then + lhslist=list(); + lhslist($+1)=Variable("ans",Infer(A.dims,Type(Double,Unknown))) + dble=Funcall("mtlb_double",1,Rhs_tlist(A),lhslist) + else + error(msprintf(gettext("%s is not yet implemented."),string(A.vtype))) + end + end +endfunction diff --git a/modules/m2sci/macros/kernel/default_trad.bin b/modules/m2sci/macros/kernel/default_trad.bin Binary files differnew file mode 100755 index 000000000..a0312b06d --- /dev/null +++ b/modules/m2sci/macros/kernel/default_trad.bin diff --git a/modules/m2sci/macros/kernel/default_trad.sci b/modules/m2sci/macros/kernel/default_trad.sci new file mode 100755 index 000000000..4d9868308 --- /dev/null +++ b/modules/m2sci/macros/kernel/default_trad.sci @@ -0,0 +1,102 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function tree=default_trad(tree) + // M2SCI function + // Create a default translation function + + global("mtlbref_fun") //contains the matlab reference functions which not yet converted + global("mtlbtool_fun")//contains the matlab toolboxes functions + global("not_mtlb_fun") // contains the not matlab functions + + if ~exists("mtlbref_fun") then + mtlb_fun=[] + end + if ~exists("mtlbtool_fun") then + mtlbtool_fun=[] + end + if ~exists("not_mtlb_fun") then + not_mtlb_fun=[] + end + + name=tree.name + + ispriminame=%f; + //true if the name function is the name of scilab function primitive + if funptr(tree.name)<>0 then + name1="%"+tree.name + tree.name=name1 + ispriminame=%t; + end + //ismtlbfun is true if the function is in a matlab toolbox, mtlbpath is the path where is the function + [mtlbpath,ismtlbtoolfun]=mtlbtoolfun(name) + //Matlab reference functions + if or(name==not_yet_converted()) then + set_infos(msprintf(gettext("Matlab function %s not yet converted, original calling sequence used."),name),2) + if ~or(name==mtlbref_fun(:,1)) then + mtlbref_fun($+1,1)=name + if ispriminame then + mtlbref_fun($,2)=msprintf(gettext("(Warning name conflict: function name changed from %s to %s)."),name,name1); + else + mtlbref_fun($,2)="" + end + end + //Matlab toolboxes functions + elseif ismtlbtoolfun then + set_infos(msprintf(gettext("Matlab toolbox(es) function %s not converted, original calling sequence used"),name),2) + if ~or(name==mtlbtool_fun(:,1)) then + mtlbtool_fun($+1,1)=name + if ispriminame then + mtlbtool_fun($,2)=msprintf(gettext("Matlab toolbox(es) function %s not converted, original calling sequence used."),name,name1,mtlbpath) + else + mtlbtool_fun($,2)=msprintf(gettext("(Find this function in matlab/%s)."),mtlbpath) + end + end + elseif isdefinedvar(Variable(tree.name,Infer())) then + operands=list() + operands(1)=Variable(tree.name,Infer()) + for krhs=1:lstsize(tree.rhs) + operands($+1)=tree.rhs(krhs) + end + tree=Operation("ext",operands,tree.lhs) + tree=operation2sci(tree) + + //Not matlbb function + else + set_infos(msprintf(gettext("Unknown function %s not converted, original calling sequence used."),name),2) + if ~or(name==not_mtlb_fun(:,1)) then + not_mtlb_fun($+1,1)=name + if ispriminame then + not_mtlb_fun($,2)=msprintf(gettext("(Warning name conflict: function name changed from %s to %s)."),name,name1); + else + not_mtlb_fun($,2)="" + end + end + end + if ispriminame then + set_infos(msprintf(gettext("(Warning name conflict: function name changed from %s to %s)."),name,name1),0) + end + [tree]=sci_generic(tree) +endfunction + + + + + + + + + + + + + + + + diff --git a/modules/m2sci/macros/kernel/equal2sci.bin b/modules/m2sci/macros/kernel/equal2sci.bin Binary files differnew file mode 100755 index 000000000..6cbf3980c --- /dev/null +++ b/modules/m2sci/macros/kernel/equal2sci.bin diff --git a/modules/m2sci/macros/kernel/equal2sci.sci b/modules/m2sci/macros/kernel/equal2sci.sci new file mode 100755 index 000000000..9b2bebc0e --- /dev/null +++ b/modules/m2sci/macros/kernel/equal2sci.sci @@ -0,0 +1,158 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [sci_instr]=equal2sci(mtlb_instr) + // Convertion of a Matlab instruction or expression to Scilab + // Input: + // - mtlb_instr: Matlab instr or expression to convert + // Output: + // - sci_instr: Scilab equivalent for mtlb_instr + + // Trees to insert in converted function tree + global("m2sci_to_insert_b") + m2sci_to_insert_b=list() + global("m2sci_to_insert_a") + m2sci_to_insert_a=list() + global("varslist") + + sci_instr=mtlb_instr + + // Add inference data to lhs + lhslist=list() + + // Inference field added to each lhs argument + // Get infos in varslist to init + for k=1:size(mtlb_instr.lhs) + if typeof(mtlb_instr.lhs(k))=="variable" then + [bval,index]=isdefinedvar(mtlb_instr.lhs(k)) + if bval then + INFER=varslist(index).infer + else + INFER=Infer() + end + lhslist($+1)=Variable(mtlb_instr.lhs(k).name,INFER) + elseif typeof(mtlb_instr.lhs(k))=="operation" then + if mtlb_instr.lhs(k).operator<>"ins" then + error(msprintf(gettext("lhs cannot be a %s operation."),mtlb_instr.lhs(k).operator)) + end + + [bval,index]=isdefinedvar(mtlb_instr.lhs(k).operands(1)) + if bval then + INFER=varslist(index).infer + else + INFER=Infer() + end + + lhslist($+1)=Operation(mtlb_instr.lhs(k).operator,.. + mtlb_instr.lhs(k).operands,.. + list(Variable(mtlb_instr.lhs(k).operands(1).name,INFER))) + else + error(msprintf(gettext("lhs cannot be a %s."),typeof(mtlb_instr.lhs(k)))) + end + end + + // Convert expression + + [sci_expr]=expression2sci(mtlb_instr.expression,lhslist); + + if sci_expr==list() then // Conversion made by inserted instructions or 'm2scideclare' + sci_instr=list() + else + + sci_instr.expression=sci_expr; + + // Update lhs of instruction + select typeof(sci_instr.expression) + case "operation" then + sci_instr.lhs=sci_expr.out; + case "funcall" then + sci_instr.lhs=sci_instr.expression.lhs + if typeof(mtlb_instr.expression)=="funcall" then + sci_instr.lhs=sci_expr.lhs; + end + case "cste" then + sci_instr.lhs=lhslist; + sci_instr.lhs(1).dims=sci_expr.dims; + sci_instr.lhs(1).type=sci_expr.type; + case "variable" then + sci_instr.lhs=lhslist; + sci_instr.lhs(1).dims=sci_expr.dims; + sci_instr.lhs(1).type=sci_expr.type; + else + error(msprintf(gettext("%s is not yet implemented."),typeof(sci_instr.expression))); + end + + // If lhs are insertion operation, they also have to be converted + for k=1:size(sci_instr.lhs) + if typeof(sci_instr.lhs(k))=="operation" then + sci_instr.lhs(k).operands($+1)=sci_instr.expression + // Keep just one inference field in sci_instr.expression (if is a funcall) so that inference can be made in operation2sci() + if typeof(sci_instr.lhs(k).operands($))=="funcall" then + for l=1:size(sci_instr.lhs(k).operands($).lhs) + if l<>k then + sci_instr.lhs(k).operands($).lhs(l)=list() + end + end + l=1 + while l<=size(sci_instr.lhs(k).operands($).lhs) + if sci_instr.lhs(k).operands($).lhs(l)==list() then + sci_instr.lhs(k).operands($).lhs(l)=null() + else + l=l+1 + end + end + // Verify that there is just one lhs kept + if size(sci_instr.lhs(k).operands($).lhs)<>1 then pause;end + end + // If insertion made in an unknown variable, I add it to varslist + inservar=sci_instr.lhs(k).operands(1) + [bval,index]=isdefinedvar(inservar) + if ~bval then + // Variable added to varslist before insertion + if funptr(inservar.name)<>0 then + matname="%"+inservar.name + else + matname=inservar.name + end + if sci_instr.expression.vtype==Struct then + // Variable is initialized to struct() in converted script is does not already exist + varslist($+1)=M2scivar(matname,inservar.name,Infer(list(0,0),Type(Struct,Unknown))) + //m2sci_to_insert_b($+1)=Equal(list(inservar),Funcall("struct",1,list(),list())) + elseif sci_instr.expression.vtype==Cell then + // Variable is initialized to cell() in converted script is does not already exist + varslist($+1)=M2scivar(matname,inservar.name,Infer(list(0,0),Type(Cell,Unknown))) + //m2sci_to_insert_b($+1)=Equal(list(inservar),Funcall("cell",1,list(),list())) + else + // Variable is initialized to [] in converted script is does not already exist + varslist($+1)=M2scivar(matname,inservar.name,Infer(list(0,0),Type(Double,Real))) + //m2sci_to_insert_b($+1)=Equal(list(inservar),Cste([])) + end + sci_instr.lhs(k).out(1).infer=varslist($).infer + else + sci_instr.lhs(k).out(1).infer=varslist(index).infer + end + [sci_instr.lhs(k)]=operation2sci(sci_instr.lhs(k)) + if typeof(sci_instr.lhs(k))=="operation" then + if or(sci_instr.lhs(k).operands($)<>sci_instr.expression) then // Update expression if has been modified while converting lhs + sci_instr.expression=sci_instr.lhs(k).operands($) + end + + sci_instr.lhs(k).operands($)=null() + updatevarslist(sci_instr.lhs(k).out) + else + // Insertion done by inserted instruction + sci_instr=list() + return + end + end + end + // Update varslist + updatevarslist(sci_instr.lhs); + end +endfunction diff --git a/modules/m2sci/macros/kernel/expression2sci.bin b/modules/m2sci/macros/kernel/expression2sci.bin Binary files differnew file mode 100755 index 000000000..aa20981dd --- /dev/null +++ b/modules/m2sci/macros/kernel/expression2sci.bin diff --git a/modules/m2sci/macros/kernel/expression2sci.sci b/modules/m2sci/macros/kernel/expression2sci.sci new file mode 100755 index 000000000..ded4e6b1f --- /dev/null +++ b/modules/m2sci/macros/kernel/expression2sci.sci @@ -0,0 +1,132 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [sci_expr]=expression2sci(mtlb_expr,lhslist) + // M2SCI function + + // Global variable for M2SCI + global("varslist") + + // When lhslist is given, then expression2sci is called from equal2sci + // else it is called from an other function (clause2sci for example) + rhs=argn(2); + // If not given, lhslist is initialized with no name lhs + if rhs==1 then + if typeof(mtlb_expr)=="funcall" then + lhsnb=mtlb_expr.lhsnb; + else + lhsnb=1; + end + lhslist=list(); + for k=1:lhsnb + lhslist($+1)=Variable("ans",Infer()); + end + end + + select typeof(mtlb_expr) + // --- Expression is an 'operation' tlist --- + case "operation" + // Add inference fields to operation + mtlb_expr=Operation(mtlb_expr.operator,mtlb_expr.operands,lhslist) + + // Translation + [sci_expr]=operation2sci(mtlb_expr) + + // --- Expression is a 'funcall' tlist --- + case "funcall" + + // Particular case if expression is a call to 'm2scideclare' + if mtlb_expr.name=="m2scideclare" then + sci_expr=list() + // varslist is updated with user defined data + sci_m2scideclare(mtlb_expr) + + // Particular case if expression is a call to 'comment' + elseif mtlb_expr.name=="%comment" then + // Add inference fields to funcall + sci_expr=Funcall(mtlb_expr.name,mtlb_expr.lhsnb,mtlb_expr.rhs,lhslist) + // All other 'funcall' expressions + else + // Add inference fields to funcall + mtlb_expr=Funcall(mtlb_expr.name,mtlb_expr.lhsnb,mtlb_expr.rhs,lhslist) + + // Translation + [sci_expr]=funcall2sci(mtlb_expr) + end + + // --- Expression is a 'cste' tlist --- + case "cste" + // Convert expression + sci_expr=Cste(mtlb_expr.value) + + // --- Expression is a 'variable' tlist --- + case "variable" + [bval,index]=isdefinedvar(mtlb_expr) + + // Variable already exists + if bval then + sci_expr=Variable(varslist(index).sciname,varslist(index).infer) + // Variable is unknown + else + // Try to find what is this variable + [sci_expr]=getvar2sci(mtlb_expr,lhslist) + if typeof(sci_expr)=="funcall" then + if typeof(lhslist(1))=="variable" & sci_expr.name==lhslist(1).name then // Used for commands such as keyboard, cputime... + // keyboard in an M-file is represented in tree by an equal with lhs=keyboard and expression=keyboard + sci_expr.lhs(1).name="ans" + elseif typeof(lhslist(1))=="variable" & mtlb_expr.name==lhslist(1).name then // When command converted by mtlb(cmd_name) + sci_expr.lhs(1).name="ans" + end + if sci_expr.name<>"mtlb" then + [sci_expr]=funcall2sci(sci_expr) + end + end + end + // --- operand is a list (only for operations) --- + case "list" + if lstsize(mtlb_expr)==1 & mtlb_expr==list("EOL") then + sci_expr=mtlb_expr + return + end + for k=1:size(mtlb_expr) + if typeof(mtlb_expr(k))=="cste" then + mtlb_expr(k)=Cste(mtlb_expr(k).value) + elseif typeof(mtlb_expr(k))=="variable" then + [isvar,index]=isdefinedvar(mtlb_expr(k)) + if isvar then + mtlb_expr(k)=Variable(mtlb_expr(k).name,varslist(index).infer) + else + mtlb_expr(k)=Variable(mtlb_expr(k).name,Infer()) + end + elseif typeof(mtlb_expr(k))=="list" then + [mtlb_expr(k)]=expression2sci(mtlb_expr(k),lhslist) + elseif typeof(mtlb_expr(k))=="operation" then + [mtlb_expr(k)]=expression2sci(mtlb_expr(k),lhslist) + elseif typeof(mtlb_expr(k))=="funcall" then + [mtlb_expr(k)]=expression2sci(mtlb_expr(k),lhslist) + else + error(msprintf(gettext("recursive extraction with one index of type %s is not yet implemented."),typeof(mtlb_expr(k)))) + end + end + sci_expr=mtlb_expr + // --- operand is a comment --- + case "comment" + sci_expr=mtlb_expr + // --- Expression is a not tolerated tlist --- + else + error(msprintf(gettext("%s is not yet implemented."),typeof(mtlb_expr))) + end + + // Verify if flag for translation improvements has to be set + if typeof(sci_expr)=="funcall" then + if part(sci_expr.name,1:4)=="mtlb" then + m2sci_infos(1)=%t // level 1 = improvements + end + end +endfunction diff --git a/modules/m2sci/macros/kernel/first_non_singleton.bin b/modules/m2sci/macros/kernel/first_non_singleton.bin Binary files differnew file mode 100755 index 000000000..168324531 --- /dev/null +++ b/modules/m2sci/macros/kernel/first_non_singleton.bin diff --git a/modules/m2sci/macros/kernel/first_non_singleton.sci b/modules/m2sci/macros/kernel/first_non_singleton.sci new file mode 100755 index 000000000..4d5d80747 --- /dev/null +++ b/modules/m2sci/macros/kernel/first_non_singleton.sci @@ -0,0 +1,26 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function dim=first_non_singleton(m2scitlist) + dim=-1 + if is_a_scalar(m2scitlist) | is_a_vector(m2scitlist) then + dim=0; + return + end + for k=1:size(m2scitlist.dims) + if m2scitlist.dims(k)==0 then + dim=0 + break + elseif m2scitlist.dims(k)>0 & m2scitlist.dims(k)<>1 then + dim=k + break + end + end + +endfunction diff --git a/modules/m2sci/macros/kernel/funcall2sci.bin b/modules/m2sci/macros/kernel/funcall2sci.bin Binary files differnew file mode 100755 index 000000000..1b06ecd50 --- /dev/null +++ b/modules/m2sci/macros/kernel/funcall2sci.bin diff --git a/modules/m2sci/macros/kernel/funcall2sci.sci b/modules/m2sci/macros/kernel/funcall2sci.sci new file mode 100755 index 000000000..56a2af907 --- /dev/null +++ b/modules/m2sci/macros/kernel/funcall2sci.sci @@ -0,0 +1,98 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [sci_equiv]=funcall2sci(mtlb_expr) + // M2SCI function + // Convert a function call in an instruction or in an expression from Matlab to Scilab + // Input: + // - mtlb_instr: Matlab instr or expression to convert + // Output: + // - sci_instr: Scilab equivalent for mtlb_instr + + rhslist=mtlb_expr.rhs + if rhslist==[] then // Function called as a command + rhsnb=-1 + rhslist=list() + mtlb_expr.rhs=list() + else + rhsnb=size(rhslist) + end + // Init returned value + sci_expr=mtlb_expr + + rhsind=1 + while rhsind<=rhsnb + [sci_equiv]=expression2sci(rhslist(rhsind)); + mtlb_expr.rhs(rhsind)=sci_equiv; + rhsind=rhsind+1; + end + + // Performs the conversion of function call + lhs=mtlb_expr.lhsnb + if rhsnb==-1 then + rhs=-1 + else + rhs=size(mtlb_expr.rhs) + end + funname=mtlb_expr.name + + // If a translation function exists + if exists("sci_"+funname)==1 then + execstr("[sci_equiv]=sci_"+funname+"(mtlb_expr)"); + // If I don't know where I can search other M-files + elseif res_path==[] then + sci_equiv=default_trad(mtlb_expr) + else + sci_tmpfile =pathconvert(TMPDIR)+pathconvert(fnam)+"sci_"+funname+".sci" + tmpierr=execstr("exec(sci_tmpfile,-1)","errcatch");errclear(); + sci_file=res_path+"sci_"+funname+".sci" + ierr=execstr("exec(sci_file,-1)","errcatch");errclear(); + if tmpierr==0 then + execstr("[sci_equiv]=sci_"+mtlb_expr.name+"(mtlb_expr)"); + // If a translation function exists + elseif ierr==0 then + execstr("[sci_equiv]=sci_"+mtlb_expr.name+"(mtlb_expr)"); + // If no translation indication given + elseif Recmode then + // Check if the M-file exists in the given paths + path=mfile_path(funname) + if path==[] then + sci_equiv=default_trad(mtlb_expr) + elseif or(funname==nametbl) + sci_equiv=sci_generic(mtlb_expr) + else + fnam=funname + scipath=res_path+fnam+".sci" + scepath=res_path+fnam+".sce" + catpath=res_path+fnam+".cat" + res=0 + if newest(path,scipath,scepath)==1 then + res=mfile2sci(path,res_path,%F,%T) + end + if res==1 then + exec(sci_file, -1) + ierr=execstr("[sci_equiv]=sci_"+mtlb_expr.name+"(mtlb_expr)","errcatch"); + if ierr<>0 then + error(msprintf(gettext("Error while executing : [sci_equiv]=sci_%s(mtlb_expr)."),mtlb_expr.name)); + end + else + sci_equiv=default_trad(mtlb_expr) + end + end + else // Default translation + sci_equiv=default_trad(mtlb_expr) + end + end + + // If equivalent is a funcall, number of lhs can have changed + if typeof(sci_equiv)=="funcall" then + sci_equiv.lhsnb=size(sci_equiv.lhs) + end + +endfunction diff --git a/modules/m2sci/macros/kernel/funcallsearch.bin b/modules/m2sci/macros/kernel/funcallsearch.bin Binary files differnew file mode 100755 index 000000000..857a7dd71 --- /dev/null +++ b/modules/m2sci/macros/kernel/funcallsearch.bin diff --git a/modules/m2sci/macros/kernel/funcallsearch.sci b/modules/m2sci/macros/kernel/funcallsearch.sci new file mode 100755 index 000000000..3b96282e2 --- /dev/null +++ b/modules/m2sci/macros/kernel/funcallsearch.sci @@ -0,0 +1,104 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [funcallname,variablename]=funcallsearch(instr,funcallname,fnamvect,variablename) + // + // FUNCALLSEARCH recursive function (used by "translatepaths" function) + // Searches the functions names in each instruction of mtlbtree + // Input-Output + // -funcallname : a vector which contains the names of called functions if it exists a M-file having the same name in the Paths + // -variablename : a vector which contains the names of declared variables + // Input + // -instr : mtlbtree instruction + // -fnamvect : vector which contains all M-files names found in the Paths + + // case : ifthenelse instruction + if typeof(instr) == "ifthenelse" then + [funcallname,variablename]=funcallsearch(instr.expression,funcallname,fnamvect,variablename) + for i=1:size(instr.then) + [funcallname,variablename]=funcallsearch((instr.then(i)),funcallname,fnamvect,variablename) + end + for i=1:size(instr.elseifs) + for k=1:size(instr.elseifs(i).then) + [funcallname,variablename]=funcallsearch((instr.elseifs(i).then(k)),funcallname,fnamvect,variablename) + end + end + for i=1:size(instr.else) + [funcallname,variablename]=funcallsearch((instr.else(i)),funcallname,fnamvect,variablename) + end + // case : selectcase instruction + elseif typeof(instr) == "selectcase" then + [funcallname,variablename]=funcallsearch(instr.expression,funcallname,fnamvect,variablename) + + for i=1:size(instr.cases) + [funcallname,variablename]=funcallsearch((instr.cases(i).expression),funcallname,fnamvect,variablename) + for j=1:size(instr.cases(i).then) + [funcallname,variablename]=funcallsearch((instr.cases(i).then(j)),funcallname,fnamvect,variablename) + end + end + for i=1:size(instr.else) + [funcallname,variablename]=funcallsearch(instr.else(i),funcallname,fnamvect,variablename) + end + // case : while instruction + elseif typeof(instr) == "while" then + [funcallname,variablename]=funcallsearch(instr.expression,funcallname,fnamvect,variablename) + for i=1:size(instr.statements) + [funcallname,variablename]=funcallsearch(instr.statements(i),funcallname,fnamvect,variablename) + end + // case : for instruction + elseif typeof(instr) == "for" then + [funcallname,variablename]=funcallsearch(instr.expression,funcallname,fnamvect,variablename) + for i=1:size(instr.statements) + [funcallname,variablename]=funcallsearch(instr.statements(i),funcallname,fnamvect,variablename) + end + // case : cste instruction + elseif typeof(instr)== "cste" then + return + // case : variable instruction + elseif typeof(instr)=="variable" + if find(instr.name==variablename)==[] & find(instr.name==stripblanks(part(fnamvect,1:24)))<>[] & find(instr.name==funcallname)==[] then + funcallname=[funcallname;fnamvect(find(instr.name==stripblanks(part(fnamvect,1:24))))] + else + return + end + // case : equal instruction + elseif typeof(instr) == "equal" then + [funcallname,variablename]=funcallsearch(instr.expression,funcallname,fnamvect,variablename) + // case : expression is a funcall + elseif typeof(instr) == "funcall" then + if find(funcallname==instr.name) == [] & find(instr.name==stripblanks(part(fnamvect,1:24)))<>[] then + if size(find(instr.name==stripblanks(part(fnamvect,1:24))),2)==1 then + funcallname=[funcallname;fnamvect(find(instr.name==stripblanks(part(fnamvect,1:24))))] + else + findvect=find(instr.name==stripblanks(part(fnamvect,1:24))) + funcallname=[funcallname;fnamvect(findvect(2))] + st = " " + mtlbtree.name + ": " + fnamvect(findvect(1)) + for i=2:size(findvect,2) + st = st+ " <-> " + fnamvect(findvect(i)) + end + st = st + gettext(": The 24 first characters of the files names are equal: "); + warning(st) + end + end + // case : expression is cste + if typeof(instr.rhs)== "constant" then + return + else + for ind=1:size(instr.rhs) + [funcallname,variablename]=funcallsearch(instr.rhs(ind),funcallname,fnamvect,variablename) + end + end + // case : operation instruction + elseif typeof(instr) == "operation" then + for ind=1:size(instr.operands) + [funcallname,variablename]=funcallsearch(instr.operands(ind),funcallname,fnamvect,variablename) + end + end + +endfunction
\ No newline at end of file diff --git a/modules/m2sci/macros/kernel/get_unknown.bin b/modules/m2sci/macros/kernel/get_unknown.bin Binary files differnew file mode 100755 index 000000000..aff5c164c --- /dev/null +++ b/modules/m2sci/macros/kernel/get_unknown.bin diff --git a/modules/m2sci/macros/kernel/get_unknown.sci b/modules/m2sci/macros/kernel/get_unknown.sci new file mode 100755 index 000000000..02f1181ee --- /dev/null +++ b/modules/m2sci/macros/kernel/get_unknown.sci @@ -0,0 +1,31 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [sci_equiv]=get_unknown(varname,lhslist) + // Handle cases where varname appear in an expression while it is not known. + + // nam may be: + // - a variable created in an other clause part + // - a M-file called without args + // - a variable created by an eval + + // Check clause !!! + + // Check if it is a Matlab function not converted yet + if or(varname==not_yet_converted()) then + set_infos(msprintf(gettext("Matlab function %s not yet converted."),varname),2) + tmpvar=Variable(varname,Infer()) + sci_equiv=Funcall("mtlb",1,Rhs_tlist(tmpvar),lhslist) + else + // Other cases: I am not able to determine what is nam + set_infos(msprintf(gettext("mtlb(%s) can be replaced by %s() or %s whether %s is an M-file or not."),varname,varname,varname,varname),1) + tmpvar=Variable(varname,Infer()) + sci_equiv=Funcall("mtlb",1,Rhs_tlist(tmpvar),lhslist) + end +endfunction diff --git a/modules/m2sci/macros/kernel/getoperands.bin b/modules/m2sci/macros/kernel/getoperands.bin Binary files differnew file mode 100755 index 000000000..ed31252d0 --- /dev/null +++ b/modules/m2sci/macros/kernel/getoperands.bin diff --git a/modules/m2sci/macros/kernel/getoperands.sci b/modules/m2sci/macros/kernel/getoperands.sci new file mode 100755 index 000000000..b9f77eabf --- /dev/null +++ b/modules/m2sci/macros/kernel/getoperands.sci @@ -0,0 +1,24 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [varargout] = getoperands(op_tree) + + varargout=list() + + if typeof(op_tree)<>"operation" then + error(gettext("input argument must be an ''operation'' tlist.")) + end + + opnb=size(op_tree.operands) + + for k=1:opnb + varargout(k)=op_tree.operands(k) + end + +endfunction diff --git a/modules/m2sci/macros/kernel/getrhs.bin b/modules/m2sci/macros/kernel/getrhs.bin Binary files differnew file mode 100755 index 000000000..9d2d21eec --- /dev/null +++ b/modules/m2sci/macros/kernel/getrhs.bin diff --git a/modules/m2sci/macros/kernel/getrhs.sci b/modules/m2sci/macros/kernel/getrhs.sci new file mode 100755 index 000000000..3401a22ce --- /dev/null +++ b/modules/m2sci/macros/kernel/getrhs.sci @@ -0,0 +1,24 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [varargout] = getrhs(instr_tree) + + varargout=list() + + if typeof(instr_tree)<>"funcall" then + error(gettext("Wrong input argument in getrhs() (Must be a ''funcall'' tlist).")) + end + + rhsnb=size(instr_tree.rhs) + + for k=1:rhsnb + varargout(k)=instr_tree.rhs(k) + end + +endfunction diff --git a/modules/m2sci/macros/kernel/gettempvar.bin b/modules/m2sci/macros/kernel/gettempvar.bin Binary files differnew file mode 100755 index 000000000..43479e444 --- /dev/null +++ b/modules/m2sci/macros/kernel/gettempvar.bin diff --git a/modules/m2sci/macros/kernel/gettempvar.sci b/modules/m2sci/macros/kernel/gettempvar.sci new file mode 100755 index 000000000..699739779 --- /dev/null +++ b/modules/m2sci/macros/kernel/gettempvar.sci @@ -0,0 +1,35 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function var=gettempvar(n) + // M2SCI function + // Create a temporary variable with name depending on clause level... + + global("tmpvarnb") + [lhs,rhs]=argn(0) + + varname="%v"+string(tmpvarnb) + tmpvarnb=tmpvarnb+1 + + // If in the expression of a clause then variable name is modified by adding level + if size(level,1)>1 then + if level(size(level,1))==0 then + varname=varname+string(size(level,1)) + elseif level(size(level,1))>0 then // If in statements of a clause then variable name is modified by adding _level + varname=varname+"_"+string(level(size(level,1))) + end + end + + // User is allowed to precise a variable number + if rhs==1 then + varname=varname+"$"+string(n) + end + + var=Variable(varname,Infer(list(0,0),Type())) +endfunction diff --git a/modules/m2sci/macros/kernel/getvar2sci.bin b/modules/m2sci/macros/kernel/getvar2sci.bin Binary files differnew file mode 100755 index 000000000..6796fa65e --- /dev/null +++ b/modules/m2sci/macros/kernel/getvar2sci.bin diff --git a/modules/m2sci/macros/kernel/getvar2sci.sci b/modules/m2sci/macros/kernel/getvar2sci.sci new file mode 100755 index 000000000..caf989093 --- /dev/null +++ b/modules/m2sci/macros/kernel/getvar2sci.sci @@ -0,0 +1,63 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [sci_equiv]=getvar2sci(var,lhslist) + // Translate the named variable acquisition + + // Global variable for M2SCI + global("varslist") + + rhs=argn(2) + if rhs<>2 then + error(gettext("Wrong number of inputs.")) + end + + // Search variable name in variable name table + [boolval,index]=isdefinedvar(var) + varname=var.name + + // Variable is not defined yet + if ~boolval then + scinam=varname + + // If Matlab variable name is a function name in Scilab + if funptr(varname)<>0 then + scinam="%"+varname + end + + // Undefined variable may be a M-file or a global variable + // Check if a corresponding M-file exists here + if isanmfile(varname) then + // A M-file without parameter + if verbose_mode<0 then + m2sci_info(msprintf(gettext("L.%d: Unknown variable %s is a M-file."),nblines,varname),-1); + end + sci_equiv=Funcall(varname,size(lhslist),list(),lhslist) + elseif exists("sci_"+varname)==1 then + // A translated function without parameter + if verbose_mode<0 then + m2sci_info(msprintf(gettext("L.%d: Unknown variable %s is a M-file (sci_%s exists)."),nblines,varname,varname),-1); + end + sci_equiv=Funcall(varname,size(lhslist),list(),lhslist) + elseif or(varname==["i","j"]) then + if verbose_mode<0 then + m2sci_info(msprintf(gettext("Variable %s supposed to be the Imaginary unit."),varname),-1); + end + sci_equiv=Variable("%i",Infer(list(1,1),Type(Double,Complex))) + else + // Try to find what is 'varname' + sci_equiv=get_unknown(varname,lhslist) + if verbose_mode<0 then + m2sci_info(msprintf(gettext("L.%d: Unknown variable %s."),nblines,varname),-1); + end + end + else + sci_equiv=Variable(varname,Infer(varslist(index).dims,varslist(index).type)) + end +endfunction diff --git a/modules/m2sci/macros/kernel/i_notation.bin b/modules/m2sci/macros/kernel/i_notation.bin Binary files differnew file mode 100755 index 000000000..0bbd59db5 --- /dev/null +++ b/modules/m2sci/macros/kernel/i_notation.bin diff --git a/modules/m2sci/macros/kernel/i_notation.sci b/modules/m2sci/macros/kernel/i_notation.sci new file mode 100755 index 000000000..c7ae4c9b0 --- /dev/null +++ b/modules/m2sci/macros/kernel/i_notation.sci @@ -0,0 +1,94 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function txt=i_notation(txt) + // This function changes 1i ,... by 1*i,... + + // M2SCI kernel functions called : + // - isinstring + + + // To succeed in this work, we successively suppress occurences which can be proved not to be complex notation + // Until we are 'sure' to have a complex notation + + n=size(txt,"r") + + I="i";J="j" + matches=[string(0:9)+I(ones(1,10)),".i",string(0:9)+J(ones(1,10)),".j"] + symbs=["+","-","*","/","\","(","["," ","^"," ",",",";","=","{"] + s1=["+","-","*","/","\",",",";"," ","^",".","&","|","''","]",")","}"] + s2=[string(0:9),"d","e","D","E","."] + + for k=1:n + st=strindex(txt(k),[";//","//"]) + if st<> [] then + for stk=1:size(st,"*") + if ~isinstring(txt(k),stk) then + break + end + end + continue + end + tk=txt(k)+" " + + // Find possible occurence of complex notation + kc=strindex(tk,matches) + + // Kill indexes which point to non complex values (e.g. : a1item...) + for kk=size(kc,"*"):-1:1 + km=kc(kk)+2 + if find(part(tk,km)==s1)==[] then kc(kk)=[],end + end + + kc=[0 kc] + + for kk=size(kc,"*"):-1:2 + km=kc(kk) + num=%T + // Reads numeric value leading complex variable + while or(part(tk,km)==s2) + km=km-1 + if km<=kc(kk-1)+1 then + km=kc(kk-1); + num=%F; + break + end + end + + tokill=%F + num=part(tk,km+1:kc(kk)-1) + ke=strindex(convstr(num),["e","d"]) + kd=strindex(convstr(num),".") + + // Searching for invalid numeric values (more than one dot...) + if size(ke,2)>1|size(kd,2)>1 then + tokill=%T + elseif size(ke,2)==1&size(kd,2)==1 then + if ke<kd then tokill=%T,end + end + + + if ~tokill then + // If char which follows supposed complex notation is not an operation symbol + if km<>kc(kk-1) then + if and(part(tk,km)<>symbs) then tokill=%T,end + end + end + + if ~tokill then + km=kc(kk) + // If supposed complex notation is not in a string + if ~isinstring(tk,km) then + tk=part(tk,1:km)+"*%"+part(tk,km+1:length(tk)) + end + end + end + txt(k)=tk + end +endfunction diff --git a/modules/m2sci/macros/kernel/infer2txt.bin b/modules/m2sci/macros/kernel/infer2txt.bin Binary files differnew file mode 100755 index 000000000..2b05e16fa --- /dev/null +++ b/modules/m2sci/macros/kernel/infer2txt.bin diff --git a/modules/m2sci/macros/kernel/infer2txt.sci b/modules/m2sci/macros/kernel/infer2txt.sci new file mode 100755 index 000000000..bef0b616f --- /dev/null +++ b/modules/m2sci/macros/kernel/infer2txt.sci @@ -0,0 +1,60 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function txt=infer2txt(infer) + txt=[] + dims=[] + if typeof(infer)=="infer" then + for l=1:size(infer.dims) + dims=[dims,string(infer.dims(l))] + end + else + error(gettext("Not yet implemented.")) + end + dims=strcat(dims," ") + + tp=infer.type.vtype + if tp==1 then + tp="Double" + elseif tp==10 then + tp="String" + elseif or(tp==[4,6]) then + tp="Boolean" + elseif tp==16 then + tp="Struct" + for k=1:lstsize(infer.contents.index) + if typeof(infer.contents.index(k))<>"list" then + txt=[txt;expression2code(list(infer.contents.index(k)))+infer2txt(infer.contents.data(k))] + else + txt=[txt;expression2code(infer.contents.index(k))+infer2txt(infer.contents.data(k))] + end + end + elseif tp==17 then + tp="Cell" + for k=1:lstsize(infer.contents.index) + if typeof(infer.contents.index(k))<>"list" then + txt=[txt;expression2code(list(infer.contents.index(k)))+infer2txt(infer.contents.data(k))] + else + txt=[txt;expression2code(infer.contents.index(k))+infer2txt(infer.contents.data(k))] + end + end + elseif tp==9 then + tp="Handle" + else + tp="Unknown" + end + if infer.type.property==Real then + prop="Real" + elseif infer.type.property==Complex then + prop="Complex" + else + prop="Unknown" + end + txt=["|"+dims+"|"+tp+"|"+prop;txt] +endfunction diff --git a/modules/m2sci/macros/kernel/insert.bin b/modules/m2sci/macros/kernel/insert.bin Binary files differnew file mode 100755 index 000000000..bc4e95a9e --- /dev/null +++ b/modules/m2sci/macros/kernel/insert.bin diff --git a/modules/m2sci/macros/kernel/insert.sci b/modules/m2sci/macros/kernel/insert.sci new file mode 100755 index 000000000..d72cfcdf4 --- /dev/null +++ b/modules/m2sci/macros/kernel/insert.sci @@ -0,0 +1,26 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function []=insert(instr,opt) + + // Global variables for M2SCI + global("m2sci_to_insert_b") + global("m2sci_to_insert_a") + + [lhs,rhs]=argn() + + if rhs==1 then + opt=0 // Insertion before current instruction + end + if opt<>1 then + m2sci_to_insert_b($+1)=instr + else + m2sci_to_insert_a($+1)=instr + end +endfunction diff --git a/modules/m2sci/macros/kernel/instruction2sci.bin b/modules/m2sci/macros/kernel/instruction2sci.bin Binary files differnew file mode 100755 index 000000000..af311919f --- /dev/null +++ b/modules/m2sci/macros/kernel/instruction2sci.bin diff --git a/modules/m2sci/macros/kernel/instruction2sci.sci b/modules/m2sci/macros/kernel/instruction2sci.sci new file mode 100755 index 000000000..903f993fc --- /dev/null +++ b/modules/m2sci/macros/kernel/instruction2sci.sci @@ -0,0 +1,32 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [converted_instr,nblines]=instruction2sci(mtlb_instr,nblines) + + // Convertion of empty lines + if mtlb_instr==list("EOL") then + converted_instr=list("EOL") + nblines = nblines + 1; + return + end + + if typeof(mtlb_instr)=="equal" then + [converted_instr]=equal2sci(mtlb_instr) + elseif or(typeof(mtlb_instr)==["ifthenelse","selectcase","for","while","trycatch"]) then + [converted_instr,nblines]=clause2sci(mtlb_instr,nblines) + elseif or(typeof(mtlb_instr)==["funcall","cste","operation","variable"]) then + [converted_instr]=expression2sci(mtlb_instr) + elseif typeof(mtlb_instr)=="comment" then + [converted_instr]=mtlb_instr + + else + error(gettext("unknown instruction type %s."),typeof(mtlb_instr)) + end + +endfunction diff --git a/modules/m2sci/macros/kernel/is_a_scalar.bin b/modules/m2sci/macros/kernel/is_a_scalar.bin Binary files differnew file mode 100755 index 000000000..d18b829bd --- /dev/null +++ b/modules/m2sci/macros/kernel/is_a_scalar.bin diff --git a/modules/m2sci/macros/kernel/is_a_scalar.sci b/modules/m2sci/macros/kernel/is_a_scalar.sci new file mode 100755 index 000000000..5ad16a005 --- /dev/null +++ b/modules/m2sci/macros/kernel/is_a_scalar.sci @@ -0,0 +1,24 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function r=is_a_scalar(A) + // M2SCI function + // Checks if all dimensions of A are 1 + // Input: A = a M2SCI tlist + // Output: r = boolean value (true if A is a scalar) + + n=size(A.dims) + r=%T + for k=1:n + if A.dims(k)<>1 then + r=%F + return + end + end +endfunction diff --git a/modules/m2sci/macros/kernel/is_a_vector.bin b/modules/m2sci/macros/kernel/is_a_vector.bin Binary files differnew file mode 100755 index 000000000..dcae3cbce --- /dev/null +++ b/modules/m2sci/macros/kernel/is_a_vector.bin diff --git a/modules/m2sci/macros/kernel/is_a_vector.sci b/modules/m2sci/macros/kernel/is_a_vector.sci new file mode 100755 index 000000000..3c4b01af6 --- /dev/null +++ b/modules/m2sci/macros/kernel/is_a_vector.sci @@ -0,0 +1,27 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function r=is_a_vector(A) + // M2SCI function + // Checks if all dimensions of A but one are 1 + // Input: A = a M2SCI tlist + // Output: r = boolean value (true if A is a vector) + + nbones=0 + n=size(A.dims) + r=%F + for k=1:n + if A.dims(k)==1 then + nbones=nbones+1 + elseif A.dims(k)==-1 then + return + end + end + r=nbones==n-1 +endfunction diff --git a/modules/m2sci/macros/kernel/is_complex.bin b/modules/m2sci/macros/kernel/is_complex.bin Binary files differnew file mode 100755 index 000000000..81263e6cb --- /dev/null +++ b/modules/m2sci/macros/kernel/is_complex.bin diff --git a/modules/m2sci/macros/kernel/is_complex.sci b/modules/m2sci/macros/kernel/is_complex.sci new file mode 100755 index 000000000..5c804ed89 --- /dev/null +++ b/modules/m2sci/macros/kernel/is_complex.sci @@ -0,0 +1,18 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function r=is_complex(A) + // M2SCI function + // Checks if A is complex + // Input: A = a M2SCI tlist + // Output: r = boolean value (true if A is complex) + + r=A.property==Complex +endfunction + diff --git a/modules/m2sci/macros/kernel/is_empty.bin b/modules/m2sci/macros/kernel/is_empty.bin Binary files differnew file mode 100755 index 000000000..d19743406 --- /dev/null +++ b/modules/m2sci/macros/kernel/is_empty.bin diff --git a/modules/m2sci/macros/kernel/is_empty.sci b/modules/m2sci/macros/kernel/is_empty.sci new file mode 100755 index 000000000..5f605e37f --- /dev/null +++ b/modules/m2sci/macros/kernel/is_empty.sci @@ -0,0 +1,25 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function r=is_empty(A) + // M2SCI function + // Checks if all A dimension are 0 + // Input: A = a M2SCI tlist + // Output: r = boolean value (true if A is an empty matrix) + + n=size(A.dims) + nb=0 + for k=1:n + if A.dims(k)==0 then + nb=nb+1 + end + end + + r=nb==n +endfunction diff --git a/modules/m2sci/macros/kernel/is_real.bin b/modules/m2sci/macros/kernel/is_real.bin Binary files differnew file mode 100755 index 000000000..809de4d86 --- /dev/null +++ b/modules/m2sci/macros/kernel/is_real.bin diff --git a/modules/m2sci/macros/kernel/is_real.sci b/modules/m2sci/macros/kernel/is_real.sci new file mode 100755 index 000000000..8edb3c84f --- /dev/null +++ b/modules/m2sci/macros/kernel/is_real.sci @@ -0,0 +1,18 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function r=is_real(A) + // M2SCI function + // Checks if A real + // Input: A = a M2SCI tlist + // Output: r = boolean value (true if A is real) + + r=A.type.property==Real +endfunction + diff --git a/modules/m2sci/macros/kernel/isacomment.bin b/modules/m2sci/macros/kernel/isacomment.bin Binary files differnew file mode 100755 index 000000000..d44b0aeb4 --- /dev/null +++ b/modules/m2sci/macros/kernel/isacomment.bin diff --git a/modules/m2sci/macros/kernel/isacomment.sci b/modules/m2sci/macros/kernel/isacomment.sci new file mode 100755 index 000000000..f70d1ea81 --- /dev/null +++ b/modules/m2sci/macros/kernel/isacomment.sci @@ -0,0 +1,45 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function k=isacomment(txt) + // Find if txt contains a Matlab comment + // If no return 0 + // If yes return the position of the beginning of the comment + + kc=strindex(txt,"%") + k=0 + if kc<>[] then + kq=strindex(txt,quote) + while %t then + qc=size(find(kq<kc(1)),2) // qc = nb of quote placed before the first % + // Even number of quote before first % + if modulo(qc,2)==0 then + k=kc(1) + break + else // There is a single quote before %, have to check for the beginning of the string + while qc>2 then + if (kq(qc-1)==kq(qc)-1) then // Found a '' sequence + qc=qc-2 + else + break + end + end + kk=kq(qc) + if execstr("prev = part(txt,kk-1)","errcatch")<>0 then pause,end;errclear(); + if or(prev==[" ",",",";","=","[","("]) then // qc points on a string beginning + kc(1)=[] + if kc==[] then break,end + else + k=kc(1) + break + end + end + end + end +endfunction diff --git a/modules/m2sci/macros/kernel/isanmfile.bin b/modules/m2sci/macros/kernel/isanmfile.bin Binary files differnew file mode 100755 index 000000000..4aa97fe3c --- /dev/null +++ b/modules/m2sci/macros/kernel/isanmfile.bin diff --git a/modules/m2sci/macros/kernel/isanmfile.sci b/modules/m2sci/macros/kernel/isanmfile.sci new file mode 100755 index 000000000..baa6b5bcf --- /dev/null +++ b/modules/m2sci/macros/kernel/isanmfile.sci @@ -0,0 +1,46 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function r=isanmfile(nam) + + // Try to find if nam is the name of a M-file + r=%F + + // If a translation function exists + if exists("sci_"+nam)==1 then + r=%T + return + end + + // If this function is part of known untranslated functions + // Special case of untranslated function without arguments + if find(nam==["grid","hold","gca"])<>[] then + r=%T + return + end + + // If recursive mode, try to find M-file in user defined paths + if Recmode then + for k=1:size(Paths,"*") + [u,ierr]=file("open",Paths(k)+nam+".m","old") + if ierr==0 then + file("close",u) + r=%T + break + end + end + else + // Try to find file in working directory + [u,ierr]=file("open",file_path+nam+".m","old") + if ierr==0 then + file("close",u) + end + r=(ierr==0) + end +endfunction diff --git a/modules/m2sci/macros/kernel/isdefinedvar.bin b/modules/m2sci/macros/kernel/isdefinedvar.bin Binary files differnew file mode 100755 index 000000000..010ac9b22 --- /dev/null +++ b/modules/m2sci/macros/kernel/isdefinedvar.bin diff --git a/modules/m2sci/macros/kernel/isdefinedvar.sci b/modules/m2sci/macros/kernel/isdefinedvar.sci new file mode 100755 index 000000000..e0bdca09c --- /dev/null +++ b/modules/m2sci/macros/kernel/isdefinedvar.sci @@ -0,0 +1,65 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [boolval,index]=isdefinedvar(var) + // Verify if variable is defined in varslist + // Input: + // - var: a M2SCI tlist (funcall, operation...) or a character string (name) for special variables + // Special variables i, j, pi, eps, nargin, nargout + // Output: + // - boolval: + // %T if input tlist is a defined 'variable' (already found while converting M-file) + // %F if input is not a 'variable' or an uknown 'variable' + + // Global variable for M2SCI + global("varslist") + + // level is declared in m2sci.sci and modified in clause2sci.sci + level; + + boolval=%F + index=[] + + // If input is a string + if type(var)==10 then + if and(var<>["i","j","pi","eps","%nargin","%nargout"]) then + warning(msprintf(gettext("Bad use of isdefinedvar() with input: %s."),var)) + return + end + varname=var + else + // If input is not a 'variable', it can be a defined variable... + if typeof(var)=="variable" then + varname=var.name + elseif typeof(var)=="m2scivar" then + varname=var.matname + else + return + end + end + + // Compare with all existing variables varslist + levelsize=size(level,1) + i=0 + while i<levelsize & boolval==%F + for k=1:size(varslist) + // Search a variable which has the same name + if varslist(k).matname==varname then + // Search a variable which is in the same level or in an inferior level + if varslist(k).level==level(1:levelsize-i) then + boolval=%T + index=k + return + end + end + end + i=i+1 + end + +endfunction diff --git a/modules/m2sci/macros/kernel/isinstring.bin b/modules/m2sci/macros/kernel/isinstring.bin Binary files differnew file mode 100755 index 000000000..d2f212696 --- /dev/null +++ b/modules/m2sci/macros/kernel/isinstring.bin diff --git a/modules/m2sci/macros/kernel/isinstring.sci b/modules/m2sci/macros/kernel/isinstring.sci new file mode 100755 index 000000000..25771faf1 --- /dev/null +++ b/modules/m2sci/macros/kernel/isinstring.sci @@ -0,0 +1,78 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function r=isinstring(str,pos) + // Finds if the character pointed by pos is in a string (return %T) or not (return %F) + + str=part(str,1:pos-1) + quote="''" + + // If no quote in before pos + if strindex(str,quote)==[] then + r=%F + return + end + + + ksym=0 + strcnt=0 + qcount=0 // Quote counter + bcount=0 // Bracket counter + pcount=0 // Paranthesis counter + sym=" " + + while %T , + while %T then // Looking for next non white character + if ksym>=pos then + r=strcnt<>0; + return + end + ksym=ksym+1; + psym=sym; // psym = previous symbol + sym=part(str,ksym); + if sym<>" " then break,end + end + + if strcnt<>0 then // If in a string + if sym==quote then + qcount=1 + while part(str,ksym+1)<>quote&ksym+1<pos then // Searching for quote or end of string + ksym=ksym+1 + end + + // 5 following lines added 25/02/2003 (it seemed to work before...) + // if ksym+1<pos then // Added by VC 17/03/2003 because didn't work for following string 'a'.^[1+1i] (pb in i_notation()) + // qcount=qcount+1 + // end // Added by VC 17/03/2003 + while part(str,ksym+1)==quote&ksym+1<pos then // Searching for a sequence of quotes + ksym=ksym+1 + qcount=qcount+1 + end + // End of part added 25/02/2003 + + if 2*int(qcount/2)<>qcount then + strcnt=0 + sym=part(str,ksym) + end + end + elseif sym==quote then + // Check if transpose or beginning of a string + if abs(_str2code(psym))>=36&psym<>")"&psym<>"]"&psym<>"."&psym<>quote then // Not a transpose + strcnt=1 + elseif bcount<>0 then // Inside a matrix definition + if part(str,ksym-1)==" " then strcnt=1,end + end + elseif sym=="[" then + bcount=bcount+1 + elseif sym=="]" then + bcount=bcount-1 + end + end +endfunction diff --git a/modules/m2sci/macros/kernel/lib b/modules/m2sci/macros/kernel/lib Binary files differnew file mode 100755 index 000000000..625e3229d --- /dev/null +++ b/modules/m2sci/macros/kernel/lib diff --git a/modules/m2sci/macros/kernel/lst_funcall.bin b/modules/m2sci/macros/kernel/lst_funcall.bin Binary files differnew file mode 100755 index 000000000..4e515f19e --- /dev/null +++ b/modules/m2sci/macros/kernel/lst_funcall.bin diff --git a/modules/m2sci/macros/kernel/lst_funcall.sci b/modules/m2sci/macros/kernel/lst_funcall.sci new file mode 100755 index 000000000..c02374d3a --- /dev/null +++ b/modules/m2sci/macros/kernel/lst_funcall.sci @@ -0,0 +1,234 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function funcallname=lst_funcall(fil,fnamvect) + // LST_FUNCALL function (used by "translatepaths" function) Creates a list of vectors. The first component of each vector is the name of a M-file (found in the Paths to translate), followed by the called functions by this file + // Output + // -funcallname : a list of vectors + // Input + // -fil : vector which contains all M-files names (path+name) found in the Paths + // -fnamvect : vector which contains all M-files names (just the name) found in the Paths + + quote="''"; + dquote=""""; + + k=strindex(fil,".") + ke=k($)-1 + // Function name + ksep=strindex(fil,sep) + fnam=part(fil,ksep($)+1:ke) // File name without extension + txt=mgetl(fil); + + kf=grep(txt,["function[","function "]) + + if isempty(kf) then + // Batch file + bval=%f + elseif size(kf,"*")==1 then + // Only one function defined + bval=%f + else + funcdecl=[] + for kk=kf + ind=strindex(txt(kk),["function[";"function "]) + if (ind<isacomment(txt(kk)) | isacomment(txt(kk))==0) & ~isinstring(txt(kk),ind) & part(stripblanks(txt(kk),%T),1:8)=="function" then // function prototype + funcdecl=[funcdecl kk] + end + end + if isempty(funcdecl) then + // "function" only exists in comments and strings + bval=%f + elseif size(funcdecl,"*")==1 then + bval=%f + else + bval= %t + end + end + + // file contains more than one function declaration + if bval then + // Verify if the directory exists + sep = filesep(); + dirnam = ls(pathconvert(TMPDIR)); + if or(fnam==dirnam) then + rmdir(pathconvert(TMPDIR)+fnam,"s") + end + mkdir(pathconvert(TMPDIR),fnam) + + write(%io(2),msprintf(gettext(" -- File %s contains more than one function -- "),fil)); + // First split file into as many files as function declared + funcdecl=[funcdecl size(txt,"*")+1] + tmpfiles=[] + for k=1:size(funcdecl,"*")-1 + if k==1 then + functxt=txt(funcdecl(k):funcdecl(k+1)-1) + str= strindex(txt(funcdecl(k)),"(")-1 + funcname=stripblanks(part(txt(funcdecl(k)),strindex(txt(funcdecl(k)),["function[","function "])+8:str(1))) + keq=strindex(funcname,"=") + if ~isempty(keq) then + funcname=stripblanks(part(funcname,keq+1:length(funcname))) + end + mputl(functxt,pathconvert(TMPDIR)+fnam+".m"); + else + functxt=txt(funcdecl(k):funcdecl(k+1)-1) + str=strindex(txt(funcdecl(k)),"(")-1 + if str==-1 then + funcname=stripblanks(part(txt(funcdecl(k)),strindex(txt(funcdecl(k)),["function[","function "])+8:length(txt(funcdecl(k))))) + else + funcname=stripblanks(part(txt(funcdecl(k)),strindex(txt(funcdecl(k)),["function[","function "])+8:str(1))) + end + keq=strindex(funcname,"=") + if ~isempty(keq) then + funcname=stripblanks(part(funcname,keq+1:length(funcname))) + end + tmpfiles=[tmpfiles;funcname] + mputl(functxt,pathconvert(TMPDIR)+pathconvert(fnam)+tmpfiles($)+".m"); + end + end + write(%io(2),msprintf(gettext(" -- Each function converted separately: %s -- "),strcat(tmpfiles," "))); + write(%io(2),msprintf(gettext(" -- Temporary files put in: %s -- "),pathconvert(TMPDIR))); + + // Conversion of each file + //for k=1:size(tmpfiles,"*") + //mfile2sci(pathconvert(TMPDIR)+pathconvert(fnam)+tmpfiles(k)+".m",pathconvert(TMPDIR)+pathconvert(fnam)) + // Delete useless .m files + //mdelete(pathconvert(TMPDIR)+pathconvert(fnam)+tmpfiles(k)+".m") + //end + + translatepaths(pathconvert(TMPDIR)+pathconvert(fnam),pathconvert(TMPDIR)+pathconvert(fnam)) + // Catenation of all .sci files to have only one output file + txt=[] + + for k=1:size(tmpfiles,"*") + txt=[txt ;" ";mgetl(pathconvert(TMPDIR)+pathconvert(fnam)+tmpfiles(k)+".sci")] + mdelete(pathconvert(TMPDIR)+pathconvert(fnam)+tmpfiles(k)+".sci") + end + mputl(txt,pathconvert(TMPDIR)+"tmp_"+fnam+".sci"); + // End of catenation of all .sci files to have only one output file + txt=mgetl(pathconvert(TMPDIR)+pathconvert(fnam)+sep+"log") + mputl(txt,pathconvert(TMPDIR)+"tmp_m2sci_"+fnam+".log"); + // + txt=mgetl(pathconvert(TMPDIR)+pathconvert(fnam)+sep+"resumelog") + mputl(txt,pathconvert(TMPDIR)+"tmp_resume_m2sci_"+fnam+".log"); + + // Catenation of all .log files to have only one output file + // txt=[] + // for k=1:size(tmpfiles,"*") + // txt=[txt ; mgetl(pathconvert(TMPDIR)+pathconvert(fnam)+"m2sci_"+tmpfiles(k)+".log")] + // Delete useless .log files + // mdelete(pathconvert(TMPDIR)+pathconvert(fnam)+"m2sci_"+tmpfiles(k)+".log") + //end + //mputl(txt,pathconvert(TMPDIR)+"tmp_m2sci_"+fnam+".log"); + //End of catenation of all .log files to have only one output file + + // Catenation of all resume.log files to have only one output file + //txt=[] + //for k=1:size(tmpfiles,"*") + //txt=[txt ; mgetl(pathconvert(TMPDIR)+pathconvert(fnam)+"resume_m2sci_"+tmpfiles(k)+".log")] + // Delete useless resume.log files + // mdelete(pathconvert(TMPDIR)+pathconvert(fnam)+"resume_m2sci_"+tmpfiles(k)+".log") + //end + //mputl(txt,pathconvert(TMPDIR)+"tmp_resume_m2sci_"+fnam+".log"); + //End of catenation of all resume.log files to have only one output file + + txt=mgetl(pathconvert(TMPDIR)+fnam+".m") + end + + txt = strsubst(txt, ascii(9), "") + [helppart,txt,batch]=m2sci_syntax(txt) + // save txt vector, helpart and batch after the syntax modification + if strindex(fil,TMPDIR)==[] then + save(pathconvert(TMPDIR)+fnam+".tree",txt,helppart,batch) + end + + funcallname=[] + if txt~=[] then + kc=strindex(txt(1),"function"); + kc=kc(1); + + // Define Scilab function + fprot=funcprot(); + funcprot(0); + + // Blanks in file name are replaced by _ for batch + // kc+9 because 'function ' + + ksc=min(strindex(txt(1),";")) // searching for a comment on first line after function prototype + + if isempty(ksc) then + ksc=length(txt(1))+1; + firstline=[] + else + firstline=part(txt(1),ksc+1:length(txt(1))); + end + + func_proto=part(txt(1),kc+9:ksc-1) + keq=min(strindex(func_proto,"=")) + kpar=min(strindex(func_proto,"(")) + + if isempty(keq) then + keq=0 + end + if isempty(kpar) then + kpar=length(func_proto)+1 + end + + mname=strsubst(stripblanks(part(func_proto,keq+1:kpar-1))," ","_") + func_proto=part(func_proto,1:keq)+.. + strsubst(stripblanks(part(func_proto,keq+1:kpar-1))," ","_")+.. + part(func_proto,kpar:length(func_proto)) + + deff(func_proto,[firstline;txt(2:$)],"n") + w=who("get"); + mname=w(1); + + // Compilation + execstr("comp("+mname+",1)") + + funcprot(fprot) + + // Get Scilab pseudo code of the function + macr=evstr(mname) + + mtlbtree=macr2tree(macr); + + if ~batch then + mtlbtree.name=mname; + else + mtlbtree.name=""; + end + + ninstr=1 + // variablevect is a vector which contains all variables (excluded functions) + variablevect=[] + for i=1:size(mtlbtree.inputs) + variablevect=[variablevect;mtlbtree.inputs(i).name] + end + + // search the declared variables in mtlbtree + while ninstr<=size(mtlbtree.statements)-3 + [variablevect]=variablesearch(mtlbtree.statements(ninstr),variablevect) + ninstr=ninstr+1 + end + + ninstr=1 + // search the called functions in the mtlbtree + // funcallname contains the name of the M-file, followed by the called functions + + while ninstr<=size(mtlbtree.statements)-3 + [funcallname,variablevect]=funcallsearch(mtlbtree.statements(ninstr),funcallname,fnamvect,variablevect) + ninstr=ninstr+1 + end + + end + + // add the M-file name in funcallname vector (at the first index) + funcallname=[fnam;funcallname] + +endfunction
\ No newline at end of file diff --git a/modules/m2sci/macros/kernel/m2sci.bin b/modules/m2sci/macros/kernel/m2sci.bin Binary files differnew file mode 100755 index 000000000..a496adada --- /dev/null +++ b/modules/m2sci/macros/kernel/m2sci.bin diff --git a/modules/m2sci/macros/kernel/m2sci.sci b/modules/m2sci/macros/kernel/m2sci.sci new file mode 100755 index 000000000..8282d74dc --- /dev/null +++ b/modules/m2sci/macros/kernel/m2sci.sci @@ -0,0 +1,299 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [scitree,trad,txt,crp]=m2sci(mtlbtree,nam,Recmode,prettyprintoutput) + // This function translates Matlab interpreted code tree of a function to Scilab + // Input arguments: + // - mtlbtree: tree (returned by macr2tree) representing Matlab function compiled code + // - nam: name of Matlb function + // - Recmode: boolean flag for recursive conversion if TRUE + // - prettyprintoutput: boolean flag for pretty printed output file if TRUE + // Output arguments: + // - scitree: Scilab equivalent for mtlbtree + // - trad: code of function sci_<nam> + // - txt: Scilab equivalent function code (function declaration and varaibles initialisation) + // - crp: Scilab equivalent function code (function body) + + [lhs,rhs]=argn(0) + if rhs==1 then + error(gettext("Wrong number of inputs.")) + end + if rhs==2 then Recmode=%f,end + + lcount=1; + + // Level of clause indentation (used for getting temporary variables and for updating varslist) + // if there is not a clause then size of level = 1 and the value is 0 (level=0) + // add one size at level each time a new clause is found + // if just one clause then size of level = 2, the value of level(2) : the index of clause part for the first clause (1 for 'if' statements, 2 for first 'elseif' statements, 3 for first 'elseif' statements,...) + // if there are 2 clauses, then size of level = 3, the value of level(3) : the index of clause part for the second clause (1 for if statements, 2 for first elseif statements, 3 for second elseif statements,...) + // for example : level = [0,4,1] : in this case there are 2 clauses the index for the first clause (i.e level(2)) is 4 (4 for second 'elseif' statements), the index for the second clause (i.e level(3)) is 1 (1 for 'if' statements) + // the first components of level (i.e level(1)) is always 0 (because in the zero level there is no clause, so there is no 'if' no 'elseif' no 'else') + level=0 + + // Parameters declaration + sciparam() + + // Scilab variable types + Double=1; + Boolean=4; // Boolean type can also be 6 + Sparse=5; + Int=8; + Handle=9; + String=10; + Cell=17; + Struct=16; + Void=0; + Unknown=-1; // Unknown type or dimension + SupToOne=-2; // Dimension >1 + NotNull=-3; // Dimension >0 + Complex=1 //"Complex" + Real=0 //"Real" + Units=["pixels","centimeters","points","inches","normalized"] + + global %graphics + %graphics=struct() + %graphics.type=Double + %graphics.units="pixels" + + // Translated function input arguments + macrhs=size(mtlbtree.inputs) + global("varslist") + varslist=list() + for k=1:macrhs + if funptr(mtlbtree.inputs(k).name)<>0 then // Matlab variable name corresponding to a Scilab function name + varslist($+1)=M2scivar("%"+mtlbtree.inputs(k).name,mtlbtree.inputs(k).name,Infer()) + mtlbtree.inputs(k).name="%"+mtlbtree.inputs(k).name, + elseif mtlbtree.inputs(k).name=="varargin" then + varslist($+1)=M2scivar("varargin","varargin",Infer(list(Unknown,Unknown),Type(Cell,Unknown))) + else + varslist($+1)=M2scivar(mtlbtree.inputs(k).name,mtlbtree.inputs(k).name,Infer()) + end + end + // Add predefined variables in the defined variables + varslist($+1)=M2scivar("%i","%i",Infer(list(1,1),Type(Double,Complex))) + varslist($+1)=M2scivar("%i","%j",Infer(list(1,1),Type(Double,Complex))) + varslist($+1)=M2scivar("%nan","NaN",Infer(list(1,1),Type(Double,Real))) + varslist($+1)=M2scivar("%nan","nan",Infer(list(1,1),Type(Double,Real))) + varslist($+1)=M2scivar("%inf","Inf",Infer(list(1,1),Type(Double,Real))) + varslist($+1)=M2scivar("%inf","inf",Infer(list(1,1),Type(Double,Real))) + varslist($+1)=M2scivar("$","end",Infer(list(1,1),Type(Double,Real))) + varslist($+1)=M2scivar("%pi","pi",Infer(list(1,1),Type(Double,Real))) + varslist($+1)=M2scivar("%eps","eps",Infer(list(1,1),Type(Double,Real))) + varslist($+1)=M2scivar("varargout","%varargout",Infer(list(Unknown,Unknown),Type(Cell,Unknown))) + varslist($+1)=M2scivar("%shortcircuit","%shortcircuit",Infer(list(1,1),Type(Double,Real))) // Used for short circuiting operators + + // Translated function output arguments + maclhs=size(mtlbtree.outputs) + for k=1:maclhs + if funptr(mtlbtree.outputs(k).name)<>0 then + varslist($+1)=M2scivar("%"+mtlbtree.outputs(k).name,mtlbtree.outputs(k).name,Infer(list(0,0),Type(Double,Real))) + mtlbtree.outputs(k).name="%"+mtlbtree.outputs(k).name + else + varslist($+1)=M2scivar(mtlbtree.outputs(k).name,mtlbtree.outputs(k).name,Infer(list(0,0),Type(Double,Real))) + end + end + + // Translation + [scitree,crp]=mtlbtree2sci(mtlbtree,prettyprintoutput) + + dcl=[] + // Add special code + // If nargin or nargout function is used + if isdefinedvar("%nargin") | isdefinedvar("%nargout") then + dcl=["";gettext("// Number of arguments in function call");"[%nargout,%nargin] = argn(0)"] + end + + // Set display mode equivalent to Matlab echo off + dcl=[dcl;"";gettext("// Display mode");"mode(0);"] + // Set flotting point exception mode + dcl=[dcl;"";gettext("// Display warning for floating point exception");"ieee(1);"] + + // Initial value of lhs arguments + // If they are not initialized by input value, they are initialized with [] + ini=[] + for k=1:size(mtlbtree.outputs) + found=%F + for l=1:size(mtlbtree.inputs) + if mtlbtree.inputs(l).name==mtlbtree.outputs(k).name then + found=%T + end + end + if ~found then + if mtlbtree.outputs(k).name<>"varargout" then + ini=[ini;mtlbtree.outputs(k).name+"=[];"] + else + ini=[ini;mtlbtree.outputs(k).name+"=list();"] + end + end + end + + // Graphics init + //graph_ini=[gettext("// Graphics initialisation");"global %graphics";"%graphics.type=1";"%graphics.units=""pixels"""]; + graph_ini=[] + if ini<>[] then + ini=["";gettext("// Output variables initialisation (not found in input variables)");ini] + end + //ini=[ini;" ";graph_ini] + + // Info on macros variables + if verbose_mode<0 then + write(%io(2),gettext("TESTING M2SCI: creating varslist file...")) + n=size(varslist) + info=[] + + for k=1:n + info=[info;"//"+varslist(k).sciname+infer2txt(varslist(k).infer)]; + end + infofilename=res_path+nam+"_varslist.dia.ref"; + if verbose_mode==-2 then + write(%io(2),info) + end + infofile=mopen(infofilename,"w"); + mputl(info,infofile); + mclose(infofile); + end + + // Add function header + if ~batch then + rhsexpr="(" + for k=1:macrhs + rhsexpr=rhsexpr+varslist(k).sciname + if k<macrhs then + rhsexpr=rhsexpr+"," + end + end + rhsexpr=rhsexpr+")" + hdr="function [" + for k=1:size(mtlbtree.outputs) + hdr=hdr+mtlbtree.outputs(k).name + if k<>size(mtlbtree.outputs) then + hdr=hdr+"," + end + end + hdr=hdr+"] = "+nam+rhsexpr; + txt=[hdr;ini;dcl] + else + txt=[ini;dcl] + end + + // Generate associated translation function + if batch then + trad=[ + "function [tree] = sci_"+fnam+"(tree)" + msprintf(gettext("// Generated by M2SCI\n// Conversion function for Matlab %s\n// Input: tree = Matlab funcall tree\n// Output: tree = Scilab equivalent for tree"),fnam) + "" + "tree=Funcall(""exec"",1,Rhs_tlist(tree.name),tree.lhs)" + ] + else + trad=[ + "function [tree] = sci_"+nam+"(tree)" + msprintf(gettext("// Copyright INRIA (Generated by M2SCI)\n// Conversion function for Matlab %s()\n// Input: tree = Matlab funcall tree\n// Output: tree = Scilab equivalent for tree"),nam) + ] + + if maclhs==0 then // Function with no outputs + // Do nothing + elseif maclhs==1 then // Function with one output + [boolval,index]=isdefinedvar(M2scivar(mtlbtree.outputs(1).name,strsubst(mtlbtree.outputs(1).name,"%",""),Infer())) + if boolval then + dims=sci2exp(varslist(index).dims) + vtype=varslist(index).vtype + prop=varslist(index).property + else + dims="list(Unknown,Unknown)" + vtype=Unknown + prop=Unknown + end + + select vtype + case Double then vtype="Double" + case Boolean then vtype="Boolean" + case String then vtype="String" + case Struct then vtype="Struct" + case Cell then vtype="Cell" + case Unknown then vtype="Unknown" + case Sparse then vtype="Sparse" + end + + select prop + case -1 then prop="Unknown" + case 0 then prop="Real" + case 1 then prop="Complex" + end + + typ="Type("+vtype+","+prop+")" + + if mtlbtree.outputs($).name<>"varargout" then + trad=[trad;"tree.lhs(1).dims="+dims;"tree.lhs(1).type="+typ] + else + trad=[trad; + "for k=1:lhs" + " tree.lhs(k).dims=list(Unknown,Unknown)" + " tree.lhs(k).vtype=Unknown" + " tree.lhs(k).property=Unknown" + "end" + ] + end + else // Function with more than 1 output + dims=list(); + vtype=[]; + prop=[] + for k=1:maclhs + [boolval,index]=isdefinedvar(M2scivar(mtlbtree.outputs(k).name,strsubst(mtlbtree.outputs(k).name,"%",""),Infer())) + if boolval then + dims(k)=varslist(index).dims + vtype=[vtype;varslist(index).vtype] + prop=[prop;varslist(index).property] + else + dims(k)=list(Unknown,Unknown) + vtype=[vtype;Unknown] + prop=[prop;Unknown] + end + end + + dimstemp=sci2exp(dims) + dims=["dims="+dimstemp(1);dimstemp(2:$)] + vtype="vtype="+sci2exp(vtype) + prop="prop="+sci2exp(prop) + trad=[trad; + gettext("// dims(i,:) is the ith output argument dimensions vector") + dims + gettext("// dims(i,:) is the ith output argument dimensions vector") + vtype + gettext("// prop(i) is the ith output argument property") + prop] + if mtlbtree.outputs($).name<>"varargout" then + trad=[trad; + "for k=1:lhs" + " tree.lhs(k).dims=dims(k)" + " tree.lhs(k).vtype=vtype(k)" + " tree.lhs(k).property=prop(k)" + "end" + ] + else + trad=[trad; + "for k=1:min(lstsize(dims),lhs)" + " tree.lhs(k).dims=dims(k)" + " tree.lhs(k).vtype=vtype(k)" + " tree.lhs(k).property=prop(k)" + "end" + gettext("// Inference for varargout") + "for k=min(lstsize(dims),lhs)+1:lhs" + " tree.lhs(k).dims=list(Unknown,Unknown)" + " tree.lhs(k).vtype=Unknown" + " tree.lhs(k).property=Unknown" + "end" + ] + end + end + end + trad=[trad;"endfunction"] + clearglobal varslist + clearglobal %graphics +endfunction diff --git a/modules/m2sci/macros/kernel/m2sci_info.bin b/modules/m2sci/macros/kernel/m2sci_info.bin Binary files differnew file mode 100755 index 000000000..3c8c33632 --- /dev/null +++ b/modules/m2sci/macros/kernel/m2sci_info.bin diff --git a/modules/m2sci/macros/kernel/m2sci_info.sci b/modules/m2sci/macros/kernel/m2sci_info.sci new file mode 100755 index 000000000..e27fadc56 --- /dev/null +++ b/modules/m2sci/macros/kernel/m2sci_info.sci @@ -0,0 +1,45 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function m2sci_info(txt,verb_mode) + // verb_mode=0: no information displayed + // verb_mode=1: information written as comment is resulting SCI-file + // verb_mode=2: information written as comment is resulting SCI-file and in logfile + // verb_mode=3: information written as comment is resulting SCI-file, in logfile and displayed in Scilab window + // verb_mode=-1: information written in logfile and displayed in Scilab window (should not be used by user) (TEST MODE) + // verb_mode=-2: information written in logfile and displayed in Scilab window (should not be used by user) and varslist displayed in Scilab command window (DEBUG MODE) + + + + if verb_mode==0 then + return + end + + if verb_mode>0 then + if exists("m2sci_to_insert_b")==0 then + write(%io(2),gettext("loginfos: verb_mode 0 should not be used in this context, information ignored.")); + return + end + global("m2sci_to_insert_b") + for k=1:size(txt,"*") + m2sci_to_insert_b($+1)=Equal(.. + list(Variable("ans",Infer())),.. + Funcall("%comment",1,list(Cste(" "+txt(k))),list(Variable("",Infer())))) + m2sci_to_insert_b($+1)=list("EOL"); + end + end + + if verb_mode>1 | verb_mode==-1 then + write(logfile,margin+txt); // margin is defined in mfile2sci() + end + + if verb_mode>2 | verb_mode==-1 then + mprintf("%s\n",strsubst(strsubst(margin+txt, "%i", "%%i"),"%n","%%n")); // margin is defined in mfile2sci() + end +endfunction diff --git a/modules/m2sci/macros/kernel/m2sci_syntax.bin b/modules/m2sci/macros/kernel/m2sci_syntax.bin Binary files differnew file mode 100755 index 000000000..e517dd610 --- /dev/null +++ b/modules/m2sci/macros/kernel/m2sci_syntax.bin diff --git a/modules/m2sci/macros/kernel/m2sci_syntax.sci b/modules/m2sci/macros/kernel/m2sci_syntax.sci new file mode 100755 index 000000000..d9f5aca6f --- /dev/null +++ b/modules/m2sci/macros/kernel/m2sci_syntax.sci @@ -0,0 +1,455 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [helppart,txt,batch]=m2sci_syntax(txt) + // Make minor changes on M-file data syntax to have it readable by Scilab + // Input arguments: + // - txt: the contents of an M-file + // Output: + // - helppart: Matlab help contained in M-file + // - txt: input txt modified (If M-file contains only comments returned txt is[]) + // - batch: boolean flag indicates if it is a batch file + + // m2sci kernel functions called : + // - isacomment + // - isinstring + // - replace_brackets + + sciparam(); + quote="''" + dquote="""" + ctm="."+"."+"." // Continuation mark + batch=%t + + k=0 + first_ncl=[] + while k<size(txt,"r") + k=k+1 + tk=txt(k) + if part(stripblanks(tk),1:9) == "function " | part(stripblanks(tk),1:9) == "function[" then + eolind=strindex(tk,";") + if eolind<>[] then + kc=isacomment(tk) + if kc<>0 then // Current line has or is a comment + // If function prototype immediately followed by a comment on same line + if stripblanks(part(tk,eolind(1):kc))<>"" then + txt=[txt(1:k-1);part(tk,1:eolind(1)-1);part(tk,eolind(1)+1:length(tk));txt(k+1:size(txt,"*"))] + tk=part(tk,1:eolind(1)-1) + end + elseif stripblanks(part(tk,eolind(1)+1:length(tk)))<>"" then + txt=[txt(1:k-1);part(tk,1:eolind(1)-1);part(tk,eolind(1)+1:length(tk));txt(k+1:size(txt,"*"))] + tk=part(tk,1:eolind(1)-1) + end + end + end + end + + // Number of lines in txt (i.e. in M-file) + n=size(txt,"r") + eoltoinsert=0 + firstctm=[] + k=0 + while k<size(txt,"r") + k=k+1 + kc=strindex(txt(k),ctm) + isacontline=%f + + for kck=kc, + kc1=isacomment(txt(k)) + if ~isinstring(txt(k),kck) then + if kc1<>0 then // Line has a comment + if kc1<kck then // Continuation mark in a comment + else // Comment follow continuation mark + com=part(txt(k),kc1(1):length(txt(k))) + txt(k)=part(txt(k),1:kck-1)+txt(k+1)+com + txt(k+1)=[] + k=k-1 + break + end + else // Not a comment line + if isempty(firstctm) then firstctm=k;end + txt(k)=part(txt(k),1:kck-1)+txt(k+1) + txt(k+1)=[] + eoltoinsert=eoltoinsert+1 + if isempty(strindex(txt(k),ctm)) then // If no ctm in txt(k), insert all necessary EOL to keep nblines unchanged + for l=0:eoltoinsert-1 + txt=[txt(1:firstctm-1+l);"";txt(firstctm-1+l+1:$)] + end + eoltoinsert=0 + firstctm=[] + end + k=k-1 + break + end + end + end + if k<>0 then + if part(stripblanks(txt(k)),1)=="}" then + txt(k-1)=txt(k-1)+txt(k); + txt(k)=""; + end + end + end + + // Change comments and get help part in input txt + n=size(txt,"r") + first=%t + helppart=[],endofhelp=%f + + for k=1:n + tk=txt(k) + + // ifthenelse expression like if (x==1)t=2 becomes if (x==1) t=2 + // Add a blank between parenthesize expression and the first instruction + kif=strindex(tk,"if") + if kif<>[] then + kcom=isacomment(tk) + for i=1:size(kif,"*") + if kif(i)>kcom & kcom<>0 then + break + else + if (kif(i)>1 & or(stripblanks(part(tk,kif(i)-1:kif(i)+2))==["if(","if"])) | (kif(i)==1 & or(stripblanks(part(tk,kif(i):kif(i)+2))==["if(","if"])) + m=min(strindex(tk,"(")) + if m<>[] then + for l=1:size(m,"*") + if m(l)>=kif(i)+2 + if stripblanks(part(tk,kif(i)+2:m(l)))=="(" then + openpar=1 + mtemp=m(l)+1 + while openpar<>0 + if or(part(tk,mtemp)=="(") then + openpar=openpar+1 + elseif or(part(tk,mtemp)==")") then + openpar=openpar-1 + end + mtemp=mtemp+1 + end + tk=part(tk,1:mtemp-1)+" "+part(tk,mtemp:length(tk)) + break + end + end + end + end + end + end + end + end + + // Insert a blank when a digit is followed by a dotted operator + // So that point is associated to operator and not to digit + // Because if it is associated to digit, dot is suppressed by comp() + kdot=strindex(tk,[".*","./",".\",".^",".''"]) + if kdot<>[] then + kdgt=kdot(find(abs(_str2code(part(tk,kdot-1)))<9)) + for kk=size(kdgt,"*"):-1:1 + tk=part(tk,1:kdgt(kk)-1)+" "+part(tk,kdgt(kk):length(tk)); + end + end + + // Modify struct like x.(fieldname) which become x(fieldname) + tk=strsubst(tk,".(","(") + + // Parenthesize calls to pause when pause on or pause off + kpause=strindex(tk,"pause") + kpsav=length(tk) // kpsave is kp value for l-1 index + for l=size(kpause,"*"):-1:1 + kp=kpause(l) + kon=strindex(tk,"on") + kon=kon(find((kon>kp)&(kon<kpsav))) + if kon<>[] then + for l=kp+5:kon-1 + if part(tk,l)<>" " then + break + end + end + tk=part(tk,1:kp+4)+"(''on'')"+part(tk,kon+2:length(tk)) + end + koff=strindex(tk,"off") + koff=koff(find((koff>kp)&(koff<kpsav))) + if koff<>[] then + for l=kp+5:koff-1 + if part(tk,l)<>" " then + break + end + end + tk=part(tk,1:kp+4)+"(''off'')"+part(tk,koff+3:length(tk)) + end + kpsav=kp + end + + // Convert @fhandle to 'fhandle' (cf feval) + symbs=[" ",",",";","=",")","]"] + kpunct=strindex(tk,"@") + kcom=isacomment(tk) + if kcom<>0 then + kpunct=kpunct(kpunct<kcom) + end + if kpunct<>[] then + for l=size(kpunct,"*"):-1:1 + if ~isinstring(tk,kpunct(l)) then + kk=gsort(strindex(tk,symbs),"r","i") + kk=kk(find(kk>kpunct(l))) + if kk==[] then + kk=length(tk) + tk=part(tk,1:kpunct(l)-1)+quote+part(tk,kpunct(l)+1:kk)+quote + else + kk=kk(1) + tk=part(tk,1:kpunct(l)-1)+quote+part(tk,kpunct(l)+1:kk-1)+quote+part(tk,kk:length(tk)) + end + end + end + end + + // Looking for comments + kc=isacomment(tk) + if kc<>0 then // Current line has or is a comment + // If function prototype immediately followed by a comment on same line + if part(stripblanks(tk),1:9) == "function " | part(stripblanks(tk),1:9) == "function[" then + first_ncl=k + end + com=part(tk,kc+1:length(tk)) + if stripblanks(part(tk,1:kc-1))<>"" & ~(stripblanks(part(tk,1:9))=="function " | stripblanks(part(tk,1:9))=="function[") then endofhelp=%t;end + if ~endofhelp & part(tk,1:9) ~= "function " then helppart=[helppart;com];end // Get help part placed at the beginning of the file + if length(com)==0 then com=" ",end + com=strsubst(com,quote,quote+quote) + com=strsubst(com,dquote,dquote+dquote) + if part(com,1:12)=="m2sciassume " | part(com,1:13)=="m2scideclare " then // User has given a clue to help translation + if part(com,1:12)=="m2sciassume " then + warning(gettext("m2sciassume is obsolete, used m2scideclare instead.")); + end + com=";m2scideclare("+quote+part(com,13:length(com))+quote+")" + else + com=";//"+com + end + tkbeg=part(tk,1:kc-1) + + // Short circuiting operators + if ~isempty(strindex(tkbeg,"||")) then + orexpr=tokens(tkbeg,"|") + boolendsymbol=%f + orexprtemp=orexpr($) + indendsymbol=strindex(orexpr($),[";",","]) + if indendsymbol<>[] then + if stripblanks(part(orexpr($),indendsymbol($)+1:length(orexpr($))))=="" then + boolendsymbol=%t + endsymbol=part(orexprtemp,indendsymbol($)) + indendsymbol=indendsymbol($) + orexpr($)=part(orexpr($),1:indendsymbol($)-1) + end + end + for i=2:size(orexpr,"*") + notsymbol=strindex(stripblanks(orexpr(i)),"~") + if notsymbol<>[] + if notsymbol(1)==1 then + orexpr(i)="("+ stripblanks(orexpr(i)) + ")" + end + end + end + for kk=2:2:size(orexpr,"*") + orexpr=[orexpr(1:kk);"%shortcircuit";orexpr(kk+1:size(orexpr,"*"))] + end + tkbeg=strcat(orexpr,"|") + if boolendsymbol then + tkbeg=tkbeg+endsymbol + end + end + if ~isempty(strindex(tkbeg,"&&")) then + andexpr=tokens(tkbeg,"&") + boolendsymbol=%f + andexprtemp=andexpr($) + indendsymbol=strindex(andexpr($),[";",","]) + if indendsymbol<>[] then + if stripblanks(part(andexpr($),indendsymbol($)+1:length(andexpr($))))=="" then + boolendsymbol=%t + endsymbol=part(andexprtemp,indendsymbol($)) + indendsymbol=indendsymbol($) + andexpr($)=part(andexpr($),1:indendsymbol($)-1) + end + end + for i=2:size(andexpr,"*") + notsymbol=strindex(stripblanks(andexpr(i)),"~") + if notsymbol<>[] + if notsymbol(1)==1 then + andexpr(i)="("+ stripblanks(andexpr(i)) + ")" + end + end + end + for kk=2:2:size(andexpr,"*") + andexpr=[andexpr(1:kk);"%shortcircuit";andexpr(kk+1:size(andexpr,"*"))] + end + tkbeg=strcat(andexpr,"&") + if boolendsymbol then + tkbeg=tkbeg+endsymbol + end + end + + // varargout replaced by %varargout so that code can be compiled with varargout considered as a Cell + if isempty(strindex(tkbeg,"function")) then + tkbeg=strsubst(tkbeg,"varargout","%varargout") + end + + txt(k)=tkbeg+com + else // Current line has not and is not a comment line + if first then // Function keyword not yet found + tk=stripblanks(tk) + if tk<>"" then // Current line is not a blank line + if ~(part(tk,1:9) == "function "| part(tk,1:9) == "function[") then + endofhelp=%t; + txt(k)=tk; // VC 01/04/2003 + else + first_ncl=k + first=%f + end + else + if ~endofhelp then helppart=[helppart;" "],end + txt(k)="// " + end + else // Current line is a line after function keyword + endofhelp=%t + txt(k)=tk + end + + // Short circuiting operators + if ~isempty(strindex(tk,"||")) then + orexpr=tokens(tk,"|") + indendsymbol=strindex(orexpr($),[";",","]) + boolendsymbol=%f + if indendsymbol<>[] then + if stripblanks(part(orexpr($),indendsymbol($)+1:length(orexpr($))))=="" then + boolendsymbol=%t + indendsymbol=indendsymbol($) + endsymbol=part(orexpr($),indendsymbol($)) + orexpr($)=part(orexpr($),1:indendsymbol($)-1) + end + end + for i=2:size(orexpr,"*") + notsymbol=strindex(stripblanks(orexpr(i)),"~") + if notsymbol<>[] + if notsymbol(1)==1 then + orexpr(i)="("+ stripblanks(orexpr(i)) + ")" + end + end + end + for kk=2:2:size(orexpr,"*") + orexpr=[orexpr(1:kk);"%shortcircuit";orexpr(kk+1:size(orexpr,"*"))] + end + tk=strcat(orexpr,"|") + if boolendsymbol then + tk=tk+endsymbol + end + end + if ~isempty(strindex(tk,"&&")) then + andexpr=tokens(tk,"&") + boolendsymbol=%f + andexprtemp=andexpr($) + indendsymbol=strindex(andexpr($),[";",","]) + if indendsymbol<>[] then + if stripblanks(part(andexpr($),indendsymbol($)+1:length(andexpr($))))=="" then + boolendsymbol=%t + endsymbol=part(andexprtemp,indendsymbol($)) + indendsymbol=indendsymbol($) + andexpr($)=part(andexpr($),1:indendsymbol($)-1) + end + end + for i=2:size(andexpr,"*") + notsymbol=strindex(stripblanks(andexpr(i)),"~") + if notsymbol<>[] + if notsymbol(1)==1 then + andexpr(i)="("+ stripblanks(andexpr(i)) + ")" + end + end + end + for kk=2:2:size(andexpr,"*") + andexpr=[andexpr(1:kk);"%shortcircuit";andexpr(kk+1:size(andexpr,"*"))] + end + tk=strcat(andexpr,"&") + if boolendsymbol then + tk=tk+endsymbol + end + end + + // varargout replaced by %varargout so that code can be compiled with varargout considered as a Cell + if isempty(strindex(tk,"function")) then + tk=strsubst(tk,"varargout","%varargout") + end + + txt(k)=tk + end + end + + // When there is just help line in txt + if ~endofhelp then + txt=[] + return + end + + // Syntax modification + + // Complex variable + txt=i_notation(txt) + + // Replace double quotes + txt=strsubst(txt,dquote,dquote+dquote) + + // Replace switch by select + txt=strsubst(txt,"switch ","select ") + txt=strsubst(txt,"switch(","select (") + + // Replace otherwise by else + txt=strsubst(txt,"otherwise","else") + + // Replace {..} by (..) or [..] : useful for cells translation + txt=replace_brackets(txt) + + // Place function definition line at first line + kc=strindex(txt(first_ncl),"function") + if kc==[] then + // Batch file + txt=["function []="+fnam+"()";txt] // fnam is defined in mfile2sci() + batch=%t + else + kc=kc(1) + batch=%f + if first_ncl<>1 then + while strindex(txt(first_ncl($)+1),ctm)<>[] then + first_ncl=[first_ncl,first_ncl($)+1] + end + txt=[txt(first_ncl);txt(1:first_ncl(1)-1);txt(first_ncl($)+1:$)] + end + // Beginning of BUG 2341 fix: function prototype with no comma between output parameters names + begb=strindex(txt(1),"["); + endb=strindex(txt(1),"]"); + if ~isempty(begb) & ~isempty(endb) + outputparams = stripblanks(part(txt(1),(begb+1):(endb-1)))+" "; + k=0; + while k<length(outputparams) + k=k+1; + while (and(part(outputparams,k)<>[","," "])) & (k<length(outputparams)) // skip identifier + k=k+1; + end + while (part(outputparams,k)==" ") & (k<length(outputparams)) // skip spaces before comma (or next identifier) + k=k+1; + end + if (part(outputparams,k)<>",") & (k<length(outputparams)) + outputparams=part(outputparams,1:(k-1))+","+part(outputparams,k:length(outputparams)); + k=k+1; + else + k=k+1; + while (part(outputparams,k)==" ") & (k<length(outputparams)) // skip spaces after comma + k=k+1; + end + end + end + txt(1)=stripblanks(part(txt(1),1:begb)+outputparams+part(txt(1),endb:length(txt(1)))); + end + // END of BUG 2341 fix: function prototype with no comma between output parameters names + end + +endfunction diff --git a/modules/m2sci/macros/kernel/mfile_path.bin b/modules/m2sci/macros/kernel/mfile_path.bin Binary files differnew file mode 100755 index 000000000..c9e19d315 --- /dev/null +++ b/modules/m2sci/macros/kernel/mfile_path.bin diff --git a/modules/m2sci/macros/kernel/mfile_path.sci b/modules/m2sci/macros/kernel/mfile_path.sci new file mode 100755 index 000000000..26702ae78 --- /dev/null +++ b/modules/m2sci/macros/kernel/mfile_path.sci @@ -0,0 +1,21 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function path=mfile_path(nam) + fil=nam+".m";nf=length(fil) + path=[]; + for k=1:size(mfiles,"*") + pk=mfiles(k); + kk=strindex(pk,"/"); + if fil==part(pk,kk($)+1:length(pk)) then + path=pk; + break + end + end +endfunction diff --git a/modules/m2sci/macros/kernel/mtlbtoolfun.bin b/modules/m2sci/macros/kernel/mtlbtoolfun.bin Binary files differnew file mode 100755 index 000000000..cbf8a0664 --- /dev/null +++ b/modules/m2sci/macros/kernel/mtlbtoolfun.bin diff --git a/modules/m2sci/macros/kernel/mtlbtoolfun.sci b/modules/m2sci/macros/kernel/mtlbtoolfun.sci new file mode 100755 index 000000000..190c5dd90 --- /dev/null +++ b/modules/m2sci/macros/kernel/mtlbtoolfun.sci @@ -0,0 +1,3653 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2004-2006 - INRIA - Farid BELAHCENE +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [mtlbpath,ismtlb]=mtlbtoolfun(namefun) + //This function return true if the function namefun is in a matlab toolbox and determinates the access path + //Input: + //namefun : the name of the function + //Output : + //mtlbpath : the path where is the function in the matlab toolbox (if it is in matlab) + //ismtlb : boolean, true if the function is in a matlab toolbox + + mtlbpath=gettext("not matlab path"); + ismtlb=%f + + //tb : table which contains all the matlab functions(exept the matlab function reference) and their access path + tb=["CreateCellAttrib" , "toolbox/slcontrol/slctrlguis/"; + "FreqVectorCheck" , "toolbox/control/ctrlguis/"; + "SignalConstrMask" , "toolbox/sloptim/sloptim/"; + "TimeVectorCheck" , "toolbox/control/ctrlguis/"; + "abcbalance" , "toolbox/control/ctrlutil/"; + "abccheck" , "toolbox/ident/idutils/"; + "aboutcst" , "toolbox/control/ctrlguis/"; + "aboutidenttbx" , "toolbox/ident/ident/"; + "aboutsignaltbx" , "toolbox/signal/signal/"; + "absdata" , "toolbox/simulink/simdemos/automotive/"; + "ac2poly" , "toolbox/signal/signal/"; + "ac2rc" , "toolbox/signal/signal/"; + "accdemo" , "toolbox/robust/"; + "accdm2" , "toolbox/robust/"; + "acceva" , "toolbox/robust/"; + "acceva2" , "toolbox/robust/"; + "accplt" , "toolbox/robust/"; + "accroot" , "toolbox/robust/"; + "acker" , "toolbox/control/control/"; + "acquire_print_portal" , "toolbox/stateflow/stateflow/private/"; + "acquire_target" , "toolbox/stateflow/stateflow/private/"; + "actdemo" , "toolbox/robust/"; + "actual_machine_referred_by" , "toolbox/stateflow/stateflow/private/"; + "adams" , "toolbox/simulink/simulink/"; + "adapthisteq" , "toolbox/images/images/"; + "adaptmesh" , "toolbox/pde/"; + "add_block" , "toolbox/simulink/simulink/"; + "add_engine_event_listener" , "toolbox/simulink/simulink/"; + "add_exec_event_listener" , "toolbox/simulink/simulink/"; + "add_line" , "toolbox/simulink/simulink/"; + "add_param" , "toolbox/simulink/simulink/"; + "addbisa" , "toolbox/stats/private/"; + "addcomponents" , "toolbox/signal/sigtools/private/"; + "addcsmenu" , "toolbox/signal/sigtools/"; + "adddynprop" , "toolbox/signal/sigtools/"; + "addedvarplot" , "toolbox/stats/"; + "addfreqcsmenu" , "toolbox/signal/sigtools/"; + "addinvg" , "toolbox/stats/private/"; + "addlogi" , "toolbox/stats/private/"; + "addmenu" , "toolbox/signal/sigtools/"; + "addnaka" , "toolbox/stats/private/"; + "addnk" , "toolbox/ident/idutils/"; + "addoptask" , "toolbox/shared/slcontrollib/"; + "addoutputspec" , "toolbox/shared/slcontrollib/"; + "addplugins" , "toolbox/signal/sigtools/"; + "addprops" , "toolbox/signal/sigtools/"; + "addrice" , "toolbox/stats/private/"; + "addss" , "toolbox/robust/"; + "addterms" , "toolbox/simulink/simulink/"; + "addtimecsmenu" , "toolbox/signal/sigtools/"; + "addtls" , "toolbox/stats/private/"; + "addtoolbarbtn" , "toolbox/signal/sigtools/"; + "addunitsmenu" , "toolbox/signal/sigtools/"; + "adesc" , "toolbox/signal/signal/private/"; + "aebalance" , "toolbox/control/ctrlutil/"; + "aero_atc_callback" , "toolbox/simulink/simdemos/aerospace/"; + "aero_atcgui" , "toolbox/simulink/simdemos/aerospace/"; + "aero_atcscript" , "toolbox/simulink/simdemos/aerospace/"; + "aero_dap3dofdata" , "toolbox/simulink/simdemos/aerospace/"; + "aero_extkalman" , "toolbox/simulink/simdemos/aerospace/"; + "aero_guid_dat" , "toolbox/simulink/simdemos/aerospace/"; + "aero_guid_plot" , "toolbox/simulink/simdemos/aerospace/"; + "aero_guidancedemoscript" , "toolbox/simulink/simdemos/aerospace/"; + "aero_init_atc" , "toolbox/simulink/simdemos/aerospace/"; + "aero_lin_aero" , "toolbox/simulink/simdemos/aerospace/"; + "aero_phaseplane" , "toolbox/simulink/simdemos/aerospace/"; + "aero_pointer_tracker" , "toolbox/simulink/simdemos/aerospace/"; + "aero_preload_atc" , "toolbox/simulink/simdemos/aerospace/"; + "aero_raddat" , "toolbox/simulink/simdemos/aerospace/"; + "aero_radplot" , "toolbox/simulink/simdemos/aerospace/"; + "aliastypeddg" , "toolbox/simulink/simulink/"; + "allpass" , "toolbox/signal/signal/private/"; + "analysistags" , "toolbox/signal/sigtools/private/"; + "andrewsplot" , "toolbox/stats/"; + "animinit" , "toolbox/simulink/simdemos/simgeneral/"; + "anova1" , "toolbox/stats/"; + "anova2" , "toolbox/stats/"; + "anovan" , "toolbox/stats/"; + "aoctool" , "toolbox/stats/"; + "append" , "toolbox/control/control/"; + "applyabsolute" , "toolbox/images/images/private/"; + "applycform" , "toolbox/images/images/"; + "applycformsequence" , "toolbox/images/images/private/"; + "applyclut" , "toolbox/images/images/private/"; + "applyfilt" , "toolbox/signal/sptoolgui/private/"; + "applyiccsequence" , "toolbox/images/images/private/"; + "applylut" , "toolbox/images/images/"; + "applymattrc_fwd" , "toolbox/images/images/private/"; + "applymattrc_inv" , "toolbox/images/images/private/"; + "appstr" , "toolbox/signal/sptoolgui/private/"; + "aprecon" , "toolbox/optim/"; + "aptknt" , "toolbox/splines/"; + "ar" , "toolbox/ident/ident/"; + "arburg" , "toolbox/signal/signal/"; + "arcov" , "toolbox/signal/signal/"; + "are" , "toolbox/control/ctrlobsolete/"; + "arecheckin" , "toolbox/control/control/private/"; + "arecheckout" , "toolbox/control/control/private/"; + "arefact2x" , "toolbox/control/control/private/"; + "arescale" , "toolbox/control/control/private/"; + "aresolv" , "toolbox/robust/"; + "armax" , "toolbox/ident/ident/"; + "armcov" , "toolbox/signal/signal/"; + "arparest" , "toolbox/signal/signal/private/"; + "arspectra" , "toolbox/signal/signal/private/"; + "arx" , "toolbox/ident/ident/"; + "arx2th" , "toolbox/ident/idobsolete/"; + "arx_f" , "toolbox/ident/ident/"; + "arxdecod" , "toolbox/ident/idutils/"; + "arxstruc" , "toolbox/ident/ident/"; + "aryule" , "toolbox/signal/signal/"; + "assema" , "toolbox/pde/"; + "assemb" , "toolbox/pde/"; + "assempde" , "toolbox/pde/"; + "assignline" , "toolbox/signal/sptoolgui/private/"; + "asys2ss" , "toolbox/robust/"; + "atamult" , "toolbox/optim/private/"; + "attachConfigSet" , "toolbox/simulink/simulink/"; + "augact" , "toolbox/robust/"; + "augd" , "toolbox/robust/"; + "augknt" , "toolbox/splines/"; + "augment" , "toolbox/robust/"; + "augss" , "toolbox/robust/"; + "augstate" , "toolbox/control/control/"; + "augtf" , "toolbox/robust/"; + "autobuild" , "toolbox/stateflow/stateflow/private/"; + "autobuild_driver" , "toolbox/stateflow/stateflow/private/"; + "autobuild_kernel" , "toolbox/stateflow/stateflow/private/"; + "autoline" , "toolbox/simulink/simulink/"; + "autopilotdemo" , "toolbox/simulink/simdemos/aerospace/"; + "auxvar" , "toolbox/ident/idobsolete/"; + "aveknt" , "toolbox/splines/"; + "axes2pix" , "toolbox/images/images/private/"; + "baldemo" , "toolbox/robust/"; + "balmr" , "toolbox/robust/"; + "balreal" , "toolbox/control/control/"; + "balsq" , "toolbox/robust/"; + "bandem" , "toolbox/optim/"; + "bandpass" , "toolbox/signal/signal/private/"; + "bandstop" , "toolbox/signal/signal/private/"; + "barplotm" , "toolbox/simulink/blocks/"; + "barthannwin" , "toolbox/signal/signal/"; + "bartlett" , "toolbox/signal/signal/"; + "barttest" , "toolbox/stats/"; + "bbdesign" , "toolbox/stats/"; + "bdclose" , "toolbox/simulink/simulink/"; + "bdroot" , "toolbox/simulink/simulink/"; + "bdschur" , "toolbox/control/ctrlutil/"; + "ben2adat" , "toolbox/simulink/simdemos/"; + "ben2bdat" , "toolbox/simulink/simdemos/"; + "ben2cdat" , "toolbox/simulink/simdemos/"; + "ben3adat" , "toolbox/simulink/simdemos/"; + "ben3bdat" , "toolbox/simulink/simdemos/"; + "besselap" , "toolbox/signal/signal/"; + "besself" , "toolbox/signal/signal/"; + "bestblk" , "toolbox/images/images/"; + "bestfixexp" , "toolbox/simulink/fixedandfloat/"; + "betacdf" , "toolbox/stats/"; + "betafit" , "toolbox/stats/"; + "betainv" , "toolbox/stats/"; + "betalik1" , "toolbox/stats/"; + "betalike" , "toolbox/stats/"; + "betapdf" , "toolbox/stats/"; + "betarnd" , "toolbox/stats/"; + "betastat" , "toolbox/stats/"; + "bhrdemo" , "toolbox/robust/"; + "bilexp" , "toolbox/robust/"; + "bilin" , "toolbox/robust/"; + "bilinear" , "toolbox/signal/signal/"; + "binocdf" , "toolbox/stats/"; + "binofit" , "toolbox/stats/"; + "binoinv" , "toolbox/stats/"; + "binopdf" , "toolbox/stats/"; + "binornd" , "toolbox/stats/"; + "binostat" , "toolbox/stats/"; + "bintprog" , "toolbox/optim/"; + "biplot" , "toolbox/stats/"; + "biqpbox" , "toolbox/optim/private/"; + "bitrevorder" , "toolbox/signal/signal/"; + "bj" , "toolbox/ident/ident/"; + "bkbrk" , "toolbox/splines/"; + "blackman" , "toolbox/signal/signal/"; + "blackmanharris" , "toolbox/signal/signal/"; + "blkbuild" , "toolbox/control/ctrlobsolete/"; + "blkout2sfunout" , "toolbox/stateflow/stateflow/private/"; + "blkproc" , "toolbox/images/images/"; + "blkrsch" , "toolbox/robust/"; + "blkxchk" , "toolbox/simulink/simulink/private/"; + "block2chart" , "toolbox/stateflow/stateflow/private/"; + "block2link" , "toolbox/simulink/components/private/"; + "blockGetDialogSchema" , "toolbox/shared/dastudio/"; + "blockconnect" , "toolbox/slcontrol/slctrlutil/"; + "blowfish" , "toolbox/stateflow/stateflow/private/"; + "bode" , "toolbox/control/control/"; + "bodeaux" , "toolbox/ident/idutils/"; + "bodeplot" , "toolbox/ident/idobsolete/"; + "bohmanwin" , "toolbox/signal/signal/"; + "boolean" , "toolbox/simulink/simulink/"; + "bootstrp" , "toolbox/stats/"; + "boxcar" , "toolbox/signal/signal/"; + "boxplot" , "toolbox/stats/"; + "boxutil" , "toolbox/stats/"; + "branch" , "toolbox/robust/"; + "brk2knt" , "toolbox/splines/"; + "brownfg" , "toolbox/optim/"; + "brownfgh" , "toolbox/optim/"; + "brownvv" , "toolbox/optim/"; + "bscost" , "toolbox/signal/signal/"; + "bsplidem" , "toolbox/splines/"; + "bspligui" , "toolbox/splines/"; + "bspline" , "toolbox/splines/"; + "bstschml" , "toolbox/robust/"; + "bstschmr" , "toolbox/robust/"; + "buffer" , "toolbox/signal/signal/"; + "build_model_reference_target" , "toolbox/simulink/simulink/private/"; + "build_sl_hierarchy" , "toolbox/simulink/simcoverage/private/"; + "build_standalone_rtw_target" , "toolbox/simulink/simulink/private/"; + "build_target" , "toolbox/simulink/simulink/private/"; + "busAssignmentddg" , "toolbox/simulink/blocks/"; + "busCreatorddg" , "toolbox/simulink/blocks/"; + "busCreatorddg_cb" , "toolbox/simulink/simulink/"; + "busSelectorddg" , "toolbox/simulink/blocks/"; + "buscreator" , "toolbox/simulink/simulink/"; + "busddg" , "toolbox/simulink/simulink/"; + "busdemoscript" , "toolbox/simulink/simdemos/simfeatures/"; + "buseditor" , "toolbox/simulink/simulink/"; + "buselementddg" , "toolbox/simulink/simulink/"; + "busselect" , "toolbox/simulink/simulink/"; + "buttap" , "toolbox/signal/signal/"; + "butter" , "toolbox/signal/signal/"; + "buttord" , "toolbox/signal/signal/"; + "bwarea" , "toolbox/images/images/"; + "bwareaopen" , "toolbox/images/images/"; + "bwboundaries" , "toolbox/images/images/"; + "bwdist" , "toolbox/images/images/"; + "bweuler" , "toolbox/images/images/"; + "bwfill" , "toolbox/images/images/"; + "bwhitmiss" , "toolbox/images/images/"; + "bwlabel" , "toolbox/images/images/"; + "bwlabeln" , "toolbox/images/images/"; + "bwmorph" , "toolbox/images/images/"; + "bwpack" , "toolbox/images/images/"; + "bwperim" , "toolbox/images/images/"; + "bwselect" , "toolbox/images/images/"; + "bwtraceboundary" , "toolbox/images/images/"; + "bwulterode" , "toolbox/images/images/"; + "bwunpack" , "toolbox/images/images/"; + "c2d" , "toolbox/simulink/simulink/private/"; + "c2d" , "toolbox/control/control/"; + "c2dm" , "toolbox/control/ctrlobsolete/"; + "c2dt" , "toolbox/control/ctrlobsolete/"; + "c_indent" , "toolbox/rtw/rtw/"; + "c_type_from_sf_type" , "toolbox/stateflow/coder/private/"; + "callback_function_management" , "toolbox/rtw/rtw/"; + "callperl" , "toolbox/simulink/simulink/"; + "candexch" , "toolbox/stats/"; + "candgen" , "toolbox/stats/"; + "canform" , "toolbox/ident/idobsolete/"; + "canon" , "toolbox/control/control/"; + "canoncorr" , "toolbox/stats/"; + "canstart" , "toolbox/ident/idobsolete/"; + "capable" , "toolbox/stats/"; + "capacitor" , "toolbox/control/ctrldemos/private/"; + "capaplot" , "toolbox/stats/"; + "cardb" , "toolbox/pde/"; + "cardg" , "toolbox/pde/"; + "care" , "toolbox/control/control/"; + "caseread" , "toolbox/stats/"; + "casewrite" , "toolbox/stats/"; + "cast" , "toolbox/images/images/private/"; + "cccopyfcn" , "toolbox/rtw/rtw/"; + "ccdesign" , "toolbox/stats/"; + "cceps" , "toolbox/signal/signal/"; + "ccopenfcn" , "toolbox/rtw/rtw/"; + "cdf" , "toolbox/stats/"; + "cdfcalc" , "toolbox/stats/"; + "cdfplot" , "toolbox/stats/"; + "cedit" , "toolbox/local/"; + "cell2sos" , "toolbox/signal/signal/"; + "cellengunits" , "toolbox/signal/sigtools/"; + "centerfig" , "toolbox/shared/controllib/"; + "centerfigonfig" , "toolbox/signal/sigtools/private/"; + "cfgDlgCBRedirect" , "toolbox/simulink/simulink/private/"; + "cfirpm" , "toolbox/signal/signal/"; + "cftoolchecknames" , "toolbox/images/images/private/"; + "cgloci" , "toolbox/robust/"; + "cgloci2" , "toolbox/robust/"; + "changeBoundDualFeasible" , "toolbox/optim/private/"; + "changeBoundLP" , "toolbox/optim/private/"; + "changeSimPrmTab" , "toolbox/simulink/simulink/"; + "change_de_port_index" , "toolbox/stateflow/stateflow/private/"; + "change_icon_to" , "toolbox/stateflow/stateflow/private/"; + "changeclass" , "toolbox/images/images/private/"; + "changedisplay" , "toolbox/signal/sigtools/"; + "chanupd" , "toolbox/ident/idguis/"; + "chaos2das" , "toolbox/shared/dastudio/"; + "chart2block" , "toolbox/stateflow/stateflow/private/"; + "chart2name" , "toolbox/stateflow/stateflow/private/"; + "chart_real_transitions" , "toolbox/stateflow/stateflow/private/"; + "chart_recovery_man" , "toolbox/stateflow/stateflow/private/"; + "chartddg" , "toolbox/stateflow/stateflow/private/"; + "chartdlg" , "toolbox/stateflow/stateflow/private/"; + "chbpnt" , "toolbox/splines/"; + "chckxywp" , "toolbox/splines/"; + "cheb1ap" , "toolbox/signal/signal/"; + "cheb1ord" , "toolbox/signal/signal/"; + "cheb2ap" , "toolbox/signal/signal/"; + "cheb2ord" , "toolbox/signal/signal/"; + "chebdem" , "toolbox/splines/"; + "chebloop" , "toolbox/splines/"; + "chebwin" , "toolbox/signal/signal/"; + "cheby1" , "toolbox/signal/signal/"; + "cheby2" , "toolbox/signal/signal/"; + "checkSimPrm" , "toolbox/simulink/simulink/private/"; + "check_bang_in_dir" , "toolbox/stateflow/stateflow/private/"; + "check_fan_params" , "toolbox/images/images/private/"; + "check_for_long_model_name" , "toolbox/stateflow/stateflow/private/"; + "check_if_file_is_in_sync" , "toolbox/stateflow/stateflow/private/"; + "check_mdl_precedence" , "toolbox/simulink/simulink/"; + "check_order" , "toolbox/signal/signal/private/"; + "checkbounds" , "toolbox/shared/optimlib/"; + "checkconn" , "toolbox/images/images/private/"; + "checkerboard" , "toolbox/images/images/"; + "checkinput" , "toolbox/images/images/private/"; + "checkinputsigdim" , "toolbox/signal/sigtools/"; + "checkmap" , "toolbox/images/images/private/"; + "checknargin" , "toolbox/images/images/private/"; + "checkstrs" , "toolbox/images/images/private/"; + "chi2cdf" , "toolbox/stats/"; + "chi2conf" , "toolbox/signal/signal/private/"; + "chi2inv" , "toolbox/stats/"; + "chi2pdf" , "toolbox/stats/"; + "chi2rnd" , "toolbox/stats/"; + "chi2stat" , "toolbox/stats/"; + "chirp" , "toolbox/signal/signal/"; + "chk_license" , "toolbox/simulink/simdemos/automotive/"; + "chkmdinteg" , "toolbox/ident/idutils/"; + "chkrules" , "toolbox/simulink/components/private/"; + "chop" , "toolbox/control/ctrlobsolete/"; + "circleb1" , "toolbox/pde/"; + "circleb2" , "toolbox/pde/"; + "circlef" , "toolbox/pde/"; + "circleg" , "toolbox/pde/"; + "circlepick" , "toolbox/pde/"; + "circustent" , "toolbox/optim/"; + "cirsb" , "toolbox/pde/"; + "cirsg" , "toolbox/pde/"; + "classdemo" , "toolbox/stats/"; + "classify" , "toolbox/stats/"; + "clean_code_gen_dir" , "toolbox/stateflow/coder/private/"; + "clean_error_msg" , "toolbox/stateflow/stateflow/private/"; + "clean_target" , "toolbox/stateflow/stateflow/private/"; + "cleanerrormsg" , "toolbox/signal/sigtools/"; + "clipdivide" , "toolbox/images/images/private/"; + "cloop" , "toolbox/control/ctrlobsolete/"; + "close_models" , "toolbox/simulink/simulink/private/"; + "close_system" , "toolbox/simulink/simulink/"; + "closemachines" , "toolbox/stateflow/stateflow/private/"; + "cluster" , "toolbox/stats/"; + "clusterdata" , "toolbox/stats/"; + "clusterdemo" , "toolbox/stats/"; + "clutchplot" , "toolbox/simulink/simdemos/automotive/"; + "clutchplot_if" , "toolbox/simulink/simdemos/automotive/"; + "clxbode" , "toolbox/robust/"; + "cmd_window_buffering" , "toolbox/rtw/rtw/"; + "cmdscale" , "toolbox/stats/"; + "cmdscaledemo" , "toolbox/stats/"; + "cmgamdef" , "toolbox/images/images/"; + "cmgamma" , "toolbox/images/images/"; + "cminfo" , "toolbox/local/"; + "cmopts" , "toolbox/local/"; + "cmpermute" , "toolbox/images/images/"; + "cmunique" , "toolbox/images/images/"; + "code_borland_make_file" , "toolbox/stateflow/coder/private/"; + "code_chart_debug_initialization" , "toolbox/stateflow/coder/private/"; + "code_chart_header_file" , "toolbox/stateflow/coder/private/"; + "code_chart_header_file__rtw" , "toolbox/stateflow/coder/private/"; + "code_chart_header_file_custom" , "toolbox/stateflow/coder/private/"; + "code_chart_header_file_sfun" , "toolbox/stateflow/coder/private/"; + "code_chart_source_file" , "toolbox/stateflow/coder/private/"; + "code_chart_source_file_custom" , "toolbox/stateflow/coder/private/"; + "code_chart_source_file_rtw" , "toolbox/stateflow/coder/private/"; + "code_chart_source_file_sfun" , "toolbox/stateflow/coder/private/"; + "code_data_initialization" , "toolbox/stateflow/coder/private/"; + "code_debug_macros" , "toolbox/stateflow/coder/private/"; + "code_interface_and_support_files" , "toolbox/stateflow/coder/private/"; + "code_lcc_make_file" , "toolbox/stateflow/coder/private/"; + "code_machine_debug_initialization" , "toolbox/stateflow/coder/private/"; + "code_machine_def_file" , "toolbox/stateflow/coder/private/"; + "code_machine_header_file" , "toolbox/stateflow/coder/private/"; + "code_machine_header_file_custom" , "toolbox/stateflow/coder/private/"; + "code_machine_header_file_rtw" , "toolbox/stateflow/coder/private/"; + "code_machine_header_file_sfun" , "toolbox/stateflow/coder/private/"; + "code_machine_objlist_file" , "toolbox/stateflow/coder/private/"; + "code_machine_registry_file" , "toolbox/stateflow/coder/private/"; + "code_machine_source_file" , "toolbox/stateflow/coder/private/"; + "code_machine_source_file_custom" , "toolbox/stateflow/coder/private/"; + "code_machine_source_file_rtw" , "toolbox/stateflow/coder/private/"; + "code_machine_source_file_sfun" , "toolbox/stateflow/coder/private/"; + "code_msvc50_dswfile" , "toolbox/stateflow/coder/private/"; + "code_msvc50_makefile" , "toolbox/stateflow/coder/private/"; + "code_msvc_make_file" , "toolbox/stateflow/coder/private/"; + "code_sfun_glue_code" , "toolbox/stateflow/coder/private/"; + "code_unix_make_file" , "toolbox/stateflow/coder/private/"; + "code_watcom_make_file" , "toolbox/stateflow/coder/private/"; + "coder_error_count_man" , "toolbox/stateflow/stateflow/private/"; + "coder_options" , "toolbox/stateflow/coder/private/"; + "coder_opts_ddg" , "toolbox/stateflow/stateflow/private/"; + "coder_opts_ddg_preapply_cb" , "toolbox/stateflow/stateflow/private/"; + "cohere" , "toolbox/signal/signal/"; + "col2im" , "toolbox/images/images/"; + "colfilt" , "toolbox/images/images/"; + "collatetranslations" , "toolbox/simulink/simulink/"; + "collect_custom_code_symbols" , "toolbox/stateflow/stateflow/private/"; + "color" , "toolbox/optim/"; + "color2background" , "toolbox/signal/sigtools/"; + "combnk" , "toolbox/stats/"; + "comclient" , "toolbox/local/"; + "compare_components" , "toolbox/simulink/simulink/private/"; + "compare_configuration_sets" , "toolbox/simulink/simulink/private/"; + "compat13" , "toolbox/simulink/simulink/private/"; + "compdir" , "toolbox/shared/optimlib/"; + "compilerman" , "toolbox/stateflow/stateflow/private/"; + "completefreqresp" , "toolbox/signal/signal/"; + "compreal" , "toolbox/control/ctrlutil/"; + "compute_chart_information" , "toolbox/stateflow/coder/private/"; + "compute_compiler_info" , "toolbox/stateflow/coder/private/"; + "compute_event_enum_values" , "toolbox/stateflow/coder/private/"; + "compute_inc_codegen_info" , "toolbox/stateflow/coder/private/"; + "compute_machine_info" , "toolbox/stateflow/coder/private/"; + "compute_rtw_multi_instance_info" , "toolbox/stateflow/coder/private/"; + "compute_sfun_io_port_info" , "toolbox/stateflow/coder/private/"; + "compute_state_enums" , "toolbox/stateflow/coder/private/"; + "compute_target_info" , "toolbox/stateflow/coder/private/"; + "compute_value_from_rtwoptions" , "toolbox/rtw/rtw/"; + "computeperiodogram" , "toolbox/signal/signal/private/"; + "computepsd" , "toolbox/signal/signal/"; + "configDlgAction" , "toolbox/simulink/simulink/private/"; + "configDlgCallback" , "toolbox/simulink/simulink/private/"; + "configHelp" , "toolbox/simulink/simulink/private/"; + "configSetPref" , "toolbox/simulink/simulink/private/"; + "config_dlg_configure_param" , "toolbox/simulink/simulink/"; + "configblk" , "toolbox/simulink/simulink/"; + "configset_delete" , "toolbox/simulink/simulink/private/"; + "configure_model_reference_target_status" , "toolbox/simulink/simulink/private/"; + "confun" , "toolbox/optim/"; + "confuneq" , "toolbox/optim/"; + "confungrad" , "toolbox/optim/"; + "conn2array" , "toolbox/images/images/private/"; + "conndef" , "toolbox/images/images/"; + "connect" , "toolbox/control/control/"; + "connectline" , "toolbox/control/ctrlutil/"; + "construct_coder_error" , "toolbox/stateflow/coder/private/"; + "construct_context_for_machine" , "toolbox/stateflow/coder/private/"; + "construct_error" , "toolbox/stateflow/stateflow/private/"; + "construct_module" , "toolbox/stateflow/coder/private/"; + "construct_tt_error" , "toolbox/stateflow/stateflow/private/"; + "construct_warning" , "toolbox/stateflow/stateflow/private/"; + "convert2db" , "toolbox/signal/sigtools/"; + "convert2deg" , "toolbox/signal/sigtools/"; + "convert2engstrs" , "toolbox/signal/sigtools/"; + "convert2sq" , "toolbox/signal/sigtools/"; + "convert2vector" , "toolbox/signal/sigtools/"; + "convertSampleTimeInfo" , "toolbox/simulink/simulink/private/"; + "convertfrequnits" , "toolbox/signal/sigtools/"; + "convertmagunits" , "toolbox/signal/sigtools/"; + "convhullx" , "toolbox/images/images/private/"; + "convmtx" , "toolbox/signal/signal/"; + "convmtx2" , "toolbox/images/images/"; + "cophenet" , "toolbox/stats/"; + "copulademo" , "toolbox/stats/"; + "copy_object_properties" , "toolbox/simulink/simulink/"; + "copy_target_props" , "toolbox/stateflow/stateflow/private/"; + "cordexch" , "toolbox/stats/"; + "corelucy" , "toolbox/images/images/private/"; + "corr" , "toolbox/stats/"; + "corr2" , "toolbox/images/images/"; + "corrmtx" , "toolbox/signal/signal/"; + "cosint" , "toolbox/symbolic/"; + "count_fixpt_blks" , "toolbox/simulink/fixedandfloat/"; + "covar" , "toolbox/control/control/"; + "covf" , "toolbox/ident/idobsolete/"; + "covf2" , "toolbox/ident/idobsolete/"; + "covlamb" , "toolbox/ident/idutils/"; + "cp2tform" , "toolbox/images/images/"; + "cpcorr" , "toolbox/images/images/"; + "cppredict" , "toolbox/images/images/private/"; + "cpsave" , "toolbox/images/images/private/"; + "cpsd" , "toolbox/signal/signal/"; + "cpselect" , "toolbox/images/images/"; + "cpselecthelp" , "toolbox/images/images/private/"; + "cpstruct2pairs" , "toolbox/images/images/"; + "cr" , "toolbox/simulink/simulink/private/"; + "cra" , "toolbox/ident/ident/"; + "crackb" , "toolbox/pde/"; + "crackg" , "toolbox/pde/"; + "createDASimulink" , "toolbox/shared/dastudio/"; + "create_directory_path" , "toolbox/stateflow/stateflow/private/"; + "create_file_name_info" , "toolbox/stateflow/coder/private/"; + "create_nag" , "toolbox/simulink/simulink/private/"; + "create_truth_table" , "toolbox/stateflow/stateflow/private/"; + "createfigcopy" , "toolbox/signal/sigtools/private/"; + "createsignalzoom" , "toolbox/signal/sigtools/"; + "createtdtlisteners" , "toolbox/simulink/simulink/"; + "cremez" , "toolbox/signal/signal/"; + "crmz" , "toolbox/signal/signal/private/"; + "crosstab" , "toolbox/stats/"; + "crtanim1" , "toolbox/simulink/simdemos/simgeneral/"; + "crtanim2" , "toolbox/simulink/simdemos/simgeneral/"; + "cs" , "toolbox/ident/iddemos/"; + "cs1" , "toolbox/ident/iddemos/"; + "cs2" , "toolbox/ident/iddemos/"; + "csape" , "toolbox/splines/"; + "csapi" , "toolbox/splines/"; + "csapidem" , "toolbox/splines/"; + "csaps" , "toolbox/splines/"; + "csapsdem" , "toolbox/splines/"; + "cschur" , "toolbox/robust/"; + "cscvn" , "toolbox/splines/"; + "csd" , "toolbox/signal/signal/"; + "csfunc" , "toolbox/simulink/blocks/"; + "csgchk" , "toolbox/pde/"; + "csgdel" , "toolbox/pde/"; + "cshelpcontextmenu" , "toolbox/signal/sigtools/"; + "cshelpengine" , "toolbox/signal/sigtools/"; + "cshelpgeneral_cb" , "toolbox/signal/sigtools/"; + "cspecchk" , "toolbox/images/images/private/"; + "cstdefs" , "toolbox/control/ctrlguis/"; + "cstupdate" , "toolbox/control/ctrlguis/"; + "ctrb" , "toolbox/control/control/"; + "ctrbf" , "toolbox/control/control/"; + "ctrlguihelp" , "toolbox/control/ctrlguis/"; + "ctrlpref" , "toolbox/control/control/"; + "ctx_add_note" , "toolbox/stateflow/stateflow/private/"; + "ctx_toggle_smart" , "toolbox/stateflow/stateflow/private/"; + "ctxmenuman" , "toolbox/stateflow/stateflow/private/"; + "cubic" , "toolbox/optim/"; + "cubici1" , "toolbox/optim/"; + "cubici2" , "toolbox/optim/"; + "cubici3" , "toolbox/optim/"; + "currentchart" , "toolbox/stateflow/stateflow/private/"; + "custcodehelp" , "toolbox/rtw/rtw/"; + "customdist1demo" , "toolbox/stats/"; + "customdist2demo" , "toolbox/stats/"; + "cv_append_autoscale_data" , "toolbox/simulink/simcoverage/private/"; + "cv_dialog_options" , "toolbox/simulink/simcoverage/private/"; + "cv_init_dialog_test" , "toolbox/simulink/simcoverage/private/"; + "cv_is_model_autoscale" , "toolbox/simulink/simcoverage/private/"; + "cv_metric_names" , "toolbox/simulink/simcoverage/private/"; + "cv_model_enabled" , "toolbox/simulink/simcoverage/private/"; + "cv_sf_chart_data" , "toolbox/simulink/simcoverage/private/"; + "cv_term_dialog_test" , "toolbox/simulink/simcoverage/private/"; + "cvinit" , "toolbox/simulink/simcoverage/private/"; + "cvmodel" , "toolbox/simulink/simcoverage/private/"; + "cvsf" , "toolbox/simulink/simcoverage/private/"; + "cycle_error_help" , "toolbox/stateflow/stateflow/private/"; + "czt" , "toolbox/signal/signal/"; + "cztdemo" , "toolbox/signal/sigdemos/"; + "d2c" , "toolbox/control/control/"; + "d2ci" , "toolbox/simulink/simulink/private/"; + "d2cm" , "toolbox/control/ctrlobsolete/"; + "d2d" , "toolbox/control/control/"; + "d2d" , "toolbox/simulink/simulink/private/"; + "da_mxarray_get_schema" , "toolbox/shared/dastudio/"; + "daabout" , "toolbox/shared/dastudio/"; + "dactdemo" , "toolbox/robust/"; + "daexplr" , "toolbox/shared/dastudio/"; + "damp" , "toolbox/control/control/"; + "damp" , "toolbox/ident/idutils/private/"; + "dare" , "toolbox/control/control/"; + "daresolv" , "toolbox/robust/"; + "das2chaos" , "toolbox/shared/dastudio/"; + "das_dv_hyperlink" , "toolbox/shared/dastudio/"; + "das_get_data_type" , "toolbox/shared/dastudio/"; + "das_get_enum_values" , "toolbox/shared/dastudio/"; + "das_undo_gateway" , "toolbox/shared/dastudio/"; + "das_undo_stack" , "toolbox/shared/dastudio/"; + "dataStoreMemddg" , "toolbox/simulink/blocks/"; + "dataStoreRWddg" , "toolbox/simulink/blocks/"; + "dataStoreRWddg_cb" , "toolbox/simulink/simulink/"; + "dataddg" , "toolbox/simulink/simulink/"; + "dataddg" , "toolbox/stateflow/stateflow/private/"; + "dataddg_cb" , "toolbox/simulink/simulink/"; + "dataddg_mxarray" , "toolbox/shared/dastudio/"; + "dataddg_port_callback" , "toolbox/stateflow/stateflow/private/"; + "dataddg_preapply_callback" , "toolbox/stateflow/stateflow/private/"; + "dataddg_preclose_callback" , "toolbox/stateflow/stateflow/private/"; + "datadlg" , "toolbox/stateflow/stateflow/private/"; + "datatip" , "toolbox/control/ctrlobsolete/"; + "datawrap" , "toolbox/signal/signal/"; + "datdemo" , "toolbox/optim/"; + "daugment" , "toolbox/stats/"; + "db" , "toolbox/signal/signal/"; + "dbalreal" , "toolbox/control/ctrlobsolete/"; + "dbm" , "toolbox/signal/signal/private/"; + "dbode" , "toolbox/control/ctrlobsolete/"; + "dcdemo" , "toolbox/control/ctrldemos/"; + "dcgain" , "toolbox/control/control/"; + "dcgloci" , "toolbox/robust/"; + "dcgloci2" , "toolbox/robust/"; + "dclxbode" , "toolbox/robust/"; + "dcovar" , "toolbox/control/ctrlobsolete/"; + "dcovary" , "toolbox/stats/"; + "dct" , "toolbox/images/images/private/"; + "dct" , "toolbox/signal/signal/"; + "dct2" , "toolbox/images/images/"; + "dctdemo" , "toolbox/images/imdemos/"; + "dctmtx" , "toolbox/images/images/"; + "dctmtx2" , "toolbox/images/images/"; + "dctold" , "toolbox/signal/signal/private/"; + "ddamp" , "toolbox/control/ctrlobsolete/"; + "ddcgain" , "toolbox/control/ctrlobsolete/"; + "ddg_get_parent_name" , "toolbox/stateflow/stateflow/private/"; + "ddist" , "toolbox/images/images/private/"; + "deblankall" , "toolbox/simulink/simulink/private/"; + "debugdlg" , "toolbox/stateflow/stateflow/private/"; + "decimate" , "toolbox/signal/signal/"; + "deconvblind" , "toolbox/images/images/"; + "deconvlucy" , "toolbox/images/images/"; + "deconvreg" , "toolbox/images/images/"; + "deconvwnr" , "toolbox/images/images/"; + "decorrstretch" , "toolbox/images/images/"; + "decrypt_machine" , "toolbox/stateflow/stateflow/private/"; + "decsg" , "toolbox/pde/"; + "dee4plt" , "toolbox/simulink/dee/"; + "dee4plti" , "toolbox/simulink/dee/"; + "deechgnm" , "toolbox/simulink/dee/"; + "deedemi4" , "toolbox/simulink/dee/"; + "deeflag" , "toolbox/simulink/dee/"; + "deehelp" , "toolbox/simulink/dee/"; + "deelin" , "toolbox/simulink/dee/"; + "deerestr" , "toolbox/simulink/dee/"; + "deeupdat" , "toolbox/simulink/dee/"; + "default_target_methods" , "toolbox/stateflow/stateflow/private/"; + "defaultlutblklist" , "toolbox/simulink/blocks/private/"; + "definev" , "toolbox/optim/private/"; + "defnum" , "toolbox/ident/idutils/"; + "defnum2" , "toolbox/ident/idutils/"; + "defnum3" , "toolbox/ident/idutils/"; + "delayest" , "toolbox/ident/ident/"; + "delayfr" , "toolbox/control/ctrlutil/"; + "delete_block" , "toolbox/simulink/simulink/"; + "delete_line" , "toolbox/simulink/simulink/"; + "delete_param" , "toolbox/simulink/simulink/"; + "deletehgfig" , "toolbox/simulink/simulink/"; + "democlean" , "toolbox/control/ctrldemos/private/"; + "demod" , "toolbox/signal/signal/"; + "dendrogram" , "toolbox/stats/"; + "dep" , "toolbox/optim/private/"; + "des2ss" , "toolbox/robust/"; + "despace" , "toolbox/stateflow/stateflow/private/"; + "destim" , "toolbox/control/ctrlobsolete/"; + "detachConfigSet" , "toolbox/simulink/simulink/"; + "deterministicsignalpower" , "toolbox/signal/sigdemos/"; + "dexresp" , "toolbox/control/ctrlobsolete/"; + "dfaddbuttons" , "toolbox/stats/private/"; + "dfaddparamfit" , "toolbox/stats/private/"; + "dfaddsmoothfit" , "toolbox/stats/private/"; + "dfadjustlayout" , "toolbox/stats/private/"; + "dfadjustmenu" , "toolbox/stats/private/"; + "dfadjusttoolbar" , "toolbox/stats/private/"; + "dfasksavesession" , "toolbox/stats/private/"; + "dfaxlimctrl" , "toolbox/stats/private/"; + "dfbinwidthpreview" , "toolbox/stats/private/"; + "dfboundwarn" , "toolbox/stats/private/"; + "dfcanplotdata" , "toolbox/stats/private/"; + "dfcbkclear" , "toolbox/stats/private/"; + "dfcheckselections" , "toolbox/stats/private/"; + "dfcopyexrule" , "toolbox/stats/private/"; + "dfcreatecopy" , "toolbox/stats/private/"; + "dfcreatedataset" , "toolbox/stats/private/"; + "dfcreateexclusionrule" , "toolbox/stats/private/"; + "dfcreateplot" , "toolbox/stats/private/"; + "dfcustomdist" , "toolbox/stats/private/"; + "dfdeleteexrule" , "toolbox/stats/private/"; + "dfdelgraphexclude" , "toolbox/stats/private/"; + "dfdocontext" , "toolbox/stats/private/"; + "dfdupfigure" , "toolbox/stats/private/"; + "dfevaluate" , "toolbox/stats/private/"; + "dfevaluateplot" , "toolbox/stats/private/"; + "dfexport2workspace" , "toolbox/stats/private/"; + "dffig2m" , "toolbox/stats/private/"; + "dfgetbinwidthdefaults" , "toolbox/stats/private/"; + "dfgetdistributions" , "toolbox/stats/private/"; + "dfgetexclusionrule" , "toolbox/stats/private/"; + "dfgetfitname" , "toolbox/stats/private/"; + "dfgetset" , "toolbox/stats/"; + "dfgetupdateinfo" , "toolbox/stats/private/"; + "dfgetuserdists" , "toolbox/stats/private/"; + "dfgraphexclude" , "toolbox/stats/private/"; + "dfhelpviewer" , "toolbox/stats/private/"; + "dfhistbins" , "toolbox/stats/private/"; + "dfildemo" , "toolbox/optim/"; + "dfilt2qfilt" , "toolbox/signal/sigtools/"; + "dfiltdemo" , "toolbox/signal/sigdemos/"; + "dfiltfftfirdemo" , "toolbox/signal/sigdemos/"; + "dfiltfilteringdemo" , "toolbox/signal/sigdemos/"; + "dfiltloadobj" , "toolbox/signal/sigtools/"; + "dfittool" , "toolbox/stats/"; + "dfpreview" , "toolbox/stats/private/"; + "dfreqrc" , "toolbox/robust/"; + "dfrqint" , "toolbox/control/ctrlobsolete/"; + "dfrqint2" , "toolbox/control/ctrlobsolete/"; + "dfsectionpreview" , "toolbox/stats/private/"; + "dfsession" , "toolbox/stats/private/"; + "dfsetbinwidthrules" , "toolbox/stats/private/"; + "dfsetconflev" , "toolbox/stats/private/"; + "dfsetdistributions" , "toolbox/stats/private/"; + "dfsetfunction" , "toolbox/stats/private/"; + "dfsetplottype" , "toolbox/stats/private/"; + "dfswitchyard" , "toolbox/stats/"; + "dftips" , "toolbox/stats/private/"; + "dftmtx" , "toolbox/signal/signal/"; + "dftoggleaxlimctrl" , "toolbox/stats/private/"; + "dftogglegrid" , "toolbox/stats/private/"; + "dftogglelegend" , "toolbox/stats/private/"; + "dftoggletoolbar" , "toolbox/stats/private/"; + "dftoolgetudd" , "toolbox/stats/private/"; + "dftoolinittemplate" , "toolbox/stats/private/"; + "dfupdateallplots" , "toolbox/stats/private/"; + "dfupdatebinwidthpreview" , "toolbox/stats/private/"; + "dfupdatelegend" , "toolbox/stats/private/"; + "dfupdateppdists" , "toolbox/stats/private/"; + "dfupdatexlim" , "toolbox/stats/private/"; + "dfupdateylim" , "toolbox/stats/private/"; + "dfviewdata" , "toolbox/stats/private/"; + "dfviewdatapreview" , "toolbox/stats/private/"; + "dfviewexcludepreview" , "toolbox/stats/private/"; + "dfviewpreview" , "toolbox/stats/private/"; + "dgammainc" , "toolbox/stats/private/"; + "dgram" , "toolbox/control/ctrlobsolete/"; + "dh2lqg" , "toolbox/robust/"; + "dhinf" , "toolbox/robust/"; + "dhinfopt" , "toolbox/robust/"; + "diagmx" , "toolbox/robust/"; + "diagnose" , "toolbox/shared/optimlib/"; + "dicom_add_attr" , "toolbox/images/images/private/"; + "dicom_add_item" , "toolbox/images/images/private/"; + "dicom_close_msg" , "toolbox/images/images/private/"; + "dicom_compress_pixel_cells" , "toolbox/images/images/private/"; + "dicom_convert_meta_to_attr" , "toolbox/images/images/private/"; + "dicom_copy_IOD" , "toolbox/images/images/private/"; + "dicom_create_IOD" , "toolbox/images/images/private/"; + "dicom_create_attr" , "toolbox/images/images/private/"; + "dicom_create_file_struct" , "toolbox/images/images/private/"; + "dicom_create_guid" , "toolbox/images/images/private/"; + "dicom_create_meta_struct" , "toolbox/images/images/private/"; + "dicom_decode_jpg8" , "toolbox/images/images/private/"; + "dicom_decode_pixel_cells" , "toolbox/images/images/private/"; + "dicom_decode_rle" , "toolbox/images/images/private/"; + "dicom_dict_lookup" , "toolbox/images/images/private/"; + "dicom_encode_attrs" , "toolbox/images/images/private/"; + "dicom_encode_jpeg_lossless" , "toolbox/images/images/private/"; + "dicom_encode_jpeg_lossy" , "toolbox/images/images/private/"; + "dicom_encode_pixel_cells" , "toolbox/images/images/private/"; + "dicom_encode_pn" , "toolbox/images/images/private/"; + "dicom_encode_rle" , "toolbox/images/images/private/"; + "dicom_generate_uid" , "toolbox/images/images/private/"; + "dicom_get_msg" , "toolbox/images/images/private/"; + "dicom_get_next_tag" , "toolbox/images/images/private/"; + "dicom_get_tags" , "toolbox/images/images/private/"; + "dicom_has_fmeta" , "toolbox/images/images/private/"; + "dicom_has_overlay_bits" , "toolbox/images/images/private/"; + "dicom_iods" , "toolbox/images/images/private/"; + "dicom_load_dictionary" , "toolbox/images/images/private/"; + "dicom_modules" , "toolbox/images/images/private/"; + "dicom_name_lookup" , "toolbox/images/images/private/"; + "dicom_open_msg" , "toolbox/images/images/private/"; + "dicom_prep_FileMetadata" , "toolbox/images/images/private/"; + "dicom_prep_FrameOfReference" , "toolbox/images/images/private/"; + "dicom_prep_GeneralImage" , "toolbox/images/images/private/"; + "dicom_prep_GeneralSeries" , "toolbox/images/images/private/"; + "dicom_prep_GeneralStudy" , "toolbox/images/images/private/"; + "dicom_prep_ImagePixel" , "toolbox/images/images/private/"; + "dicom_prep_SCImageEquipment" , "toolbox/images/images/private/"; + "dicom_prep_SOPCommon" , "toolbox/images/images/private/"; + "dicom_prep_metadata" , "toolbox/images/images/private/"; + "dicom_read_attr" , "toolbox/images/images/private/"; + "dicom_read_attr_by_pos" , "toolbox/images/images/private/"; + "dicom_read_attr_length" , "toolbox/images/images/private/"; + "dicom_read_attr_metadata" , "toolbox/images/images/private/"; + "dicom_read_attr_tag" , "toolbox/images/images/private/"; + "dicom_read_attr_vr" , "toolbox/images/images/private/"; + "dicom_read_encapsulated" , "toolbox/images/images/private/"; + "dicom_read_fmeta" , "toolbox/images/images/private/"; + "dicom_read_image" , "toolbox/images/images/private/"; + "dicom_read_mmeta" , "toolbox/images/images/private/"; + "dicom_read_native" , "toolbox/images/images/private/"; + "dicom_set_image_encoding" , "toolbox/images/images/private/"; + "dicom_set_imfinfo_values" , "toolbox/images/images/private/"; + "dicom_set_mmeta_encoding" , "toolbox/images/images/private/"; + "dicom_supported_txfr_syntax" , "toolbox/images/images/private/"; + "dicom_tag_lookup" , "toolbox/images/images/private/"; + "dicom_uid_decode" , "toolbox/images/images/private/"; + "dicom_warn" , "toolbox/images/images/private/"; + "dicom_write_stream" , "toolbox/images/images/private/"; + "dicom_xform_image" , "toolbox/images/images/private/"; + "dicomdict" , "toolbox/images/images/"; + "dicominfo" , "toolbox/images/images/"; + "dicomread" , "toolbox/images/images/"; + "dicomuid" , "toolbox/images/images/"; + "dicomwrite" , "toolbox/images/images/"; + "difeqdem" , "toolbox/splines/"; + "difeqite" , "toolbox/splines/"; + "difeqset" , "toolbox/splines/"; + "diffeqed" , "toolbox/simulink/dee/"; + "differentiator" , "toolbox/signal/signal/private/"; + "digitrevorder" , "toolbox/signal/signal/"; + "digits" , "toolbox/symbolic/"; + "dilate" , "toolbox/images/images/"; + "dimpulse" , "toolbox/control/ctrlobsolete/"; + "dinitial" , "toolbox/control/ctrlobsolete/"; + "dintdemo" , "toolbox/robust/"; + "dinteva" , "toolbox/robust/"; + "dintplt" , "toolbox/robust/"; + "dirac" , "toolbox/symbolic/"; + "diric" , "toolbox/signal/signal/"; + "disableimplicitsignalresolution" , "toolbox/simulink/simulink/"; + "diskdemo" , "toolbox/control/ctrldemos/"; + "diskdemo_aux" , "toolbox/control/ctrldemos/"; + "dispblocksmissed" , "toolbox/slcontrol/slctrlutil/"; + "display1" , "toolbox/optim/private/"; + "distchck" , "toolbox/stats/"; + "disttool" , "toolbox/stats/"; + "dither" , "toolbox/images/images/"; + "ditherc" , "toolbox/images/images/private/"; + "dividenowarn" , "toolbox/signal/signal/private/"; + "dkalman" , "toolbox/control/control/"; + "dlg_apply_bitops_to_all_charts" , "toolbox/stateflow/stateflow/private/"; + "dlg_apply_ui_checkbox" , "toolbox/stateflow/stateflow/private/"; + "dlg_call" , "toolbox/stateflow/stateflow/private/"; + "dlg_common_uis" , "toolbox/stateflow/stateflow/private/"; + "dlg_constants" , "toolbox/stateflow/stateflow/private/"; + "dlg_data" , "toolbox/stateflow/stateflow/private/"; + "dlg_edit_field" , "toolbox/stateflow/stateflow/private/"; + "dlg_enable_ui" , "toolbox/stateflow/stateflow/private/"; + "dlg_end_construction" , "toolbox/stateflow/stateflow/private/"; + "dlg_figure" , "toolbox/stateflow/stateflow/private/"; + "dlg_get_string" , "toolbox/stateflow/stateflow/private/"; + "dlg_goto_debugger" , "toolbox/stateflow/stateflow/private/"; + "dlg_goto_dest" , "toolbox/stateflow/stateflow/private/"; + "dlg_goto_document" , "toolbox/stateflow/stateflow/private/"; + "dlg_goto_object" , "toolbox/stateflow/stateflow/private/"; + "dlg_goto_parent" , "toolbox/stateflow/stateflow/private/"; + "dlg_goto_source" , "toolbox/stateflow/stateflow/private/"; + "dlg_is_iced" , "toolbox/stateflow/stateflow/private/"; + "dlg_mouse" , "toolbox/stateflow/stateflow/private/"; + "dlg_open" , "toolbox/stateflow/stateflow/private/"; + "dlg_origin" , "toolbox/stateflow/stateflow/private/"; + "dlg_refresh" , "toolbox/stateflow/stateflow/private/"; + "dlg_resize" , "toolbox/stateflow/stateflow/private/"; + "dlg_revert" , "toolbox/stateflow/stateflow/private/"; + "dlg_revert_property" , "toolbox/stateflow/stateflow/private/"; + "dlg_set" , "toolbox/stateflow/stateflow/private/"; + "dlg_set_string" , "toolbox/stateflow/stateflow/private/"; + "dlg_sort_uicontrols" , "toolbox/stateflow/stateflow/private/"; + "dlg_str_width" , "toolbox/stateflow/stateflow/private/"; + "dlg_sub_dialog" , "toolbox/stateflow/stateflow/private/"; + "dlg_trans_table" , "toolbox/stateflow/stateflow/private/"; + "dlg_update_parent_ui" , "toolbox/stateflow/stateflow/private/"; + "dlg_update_srcdst_ui" , "toolbox/stateflow/stateflow/private/"; + "dlg_update_subsystem_ui" , "toolbox/stateflow/stateflow/private/"; + "dlinmod" , "toolbox/simulink/simulink/"; + "dlinmodv5" , "toolbox/simulink/simulink/"; + "dlqe" , "toolbox/control/ctrlobsolete/"; + "dlqew" , "toolbox/control/ctrlobsolete/"; + "dlqr" , "toolbox/control/control/"; + "dlqrc" , "toolbox/robust/"; + "dlqry" , "toolbox/control/ctrlobsolete/"; + "dlsim" , "toolbox/control/ctrlobsolete/"; + "dlyap" , "toolbox/control/control/"; + "dlyapchol" , "toolbox/control/control/"; + "dmodred" , "toolbox/control/ctrlobsolete/"; + "dmulresp" , "toolbox/control/ctrlobsolete/"; + "dnichols" , "toolbox/control/ctrlobsolete/"; + "dnyquist" , "toolbox/control/ctrlobsolete/"; + "dobal" , "toolbox/robust/"; + "docblock" , "toolbox/simulink/blocks/"; + "docopt" , "toolbox/local/"; + "dogleg" , "toolbox/optim/private/"; + "dow_package_registry" , "toolbox/simulink/simulink/"; + "downsample" , "toolbox/signal/signal/"; + "dparseit" , "toolbox/simulink/dee/"; + "dpss" , "toolbox/signal/signal/"; + "dpssclear" , "toolbox/signal/signal/"; + "dpssdir" , "toolbox/signal/signal/"; + "dpssload" , "toolbox/signal/signal/"; + "dpsssave" , "toolbox/signal/signal/"; + "drawacc" , "toolbox/robust/"; + "drawpznumbers" , "toolbox/signal/signal/"; + "dreg" , "toolbox/control/ctrlobsolete/"; + "dric" , "toolbox/control/ctrlobsolete/"; + "driccond" , "toolbox/robust/"; + "drmodel" , "toolbox/control/control/"; + "drqpbox" , "toolbox/optim/private/"; + "drss" , "toolbox/control/control/"; + "drt_rtw_info_hook" , "toolbox/rtw/rtw/"; + "drum1" , "toolbox/pde/"; + "drum2" , "toolbox/pde/"; + "dsfunc" , "toolbox/simulink/blocks/"; + "dsigma" , "toolbox/control/ctrlobsolete/"; + "dskwheel" , "toolbox/control/ctrldemos/private/"; + "dsolve" , "toolbox/symbolic/"; + "dsort" , "toolbox/control/control/"; + "dspblksstatusbar" , "toolbox/signal/sigtools/"; + "dspblkstructures" , "toolbox/signal/sigtools/"; + "dspplugin" , "toolbox/signal/sigtools/"; + "dss" , "toolbox/control/control/"; + "dst" , "toolbox/pde/"; + "dstep" , "toolbox/control/ctrlobsolete/"; + "dtf2ss" , "toolbox/simulink/simulink/"; + "dtimscale" , "toolbox/ident/idutils/private/"; + "dtimvec" , "toolbox/control/ctrlobsolete/"; + "dtmfdemo" , "toolbox/signal/sigdemos/"; + "dtrend" , "toolbox/ident/idobsolete/"; + "dualsimplex" , "toolbox/optim/private/"; + "dummyvar" , "toolbox/stats/"; + "dump_exported_fcn_prototypes" , "toolbox/stateflow/coder/private/"; + "dump_module" , "toolbox/stateflow/coder/private/"; + "dynamicdlg" , "toolbox/shared/dastudio/"; + "ecdf" , "toolbox/stats/"; + "ecdfhist" , "toolbox/stats/"; + "ecg" , "toolbox/signal/sigdemos/"; + "edge" , "toolbox/images/images/"; + "edgedemo" , "toolbox/images/imdemos/"; + "edgelist2mask" , "toolbox/images/images/private/"; + "edgetaper" , "toolbox/images/images/"; + "elimone" , "toolbox/optim/"; + "ellip" , "toolbox/signal/signal/"; + "ellipap" , "toolbox/signal/signal/"; + "ellipord" , "toolbox/signal/signal/"; + "eml_blocks_in" , "toolbox/stateflow/stateflow/private/"; + "eml_chart_man" , "toolbox/stateflow/stateflow/private/"; + "eml_fcns_in" , "toolbox/stateflow/stateflow/private/"; + "eml_function_man" , "toolbox/stateflow/stateflow/private/"; + "eml_man" , "toolbox/stateflow/stateflow/private/"; + "eml_script_man" , "toolbox/stateflow/stateflow/private/"; + "eml_template_man" , "toolbox/stateflow/stateflow/private/"; + "emlnew" , "toolbox/stateflow/stateflow/"; + "emptyfixptsimrange" , "toolbox/simulink/fixedandfloat/"; + "enabdynprop" , "toolbox/signal/sigtools/"; + "encode_color" , "toolbox/images/images/private/"; + "encrypt_machine" , "toolbox/stateflow/stateflow/private/"; + "engunits" , "toolbox/signal/sigtools/"; + "eqtflength" , "toolbox/signal/signal/"; + "equation" , "toolbox/control/ctrldemos/private/"; + "erode" , "toolbox/images/images/"; + "esort" , "toolbox/control/control/"; + "esplit" , "toolbox/control/ctrlutil/"; + "estim" , "toolbox/control/control/"; + "etfe" , "toolbox/ident/ident/"; + "eucdist2" , "toolbox/images/images/private/"; + "eucdistn" , "toolbox/images/images/private/"; + "euler" , "toolbox/simulink/simulink/"; + "eulrotdisplay" , "toolbox/simulink/simdemos/simgeneral/"; + "evaluate_handle" , "toolbox/stateflow/stateflow/private/"; + "evaluate_handle_in_base_ws" , "toolbox/stateflow/stateflow/private/"; + "evaluatefs" , "toolbox/signal/sigtools/"; + "evaluatevars" , "toolbox/signal/sigtools/"; + "evcdf" , "toolbox/stats/"; + "eventddg" , "toolbox/stateflow/stateflow/private/"; + "eventddg_port_callback" , "toolbox/stateflow/stateflow/private/"; + "eventddg_preapply_callback" , "toolbox/stateflow/stateflow/private/"; + "eventddg_preclose_callback" , "toolbox/stateflow/stateflow/private/"; + "eventdlg" , "toolbox/stateflow/stateflow/private/"; + "evfit" , "toolbox/stats/"; + "evinv" , "toolbox/stats/"; + "evlike" , "toolbox/stats/"; + "evnegloglike" , "toolbox/stats/"; + "evpdf" , "toolbox/stats/"; + "evrnd" , "toolbox/stats/"; + "evstat" , "toolbox/stats/"; + "ewmaplot" , "toolbox/stats/"; + "execute_in_java_thread" , "toolbox/stateflow/stateflow/private/"; + "expand_double_byte_string" , "toolbox/stateflow/stateflow/private/"; + "expcdf" , "toolbox/stats/"; + "expfit" , "toolbox/stats/"; + "expinv" , "toolbox/stats/"; + "explike" , "toolbox/stats/"; + "explore_system" , "toolbox/simulink/simulink/"; + "explr_config_colormap" , "toolbox/stateflow/stateflow/private/"; + "explr_obj_del" , "toolbox/stateflow/stateflow/private/"; + "explr_position" , "toolbox/stateflow/stateflow/private/"; + "export2wsdlg" , "toolbox/stats/private/"; + "export_chart_functions" , "toolbox/stateflow/coder/private/"; + "exportccsplugin" , "toolbox/signal/sigtools/"; + "exportcoeffgen" , "toolbox/signal/sigtools/"; + "exported_fcn_checksum" , "toolbox/stateflow/stateflow/private/"; + "exported_fcns_in_machine" , "toolbox/stateflow/stateflow/private/"; + "exportlti" , "toolbox/control/ctrlguis/"; + "exppdf" , "toolbox/stats/"; + "exprnd" , "toolbox/stats/"; + "expstat" , "toolbox/stats/"; + "exresp" , "toolbox/control/ctrlobsolete/"; + "extendlocus" , "toolbox/control/ctrlguis/"; + "external_temp_limit" , "toolbox/simulink/simdemos/automotive/"; + "external_temp_limit1" , "toolbox/simulink/simdemos/automotive/"; + "extmode_transports" , "toolbox/simulink/simulink/"; + "extmodecallback" , "toolbox/simulink/simulink/private/"; + "extract_norw" , "toolbox/signal/signal/private/"; + "extract_relevant_dirs" , "toolbox/stateflow/stateflow/private/"; + "f14_digdemo" , "toolbox/simulink/simdemos/aerospace/"; + "f14_show" , "toolbox/simulink/simdemos/aerospace/"; + "f14dat" , "toolbox/simulink/simdemos/aerospace/"; + "f14dat_digital" , "toolbox/simulink/simdemos/aerospace/"; + "f14def" , "toolbox/simulink/simdemos/aerospace/"; + "factoran" , "toolbox/stats/"; + "factorandemo" , "toolbox/stats/"; + "factorymenu" , "toolbox/signal/sigtools/"; + "faddmenu" , "toolbox/signal/sigtools/"; + "fan2para" , "toolbox/images/images/"; + "fan2para_int" , "toolbox/images/images/private/"; + "fanbeam" , "toolbox/images/images/"; + "fastreshape" , "toolbox/signal/signal/"; + "fbode" , "toolbox/control/ctrlobsolete/"; + "fbox4" , "toolbox/optim/"; + "fcdf" , "toolbox/stats/"; + "fcfileread" , "toolbox/signal/sigtools/"; + "fdaddcontextmenu" , "toolbox/signal/sigtools/"; + "fdaprivate" , "toolbox/signal/sigtools/"; + "fdatool" , "toolbox/signal/sigtools/"; + "fdatool_cfi" , "toolbox/signal/sigtools/private/"; + "fdatool_design" , "toolbox/signal/sigtools/private/"; + "fdatool_fvtool" , "toolbox/signal/sigtools/private/"; + "fdatool_help" , "toolbox/signal/sigtools/"; + "fdatool_import" , "toolbox/signal/sigtools/private/"; + "fdatool_mfilttool" , "toolbox/signal/sigtools/private/"; + "fdatool_pzeditor" , "toolbox/signal/sigtools/private/"; + "fdatool_qfiltpanel" , "toolbox/signal/sigtools/private/"; + "fdatool_sidebar" , "toolbox/signal/sigtools/private/"; + "fdatool_xformtool" , "toolbox/signal/sigtools/private/"; + "fdbutter" , "toolbox/signal/sptoolgui/"; + "fdcheby1" , "toolbox/signal/sptoolgui/"; + "fdcheby2" , "toolbox/signal/sptoolgui/"; + "fdellip" , "toolbox/signal/sptoolgui/"; + "fdfirls" , "toolbox/signal/sptoolgui/"; + "fdhelpstr" , "toolbox/signal/sptoolgui/private/"; + "fdkaiser" , "toolbox/signal/sptoolgui/"; + "fdmodp" , "toolbox/signal/sptoolgui/private/"; + "fdobjhelp" , "toolbox/signal/sptoolgui/private/"; + "fdplugin" , "toolbox/signal/sigtools/"; + "fdpzedit" , "toolbox/signal/sptoolgui/"; + "fdremez" , "toolbox/signal/sptoolgui/"; + "fdrmmenu" , "toolbox/signal/sigtools/"; + "fdrmtoolbarbtn" , "toolbox/signal/sigtools/"; + "fduiputfile" , "toolbox/signal/sigtools/"; + "fdutil" , "toolbox/signal/sptoolgui/"; + "feasibl" , "toolbox/optim/private/"; + "feedback" , "toolbox/control/control/"; + "feedbk" , "toolbox/robust/"; + "fevaldlg" , "toolbox/simulink/dee/"; + "ff2n" , "toolbox/stats/"; + "ffplot" , "toolbox/ident/ident/"; + "fftfilt" , "toolbox/signal/signal/"; + "fgoalattain" , "toolbox/optim/"; + "fiactha" , "toolbox/ident/idguis/"; + "fiacthad" , "toolbox/ident/idguis/"; + "fiactham" , "toolbox/ident/idguis/"; + "figpos" , "toolbox/simulink/simulink/private/"; + "file2str" , "toolbox/stateflow/stateflow/private/"; + "filt" , "toolbox/control/control/"; + "filtcon" , "toolbox/optim/"; + "filtdem" , "toolbox/signal/sigdemos/"; + "filtdem2" , "toolbox/signal/sigdemos/"; + "filtdemo" , "toolbox/signal/sigdemos/"; + "filtdes" , "toolbox/signal/sptoolgui/"; + "filter_deleted_ids" , "toolbox/stateflow/stateflow/private/"; + "filterguitar" , "toolbox/signal/sigdemos/"; + "filterguitardemo" , "toolbox/signal/sigdemos/"; + "filternorm" , "toolbox/signal/signal/"; + "filtfilt" , "toolbox/signal/signal/"; + "filtfun" , "toolbox/optim/"; + "filtfun2" , "toolbox/optim/"; + "filtic" , "toolbox/signal/signal/"; + "filtm" , "toolbox/simulink/blocks/"; + "filtobj" , "toolbox/optim/"; + "filtview" , "toolbox/signal/sptoolgui/"; + "find_by_type" , "toolbox/stateflow/stateflow/private/"; + "find_dv" , "toolbox/shared/dastudio/"; + "find_mdlrefs" , "toolbox/simulink/simulink/"; + "find_model_reference_candidates" , "toolbox/simulink/simulink/private/"; + "find_system" , "toolbox/simulink/simulink/"; + "find_target_files" , "toolbox/stateflow/stateflow/private/"; + "findallwinclasses" , "toolbox/signal/sigtools/"; + "findblib" , "toolbox/simulink/simulink/"; + "findbounds" , "toolbox/images/images/"; + "findbussrc" , "toolbox/simulink/simulink/private/"; + "findcstr" , "toolbox/signal/sptoolgui/private/"; + "findfilters" , "toolbox/signal/sigtools/"; + "findif" , "toolbox/simulink/simulink/private/"; + "findmax" , "toolbox/optim/"; + "findmax2" , "toolbox/optim/"; + "findnk" , "toolbox/ident/idutils/"; + "findnonabstractsubclasses" , "toolbox/signal/sigtools/"; + "findop" , "toolbox/slcontrol/slcontrol/"; + "findp" , "toolbox/optim/private/"; + "findplugins" , "toolbox/signal/sigtools/private/"; + "findslobj" , "toolbox/simulink/simulink/"; + "findtau" , "toolbox/ident/idutils/"; + "findzero" , "toolbox/ident/idutils/"; + "finishdlg" , "toolbox/local/"; + "finishsav" , "toolbox/local/"; + "finitedifferences" , "toolbox/shared/optimlib/"; + "finv" , "toolbox/stats/"; + "fipert_qr" , "toolbox/ident/idutils/private/"; + "fir1" , "toolbox/signal/signal/"; + "fir2" , "toolbox/signal/signal/"; + "firchk" , "toolbox/signal/signal/private/"; + "fircls" , "toolbox/signal/signal/"; + "fircls1" , "toolbox/signal/signal/"; + "firdemo" , "toolbox/images/imdemos/"; + "fire_show" , "toolbox/stateflow/sfdemos/"; + "firgauss" , "toolbox/signal/signal/"; + "firls" , "toolbox/signal/signal/"; + "firpm" , "toolbox/signal/signal/"; + "firpmfrf" , "toolbox/signal/signal/private/"; + "firpmord" , "toolbox/signal/signal/"; + "firrcos" , "toolbox/signal/signal/"; + "fitd" , "toolbox/robust/"; + "fitdecorrtrans" , "toolbox/images/images/private/"; + "fitfun2" , "toolbox/optim/"; + "fitfun2outputfcn" , "toolbox/optim/"; + "fitgain" , "toolbox/robust/"; + "fix_corrupted_grouped_bits" , "toolbox/stateflow/stateflow/private/"; + "fix_corrupted_sf_blocks" , "toolbox/stateflow/stateflow/private/"; + "fix_corrupted_subgroups" , "toolbox/stateflow/stateflow/private/"; + "fix_outport_initial_values" , "toolbox/stateflow/stateflow/private/"; + "fixdt" , "toolbox/simulink/fixedandfloat/"; + "fixedfont" , "toolbox/signal/sptoolgui/private/"; + "fixmult" , "toolbox/robust/"; + "fixpar" , "toolbox/ident/idobsolete/"; + "fixpoint" , "toolbox/simulink/fixedandfloat/"; + "fixpt" , "toolbox/simulink/fixedandfloat/"; + "fixptPrivate" , "toolbox/simulink/fixedandfloat/"; + "fixpt_blks_in_mdl" , "toolbox/simulink/simulink/private/"; + "fixpt_clear_tag" , "toolbox/simulink/fixedandfloat/"; + "fixpt_evenspace_cleanup" , "toolbox/simulink/fixedandfloat/"; + "fixpt_extractbits_mask" , "toolbox/simulink/fixedandfloat/"; + "fixpt_extractbits_mask_script" , "toolbox/simulink/fixedandfloat/"; + "fixpt_fir_mask_data" , "toolbox/simulink/fixedandfloat/"; + "fixpt_gain_mask_data" , "toolbox/simulink/fixedandfloat/"; + "fixpt_interp1" , "toolbox/simulink/fixedandfloat/"; + "fixpt_look1_func_approx" , "toolbox/simulink/fixedandfloat/"; + "fixpt_look1_func_plot" , "toolbox/simulink/fixedandfloat/"; + "fixpt_look1_mask_data" , "toolbox/simulink/fixedandfloat/"; + "fixpt_look2_mask_data" , "toolbox/simulink/fixedandfloat/"; + "fixpt_mask_disp_prep" , "toolbox/simulink/fixedandfloat/"; + "fixpt_mpswitch_mask_data" , "toolbox/simulink/fixedandfloat/"; + "fixpt_mul_mask_data" , "toolbox/simulink/fixedandfloat/"; + "fixpt_mul_mask_data_str" , "toolbox/simulink/fixedandfloat/"; + "fixpt_set_all" , "toolbox/simulink/fixedandfloat/"; + "fixptbestexp" , "toolbox/simulink/fixedandfloat/"; + "fixptbestprec" , "toolbox/simulink/fixedandfloat/"; + "fixptdeftype" , "toolbox/simulink/fixedandfloat/"; + "fixptdialog" , "toolbox/simulink/fixedandfloat/"; + "fixptlibname" , "toolbox/simulink/fixedandfloat/"; + "fixptmaskinit" , "toolbox/simulink/fixedandfloat/"; + "fixptopt" , "toolbox/simulink/fixedandfloat/"; + "fixradix" , "toolbox/simulink/fixedandfloat/obsolete/"; + "fixscale" , "toolbox/simulink/fixedandfloat/obsolete/"; + "fixslope" , "toolbox/simulink/fixedandfloat/obsolete/"; + "fixup_uiedit" , "toolbox/signal/sigtools/"; + "flattopwin" , "toolbox/signal/signal/"; + "fleq3" , "toolbox/optim/"; + "fliptform" , "toolbox/images/images/"; + "float" , "toolbox/simulink/fixedandfloat/"; + "fmincon" , "toolbox/optim/"; + "fminimax" , "toolbox/optim/"; + "fminunc" , "toolbox/optim/"; + "fminusub" , "toolbox/optim/private/"; + "fn2fm" , "toolbox/splines/"; + "fnbrk" , "toolbox/splines/"; + "fnchg" , "toolbox/splines/"; + "fncmb" , "toolbox/splines/"; + "fnd_objprop" , "toolbox/stateflow/stateflow/private/"; + "fnd_runsearch" , "toolbox/stateflow/stateflow/private/"; + "fnder" , "toolbox/splines/"; + "fndir" , "toolbox/splines/"; + "fnint" , "toolbox/splines/"; + "fnjmp" , "toolbox/splines/"; + "fnmin" , "toolbox/splines/"; + "fnplt" , "toolbox/splines/"; + "fnrfn" , "toolbox/splines/"; + "fntlr" , "toolbox/splines/"; + "fnval" , "toolbox/splines/"; + "fnzeros" , "toolbox/splines/"; + "foccheck" , "toolbox/ident/idutils/"; + "focus_explorer_on_model_configuration" , "toolbox/simulink/simulink/private/"; + "foptions" , "toolbox/simulink/simulink/"; + "foreach" , "toolbox/simulink/simulink/private/"; + "fpbhelp" , "toolbox/simulink/fixedandfloat/"; + "fpdf" , "toolbox/stats/"; + "fqf2ido" , "toolbox/ident/idobsolete/"; + "fquad" , "toolbox/optim/private/"; + "fracfact" , "toolbox/stats/"; + "frame" , "toolbox/stateflow/stateflow/private/"; + "frameedit" , "toolbox/simulink/simulink/"; + "framelab" , "toolbox/signal/sptoolgui/private/"; + "framewlabel" , "toolbox/signal/sigtools/"; + "franke" , "toolbox/splines/"; + "frefine" , "toolbox/signal/signal/private/"; + "freqchk" , "toolbox/signal/signal/private/"; + "freqfocus" , "toolbox/ident/idutils/private/"; + "freqint" , "toolbox/control/ctrlobsolete/"; + "freqint2" , "toolbox/control/ctrlobsolete/"; + "freqkern" , "toolbox/ident/idutils/"; + "freqpick" , "toolbox/ident/idutils/private/"; + "freqplotter" , "toolbox/signal/sigtools/"; + "freqrc" , "toolbox/robust/"; + "freqresp" , "toolbox/control/control/"; + "freqs" , "toolbox/signal/signal/"; + "freqz" , "toolbox/signal/signal/"; + "freqz2" , "toolbox/images/images/"; + "freqz_freqvec" , "toolbox/signal/signal/"; + "freqzparse" , "toolbox/signal/signal/"; + "freqzplot" , "toolbox/signal/signal/"; + "friedman" , "toolbox/stats/"; + "frmcell" , "toolbox/stateflow/stateflow/private/"; + "frnd" , "toolbox/stats/"; + "fromddg" , "toolbox/simulink/blocks/"; + "fsamp2" , "toolbox/images/images/"; + "fsdialog" , "toolbox/signal/sigtools/"; + "fseminf" , "toolbox/optim/"; + "fsolve" , "toolbox/optim/"; + "fspecial" , "toolbox/images/images/"; + "fstab" , "toolbox/ident/idutils/"; + "fstat" , "toolbox/stats/"; + "fsub_estim" , "toolbox/ident/idutils/"; + "fsurfht" , "toolbox/stats/"; + "ftrans2" , "toolbox/images/images/"; + "fullfact" , "toolbox/stats/"; + "fullviewlink" , "toolbox/signal/sigtools/private/"; + "function_prototype_utils" , "toolbox/stateflow/stateflow/private/"; + "functiontostring" , "toolbox/optim/"; + "funtool" , "toolbox/symbolic/"; + "fvhelpstr" , "toolbox/signal/sptoolgui/private/"; + "fvinit" , "toolbox/signal/sptoolgui/private/"; + "fvmotion" , "toolbox/signal/sptoolgui/private/"; + "fvresize" , "toolbox/signal/sptoolgui/private/"; + "fvtool" , "toolbox/signal/sigtools/"; + "fvtooldemo" , "toolbox/signal/sigdemos/"; + "fvtoolwaddnreplace" , "toolbox/signal/sigtools/"; + "fvzoom" , "toolbox/signal/sptoolgui/private/"; + "fwind1" , "toolbox/images/images/"; + "fwind2" , "toolbox/images/images/"; + "fxpdemo_approx_sin" , "toolbox/simulink/fixedandfloat/fxpdemos/"; + "fxptdlg" , "toolbox/simulink/fixedandfloat/"; + "fxptplt" , "toolbox/simulink/fixedandfloat/"; + "fzmult" , "toolbox/optim/"; + "gamcdf" , "toolbox/stats/"; + "gamfit" , "toolbox/stats/"; + "gaminv" , "toolbox/stats/"; + "gamlike" , "toolbox/stats/"; + "gampdf" , "toolbox/stats/"; + "gamrnd" , "toolbox/stats/"; + "gamstat" , "toolbox/stats/"; + "gangstr" , "toolbox/optim/"; + "gauspuls" , "toolbox/signal/signal/"; + "gausswin" , "toolbox/signal/signal/"; + "gcare" , "toolbox/control/control/"; + "gcb" , "toolbox/simulink/simulink/"; + "gcbh" , "toolbox/simulink/simulink/"; + "gcr" , "toolbox/control/ctrlguis/"; + "gcs" , "toolbox/simulink/simulink/"; + "gdare" , "toolbox/control/control/"; + "gear" , "toolbox/simulink/simulink/"; + "gencoswin" , "toolbox/signal/signal/private/"; + "generate_code_for_charts_and_machine" , "toolbox/stateflow/coder/private/"; + "generate_results" , "toolbox/simulink/simcoverage/private/"; + "generatemsgid" , "toolbox/signal/sigtools/"; + "genericddg" , "toolbox/simulink/simulink/"; + "genmcode" , "toolbox/signal/sigtools/"; + "genmcodeutils" , "toolbox/signal/sigtools/"; + "genplotdata" , "toolbox/signal/signal/"; + "gensig" , "toolbox/control/control/"; + "geocdf" , "toolbox/stats/"; + "geoinv" , "toolbox/stats/"; + "geomean" , "toolbox/stats/"; + "geopdf" , "toolbox/stats/"; + "geornd" , "toolbox/stats/"; + "geostat" , "toolbox/stats/"; + "getActiveCode" , "toolbox/simulink/simulink/"; + "getActiveConfigSet" , "toolbox/simulink/simulink/"; + "getConfigSet" , "toolbox/simulink/simulink/"; + "getConfigSets" , "toolbox/simulink/simulink/"; + "getDAWorkspace" , "toolbox/shared/dastudio/"; + "getHardwareConfigs" , "toolbox/simulink/simulink/"; + "getMappingOldMaskToCurrent" , "toolbox/simulink/simulink/private/"; + "getSoftwareEnvironments" , "toolbox/simulink/simulink/"; + "getWorkspaceWrapper" , "toolbox/shared/dastudio/"; + "get_autoinheritance_info" , "toolbox/stateflow/stateflow/private/"; + "get_boiler_plate_comment" , "toolbox/stateflow/coder/private/"; + "get_boolean_rtw_option" , "toolbox/stateflow/coder/private/"; + "get_charts_of" , "toolbox/stateflow/stateflow/private/"; + "get_checksum_from_dll" , "toolbox/stateflow/stateflow/private/"; + "get_clipboard_machine" , "toolbox/stateflow/stateflow/private/"; + "get_datestring" , "toolbox/stateflow/stateflow/private/"; + "get_eml_script" , "toolbox/simulink/simulink/"; + "get_ert_multi_instance_errcode" , "toolbox/stateflow/coder/private/"; + "get_filepath_from_user" , "toolbox/stateflow/stateflow/private/"; + "get_fxpprop_from_name" , "toolbox/simulink/blocks/private/"; + "get_image_title" , "toolbox/images/images/private/"; + "get_instances_in_machine" , "toolbox/stateflow/stateflow/private/"; + "get_link_chart_file_numbers" , "toolbox/stateflow/stateflow/private/"; + "get_link_machine_list" , "toolbox/stateflow/stateflow/private/"; + "get_mdl_dir" , "toolbox/simulink/simulink/private/"; + "get_model_reference_info" , "toolbox/stateflow/coder/private/"; + "get_ordered_model_references" , "toolbox/simulink/simulink/private/"; + "get_param" , "toolbox/simulink/simulink/"; + "get_params_str_for_chart" , "toolbox/stateflow/stateflow/private/"; + "get_relevant_machine" , "toolbox/stateflow/coder/private/"; + "get_sf_block_port_info" , "toolbox/stateflow/stateflow/private/"; + "get_stateflow_path_to_parent" , "toolbox/stateflow/stateflow/private/"; + "get_test_point_properties" , "toolbox/stateflow/stateflow/private/"; + "get_tmf_for_target" , "toolbox/rtw/rtw/"; + "get_valid_property_values" , "toolbox/stateflow/stateflow/private/"; + "get_value_of_fields" , "toolbox/rtw/rtw/"; + "get_wksp_data_for_chart" , "toolbox/stateflow/stateflow/private/"; + "get_wksp_data_names_for_chart" , "toolbox/stateflow/stateflow/private/"; + "get_word_sizes" , "toolbox/stateflow/coder/private/"; + "getargth" , "toolbox/ident/idobsolete/"; + "getarxms" , "toolbox/ident/idutils/"; + "getblocklinearizeio" , "toolbox/slcontrol/slctrlguis/private/"; + "getblocklinio" , "toolbox/slcontrol/slctrlutil/"; + "getclassindex" , "toolbox/stats/private/"; + "getcolorfromindex" , "toolbox/signal/sigtools/"; + "getconstructorfromstructure" , "toolbox/signal/sigtools/"; + "getcurpt" , "toolbox/images/images/private/"; + "getcurv2" , "toolbox/splines/"; + "getcurve" , "toolbox/splines/"; + "getdatatypespecs" , "toolbox/simulink/fixedandfloat/"; + "getdiscdata" , "toolbox/simulink/components/"; + "getdsdb" , "toolbox/stats/private/"; + "getfdasessionhandle" , "toolbox/signal/sigtools/"; + "getff" , "toolbox/ident/idobsolete/"; + "getfitdb" , "toolbox/stats/private/"; + "getfreqlbl" , "toolbox/signal/sigtools/"; + "getfrequnitstrs" , "toolbox/signal/sigtools/"; + "getfullname" , "toolbox/simulink/simulink/"; + "getgloballog" , "toolbox/simulink/fixedandfloat/"; + "gethgstackorder" , "toolbox/signal/sigtools/"; + "getimage" , "toolbox/images/images/"; + "getinternaldiscfunction" , "toolbox/simulink/components/private/"; + "getinterpfrequencies" , "toolbox/signal/signal/private/"; + "getlevel" , "toolbox/simulink/simulink/private/"; + "getline" , "toolbox/images/images/"; + "getlinio" , "toolbox/slcontrol/slcontrol/"; + "getlinplant" , "toolbox/slcontrol/slcontrol/"; + "getmagunitstrs" , "toolbox/signal/sigtools/"; + "getmfth" , "toolbox/ident/idobsolete/"; + "getncap" , "toolbox/ident/idobsolete/"; + "getolmodel" , "toolbox/slcontrol/slctrlutil/"; + "getoutlierdb" , "toolbox/stats/private/"; + "getpts" , "toolbox/images/images/"; + "getrect" , "toolbox/images/images/"; + "getsigpref" , "toolbox/signal/sptoolgui/"; + "getsro" , "toolbox/sloptim/sloptim/"; + "getsys" , "toolbox/simulink/dee/"; + "gett" , "toolbox/ident/idobsolete/"; + "gettargdatamap" , "toolbox/rtw/rtw/"; + "gettargetcharshortintlong" , "toolbox/simulink/fixedandfloat/"; + "getvalidproject" , "toolbox/shared/slcontrollib/"; + "getwinobject" , "toolbox/signal/sigtools/"; + "getxo" , "toolbox/simulink/blocks/"; + "getxu" , "toolbox/slcontrol/slcontrol/"; + "getzeros" , "toolbox/control/ctrlutil/"; + "getzp" , "toolbox/ident/idobsolete/"; + "givens" , "toolbox/control/ctrlobsolete/"; + "gline" , "toolbox/stats/"; + "glmdemo" , "toolbox/stats/"; + "glmfit" , "toolbox/stats/"; + "glmval" , "toolbox/stats/"; + "glyphplot" , "toolbox/stats/"; + "gmonopuls" , "toolbox/signal/signal/"; + "gname" , "toolbox/stats/"; + "gnnans" , "toolbox/ident/idutils/private/"; + "gnnans_f" , "toolbox/ident/idutils/private/"; + "gnnew" , "toolbox/ident/idutils/"; + "gnnew_f" , "toolbox/ident/idutils/"; + "gnnew_fp" , "toolbox/ident/idutils/"; + "goalcon" , "toolbox/optim/"; + "goaldemo" , "toolbox/optim/"; + "goalfun" , "toolbox/optim/"; + "goertzel" , "toolbox/signal/signal/"; + "goto_target" , "toolbox/stateflow/stateflow/private/"; + "gotoddg" , "toolbox/simulink/blocks/"; + "gotoddg_cb" , "toolbox/simulink/simulink/"; + "gparetodemo" , "toolbox/stats/"; + "gpdhelp" , "toolbox/stateflow/stateflow/private/"; + "gpicon" , "toolbox/stateflow/stateflow/private/"; + "gplotmatrix" , "toolbox/stats/"; + "gpnegloglike" , "toolbox/stats/"; + "gpnegloglike2" , "toolbox/stats/"; + "gpzoom" , "toolbox/stateflow/stateflow/private/"; + "graderr" , "toolbox/simulink/simulink/private/"; + "graderr" , "toolbox/shared/optimlib/"; + "graft" , "toolbox/robust/"; + "gram" , "toolbox/control/ctrlobsolete/"; + "grandfather" , "toolbox/stateflow/stateflow/private/"; + "grandfather_precedence" , "toolbox/stateflow/stateflow/private/"; + "gray2ind" , "toolbox/images/images/"; + "grayslice" , "toolbox/images/images/"; + "graythresh" , "toolbox/images/images/"; + "grayto16" , "toolbox/images/images/private/"; + "grayto8" , "toolbox/images/images/private/"; + "gridline" , "toolbox/control/ctrldemos/private/"; + "gridopts" , "toolbox/control/ctrlguis/"; + "gridunc" , "toolbox/sloptim/sloptim/"; + "ground" , "toolbox/control/ctrldemos/private/"; + "groupbox" , "toolbox/simulink/simulink/private/"; + "groupbox" , "toolbox/stateflow/stateflow/private/"; + "grp2idx" , "toolbox/stats/"; + "grpdelay" , "toolbox/signal/signal/"; + "grpstats" , "toolbox/stats/"; + "gscatter" , "toolbox/stats/"; + "gui_sizes" , "toolbox/signal/sigtools/private/"; + "h2data" , "toolbox/robust/"; + "h2des1" , "toolbox/robust/"; + "h2lqg" , "toolbox/robust/"; + "hamming" , "toolbox/signal/signal/"; + "hann" , "toolbox/signal/signal/"; + "hanning" , "toolbox/signal/signal/"; + "harmmean" , "toolbox/stats/"; + "hasmask" , "toolbox/simulink/simulink/"; + "hasmaskdlg" , "toolbox/simulink/simulink/"; + "hasmaskicon" , "toolbox/simulink/simulink/"; + "hdsCatArray" , "toolbox/shared/hds/"; + "hdsGetSize" , "toolbox/shared/hds/"; + "hdsGetSlice" , "toolbox/shared/hds/"; + "hdsNewArray" , "toolbox/shared/hds/"; + "hdsReplicateArray" , "toolbox/shared/hds/"; + "hdsReshapeArray" , "toolbox/shared/hds/"; + "hdsSetSlice" , "toolbox/shared/hds/"; + "heatex" , "toolbox/control/ctrldemos/"; + "heatex_clbk" , "toolbox/control/ctrldemos/"; + "heatex_getdata" , "toolbox/control/ctrldemos/"; + "heatex_sls" , "toolbox/control/ctrldemos/"; + "heaviside" , "toolbox/symbolic/"; + "helplinf" , "toolbox/robust/"; + "hessabc" , "toolbox/control/ctrlutil/"; + "hgrc" , "toolbox/local/"; + "hidecrit" , "toolbox/simulink/components/"; + "hiercheck" , "toolbox/stateflow/stateflow/private/"; + "highpass" , "toolbox/signal/signal/private/"; + "hilbert" , "toolbox/signal/signal/"; + "hilbfilt" , "toolbox/signal/signal/private/"; + "hilite_system" , "toolbox/simulink/simulink/"; + "hilitediscblock" , "toolbox/simulink/components/"; + "hinf" , "toolbox/robust/"; + "hinfdata" , "toolbox/robust/"; + "hinfdemo" , "toolbox/robust/"; + "hinfdes1" , "toolbox/robust/"; + "hinfkgjd" , "toolbox/robust/"; + "hinflim" , "toolbox/robust/"; + "hinfopt" , "toolbox/robust/"; + "hist3" , "toolbox/stats/"; + "histeq" , "toolbox/images/images/"; + "histfit" , "toolbox/stats/"; + "histodem" , "toolbox/splines/"; + "hkl1" , "toolbox/robust/"; + "hkl2" , "toolbox/robust/"; + "hkl3" , "toolbox/robust/"; + "hkl4" , "toolbox/robust/"; + "hksv" , "toolbox/robust/"; + "hmatdemo" , "toolbox/robust/"; + "hmfbx4" , "toolbox/optim/"; + "hmfleq1" , "toolbox/optim/"; + "hmmdecode" , "toolbox/stats/"; + "hmmestimate" , "toolbox/stats/"; + "hmmgenerate" , "toolbox/stats/"; + "hmmtrain" , "toolbox/stats/"; + "hmmviterbi" , "toolbox/stats/"; + "hmult" , "toolbox/optim/private/"; + "hostid" , "toolbox/local/"; + "hougen" , "toolbox/stats/"; + "hoverfig" , "toolbox/shared/controllib/"; + "hplant" , "toolbox/robust/"; + "hprecon" , "toolbox/optim/"; + "hqr10" , "toolbox/robust/"; + "htdes1" , "toolbox/robust/"; + "hygecdf" , "toolbox/stats/"; + "hygeinv" , "toolbox/stats/"; + "hygepdf" , "toolbox/stats/"; + "hygernd" , "toolbox/stats/"; + "hygestat" , "toolbox/stats/"; + "hyperbolic" , "toolbox/pde/"; + "hypergeom" , "toolbox/symbolic/"; + "icceps" , "toolbox/signal/signal/"; + "iccread" , "toolbox/images/images/"; + "icdf" , "toolbox/stats/"; + "iconedit" , "toolbox/simulink/simulink/"; + "idarxstr" , "toolbox/ident/idguis/"; + "idbuildw" , "toolbox/ident/idguis/"; + "idbwtext" , "toolbox/ident/idguis/"; + "idchi2" , "toolbox/ident/idutils/"; + "idchnona" , "toolbox/ident/idutils/"; + "idcmdld" , "toolbox/ident/idguis/"; + "idconfcp" , "toolbox/ident/idguis/"; + "idct" , "toolbox/signal/signal/"; + "idct" , "toolbox/images/images/private/"; + "idct2" , "toolbox/images/images/"; + "idctold" , "toolbox/signal/signal/private/"; + "iddatfig" , "toolbox/ident/idguis/"; + "iddef" , "toolbox/ident/idutils/"; + "iddeft" , "toolbox/ident/idutils/"; + "iddefw" , "toolbox/ident/idutils/"; + "iddemo" , "toolbox/ident/iddemos/"; + "iddemo1" , "toolbox/ident/iddemos/"; + "iddemo2" , "toolbox/ident/iddemos/"; + "iddemo3" , "toolbox/ident/iddemos/"; + "iddemo4" , "toolbox/ident/iddemos/"; + "iddemo5" , "toolbox/ident/iddemos/"; + "iddemo6" , "toolbox/ident/iddemos/"; + "iddemo7" , "toolbox/ident/iddemos/"; + "iddemo8" , "toolbox/ident/iddemos/"; + "iddemo9" , "toolbox/ident/iddemos/"; + "iddemofr" , "toolbox/ident/iddemos/"; + "iddemopr" , "toolbox/ident/iddemos/"; + "iddemosl" , "toolbox/ident/iddemos/"; + "iddfthru" , "toolbox/ident/idutils/"; + "iddfthru" , "toolbox/ident/ident/"; + "iddmtab" , "toolbox/ident/idguis/"; + "ident" , "toolbox/ident/idguis/"; + "identsinkwrite" , "toolbox/ident/idutils/"; + "identsinkwrite" , "toolbox/ident/ident/"; + "idextmat" , "toolbox/ident/idutils/"; + "idfilt" , "toolbox/ident/ident/"; + "idfrd2iddata" , "toolbox/ident/idutils/"; + "idgenfig" , "toolbox/ident/idguis/"; + "idgtws" , "toolbox/ident/idguis/"; + "idgwarn" , "toolbox/ident/idguis/"; + "idhelp" , "toolbox/ident/ident/"; + "idinput" , "toolbox/ident/ident/"; + "idinseva" , "toolbox/ident/idguis/"; + "idlayout" , "toolbox/ident/idguis/"; + "idlaytab" , "toolbox/ident/idguis/"; + "idltifr" , "toolbox/ident/idutils/"; + "idmdlmask" , "toolbox/ident/idutils/"; + "idmhit" , "toolbox/ident/idguis/"; + "idmodred" , "toolbox/ident/ident/"; + "idmsize" , "toolbox/ident/idutils/"; + "idmspop" , "toolbox/ident/idguis/"; + "idmwwb" , "toolbox/ident/idguis/"; + "idnamchk" , "toolbox/ident/idutils/"; + "idnamede" , "toolbox/ident/idutils/"; + "idnextw" , "toolbox/ident/idguis/"; + "idnonzer" , "toolbox/ident/idguis/"; + "ido2th" , "toolbox/ident/idobsolete/"; + "idoptcmp" , "toolbox/ident/idguis/"; + "idopttog" , "toolbox/ident/idguis/"; + "idparest" , "toolbox/ident/idguis/"; + "idplot" , "toolbox/ident/idobsolete/"; + "idprocest" , "toolbox/ident/idguis/"; + "idprops" , "toolbox/ident/ident/"; + "idresamp" , "toolbox/ident/idobsolete/"; + "idresamp" , "toolbox/ident/ident/"; + "idsample" , "toolbox/ident/idutils/"; + "idsim" , "toolbox/ident/ident/"; + "idsim" , "toolbox/ident/idobsolete/"; + "idsimsd" , "toolbox/ident/idobsolete/"; + "idsimsd" , "toolbox/ident/ident/"; + "idst" , "toolbox/pde/"; + "idstrip" , "toolbox/ident/idguis/"; + "idtscale" , "toolbox/ident/idutils/"; + "iduiarx" , "toolbox/ident/idguis/"; + "iduiaxes" , "toolbox/ident/idguis/"; + "iduiaxis" , "toolbox/ident/idguis/"; + "iduibn" , "toolbox/ident/idguis/"; + "iduicalc" , "toolbox/ident/idguis/"; + "iduiclpw" , "toolbox/ident/idguis/"; + "iduiconf" , "toolbox/ident/idguis/"; + "iduicra" , "toolbox/ident/idguis/"; + "iduidemo" , "toolbox/ident/idguis/"; + "iduidrop" , "toolbox/ident/idguis/"; + "iduiedit" , "toolbox/ident/idguis/"; + "iduiexp" , "toolbox/ident/idguis/"; + "iduifile" , "toolbox/ident/idguis/"; + "iduifilt" , "toolbox/ident/idguis/"; + "iduifoc" , "toolbox/ident/idguis/"; + "iduigco" , "toolbox/ident/idguis/"; + "iduigetd" , "toolbox/ident/idguis/"; + "iduigetp" , "toolbox/ident/idguis/"; + "iduihelp" , "toolbox/ident/idguis/"; + "iduiinfo" , "toolbox/ident/idguis/"; + "iduiinsd" , "toolbox/ident/idguis/"; + "iduiinsm" , "toolbox/ident/idguis/"; + "iduiio" , "toolbox/ident/idguis/"; + "iduiiono" , "toolbox/ident/idguis/"; + "iduiiter" , "toolbox/ident/idguis/"; + "iduikeyp" , "toolbox/ident/idguis/"; + "iduilay" , "toolbox/ident/idguis/"; + "iduilay1" , "toolbox/ident/idguis/"; + "iduilay2" , "toolbox/ident/idguis/"; + "iduimbcb" , "toolbox/ident/idguis/"; + "iduimod" , "toolbox/ident/idguis/"; + "iduims" , "toolbox/ident/idguis/"; + "iduinpar" , "toolbox/ident/idguis/"; + "iduiopt" , "toolbox/ident/idguis/"; + "iduipoin" , "toolbox/ident/idguis/"; + "iduipop" , "toolbox/ident/idguis/"; + "iduipw" , "toolbox/ident/idguis/"; + "iduiqs" , "toolbox/ident/idguis/"; + "iduisel" , "toolbox/ident/idguis/"; + "iduisess" , "toolbox/ident/idguis/"; + "iduispa" , "toolbox/ident/idguis/"; + "iduiss" , "toolbox/ident/idguis/"; + "iduistat" , "toolbox/ident/idguis/"; + "iduital" , "toolbox/ident/idguis/"; + "iduitrf" , "toolbox/ident/idguis/"; + "iduivis" , "toolbox/ident/idguis/"; + "iduiwast" , "toolbox/ident/idguis/"; + "iduiwok" , "toolbox/ident/idguis/"; + "idummy" , "toolbox/stats/private/"; + "idunlink" , "toolbox/ident/idguis/"; + "idvmenus" , "toolbox/ident/idguis/"; + "idwb" , "toolbox/ident/idutils/"; + "ifanbeam" , "toolbox/images/images/"; + "iirchk" , "toolbox/signal/signal/private/"; + "im2bw" , "toolbox/images/images/"; + "im2col" , "toolbox/images/images/"; + "im2double" , "toolbox/images/images/"; + "im2java2d" , "toolbox/images/images/"; + "im2mis" , "toolbox/stats/private/"; + "im2mis" , "toolbox/images/images/"; + "im2uint16" , "toolbox/images/images/"; + "im2uint8" , "toolbox/images/images/"; + "imabsdiff" , "toolbox/images/images/"; + "imadd" , "toolbox/images/images/"; + "imadjdemo" , "toolbox/images/imdemos/"; + "imadjust" , "toolbox/images/images/"; + "imapprox" , "toolbox/images/images/"; + "imargin" , "toolbox/control/control/"; + "imbothat" , "toolbox/images/images/"; + "imclearborder" , "toolbox/images/images/"; + "imclose" , "toolbox/images/images/"; + "imcomplement" , "toolbox/images/images/"; + "imcontour" , "toolbox/images/images/"; + "imcrop" , "toolbox/images/images/"; + "imdilate" , "toolbox/images/images/"; + "imdivide" , "toolbox/images/images/"; + "imerode" , "toolbox/images/images/"; + "imextendedmax" , "toolbox/images/images/"; + "imextendedmin" , "toolbox/images/images/"; + "imfeature" , "toolbox/images/images/"; + "imfill" , "toolbox/images/images/"; + "imfilter" , "toolbox/images/images/"; + "imhist" , "toolbox/images/images/"; + "imhistc" , "toolbox/images/images/private/"; + "imhmax" , "toolbox/images/images/"; + "imhmin" , "toolbox/images/images/"; + "imimposemin" , "toolbox/images/images/"; + "imlincomb" , "toolbox/images/images/"; + "immovie" , "toolbox/images/images/"; + "immultiply" , "toolbox/images/images/"; + "imnoise" , "toolbox/images/images/"; + "imopen" , "toolbox/images/images/"; + "imp2ss" , "toolbox/robust/"; + "impinvar" , "toolbox/signal/signal/"; + "impixel" , "toolbox/images/images/"; + "importfcn" , "toolbox/control/ctrlguis/"; + "importfilt" , "toolbox/signal/sptoolgui/private/"; + "importsig" , "toolbox/signal/sptoolgui/private/"; + "importspec" , "toolbox/signal/sptoolgui/private/"; + "improfile" , "toolbox/images/images/"; + "impulse" , "toolbox/control/control/"; + "impz" , "toolbox/signal/signal/"; + "impzlength" , "toolbox/signal/signal/"; + "imreconstruct" , "toolbox/images/images/"; + "imregionalmax" , "toolbox/images/images/"; + "imregionalmin" , "toolbox/images/images/"; + "imresize" , "toolbox/images/images/"; + "imrotate" , "toolbox/images/images/"; + "imshow" , "toolbox/images/images/"; + "imslice" , "toolbox/images/images/"; + "imsubtract" , "toolbox/images/images/"; + "imtophat" , "toolbox/images/images/"; + "imtransform" , "toolbox/images/images/"; + "imuigeom" , "toolbox/images/imdemos/private/"; + "imview" , "toolbox/images/images/"; + "imviewhelp" , "toolbox/images/images/private/"; + "imzoom" , "toolbox/images/images/"; + "inbounds" , "toolbox/signal/sptoolgui/private/"; + "inconsistent" , "toolbox/stats/"; + "increment_name" , "toolbox/stateflow/stateflow/private/"; + "ind2gray" , "toolbox/images/images/"; + "indmatch" , "toolbox/ident/idutils/"; + "inductor" , "toolbox/control/ctrldemos/private/"; + "infline" , "toolbox/control/ctrlguis/"; + "info2mask" , "toolbox/signal/sigtools/"; + "infomatman" , "toolbox/stateflow/stateflow/private/"; + "inherit" , "toolbox/ident/idutils/"; + "init_html_renderer" , "toolbox/stateflow/stateflow/private/"; + "initial" , "toolbox/control/control/"; + "initialUpper" , "toolbox/simulink/simulink/private/"; + "initialize_data_information" , "toolbox/stateflow/coder/private/"; + "initmesh" , "toolbox/pde/"; + "initopspec" , "toolbox/shared/slcontrollib/"; + "initprefs" , "toolbox/local/"; + "initsim" , "toolbox/stateflow/sfdemos/"; + "initsysresp" , "toolbox/control/ctrlguis/"; + "inpd2nk" , "toolbox/ident/idutils/"; + "insert_dsp_includes" , "toolbox/stateflow/coder/private/"; + "insertfdtbxhelp" , "toolbox/signal/sigtools/private/"; + "interc" , "toolbox/robust/"; + "interp" , "toolbox/signal/signal/"; + "interspace" , "toolbox/signal/sigtools/"; + "intfilt" , "toolbox/signal/signal/"; + "intline" , "toolbox/images/images/private/"; + "invfreqs" , "toolbox/signal/signal/"; + "invfreqz" , "toolbox/signal/signal/"; + "invsinc" , "toolbox/signal/signal/private/"; + "iofc" , "toolbox/robust/"; + "iofr" , "toolbox/robust/"; + "ipex001" , "toolbox/images/imdemos/"; + "ipex002" , "toolbox/images/imdemos/"; + "ipex003" , "toolbox/images/imdemos/"; + "ipex004" , "toolbox/images/imdemos/"; + "ipex005" , "toolbox/images/imdemos/"; + "ipex006" , "toolbox/images/imdemos/"; + "ipexangle" , "toolbox/images/imdemos/"; + "ipexcontrast" , "toolbox/images/imdemos/"; + "ipexfabric" , "toolbox/images/imdemos/"; + "ipexhistology" , "toolbox/images/imdemos/"; + "ipexlanstretch" , "toolbox/images/imdemos/"; + "ipexpendulum" , "toolbox/images/imdemos/"; + "ipexradius" , "toolbox/images/imdemos/"; + "ipexreconstruct" , "toolbox/images/imdemos/"; + "ipexregularized" , "toolbox/images/imdemos/"; + "ipexrice" , "toolbox/images/imdemos/"; + "ipexrotate" , "toolbox/images/imdemos/"; + "ipexroundness" , "toolbox/images/imdemos/"; + "ipexsnow" , "toolbox/images/imdemos/"; + "ipexwatershed" , "toolbox/images/imdemos/"; + "ippl" , "toolbox/images/images/"; + "iptdemos" , "toolbox/images/imdemos/"; + "iptgate" , "toolbox/images/images/"; + "iptgetpref" , "toolbox/images/images/"; + "iptprefs" , "toolbox/images/images/private/"; + "iptregistry" , "toolbox/images/images/private/"; + "iptsetpref" , "toolbox/images/images/"; + "iqr" , "toolbox/stats/"; + "iradon" , "toolbox/images/images/"; + "is2rc" , "toolbox/signal/signal/"; + "isModelClosed" , "toolbox/simulink/simulink/private/"; + "isNCDStruct" , "toolbox/sloptim/sloptobsolete/"; + "is_chart_input_data" , "toolbox/stateflow/coder/private/"; + "is_chart_output_data" , "toolbox/stateflow/coder/private/"; + "is_eml_block" , "toolbox/simulink/simulink/"; + "is_eml_chart" , "toolbox/stateflow/stateflow/private/"; + "is_eml_fcn" , "toolbox/stateflow/stateflow/private/"; + "is_eml_script" , "toolbox/stateflow/stateflow/private/"; + "is_enum_property" , "toolbox/stateflow/stateflow/private/"; + "is_ert_multi_instance" , "toolbox/stateflow/coder/private/"; + "is_object_editable" , "toolbox/stateflow/stateflow/private/"; + "is_sf_chart" , "toolbox/stateflow/stateflow/private/"; + "is_sf_chart_block" , "toolbox/stateflow/stateflow/private/"; + "is_sf_fixpt_autoscale" , "toolbox/simulink/fixedandfloat/"; + "is_sf_machine" , "toolbox/stateflow/stateflow/private/"; + "is_simulink_handle" , "toolbox/simulink/simulink/"; + "is_truth_table_chart" , "toolbox/stateflow/stateflow/private/"; + "is_truth_table_fcn" , "toolbox/stateflow/stateflow/private/"; + "isbw" , "toolbox/images/images/"; + "iscatter" , "toolbox/stats/"; + "iscolor" , "toolbox/signal/sptoolgui/private/"; + "isconfigurable" , "toolbox/simulink/components/private/"; + "iscontinuous" , "toolbox/simulink/components/private/"; + "iscpstruct" , "toolbox/images/images/private/"; + "iscvar" , "toolbox/simulink/simulink/"; + "isdynpropenab" , "toolbox/signal/sigtools/"; + "iseuclidean" , "toolbox/stats/private/"; + "isfdt" , "toolbox/signal/sptoolgui/private/"; + "isfdtbxinstalled" , "toolbox/signal/sigtools/"; + "isfixptinstalled" , "toolbox/signal/sigtools/"; + "isgray" , "toolbox/images/images/"; + "isinaxes" , "toolbox/stats/private/"; + "isind" , "toolbox/images/images/"; + "ispc" , "toolbox/stateflow/stateflow/private/"; + "isresampler" , "toolbox/images/images/private/"; + "isreserved" , "toolbox/signal/sigtools/"; + "isrgb" , "toolbox/images/images/"; + "issame" , "toolbox/robust/"; + "issystem" , "toolbox/robust/"; + "istform" , "toolbox/images/images/private/"; + "isthss" , "toolbox/ident/idobsolete/"; + "istito" , "toolbox/robust/private/"; + "istree" , "toolbox/robust/"; + "isvalidvar" , "toolbox/signal/sptoolgui/private/"; + "iv" , "toolbox/ident/ident/"; + "iv4" , "toolbox/ident/ident/"; + "ivar" , "toolbox/ident/ident/"; + "ivstruc" , "toolbox/ident/ident/"; + "ivx" , "toolbox/ident/ident/"; + "iwishrnd" , "toolbox/stats/"; + "jacColumnErr" , "toolbox/optim/private/"; + "jacobian2ss" , "toolbox/slcontrol/slctrlutil/"; + "javaDAClipboard" , "toolbox/shared/dastudio/"; + "javaSimulinkRoot" , "toolbox/shared/dastudio/"; + "javaWorkspace" , "toolbox/shared/dastudio/"; + "jbtest" , "toolbox/stats/"; + "jetdemo" , "toolbox/control/ctrldemos/"; + "jigglemesh" , "toolbox/pde/"; + "joinCellToStr" , "toolbox/simulink/simulink/private/"; + "jordan" , "toolbox/symbolic/"; + "josedemo" , "toolbox/robust/"; + "junctddg" , "toolbox/stateflow/stateflow/private/"; + "junctdlg" , "toolbox/stateflow/stateflow/private/"; + "justzoom" , "toolbox/signal/sptoolgui/private/"; + "kaiser" , "toolbox/signal/signal/"; + "kaiserord" , "toolbox/signal/signal/"; + "kalmdemo" , "toolbox/control/ctrldemos/"; + "kdtree" , "toolbox/images/images/private/"; + "kmeans" , "toolbox/stats/"; + "knt2brk" , "toolbox/splines/"; + "knt2mlt" , "toolbox/splines/"; + "kratio" , "toolbox/signal/signal/"; + "kruskalwallis" , "toolbox/stats/"; + "ksdensity" , "toolbox/stats/"; + "kstest" , "toolbox/stats/"; + "kstest2" , "toolbox/stats/"; + "kurtosis" , "toolbox/stats/"; + "lab2double" , "toolbox/images/images/"; + "lab2lch" , "toolbox/images/images/private/"; + "lab2str" , "toolbox/control/ctrlobsolete/"; + "lab2uint16" , "toolbox/images/images/"; + "lab2uint8" , "toolbox/images/images/"; + "lab2xyz" , "toolbox/images/images/private/"; + "label" , "toolbox/simulink/simulink/private/"; + "label2rgb" , "toolbox/images/images/"; + "labelacc" , "toolbox/robust/"; + "labelstr" , "toolbox/stateflow/stateflow/private/"; + "lambertw" , "toolbox/symbolic/"; + "landsatdemo" , "toolbox/images/imdemos/"; + "lar2rc" , "toolbox/signal/signal/"; + "largestuiwidth" , "toolbox/signal/sigtools/"; + "latc2tf" , "toolbox/signal/signal/"; + "latcfilt" , "toolbox/signal/signal/"; + "launchfv" , "toolbox/signal/sigtools/"; + "layout_disc_window" , "toolbox/simulink/components/"; + "lch2lab" , "toolbox/images/images/private/"; + "lclfminbnd" , "toolbox/signal/signal/private/"; + "levdown" , "toolbox/signal/signal/private/"; + "leverage" , "toolbox/stats/"; + "levinson" , "toolbox/signal/signal/"; + "levup" , "toolbox/signal/signal/private/"; + "lfdata" , "toolbox/signal/sptoolgui/private/"; + "lftf" , "toolbox/robust/"; + "lhsdesign" , "toolbox/stats/"; + "lhsnorm" , "toolbox/stats/"; + "libbrowse" , "toolbox/simulink/simulink/"; + "libinfo" , "toolbox/simulink/simulink/"; + "libintro" , "toolbox/simulink/simdemos/"; + "license" , "toolbox/local/"; + "lillietest" , "toolbox/stats/"; + "limintm" , "toolbox/simulink/blocks/"; + "lineSearch" , "toolbox/optim/private/"; + "linearize" , "toolbox/slcontrol/slcontrol/"; + "linedir" , "toolbox/simulink/simulink/private/"; + "lineext" , "toolbox/simulink/simulink/private/"; + "linemima" , "toolbox/simulink/simulink/private/"; + "linetip" , "toolbox/shared/controllib/"; + "linevent" , "toolbox/slcontrol/slcontrol/"; + "linf" , "toolbox/robust/"; + "linfdemo" , "toolbox/robust/"; + "linio" , "toolbox/slcontrol/slcontrol/"; + "linkage" , "toolbox/stats/"; + "linmod" , "toolbox/simulink/simulink/"; + "linmod2" , "toolbox/simulink/simulink/"; + "linmodsupported" , "toolbox/simulink/simulink/private/"; + "linmodv5" , "toolbox/simulink/simulink/"; + "linoptions" , "toolbox/slcontrol/slcontrol/"; + "linprog" , "toolbox/optim/"; + "linsetup" , "toolbox/simulink/blocks/"; + "linsim" , "toolbox/simulink/simulink/"; + "linsub" , "toolbox/control/ctrlutil/"; + "linterp" , "toolbox/robust/"; + "lipsol" , "toolbox/optim/private/"; + "listModels" , "toolbox/shared/dastudio/"; + "lnkfvtool2mask" , "toolbox/signal/sigtools/"; + "load_model" , "toolbox/simulink/simulink/private/"; + "load_simulink" , "toolbox/simulink/simulink/"; + "load_system" , "toolbox/simulink/simulink/"; + "local_max" , "toolbox/signal/signal/private/"; + "locateFileInPath" , "toolbox/simulink/simulink/private/"; + "log_file_manager" , "toolbox/stateflow/stateflow/private/"; + "logcfg" , "toolbox/simulink/simulink/"; + "logctrlpanel" , "toolbox/simulink/simulink/"; + "logical2string" , "toolbox/signal/sigtools/"; + "logncdf" , "toolbox/stats/"; + "lognfit" , "toolbox/stats/"; + "logninv" , "toolbox/stats/"; + "lognlike" , "toolbox/stats/"; + "lognpdf" , "toolbox/stats/"; + "lognrnd" , "toolbox/stats/"; + "lognstat" , "toolbox/stats/"; + "logpanel" , "toolbox/simulink/simulink/"; + "look1_func_approx" , "toolbox/simulink/blocks/private/"; + "look1_func_plot" , "toolbox/simulink/blocks/private/"; + "look_for_corrupted_models" , "toolbox/stateflow/stateflow/private/"; + "lookundermask" , "toolbox/simulink/simulink/"; + "lookup1dddg" , "toolbox/simulink/blocks/"; + "lookup2dddg" , "toolbox/simulink/blocks/"; + "loopstruct" , "toolbox/control/ctrlguis/"; + "lorenzi" , "toolbox/simulink/dee/"; + "lowpass" , "toolbox/signal/signal/private/"; + "lp2bp" , "toolbox/signal/signal/"; + "lp2bs" , "toolbox/signal/signal/"; + "lp2hp" , "toolbox/signal/signal/"; + "lp2lp" , "toolbox/signal/signal/"; + "lpc" , "toolbox/signal/signal/"; + "lpc-ardemo" , "toolbox/signal/sigdemos/"; + "lproject" , "toolbox/control/ctrlguis/"; + "lqe" , "toolbox/control/ctrlobsolete/"; + "lqe2" , "toolbox/control/ctrlobsolete/"; + "lqed" , "toolbox/control/ctrlobsolete/"; + "lqew" , "toolbox/control/ctrlobsolete/"; + "lqg" , "toolbox/robust/"; + "lqr" , "toolbox/control/control/"; + "lqr2" , "toolbox/control/ctrlobsolete/"; + "lqrc" , "toolbox/robust/"; + "lqrd" , "toolbox/control/control/"; + "lqrdes" , "toolbox/control/ctrldemos/"; + "lqry" , "toolbox/control/control/"; + "lrscale" , "toolbox/control/ctrlutil/"; + "lsf2poly" , "toolbox/signal/signal/"; + "lshapeb" , "toolbox/pde/"; + "lshapec" , "toolbox/pde/"; + "lshapeg" , "toolbox/pde/"; + "lsim" , "toolbox/control/control/"; + "lsline" , "toolbox/stats/"; + "lsqcurvefit" , "toolbox/optim/"; + "lsqfcnchk" , "toolbox/optim/private/"; + "lsqisotonic" , "toolbox/stats/private/"; + "lsqlin" , "toolbox/optim/"; + "lsqncommon" , "toolbox/optim/private/"; + "lsqnonlin" , "toolbox/optim/"; + "lticharmenu" , "toolbox/control/ctrlguis/"; + "ltidemo" , "toolbox/control/ctrldemos/"; + "ltifr" , "toolbox/control/control/"; + "ltimask" , "toolbox/control/control/"; + "ltimodels" , "toolbox/control/control/"; + "ltiplot" , "toolbox/control/ctrlguis/"; + "ltiplotmenu" , "toolbox/control/ctrlguis/"; + "ltiplottypes" , "toolbox/control/ctrlguis/"; + "ltiprops" , "toolbox/control/control/"; + "ltitipmenus" , "toolbox/shared/controllib/"; + "ltitr" , "toolbox/control/control/"; + "ltiview" , "toolbox/control/control/"; + "ltk2" , "toolbox/ident/idutils/private/"; + "ltrdata1" , "toolbox/robust/"; + "ltrdata2" , "toolbox/robust/"; + "ltrdemo" , "toolbox/robust/"; + "ltrdes1" , "toolbox/robust/"; + "ltrdes2" , "toolbox/robust/"; + "ltru" , "toolbox/robust/"; + "ltry" , "toolbox/robust/"; + "lutbridge" , "toolbox/images/images/private/"; + "lutclean" , "toolbox/images/images/private/"; + "lutdiag" , "toolbox/images/images/private/"; + "lutdilate" , "toolbox/images/images/private/"; + "luteditorddg_cb" , "toolbox/simulink/blocks/"; + "luterode" , "toolbox/images/images/private/"; + "lutfatten" , "toolbox/images/images/private/"; + "lutfill" , "toolbox/images/images/private/"; + "luthbreak" , "toolbox/images/images/private/"; + "lutiso" , "toolbox/images/images/private/"; + "lutmajority" , "toolbox/images/images/private/"; + "lutper4" , "toolbox/images/images/private/"; + "lutper8" , "toolbox/images/images/private/"; + "lutremove" , "toolbox/images/images/private/"; + "lutshrink" , "toolbox/images/images/private/"; + "lutsingle" , "toolbox/images/images/private/"; + "lutskel1" , "toolbox/images/images/private/"; + "lutskel2" , "toolbox/images/images/private/"; + "lutskel3" , "toolbox/images/images/private/"; + "lutskel4" , "toolbox/images/images/private/"; + "lutskel5" , "toolbox/images/images/private/"; + "lutskel6" , "toolbox/images/images/private/"; + "lutskel7" , "toolbox/images/images/private/"; + "lutskel8" , "toolbox/images/images/private/"; + "lutspur" , "toolbox/images/images/private/"; + "lutthin1" , "toolbox/images/images/private/"; + "lutthin2" , "toolbox/images/images/private/"; + "lutthin3" , "toolbox/images/images/private/"; + "lutthin4" , "toolbox/images/images/private/"; + "lyap" , "toolbox/control/control/"; + "lyap2" , "toolbox/control/ctrlobsolete/"; + "lyapchol" , "toolbox/control/control/"; + "lyapkr" , "toolbox/robust/"; + "machine2model" , "toolbox/stateflow/stateflow/private/"; + "machine_bind_sflinks" , "toolbox/stateflow/stateflow/private/"; + "machine_shallow_find" , "toolbox/stateflow/stateflow/private/"; + "machineddg" , "toolbox/stateflow/stateflow/private/"; + "machinedlg" , "toolbox/stateflow/stateflow/private/"; + "mad" , "toolbox/stats/"; + "mag2dB" , "toolbox/control/ctrlutil/"; + "magballdat" , "toolbox/slcontrol/slctrldemos/"; + "magballinit" , "toolbox/slcontrol/slctrldemos/"; + "mahal" , "toolbox/stats/"; + "make_ansi_tfl" , "toolbox/simulink/simulink/"; + "make_ecoder_hook" , "toolbox/rtw/rtw/"; + "make_formatters" , "toolbox/simulink/simcoverage/private/"; + "make_gnu_tfl" , "toolbox/simulink/simulink/"; + "make_iso_tfl" , "toolbox/simulink/simulink/"; + "make_rtw" , "toolbox/rtw/rtw/"; + "make_targetfcnlib_mat_files" , "toolbox/simulink/simulink/"; + "make_tlc_only" , "toolbox/rtw/rtw/"; + "makecform" , "toolbox/images/images/"; + "makelut" , "toolbox/images/images/"; + "makeresampler" , "toolbox/images/images/"; + "maketform" , "toolbox/images/images/"; + "makeuniqcellstrs" , "toolbox/signal/sigtools/"; + "manova1" , "toolbox/stats/"; + "manovacluster" , "toolbox/stats/"; + "manswitch" , "toolbox/simulink/blocks/"; + "maple" , "toolbox/symbolic/"; + "mapleinit" , "toolbox/symbolic/"; + "maplemex" , "toolbox/symbolic/"; + "margin" , "toolbox/control/control/"; + "margindemo" , "toolbox/control/ctrldemos/"; + "margindemo_sls" , "toolbox/control/ctrldemos/"; + "maskedit" , "toolbox/simulink/simulink/"; + "maskpopups" , "toolbox/simulink/simulink/"; + "masksync" , "toolbox/simulink/simulink/private/"; + "masspg" , "toolbox/simulink/dee/"; + "masspgi" , "toolbox/simulink/dee/"; + "mat2gray" , "toolbox/images/images/"; + "matchlsq" , "toolbox/control/ctrlguis/"; + "matq2ws" , "toolbox/pde/private/"; + "matqdlg" , "toolbox/pde/private/"; + "matqparse" , "toolbox/pde/private/"; + "matqueue" , "toolbox/pde/private/"; + "matrxcatmask" , "toolbox/simulink/blocks/"; + "maxflat" , "toolbox/signal/signal/"; + "mcodeutils" , "toolbox/signal/sigtools/"; + "md2c" , "toolbox/ident/idutils/"; + "mdlRefDepsComment" , "toolbox/simulink/simulink/private/"; + "mdldisc_demo" , "toolbox/simulink/simdemos/simfeatures/"; + "mdlref_basicscript" , "toolbox/simulink/simdemos/simfeatures/mdlref/"; + "mdlref_busscript" , "toolbox/simulink/simdemos/simfeatures/mdlref/"; + "mdlref_conversionscript" , "toolbox/simulink/simdemos/simfeatures/mdlref/"; + "mdlref_depgraph_demo" , "toolbox/simulink/simdemos/simfeatures/mdlref/"; + "mdlref_paramargsscript" , "toolbox/simulink/simdemos/simfeatures/mdlref/"; + "mdlrefddg_cb" , "toolbox/simulink/simulink/"; + "mdscale" , "toolbox/stats/"; + "mdscaledemo" , "toolbox/stats/"; + "mean2" , "toolbox/images/images/"; + "meansgraph" , "toolbox/stats/"; + "medfilt1" , "toolbox/signal/signal/"; + "medfilt2" , "toolbox/images/images/"; + "merge" , "toolbox/signal/sptoolgui/private/"; + "mergedemoscript" , "toolbox/simulink/simdemos/simfeatures/"; + "mergefcn" , "toolbox/simulink/simdemos/simfeatures/"; + "mex_setup" , "toolbox/stateflow/stateflow/private/"; + "mex_sfun_user_fxp_examples" , "toolbox/simulink/fixedandfloat/fxpdemos/"; + "mf2th" , "toolbox/ident/idobsolete/"; + "mfun" , "toolbox/symbolic/"; + "mfunlist" , "toolbox/symbolic/"; + "mgrp2idx" , "toolbox/stats/private/"; + "mhelp" , "toolbox/symbolic/"; + "midprefs" , "toolbox/ident/idguis/"; + "milldemo" , "toolbox/control/ctrldemos/"; + "milldemo_sls" , "toolbox/control/ctrldemos/"; + "mimofr" , "toolbox/control/control/"; + "min4termwin" , "toolbox/signal/signal/private/"; + "miniplot" , "toolbox/control/ctrlobsolete/"; + "minlin" , "toolbox/simulink/simulink/"; + "minloop" , "toolbox/ident/idutils/"; + "minreal" , "toolbox/control/control/"; + "misdata" , "toolbox/ident/ident/"; + "mixedalg" , "toolbox/robust/"; + "mixedm" , "toolbox/simulink/blocks/"; + "mkargs" , "toolbox/robust/"; + "mkargs1" , "toolbox/robust/"; + "mkargs5x" , "toolbox/robust/"; + "mkconstarray" , "toolbox/images/images/private/"; + "mklti" , "toolbox/robust/private/"; + "mksys" , "toolbox/robust/"; + "mktito" , "toolbox/robust/private/"; + "ml_type" , "toolbox/stateflow/stateflow/private/"; + "mle" , "toolbox/stats/"; + "mlecov" , "toolbox/stats/"; + "mlecustom" , "toolbox/stats/private/"; + "mlscript_ui" , "toolbox/simulink/simulink/"; + "mltrdemo" , "toolbox/robust/"; + "mmole" , "toolbox/optim/"; + "moddemo" , "toolbox/signal/sigdemos/"; + "model2machine" , "toolbox/shared/dastudio/"; + "modeladvisor" , "toolbox/simulink/simulink/"; + "modelassistant" , "toolbox/simulink/simulink/"; + "modelddg" , "toolbox/simulink/simulink/"; + "modelddg_file_cb" , "toolbox/simulink/simulink/"; + "modelddg_readOnly_cb" , "toolbox/simulink/simulink/"; + "modeldeps" , "toolbox/simulink/simulink/private/"; + "modelref_conversion_bus_utils" , "toolbox/simulink/simulink/private/"; + "modelref_conversion_utilities" , "toolbox/simulink/simulink/private/"; + "modelrefsiglog" , "toolbox/simulink/simulink/"; + "modelrefsim_default_tmf" , "toolbox/rtw/rtw/"; + "modreal" , "toolbox/robust/"; + "modred" , "toolbox/control/control/"; + "modstruc" , "toolbox/ident/idutils/"; + "modulate" , "toolbox/signal/signal/"; + "molecule" , "toolbox/optim/"; + "moment" , "toolbox/stats/"; + "montage" , "toolbox/images/images/"; + "morphop" , "toolbox/images/images/private/"; + "motor" , "toolbox/ident/ident/"; + "movemask" , "toolbox/simulink/simulink/"; + "moveptr" , "toolbox/control/ctrlguis/"; + "mpt_get_data_types" , "toolbox/simulink/simulink/"; + "mrdemo" , "toolbox/robust/"; + "mrgfocus" , "toolbox/control/ctrlutil/"; + "mrgios" , "toolbox/control/ctrlguis/"; + "mroots" , "toolbox/control/ctrlutil/"; + "ms2th" , "toolbox/ident/idobsolete/"; + "mscohere" , "toolbox/signal/signal/"; + "msearch" , "toolbox/ident/idutils/"; + "msfuntmpl" , "toolbox/simulink/blocks/"; + "mskeddlg" , "toolbox/simulink/simulink/"; + "mskedpg" , "toolbox/simulink/simulink/private/"; + "mu2lti" , "toolbox/robust/private/"; + "mudemo" , "toolbox/robust/"; + "mudemo1" , "toolbox/robust/"; + "mueva" , "toolbox/robust/"; + "mulerr" , "toolbox/robust/"; + "mulresp" , "toolbox/control/ctrlobsolete/"; + "multcompare" , "toolbox/stats/"; + "multiband" , "toolbox/signal/signal/private/"; + "multidat" , "toolbox/simulink/simdemos/"; + "muopt" , "toolbox/robust/"; + "muoptold" , "toolbox/robust/"; + "muplt" , "toolbox/robust/"; + "music" , "toolbox/signal/signal/private/"; + "musldemo" , "toolbox/robust/"; + "musol4" , "toolbox/robust/"; + "musyn" , "toolbox/robust/"; + "muxwidths" , "toolbox/stateflow/stateflow/private/"; + "mvnpdf" , "toolbox/stats/"; + "mvnrnd" , "toolbox/stats/"; + "mvplotdemo" , "toolbox/stats/"; + "mvtrnd" , "toolbox/stats/"; + "mx2str" , "toolbox/stateflow/stateflow/private/"; + "n4sid" , "toolbox/ident/ident/"; + "n4sid_f" , "toolbox/ident/ident/"; + "nanmax" , "toolbox/stats/"; + "nanmean" , "toolbox/stats/"; + "nanmedian" , "toolbox/stats/"; + "nanmin" , "toolbox/stats/"; + "nanstd" , "toolbox/stats/"; + "nanstruc" , "toolbox/ident/idutils/"; + "nansum" , "toolbox/stats/"; + "nanvar" , "toolbox/stats/"; + "nbincdf" , "toolbox/stats/"; + "nbinfit" , "toolbox/stats/"; + "nbininv" , "toolbox/stats/"; + "nbinlike" , "toolbox/stats/"; + "nbinpdf" , "toolbox/stats/"; + "nbinrnd" , "toolbox/stats/"; + "nbinstat" , "toolbox/stats/"; + "ncdglob" , "toolbox/sloptim/sloptobsolete/"; + "ncdupdate" , "toolbox/sloptim/sloptobsolete/"; + "ncfcdf" , "toolbox/stats/"; + "ncfinv" , "toolbox/stats/"; + "ncfpdf" , "toolbox/stats/"; + "ncfrnd" , "toolbox/stats/"; + "ncfstat" , "toolbox/stats/"; + "nctcdf" , "toolbox/stats/"; + "nctinv" , "toolbox/stats/"; + "nctpdf" , "toolbox/stats/"; + "nctrnd" , "toolbox/stats/"; + "nctstat" , "toolbox/stats/"; + "ncx2cdf" , "toolbox/stats/"; + "ncx2inv" , "toolbox/stats/"; + "ncx2pdf" , "toolbox/stats/"; + "ncx2rnd" , "toolbox/stats/"; + "ncx2stat" , "toolbox/stats/"; + "nddirectico" , "toolbox/simulink/blocks/"; + "ndlookico" , "toolbox/simulink/blocks/"; + "new_data" , "toolbox/stateflow/stateflow/private/"; + "new_event" , "toolbox/stateflow/stateflow/private/"; + "new_rtw_interface_marker" , "toolbox/stateflow/coder/private/"; + "new_state_output_data" , "toolbox/stateflow/stateflow/private/"; + "new_system" , "toolbox/simulink/simulink/"; + "new_target" , "toolbox/stateflow/stateflow/private/"; + "newknt" , "toolbox/splines/"; + "newsro" , "toolbox/sloptim/sloptim/"; + "nextcolor" , "toolbox/signal/sptoolgui/private/"; + "ngrid" , "toolbox/control/control/"; + "nicchart" , "toolbox/control/ctrlguis/"; + "nice_shot" , "toolbox/stateflow/stateflow/private/"; + "nichols" , "toolbox/control/control/"; + "niclims" , "toolbox/control/ctrlguis/"; + "nlconst" , "toolbox/optim/private/"; + "nlconst" , "toolbox/simulink/simulink/private/"; + "nlfilter" , "toolbox/images/images/"; + "nlinfit" , "toolbox/stats/"; + "nlinopt" , "toolbox/sloptim/sloptobsolete/"; + "nlintool" , "toolbox/stats/"; + "nlparci" , "toolbox/stats/"; + "nlpredci" , "toolbox/stats/"; + "nls3" , "toolbox/optim/"; + "nlsf1" , "toolbox/optim/"; + "nlsf1a" , "toolbox/optim/"; + "nlsf3a" , "toolbox/optim/"; + "nlsmm3" , "toolbox/optim/"; + "nlsq" , "toolbox/optim/private/"; + "nnsearch" , "toolbox/images/images/private/"; + "noiprefi" , "toolbox/ident/idutils/"; + "non_empty_subcharts_in" , "toolbox/stateflow/stateflow/private/"; + "normcdf" , "toolbox/stats/"; + "normfit" , "toolbox/stats/"; + "normh2" , "toolbox/robust/"; + "normhinf" , "toolbox/robust/"; + "norminv" , "toolbox/stats/"; + "normlike" , "toolbox/stats/"; + "normpdf" , "toolbox/stats/"; + "normplot" , "toolbox/stats/"; + "normrnd" , "toolbox/stats/"; + "normspec" , "toolbox/stats/"; + "normstat" , "toolbox/stats/"; + "normxcorr2" , "toolbox/images/images/"; + "notbool" , "toolbox/simulink/simulink/private/"; + "notchdemo" , "toolbox/control/ctrldemos/"; + "notchdemo_sls" , "toolbox/control/ctrldemos/"; + "nrfiltdemo" , "toolbox/images/imdemos/"; + "ntsc2rgb" , "toolbox/images/images/"; + "nuderst" , "toolbox/ident/idutils/"; + "num2fix" , "toolbox/simulink/fixedandfloat/"; + "num2fixpt" , "toolbox/simulink/fixedandfloat/"; + "num2ordinal" , "toolbox/images/images/private/"; + "numdemo" , "toolbox/control/ctrldemos/"; + "numerictypeddg" , "toolbox/simulink/simulink/"; + "nuttallwin" , "toolbox/signal/signal/"; + "nyqaux" , "toolbox/ident/idutils/"; + "nyqchart" , "toolbox/control/ctrlguis/"; + "nyqplot" , "toolbox/ident/idobsolete/"; + "nyquist" , "toolbox/control/control/"; + "obalreal" , "toolbox/robust/"; + "object_limits" , "toolbox/stateflow/stateflow/private/"; + "objfun" , "toolbox/optim/"; + "objfungrad" , "toolbox/optim/"; + "obsv" , "toolbox/control/control/"; + "obsvf" , "toolbox/control/control/"; + "oe" , "toolbox/ident/ident/"; + "oestab" , "toolbox/ident/idutils/"; + "officeassign" , "toolbox/optim/"; + "ohkapp" , "toolbox/robust/"; + "ohkdemo" , "toolbox/robust/"; + "ohklmr" , "toolbox/robust/"; + "on2off" , "toolbox/stats/private/"; + "onoff" , "toolbox/simulink/simulink/private/"; + "onoffdemocontrol" , "toolbox/simulink/simdemos/aerospace/"; + "opamp" , "toolbox/control/ctrldemos/private/"; + "opampdemo" , "toolbox/control/ctrldemos/"; + "opampdemo_aux" , "toolbox/control/ctrldemos/"; + "open_system" , "toolbox/simulink/simulink/"; + "open_target_dialog" , "toolbox/stateflow/sfdemos/"; + "operpoint" , "toolbox/shared/slcontrollib/"; + "operspec" , "toolbox/shared/slcontrollib/"; + "optblock" , "toolbox/sloptim/sloptobsolete/"; + "optdeblur" , "toolbox/optim/"; + "opteval" , "toolbox/simulink/simulink/private/"; + "optimfcnchk" , "toolbox/shared/optimlib/"; + "optimoptioncheckfield" , "toolbox/shared/optimlib/"; + "optimoptiongetfields" , "toolbox/shared/optimlib/"; + "optimoptions" , "toolbox/shared/optimlib/"; + "optknt" , "toolbox/splines/"; + "optsiminit" , "toolbox/optim/"; + "ord2" , "toolbox/control/control/"; + "ordered_unique_paths" , "toolbox/stateflow/stateflow/private/"; + "ordfilt2" , "toolbox/images/images/"; + "ortc" , "toolbox/robust/"; + "ortr" , "toolbox/robust/"; + "osborne" , "toolbox/robust/"; + "otf2psf" , "toolbox/images/images/"; + "padarray" , "toolbox/images/images/"; + "pade" , "toolbox/control/control/"; + "padess" , "toolbox/simulink/simulink/"; + "padlength" , "toolbox/images/images/private/"; + "pandown" , "toolbox/signal/sptoolgui/private/"; + "panfcn" , "toolbox/signal/sptoolgui/"; + "panner" , "toolbox/signal/sptoolgui/private/"; + "para2fan" , "toolbox/images/images/"; + "parabolic" , "toolbox/pde/"; + "parallel" , "toolbox/control/control/"; + "parallelcoords" , "toolbox/stats/"; + "parameterdlg" , "toolbox/signal/sigtools/"; + "parproc" , "toolbox/ident/idutils/"; + "parseLibCodePaneText" , "toolbox/simulink/simulink/private/"; + "parse_error_msg" , "toolbox/stateflow/stateflow/private/"; + "parse_formatter_strings" , "toolbox/simulink/simcoverage/private/"; + "parse_kernel" , "toolbox/stateflow/stateflow/private/"; + "parse_pv_pairs" , "toolbox/signal/signal/private/"; + "parse_this" , "toolbox/stateflow/stateflow/private/"; + "parseit" , "toolbox/simulink/dee/"; + "parser_unresolved_symbol" , "toolbox/stateflow/stateflow/private/"; + "parzenwin" , "toolbox/signal/signal/"; + "pathdef" , "toolbox/local/"; + "pathdef" , "toolbox/local/template/"; + "pburg" , "toolbox/signal/signal/"; + "pcacov" , "toolbox/stats/"; + "pcares" , "toolbox/stats/"; + "pceye" , "toolbox/optim/"; + "pcgr" , "toolbox/optim/private/"; + "pckkntdm" , "toolbox/splines/"; + "pcov" , "toolbox/signal/signal/"; + "pdeadgsc" , "toolbox/pde/"; + "pdeadworst" , "toolbox/pde/"; + "pdearcl" , "toolbox/pde/"; + "pdeasma" , "toolbox/pde/"; + "pdeasmc" , "toolbox/pde/"; + "pdeasmf" , "toolbox/pde/"; + "pdebasnm" , "toolbox/pde/"; + "pdebddlg" , "toolbox/pde/"; + "pdebddsp" , "toolbox/pde/"; + "pdebound" , "toolbox/pde/"; + "pdebsplit" , "toolbox/pde/"; + "pdecchk" , "toolbox/pde/"; + "pdecgrad" , "toolbox/pde/"; + "pdecirc" , "toolbox/pde/"; + "pdecont" , "toolbox/pde/"; + "pdecrcum" , "toolbox/pde/"; + "pdedemo1" , "toolbox/pde/"; + "pdedemo2" , "toolbox/pde/"; + "pdedemo3" , "toolbox/pde/"; + "pdedemo4" , "toolbox/pde/"; + "pdedemo5" , "toolbox/pde/"; + "pdedemo6" , "toolbox/pde/"; + "pdedemo7" , "toolbox/pde/"; + "pdedemo8" , "toolbox/pde/"; + "pdedemos" , "toolbox/pde/"; + "pdedistr" , "toolbox/pde/"; + "pdedlg" , "toolbox/pde/"; + "pdeeexpd" , "toolbox/pde/"; + "pdeefxpd" , "toolbox/pde/"; + "pdeeig" , "toolbox/pde/"; + "pdeeigx" , "toolbox/pde/"; + "pdeellip" , "toolbox/pde/"; + "pdeent" , "toolbox/pde/"; + "pdeexpd" , "toolbox/pde/"; + "pdeframe" , "toolbox/pde/"; + "pdegeom" , "toolbox/pde/"; + "pdegplot" , "toolbox/pde/"; + "pdegrad" , "toolbox/pde/"; + "pdegrmsc" , "toolbox/pde/"; + "pdehelp" , "toolbox/pde/"; + "pdehloc" , "toolbox/pde/"; + "pdehypdf" , "toolbox/pde/"; + "pdehypf" , "toolbox/pde/"; + "pdehypm" , "toolbox/pde/"; + "pdeicon" , "toolbox/pde/"; + "pdeigeom" , "toolbox/pde/"; + "pdeinfclk" , "toolbox/pde/"; + "pdeinfo" , "toolbox/pde/"; + "pdeinit" , "toolbox/pde/"; + "pdeintrn" , "toolbox/pde/"; + "pdeintrp" , "toolbox/pde/"; + "pdeisfunc" , "toolbox/pde/"; + "pdeisusd" , "toolbox/pde/"; + "pdejmps" , "toolbox/pde/"; + "pdel2fau" , "toolbox/pde/"; + "pdemdlcv" , "toolbox/pde/"; + "pdemesh" , "toolbox/pde/"; + "pdemgeom" , "toolbox/pde/"; + "pdemhdlg" , "toolbox/pde/"; + "pdemtncb" , "toolbox/pde/"; + "pdemvdlg" , "toolbox/pde/"; + "pdenanmn" , "toolbox/pde/"; + "pdenanmx" , "toolbox/pde/"; + "pdenonlin" , "toolbox/pde/"; + "pdenrmfl" , "toolbox/pde/"; + "pdenullorth" , "toolbox/pde/"; + "pdeobdlg" , "toolbox/pde/"; + "pdeonax" , "toolbox/pde/"; + "pdeoutfun" , "toolbox/pde/"; + "pdepatch" , "toolbox/pde/"; + "pdeplot" , "toolbox/pde/"; + "pdepoly" , "toolbox/pde/"; + "pdeprbdf" , "toolbox/pde/"; + "pdeprbf" , "toolbox/pde/"; + "pdeprbm" , "toolbox/pde/"; + "pdeprtni" , "toolbox/pde/"; + "pdepsdlg" , "toolbox/pde/"; + "pdeptdata" , "toolbox/pde/"; + "pdeptdlg" , "toolbox/pde/"; + "pdequote" , "toolbox/pde/"; + "pderect" , "toolbox/pde/"; + "pderel" , "toolbox/pde/"; + "pderesid" , "toolbox/pde/"; + "pderespe" , "toolbox/pde/"; + "pdermpnt" , "toolbox/pde/"; + "pderot3d" , "toolbox/pde/"; + "pdertdlg" , "toolbox/pde/"; + "pdesde" , "toolbox/pde/"; + "pdesdp" , "toolbox/pde/"; + "pdesdt" , "toolbox/pde/"; + "pdeselect" , "toolbox/pde/"; + "pdesetbd" , "toolbox/pde/"; + "pdeseteq" , "toolbox/pde/"; + "pdesetlb" , "toolbox/pde/"; + "pdesldlg" , "toolbox/pde/"; + "pdesmech" , "toolbox/pde/"; + "pdesnap" , "toolbox/pde/"; + "pdespdlg" , "toolbox/pde/"; + "pdesubix" , "toolbox/pde/"; + "pdesurf" , "toolbox/pde/"; + "pdet2str" , "toolbox/pde/"; + "pdetexpd" , "toolbox/pde/"; + "pdetfxpd" , "toolbox/pde/"; + "pdetool" , "toolbox/pde/"; + "pdetrans" , "toolbox/pde/"; + "pdetrdlg" , "toolbox/pde/"; + "pdetrg" , "toolbox/pde/"; + "pdetridi" , "toolbox/pde/"; + "pdetriq" , "toolbox/pde/"; + "pdetxpd" , "toolbox/pde/"; + "pdeuxpd" , "toolbox/pde/"; + "pdevoron" , "toolbox/pde/"; + "pdezoom" , "toolbox/pde/"; + "pdf" , "toolbox/stats/"; + "pdist" , "toolbox/stats/"; + "pe" , "toolbox/ident/ident/"; + "pe_f" , "toolbox/ident/idutils/"; + "pe_fp" , "toolbox/ident/idutils/"; + "pefilt" , "toolbox/ident/idutils/private/"; + "peig" , "toolbox/signal/signal/"; + "pem" , "toolbox/ident/ident/"; + "pemdecod" , "toolbox/ident/idutils/"; + "pemdecod_fp" , "toolbox/ident/idutils/"; + "pendan" , "toolbox/simulink/simdemos/simgeneral/"; + "periodogram" , "toolbox/signal/signal/"; + "perpxy" , "toolbox/control/ctrlobsolete/"; + "perron" , "toolbox/robust/"; + "perturb" , "toolbox/optim/private/"; + "phantom" , "toolbox/images/images/"; + "phase" , "toolbox/ident/idobsolete/"; + "phasedelay" , "toolbox/signal/signal/"; + "phaseticks" , "toolbox/control/ctrlguis/"; + "phasez" , "toolbox/signal/signal/"; + "phone" , "toolbox/signal/sigdemos/"; + "pickfcn" , "toolbox/signal/sptoolgui/private/"; + "pinrect" , "toolbox/signal/sptoolgui/private/"; + "pixval" , "toolbox/images/images/"; + "place" , "toolbox/control/control/"; + "placetitlebar" , "toolbox/stats/private/"; + "plotbode" , "toolbox/control/ctrlobsolete/"; + "plotdatapoints" , "toolbox/optim/"; + "plotnic" , "toolbox/control/ctrlobsolete/"; + "plotnyq" , "toolbox/control/ctrlobsolete/"; + "pltopt" , "toolbox/robust/"; + "pmatchm" , "toolbox/ident/idutils/"; + "pmcov" , "toolbox/signal/signal/"; + "pmem" , "toolbox/signal/signal/"; + "pmtm" , "toolbox/signal/signal/"; + "pmusic" , "toolbox/signal/signal/"; + "pnam2num" , "toolbox/ident/idutils/"; + "pndanim1" , "toolbox/simulink/simdemos/simgeneral/"; + "pndanim2" , "toolbox/simulink/simdemos/simgeneral/"; + "pndanim3" , "toolbox/simulink/simdemos/simgeneral/"; + "pnmatch" , "toolbox/ident/idutils/"; + "pnmatch" , "toolbox/control/ctrlutil/"; + "pnmatchd" , "toolbox/ident/idutils/"; + "pnsortd" , "toolbox/ident/idutils/"; + "poiasma" , "toolbox/pde/"; + "poicalc" , "toolbox/pde/"; + "poiindex" , "toolbox/pde/"; + "poimesh" , "toolbox/pde/"; + "pointtip" , "toolbox/shared/controllib/"; + "poisolv" , "toolbox/pde/"; + "poisscdf" , "toolbox/stats/"; + "poissfit" , "toolbox/stats/"; + "poissinv" , "toolbox/stats/"; + "poisspdf" , "toolbox/stats/"; + "poissrnd" , "toolbox/stats/"; + "poisstat" , "toolbox/stats/"; + "poly2ac" , "toolbox/signal/signal/"; + "poly2edgelist" , "toolbox/images/images/private/"; + "poly2lsf" , "toolbox/signal/signal/"; + "poly2mask" , "toolbox/images/images/"; + "poly2rc" , "toolbox/signal/signal/"; + "poly2str" , "toolbox/control/ctrlobsolete/"; + "poly2sym" , "toolbox/symbolic/"; + "poly2th" , "toolbox/ident/idobsolete/"; + "polyconf" , "toolbox/stats/"; + "polyform" , "toolbox/ident/idobsolete/"; + "polyscale" , "toolbox/signal/signal/"; + "polystab" , "toolbox/signal/signal/"; + "polytool" , "toolbox/stats/"; + "popdemo" , "toolbox/simulink/simdemos/"; + "port" , "toolbox/control/ctrldemos/private/"; + "powerwindow02script" , "toolbox/simulink/simdemos/automotive/"; + "powerwindow03script" , "toolbox/simulink/simdemos/automotive/"; + "powerwindow04script" , "toolbox/simulink/simdemos/automotive/"; + "powerwindow05script" , "toolbox/simulink/simdemos/automotive/"; + "powerwindowscript" , "toolbox/simulink/simdemos/automotive/"; + "pp2sp" , "toolbox/splines/"; + "ppalldem" , "toolbox/splines/"; + "ppbrk" , "toolbox/splines/"; + "ppcgr" , "toolbox/optim/private/"; + "ppmak" , "toolbox/splines/"; + "pprfn" , "toolbox/splines/"; + "ppual" , "toolbox/splines/"; + "prctile" , "toolbox/stats/"; + "preaug" , "toolbox/optim/private/"; + "predict" , "toolbox/ident/ident/"; + "prefcnchk" , "toolbox/simulink/simulink/private/"; + "prefspanel" , "toolbox/signal/signal/"; + "preload_diff" , "toolbox/simulink/fixedandfloat/fxpdemos/"; + "preload_feedback" , "toolbox/simulink/fixedandfloat/fxpdemos/"; + "preload_integrate" , "toolbox/simulink/fixedandfloat/fxpdemos/"; + "preload_lead_lag" , "toolbox/simulink/fixedandfloat/fxpdemos/"; + "preload_state_space" , "toolbox/simulink/fixedandfloat/fxpdemos/"; + "preprocess_truth_table" , "toolbox/stateflow/stateflow/private/"; + "present" , "toolbox/ident/idobsolete/"; + "princomp" , "toolbox/stats/"; + "print_html_str" , "toolbox/stateflow/stateflow/private/"; + "printcomp" , "toolbox/signal/sptoolgui/"; + "printdamp" , "toolbox/control/ctrlutil/"; + "printframe" , "toolbox/simulink/simulink/"; + "printmat" , "toolbox/control/ctrlobsolete/"; + "printofficeassign" , "toolbox/optim/"; + "printopt" , "toolbox/local/"; + "printsys" , "toolbox/control/ctrlobsolete/"; + "printtext" , "toolbox/simulink/simulink/private/"; + "private_sl_decpath" , "toolbox/simulink/simulink/"; + "private_sl_enc2normalpath" , "toolbox/simulink/simulink/"; + "private_sl_encpath" , "toolbox/simulink/simulink/"; + "prm_disp_cntrl" , "toolbox/rtw/rtw/"; + "probplot" , "toolbox/stats/"; + "procmod" , "toolbox/ident/idutils/"; + "procrustes" , "toolbox/stats/"; + "project" , "toolbox/optim/private/"; + "prony" , "toolbox/signal/signal/"; + "psd" , "toolbox/signal/signal/"; + "psdchk" , "toolbox/signal/signal/private/"; + "psddemo" , "toolbox/signal/sigdemos/"; + "psdfreqvec" , "toolbox/signal/signal/"; + "psdoptions" , "toolbox/signal/signal/"; + "psdplot" , "toolbox/signal/signal/"; + "psf2otf" , "toolbox/images/images/"; + "psv" , "toolbox/robust/"; + "pulstran" , "toolbox/signal/signal/"; + "pvformat" , "toolbox/control/ctrlutil/"; + "pwelch" , "toolbox/signal/signal/"; + "pyulear" , "toolbox/signal/signal/"; + "pzmap" , "toolbox/control/control/"; + "qfilt2dfilt" , "toolbox/signal/sigtools/"; + "qfiltexists" , "toolbox/signal/sigtools/"; + "qpsub" , "toolbox/optim/private/"; + "qpsub" , "toolbox/simulink/simulink/private/"; + "qqplot" , "toolbox/stats/"; + "qtdecomp" , "toolbox/images/images/"; + "qtdemo" , "toolbox/images/imdemos/"; + "qtgetblk" , "toolbox/images/images/"; + "qtsetblk" , "toolbox/images/images/"; + "quad2" , "toolbox/optim/"; + "quadi" , "toolbox/optim/"; + "quadprog" , "toolbox/optim/"; + "quantile" , "toolbox/stats/"; + "quantize" , "toolbox/simulink/blocks/"; + "quine_mcclusky" , "toolbox/stateflow/stateflow/private/"; + "radon" , "toolbox/images/images/"; + "radonc" , "toolbox/images/images/private/"; + "randg" , "toolbox/stats/"; + "random" , "toolbox/stats/"; + "randsample" , "toolbox/stats/"; + "randtool" , "toolbox/stats/"; + "randunc" , "toolbox/sloptim/sloptim/"; + "range" , "toolbox/stats/"; + "ranksum" , "toolbox/stats/"; + "rarmax" , "toolbox/ident/ident/"; + "rarx" , "toolbox/ident/ident/"; + "raylcdf" , "toolbox/stats/"; + "raylfit" , "toolbox/stats/"; + "raylinv" , "toolbox/stats/"; + "raylpdf" , "toolbox/stats/"; + "raylrnd" , "toolbox/stats/"; + "raylstat" , "toolbox/stats/"; + "rbj" , "toolbox/ident/ident/"; + "rc2ac" , "toolbox/signal/signal/"; + "rc2is" , "toolbox/signal/signal/"; + "rc2lar" , "toolbox/signal/signal/"; + "rc2poly" , "toolbox/signal/signal/"; + "rceps" , "toolbox/signal/signal/"; + "rcoplot" , "toolbox/stats/"; + "rct2lti" , "toolbox/robust/"; + "rctdemo" , "toolbox/robust/"; + "rctdemo1" , "toolbox/robust/"; + "rdsigma" , "toolbox/robust/"; + "readstdtcdata" , "toolbox/simulink/simdemos/simfeatures/"; + "reconcile_function_io" , "toolbox/stateflow/stateflow/private/"; + "rectconv" , "toolbox/simulink/simulink/private/"; + "rectpuls" , "toolbox/signal/signal/"; + "rectwin" , "toolbox/signal/signal/"; + "refcurve" , "toolbox/stats/"; + "refinemesh" , "toolbox/pde/"; + "reflect" , "toolbox/optim/private/"; + "refline" , "toolbox/stats/"; + "reg" , "toolbox/control/control/"; + "regionprops" , "toolbox/images/images/"; + "regress" , "toolbox/stats/"; + "regstats" , "toolbox/stats/"; + "reig" , "toolbox/robust/"; + "rel_path" , "toolbox/stateflow/stateflow/private/"; + "release_version" , "toolbox/rtw/rtw/"; + "remdemo" , "toolbox/robust/"; + "remez" , "toolbox/signal/signal/"; + "remezord" , "toolbox/signal/signal/"; + "removeampersands" , "toolbox/signal/sigtools/private/"; + "removetrailzeros" , "toolbox/signal/sigtools/"; + "remstr" , "toolbox/signal/sptoolgui/private/"; + "render_cshelpbtn" , "toolbox/signal/sigtools/"; + "render_gridonoffbtn" , "toolbox/signal/sigtools/"; + "render_hiddenzoombtns" , "toolbox/signal/sigtools/private/"; + "render_legendonoffbtn" , "toolbox/signal/sigtools/"; + "render_spteditmenu" , "toolbox/signal/sigtools/"; + "render_sptfilemenu" , "toolbox/signal/sigtools/"; + "render_spthelpmenu" , "toolbox/signal/sigtools/"; + "render_sptinsertmenu" , "toolbox/signal/sigtools/"; + "render_sptprintbtns" , "toolbox/signal/sigtools/"; + "render_sptscribebtns" , "toolbox/signal/sigtools/"; + "render_spttoolsmenu" , "toolbox/signal/sigtools/"; + "render_sptwindowmenu" , "toolbox/signal/sigtools/"; + "render_statusbar" , "toolbox/signal/sigtools/"; + "render_zoombtns" , "toolbox/signal/sigtools/"; + "render_zoommenus" , "toolbox/signal/sigtools/"; + "reorderstructure" , "toolbox/signal/sigtools/"; + "replace_block" , "toolbox/simulink/simulink/"; + "resample" , "toolbox/signal/signal/"; + "resetPropertyFactoryValue" , "toolbox/shared/dastudio/"; + "reset_target_code_flags" , "toolbox/stateflow/stateflow/private/"; + "resetaxes" , "toolbox/signal/sigtools/private/"; + "reshapemask" , "toolbox/simulink/blocks/"; + "resid" , "toolbox/ident/idobsolete/"; + "residuez" , "toolbox/signal/signal/"; + "resistor" , "toolbox/control/ctrldemos/private/"; + "resizedispatch" , "toolbox/signal/sptoolgui/private/"; + "respdemo" , "toolbox/control/ctrldemos/"; + "restorePrm" , "toolbox/simulink/simulink/private/"; + "restoredefaultpath" , "toolbox/local/"; + "revertit" , "toolbox/simulink/dee/"; + "rfinputs" , "toolbox/control/ctrlguis/"; + "rg" , "toolbox/stateflow/stateflow/private/"; + "rg_dialog" , "toolbox/stateflow/stateflow/private/"; + "rg_nice_shot" , "toolbox/stateflow/stateflow/private/"; + "rg_printbook_cant_handle_chart" , "toolbox/stateflow/stateflow/private/"; + "rgb2gray" , "toolbox/images/images/"; + "rgb2ind" , "toolbox/images/images/"; + "rgb2ntsc" , "toolbox/images/images/"; + "rgb2ycbcr" , "toolbox/images/images/"; + "rguipopts" , "toolbox/control/ctrlguis/"; + "ric" , "toolbox/control/ctrlobsolete/"; + "riccond" , "toolbox/robust/"; + "ridge" , "toolbox/stats/"; + "rk23" , "toolbox/simulink/simulink/"; + "rk45" , "toolbox/simulink/simulink/"; + "rlcdemo" , "toolbox/control/ctrldemos/"; + "rlevinson" , "toolbox/signal/signal/"; + "rlocfind" , "toolbox/control/control/"; + "rloclims" , "toolbox/control/ctrlguis/"; + "rlocmult" , "toolbox/control/ctrlutil/"; + "rlocus" , "toolbox/control/control/"; + "rlsests" , "toolbox/simulink/simdemos/"; + "rlspps" , "toolbox/simulink/simdemos/"; + "rltool" , "toolbox/control/control/"; + "rmdynprop" , "toolbox/signal/sigtools/"; + "rmnk" , "toolbox/ident/idutils/"; + "rmodel" , "toolbox/robust/"; + "rmodel" , "toolbox/control/control/"; + "rmprops" , "toolbox/signal/sigtools/"; + "robustdemo" , "toolbox/stats/"; + "robustfit" , "toolbox/stats/"; + "roe" , "toolbox/ident/ident/"; + "roicolor" , "toolbox/images/images/"; + "roidemo" , "toolbox/images/imdemos/"; + "roifill" , "toolbox/images/images/"; + "roifilt2" , "toolbox/images/images/"; + "roipoly" , "toolbox/images/images/"; + "roipolyold" , "toolbox/images/images/"; + "rootddg" , "toolbox/simulink/simulink/"; + "rooteig" , "toolbox/signal/signal/"; + "rootmusic" , "toolbox/signal/signal/"; + "rootobjectenum" , "toolbox/simulink/simulink/"; + "rotatefactors" , "toolbox/stats/"; + "roundfocus" , "toolbox/ident/idutils/private/"; + "rowexch" , "toolbox/stats/"; + "rpbrk" , "toolbox/splines/"; + "rpem" , "toolbox/ident/ident/"; + "rplr" , "toolbox/ident/ident/"; + "rpmak" , "toolbox/splines/"; + "rsbrk" , "toolbox/splines/"; + "rschur" , "toolbox/robust/"; + "rsigma" , "toolbox/robust/"; + "rsmak" , "toolbox/splines/"; + "rsmdemo" , "toolbox/stats/"; + "rss" , "toolbox/control/control/"; + "rstool" , "toolbox/stats/"; + "rsums" , "toolbox/symbolic/"; + "rsval" , "toolbox/splines/"; + "rtmdlsortflds" , "toolbox/rtw/rtw/"; + "rtslider" , "toolbox/control/ctrldemos/private/"; + "rtw_c" , "toolbox/rtw/rtw/"; + "rtw_cgt_name_conv" , "toolbox/rtw/rtw/"; + "rtw_checkdir" , "toolbox/rtw/rtw/"; + "rtw_copy_file" , "toolbox/rtw/rtw/"; + "rtw_delete_file" , "toolbox/rtw/rtw/"; + "rtw_expand_template" , "toolbox/rtw/rtw/"; + "rtw_expand_template_from_tlc" , "toolbox/rtw/rtw/"; + "rtw_fileparts" , "toolbox/rtw/rtw/"; + "rtw_gen_shared_utils" , "toolbox/rtw/rtw/"; + "rtw_host_implementation_props" , "toolbox/rtw/rtw/"; + "rtw_implementation_props" , "toolbox/rtw/rtw/"; + "rtw_is_hardware_state_unknown" , "toolbox/rtw/rtw/"; + "rtw_mlscript_tlcgen" , "toolbox/rtw/rtw/"; + "rtw_optimization_info" , "toolbox/stateflow/stateflow/private/"; + "rtw_prodhw_get" , "toolbox/rtw/rtw/"; + "rtw_prodhw_sizes" , "toolbox/rtw/rtw/"; + "rtw_rsim_mdlref_compatibility" , "toolbox/rtw/rtw/"; + "rtw_shared_utils_enabled" , "toolbox/stateflow/stateflow/private/"; + "rtw_target_fcn_lib_mgr" , "toolbox/simulink/simulink/"; + "rtw_target_methods" , "toolbox/stateflow/stateflow/private/"; + "rtw_target_props" , "toolbox/stateflow/coder/private/"; + "rtwbuild" , "toolbox/rtw/rtw/"; + "rtwconfiguremodel" , "toolbox/rtw/rtw/"; + "rtwdwork_inspect" , "toolbox/simulink/simdemos/"; + "rtwenvironmentmode" , "toolbox/simulink/simulink/"; + "rtwgen" , "toolbox/rtw/rtw/"; + "rtwgettargetfcnlib" , "toolbox/simulink/simulink/"; + "rtwhostwordlengths" , "toolbox/rtw/rtw/"; + "rtwmaputil" , "toolbox/rtw/rtw/"; + "rtwmath_base_fcn_name_list" , "toolbox/simulink/simulink/"; + "rtwmath_data_type_prop_list" , "toolbox/simulink/simulink/"; + "rtwprivate" , "toolbox/rtw/rtw/"; + "rtwrebuild" , "toolbox/rtw/rtw/"; + "rtwsampleconfig" , "toolbox/rtw/rtw/"; + "rtwwordlengths" , "toolbox/rtw/rtw/"; + "ruldown" , "toolbox/signal/sptoolgui/private/"; + "ruler" , "toolbox/signal/sptoolgui/private/"; + "rulermo" , "toolbox/signal/sptoolgui/private/"; + "rules" , "toolbox/simulink/components/private/"; + "runabs" , "toolbox/simulink/simdemos/automotive/"; + "runfleq1" , "toolbox/optim/"; + "runnls3" , "toolbox/optim/"; + "runqpbox4" , "toolbox/optim/"; + "runqpbox4prec" , "toolbox/optim/"; + "runqpeq5" , "toolbox/optim/"; + "runtracklsq" , "toolbox/optim/"; + "runtrackmm" , "toolbox/optim/"; + "safely_execute_dos_command" , "toolbox/stateflow/stateflow/private/"; + "same" , "toolbox/robust/"; + "sample" , "toolbox/ident/idobsolete/"; + "sample" , "toolbox/ident/idutils/"; + "samplesizedemo" , "toolbox/stats/"; + "sanim" , "toolbox/simulink/simdemos/aerospace/"; + "sanim3dof" , "toolbox/simulink/simdemos/aerospace/"; + "sanity_check_chart_simulink_block" , "toolbox/stateflow/stateflow/private/"; + "saveAndSetPrm" , "toolbox/simulink/simulink/private/"; + "save_system" , "toolbox/simulink/simulink/"; + "sawtooth" , "toolbox/signal/signal/"; + "sbarray" , "toolbox/signal/sptoolgui/private/"; + "sbclose" , "toolbox/signal/sptoolgui/private/"; + "sbcmplx" , "toolbox/signal/sptoolgui/private/"; + "sbhelpstr" , "toolbox/signal/sptoolgui/private/"; + "sbinit" , "toolbox/signal/sptoolgui/private/"; + "sbmotion" , "toolbox/signal/sptoolgui/private/"; + "sbresize" , "toolbox/signal/sptoolgui/private/"; + "sbswitch" , "toolbox/signal/sptoolgui/"; + "sbtitle" , "toolbox/signal/sptoolgui/private/"; + "sbzoom" , "toolbox/signal/sptoolgui/private/"; + "scalevaluefixup" , "toolbox/signal/sigtools/"; + "scalewinfo" , "toolbox/signal/sigdemos/private/"; + "scalewinzo" , "toolbox/signal/sigdemos/private/"; + "scalingfactor" , "toolbox/signal/sigdemos/private/"; + "scatterb" , "toolbox/pde/"; + "scatterg" , "toolbox/pde/"; + "scdtmpini" , "toolbox/slcontrol/slctrldemos/"; + "scdtmpinit" , "toolbox/slcontrol/slctrldemos/"; + "schart" , "toolbox/stats/"; + "schbal" , "toolbox/robust/"; + "schmr" , "toolbox/robust/"; + "schord" , "toolbox/control/ctrlobsolete/"; + "schurrc" , "toolbox/signal/signal/"; + "scopebar" , "toolbox/simulink/simulink/"; + "scopebarsv" , "toolbox/simulink/simulink/"; + "scopezoom" , "toolbox/simulink/simulink/"; + "scpprop" , "toolbox/simulink/simulink/"; + "scppropsv" , "toolbox/simulink/simulink/"; + "searchq" , "toolbox/optim/"; + "sec2tss" , "toolbox/robust/"; + "sectf" , "toolbox/robust/"; + "sectf88" , "toolbox/robust/"; + "segment" , "toolbox/ident/ident/"; + "selstruc" , "toolbox/ident/ident/"; + "semicon" , "toolbox/optim/"; + "seqperiod" , "toolbox/signal/signal/"; + "series" , "toolbox/control/control/"; + "sershbl" , "toolbox/robust/"; + "setActiveConfigSet" , "toolbox/simulink/simulink/"; + "setHardwareDevice" , "toolbox/simulink/simulink/private/"; + "set_eml_script" , "toolbox/simulink/simulink/"; + "set_mask_display" , "toolbox/stateflow/stateflow/private/"; + "set_param" , "toolbox/simulink/simulink/"; + "set_signal_name_for_out_port" , "toolbox/stateflow/stateflow/private/"; + "set_target_code_flags" , "toolbox/stateflow/stateflow/private/"; + "setcoincidentgrid" , "toolbox/signal/sigtools/"; + "setdatamarkers" , "toolbox/signal/sigtools/"; + "setenableprop" , "toolbox/signal/sigtools/"; + "setjavaxtreenode" , "toolbox/simulink/blocks/private/"; + "setjavaxtreenode" , "toolbox/simulink/simulink/private/"; + "setlinio" , "toolbox/slcontrol/slcontrol/"; + "setpname" , "toolbox/ident/idutils/"; + "setrul" , "toolbox/signal/sptoolgui/private/"; + "setrulxdata" , "toolbox/signal/sptoolgui/private/"; + "setsigpref" , "toolbox/signal/sptoolgui/"; + "setslopeline" , "toolbox/signal/sptoolgui/private/"; + "setstructfields" , "toolbox/signal/sigtools/"; + "setsysloc" , "toolbox/simulink/simulink/"; + "sett" , "toolbox/ident/idobsolete/"; + "setup_for_borland" , "toolbox/rtw/rtw/"; + "setup_for_intel" , "toolbox/rtw/rtw/"; + "setup_for_lcc" , "toolbox/rtw/rtw/"; + "setup_for_visual" , "toolbox/rtw/rtw/"; + "setup_for_watcom" , "toolbox/rtw/rtw/"; + "setxu" , "toolbox/slcontrol/slcontrol/"; + "setzoomstate" , "toolbox/signal/sigtools/"; + "sf_add_custom_menu" , "toolbox/stateflow/stateflow/private/"; + "sf_aerodyn" , "toolbox/control/ctrldemos/"; + "sf_bridge_state" , "toolbox/stateflow/sfdemos/"; + "sf_comment" , "toolbox/stateflow/coder/private/"; + "sf_copyobj" , "toolbox/stateflow/stateflow/private/"; + "sf_cruise_button_mgr" , "toolbox/stateflow/sfdemos/"; + "sf_cruise_control_ui" , "toolbox/stateflow/sfdemos/"; + "sf_date_num" , "toolbox/stateflow/stateflow/private/"; + "sf_date_str" , "toolbox/stateflow/stateflow/private/"; + "sf_deal_cards" , "toolbox/stateflow/sfdemos/"; + "sf_debug_exec" , "toolbox/stateflow/stateflow/private/"; + "sf_debug_exit_trap" , "toolbox/stateflow/stateflow/private/"; + "sf_debugger_trap" , "toolbox/stateflow/stateflow/private/"; + "sf_delete_file" , "toolbox/stateflow/stateflow/private/"; + "sf_demo_disclaimer" , "toolbox/stateflow/stateflow/private/"; + "sf_display" , "toolbox/stateflow/stateflow/private/"; + "sf_dos" , "toolbox/stateflow/stateflow/private/"; + "sf_echo_generating" , "toolbox/stateflow/coder/private/"; + "sf_edit_icon" , "toolbox/stateflow/sfdemos/"; + "sf_elevator_gui" , "toolbox/stateflow/sfdemos/"; + "sf_evalin_base" , "toolbox/stateflow/coder/private/"; + "sf_figure" , "toolbox/stateflow/stateflow/private/"; + "sf_force_open_machine" , "toolbox/stateflow/stateflow/private/"; + "sf_get_component_root" , "toolbox/stateflow/stateflow/private/"; + "sf_get_icon_data" , "toolbox/stateflow/stateflow/private/"; + "sf_get_reference_block_name" , "toolbox/stateflow/stateflow/private/"; + "sf_get_schema" , "toolbox/stateflow/stateflow/private/"; + "sf_hg_get" , "toolbox/stateflow/stateflow/private/"; + "sf_hg_set" , "toolbox/stateflow/stateflow/private/"; + "sf_hier_print" , "toolbox/stateflow/stateflow/private/"; + "sf_inhibit_code" , "toolbox/stateflow/sfdemos/"; + "sf_inject_event" , "toolbox/stateflow/sfdemos/"; + "sf_keyboard" , "toolbox/stateflow/stateflow/private/"; + "sf_load_model" , "toolbox/stateflow/stateflow/private/"; + "sf_mandel_gui" , "toolbox/stateflow/sfdemos/"; + "sf_mark_block_as_tainted" , "toolbox/stateflow/stateflow/private/"; + "sf_menu_mode" , "toolbox/stateflow/stateflow/private/"; + "sf_mk_dir" , "toolbox/stateflow/stateflow/private/"; + "sf_profile" , "toolbox/stateflow/stateflow/private/"; + "sf_root" , "toolbox/stateflow/stateflow/private/"; + "sf_rtw" , "toolbox/stateflow/stateflow/private/"; + "sf_rtw" , "toolbox/rtw/rtw/"; + "sf_scalar2str" , "toolbox/stateflow/stateflow/private/"; + "sf_simtime_throttle" , "toolbox/stateflow/sfdemos/"; + "sf_snr_inject_event" , "toolbox/stateflow/stateflow/private/"; + "sf_srch" , "toolbox/stateflow/stateflow/private/"; + "sf_stickslipedit" , "toolbox/stateflow/sfdemos/"; + "sf_tetris_gui" , "toolbox/stateflow/sfdemos/"; + "sf_tictacflow_mex" , "toolbox/stateflow/sfdemos/"; + "sf_tictacflow_simgui" , "toolbox/stateflow/sfdemos/"; + "sf_tictacflowgui" , "toolbox/stateflow/sfdemos/"; + "sf_tmp_undo_marker" , "toolbox/stateflow/stateflow/private/"; + "sf_type_enum_from_name" , "toolbox/stateflow/coder/private/"; + "sf_uicontextmenu" , "toolbox/stateflow/stateflow/private/"; + "sf_uicontrol" , "toolbox/stateflow/stateflow/private/"; + "sf_use_silent_build" , "toolbox/stateflow/stateflow/private/"; + "sfabout" , "toolbox/stateflow/stateflow/private/"; + "sfbcheckports" , "toolbox/simulink/simulink/private/"; + "sfbcheckstates" , "toolbox/simulink/simulink/private/"; + "sfbdroot" , "toolbox/stateflow/stateflow/private/"; + "sfblk" , "toolbox/stateflow/stateflow/private/"; + "sfbuilder_mexbuild" , "toolbox/simulink/simulink/private/"; + "sfc" , "toolbox/stateflow/coder/"; + "sfcall" , "toolbox/stateflow/stateflow/private/"; + "sfclipboard" , "toolbox/stateflow/stateflow/"; + "sfclose" , "toolbox/stateflow/stateflow/"; + "sfcndemo_hg_gui_m" , "toolbox/simulink/simdemos/"; + "sfcndemo_rtwcmd" , "toolbox/simulink/simdemos/"; + "sfcustom" , "toolbox/stateflow/stateflow/private/"; + "sfd" , "toolbox/optim/"; + "sfdbfig" , "toolbox/stateflow/stateflow/private/"; + "sfdebug" , "toolbox/stateflow/stateflow/private/"; + "sfdebug_get_linenum" , "toolbox/stateflow/stateflow/private/"; + "sfdebug_paused" , "toolbox/stateflow/stateflow/private/"; + "sfdebug_using_java" , "toolbox/stateflow/stateflow/private/"; + "sfdebugger" , "toolbox/stateflow/stateflow/"; + "sfdlg" , "toolbox/stateflow/stateflow/private/"; + "sfdnls" , "toolbox/optim/"; + "sfexit" , "toolbox/stateflow/stateflow/"; + "sfexplr" , "toolbox/stateflow/stateflow/"; + "sffind" , "toolbox/stateflow/stateflow/"; + "sfhelp" , "toolbox/stateflow/stateflow/"; + "sfinit" , "toolbox/stateflow/stateflow/private/"; + "sfix" , "toolbox/simulink/fixedandfloat/"; + "sfl" , "toolbox/robust/"; + "sflibrary" , "toolbox/stateflow/stateflow/private/"; + "sfminbx" , "toolbox/optim/"; + "sfminle" , "toolbox/optim/"; + "sfnew" , "toolbox/stateflow/stateflow/"; + "sfopen" , "toolbox/stateflow/stateflow/"; + "sfpcode" , "toolbox/stateflow/stateflow/private/"; + "sfpref" , "toolbox/stateflow/stateflow/"; + "sfprint" , "toolbox/stateflow/stateflow/"; + "sfprivate" , "toolbox/stateflow/stateflow/"; + "sfr" , "toolbox/robust/"; + "sfrac" , "toolbox/simulink/fixedandfloat/"; + "sfreplace" , "toolbox/stateflow/stateflow/"; + "sfroot" , "toolbox/stateflow/stateflow/"; + "sfrtw_compliant" , "toolbox/rtw/rtw/"; + "sfsave" , "toolbox/stateflow/stateflow/"; + "sfsim" , "toolbox/stateflow/stateflow/private/"; + "sfslbridge" , "toolbox/stateflow/stateflow/"; + "sfslfind" , "toolbox/stateflow/stateflow/private/"; + "sfsnr" , "toolbox/stateflow/stateflow/private/"; + "sfsrch" , "toolbox/stateflow/stateflow/private/"; + "sfstyler" , "toolbox/stateflow/stateflow/private/"; + "sftab2chk" , "toolbox/simulink/blocks/"; + "sftiffprintall" , "toolbox/stateflow/stateflow/private/"; + "sfun_bitopcbk" , "toolbox/simulink/blocks/"; + "sfun_target_methods" , "toolbox/stateflow/stateflow/private/"; + "sfun_varargm" , "toolbox/simulink/blocks/"; + "sfunbuilderports" , "toolbox/simulink/simulink/private/"; + "sfuncont" , "toolbox/simulink/blocks/"; + "sfuncorr" , "toolbox/simulink/blocks/"; + "sfunctionwizard" , "toolbox/simulink/simulink/"; + "sfunddg" , "toolbox/simulink/blocks/"; + "sfunddg_cb" , "toolbox/simulink/blocks/"; + "sfunddg_fs" , "toolbox/simulink/blocks/private/"; + "sfundemo_helper" , "toolbox/simulink/simdemos/"; + "sfundemo_maskdisp" , "toolbox/simulink/simdemos/"; + "sfundemo_open" , "toolbox/simulink/simdemos/"; + "sfundemo_openfcn" , "toolbox/simulink/simdemos/"; + "sfundsc1" , "toolbox/simulink/blocks/"; + "sfundsc2" , "toolbox/simulink/blocks/"; + "sfunid" , "toolbox/ident/iddemos/"; + "sfunlin" , "toolbox/simulink/blocks/"; + "sfunmem" , "toolbox/simulink/blocks/"; + "sfunpsd" , "toolbox/simulink/blocks/"; + "sfuntf" , "toolbox/simulink/blocks/"; + "sfuntmpl" , "toolbox/simulink/blocks/"; + "sfunxy" , "toolbox/simulink/blocks/"; + "sfunxys" , "toolbox/simulink/blocks/"; + "sfuny" , "toolbox/simulink/blocks/"; + "sfunyst" , "toolbox/simulink/blocks/"; + "sfversion" , "toolbox/stateflow/stateflow/"; + "sgolay" , "toolbox/signal/signal/"; + "sgolaydemo" , "toolbox/signal/sigdemos/"; + "sgolayfilt" , "toolbox/signal/signal/"; + "sgrid" , "toolbox/control/control/"; + "shiftdata" , "toolbox/signal/signal/"; + "shiftsc" , "toolbox/optim/private/"; + "showblockdatatypetable" , "toolbox/simulink/simdemos/"; + "showrootcs" , "toolbox/simulink/simulink/"; + "shuffle" , "toolbox/stateflow/stateflow/private/"; + "sido2n" , "toolbox/ident/idguis/"; + "sigSpecDataTypeParamCallBackFcn" , "toolbox/simulink/blocks/"; + "sigandscopemgr" , "toolbox/simulink/simulink/"; + "sigbrowse" , "toolbox/signal/sptoolgui/"; + "sigbuilder" , "toolbox/simulink/simulink/"; + "sigbuilder_beveled_frame" , "toolbox/simulink/simulink/private/"; + "sigbuilder_block" , "toolbox/simulink/simulink/"; + "sigbuilder_makemenu" , "toolbox/simulink/simulink/private/"; + "sigbuilder_modal_edit_dialog" , "toolbox/simulink/simulink/private/"; + "sigbuilder_tabselector" , "toolbox/simulink/simulink/"; + "sigcombobox" , "toolbox/signal/sigtools/"; + "sigdemo1" , "toolbox/signal/sigdemos/"; + "sigdemo2" , "toolbox/signal/sigdemos/"; + "siggetappdata" , "toolbox/signal/sigtools/"; + "sigisappdata" , "toolbox/signal/sigtools/"; + "siglogdialog" , "toolbox/simulink/simulink/"; + "sigma" , "toolbox/control/control/"; + "sigmpoles" , "toolbox/signal/sigtools/"; + "signalbuilder" , "toolbox/simulink/simulink/"; + "signalpolyutils" , "toolbox/signal/signal/"; + "signalselector" , "toolbox/simulink/simulink/"; + "signrank" , "toolbox/stats/"; + "signtest" , "toolbox/stats/"; + "sigprivate" , "toolbox/signal/signal/"; + "sigpropddg" , "toolbox/simulink/simulink/"; + "sigrmappdata" , "toolbox/signal/sigtools/"; + "sigsetappdata" , "toolbox/signal/sigtools/"; + "sigspecmask" , "toolbox/simulink/blocks/"; + "silhouette" , "toolbox/stats/"; + "sim" , "toolbox/simulink/simulink/"; + "sim_open_sys" , "toolbox/stateflow/stateflow/private/"; + "simbrowse" , "toolbox/simulink/simulink/"; + "simcad" , "toolbox/simulink/simdemos/"; + "simclock" , "toolbox/simulink/simulink/"; + "simcnstr" , "toolbox/simulink/simulink/"; + "simcontdesigner" , "toolbox/slcontrol/slctrlguis/"; + "simget" , "toolbox/simulink/simulink/"; + "simintro" , "toolbox/simulink/simdemos/"; + "simlp" , "toolbox/simulink/simulink/"; + "simmenu" , "toolbox/simulink/simulink/private/"; + "simom" , "toolbox/simulink/blocks/"; + "simom2" , "toolbox/simulink/blocks/"; + "simplex" , "toolbox/optim/private/"; + "simplexphaseone" , "toolbox/optim/private/"; + "simplexphasetwo" , "toolbox/optim/private/"; + "simplexpiecewise" , "toolbox/optim/private/"; + "simplexpostsolve" , "toolbox/optim/private/"; + "simplexpresolve" , "toolbox/optim/private/"; + "simplot" , "toolbox/simulink/simulink/"; + "simprintdlg" , "toolbox/simulink/simulink/"; + "simprintlog" , "toolbox/simulink/simulink/"; + "simprm" , "toolbox/simulink/simulink/"; + "simprmDlgCloseCallback" , "toolbox/simulink/simulink/private/"; + "simprmfield2prmmap" , "toolbox/simulink/simulink/"; + "simprmtagmap" , "toolbox/simulink/simulink/"; + "simscope" , "toolbox/simulink/simulink/"; + "simscopesv" , "toolbox/simulink/simulink/"; + "simset" , "toolbox/simulink/simulink/"; + "simsizes" , "toolbox/simulink/simulink/"; + "simulink" , "toolbox/simulink/blocks/"; + "simulinkrc" , "toolbox/local/"; + "simver" , "toolbox/simulink/simulink/"; + "sinc" , "toolbox/signal/signal/"; + "sinint" , "toolbox/symbolic/"; + "sint" , "toolbox/simulink/fixedandfloat/"; + "sisotool" , "toolbox/control/control/"; + "sizedat" , "toolbox/ident/idutils/"; + "skewness" , "toolbox/stats/"; + "skipdata" , "toolbox/robust/"; + "sl" , "toolbox/simulink/simulink/"; + "slCfgPrmDlg" , "toolbox/simulink/simulink/"; + "slCharacterEncoding" , "toolbox/simulink/simulink/"; + "slDDGUtil" , "toolbox/simulink/simulink/"; + "slDialogUtil" , "toolbox/simulink/simulink/"; + "slResolve" , "toolbox/simulink/simulink/"; + "sl_convert_to_model_reference" , "toolbox/simulink/simulink/"; + "sl_disp_info" , "toolbox/simulink/simulink/private/"; + "sl_file_is_newer" , "toolbox/simulink/simulink/private/"; + "sl_get_dialog_schema" , "toolbox/simulink/simulink/"; + "sl_get_file_date" , "toolbox/simulink/simulink/private/"; + "sl_open" , "toolbox/stateflow/stateflow/private/"; + "sl_snr_inject_event" , "toolbox/shared/dastudio/"; + "sl_type_enum_from_name" , "toolbox/stateflow/coder/private/"; + "sl_unified_lookup2d_dialog" , "toolbox/simulink/blocks/"; + "slblkpropdlg" , "toolbox/simulink/simulink/"; + "slblks" , "toolbox/simulink/blocks/"; + "slblocks" , "toolbox/slcontrol/slctrlutil/"; + "slblocks" , "toolbox/control/control/"; + "slblocks" , "toolbox/rtw/rtw/"; + "slblocks" , "toolbox/sloptim/sloptim/"; + "slblocks" , "toolbox/stateflow/stateflow/"; + "slblocks" , "toolbox/ident/ident/"; + "slblocks" , "toolbox/simulink/blocks/"; + "slbuild" , "toolbox/simulink/simulink/"; + "slchangelog" , "toolbox/simulink/simulink/"; + "slcheckprelookups" , "toolbox/simulink/simdemos/simfeatures/"; + "slcm" , "toolbox/simulink/simulink/"; + "slctrlexplorer" , "toolbox/shared/slcontrollib/"; + "sldatastoredlg" , "toolbox/simulink/blocks/"; + "sldebug" , "toolbox/simulink/simulink/"; + "sldebugui" , "toolbox/simulink/simulink/"; + "sldemo_bpcheck_script" , "toolbox/simulink/simdemos/simfeatures/"; + "sldemo_create_tc_blocks_data" , "toolbox/simulink/simdemos/simfeatures/"; + "sldemo_create_tc_tabledata" , "toolbox/simulink/simdemos/simfeatures/"; + "sldemo_luteditor_script" , "toolbox/simulink/simdemos/simfeatures/"; + "sldemo_prelookup_script" , "toolbox/simulink/simdemos/simfeatures/"; + "sldemo_sweeptable_thd" , "toolbox/simulink/simdemos/simfeatures/"; + "sldemo_tableplot_comet" , "toolbox/simulink/simdemos/simfeatures/"; + "sldemo_wavethd_script" , "toolbox/simulink/simdemos/simfeatures/"; + "sldiagnostics" , "toolbox/simulink/simulink/"; + "sldiscmdl" , "toolbox/simulink/components/"; + "sldiscutil" , "toolbox/simulink/components/"; + "sldrop" , "toolbox/simulink/simulink/private/"; + "sldsmemdlg" , "toolbox/simulink/blocks/"; + "slexist" , "toolbox/simulink/simulink/"; + "slexplr" , "toolbox/simulink/simulink/"; + "slfind" , "toolbox/simulink/simulink/"; + "slfromdlg" , "toolbox/simulink/blocks/"; + "slgetcompilerinfo" , "toolbox/simulink/simulink/private/"; + "slgotodlg" , "toolbox/simulink/blocks/"; + "slhelp" , "toolbox/simulink/simulink/"; + "slideg" , "toolbox/simulink/simulink/"; + "slidentinit" , "toolbox/ident/ident/"; + "slidentinit" , "toolbox/ident/idutils/"; + "slight" , "toolbox/simulink/simdemos/simgeneral/"; + "slinstallprefs" , "toolbox/simulink/simulink/"; + "sllastdiagnostic" , "toolbox/simulink/simulink/"; + "sllasterror" , "toolbox/simulink/simulink/"; + "sllastwarning" , "toolbox/simulink/simulink/"; + "slloadpmmenuitems" , "toolbox/simulink/simulink/"; + "sllsbox" , "toolbox/optim/private/"; + "slmaskprmdispcntrl" , "toolbox/simulink/simulink/"; + "slmdldisc" , "toolbox/simulink/components/"; + "slmdldiscui" , "toolbox/simulink/components/"; + "slmodelprop" , "toolbox/simulink/simulink/"; + "slmodelpropj" , "toolbox/simulink/simulink/"; + "slowfast" , "toolbox/robust/"; + "slpmloadfunction" , "toolbox/simulink/simulink/private/"; + "slprivate" , "toolbox/simulink/simulink/"; + "slproductinstalled" , "toolbox/simulink/simulink/"; + "slprofile_hilite_system" , "toolbox/simulink/simulink/"; + "slprofile_unhilite_system" , "toolbox/simulink/simulink/"; + "slprofreport" , "toolbox/simulink/simulink/"; + "slprophelp" , "toolbox/simulink/simulink/"; + "slreplace" , "toolbox/shared/dastudio/"; + "slresolveporthandle" , "toolbox/simulink/simulink/"; + "slroot" , "toolbox/simulink/simulink/"; + "slsaveas" , "toolbox/simulink/simulink/"; + "slsaveassup" , "toolbox/simulink/simulink/"; + "slsf" , "toolbox/stateflow/stateflow/private/"; + "slsfnagctlr" , "toolbox/simulink/simulink/"; + "slsigpropdlg" , "toolbox/simulink/simulink/"; + "slsnr" , "toolbox/shared/dastudio/"; + "sltbldesigner" , "toolbox/simulink/blocks/"; + "sltbledit" , "toolbox/simulink/blocks/"; + "sltipalert" , "toolbox/simulink/simulink/"; + "sltranslate" , "toolbox/simulink/simulink/"; + "sltrdemo" , "toolbox/robust/"; + "sluigeom" , "toolbox/simulink/simulink/"; + "sluiutil" , "toolbox/simulink/simulink/"; + "slupdate" , "toolbox/simulink/simulink/"; + "slvblk" , "toolbox/splines/"; + "slview" , "toolbox/control/control/"; + "slwsprmattrib" , "toolbox/simulink/simulink/"; + "smreal" , "toolbox/control/ctrlutil/"; + "snls" , "toolbox/optim/private/"; + "solve" , "toolbox/symbolic/"; + "sort_exported_fcns_info" , "toolbox/stateflow/stateflow/private/"; + "sorted" , "toolbox/splines/"; + "sos2cell" , "toolbox/signal/signal/"; + "sos2ss" , "toolbox/signal/signal/"; + "sos2tf" , "toolbox/signal/signal/"; + "sos2zp" , "toolbox/signal/signal/"; + "sosdemo" , "toolbox/signal/sigdemos/"; + "sosfilt" , "toolbox/signal/signal/"; + "sp2bb" , "toolbox/splines/"; + "sp2pp" , "toolbox/splines/"; + "spa" , "toolbox/ident/ident/"; + "spafdr" , "toolbox/ident/ident/"; + "spalldem" , "toolbox/splines/"; + "spap2" , "toolbox/splines/"; + "spapi" , "toolbox/splines/"; + "spapidem" , "toolbox/splines/"; + "spaps" , "toolbox/splines/"; + "spbrk" , "toolbox/splines/"; + "spchart" , "toolbox/control/ctrlguis/"; + "spcol" , "toolbox/splines/"; + "spcrv" , "toolbox/splines/"; + "spcrvdem" , "toolbox/splines/"; + "spdialog" , "toolbox/simulink/simulink/"; + "specgram" , "toolbox/signal/signal/"; + "specgramdemo" , "toolbox/signal/sigdemos/"; + "specplot" , "toolbox/signal/signal/"; + "spectralanalysisobjsdemo" , "toolbox/signal/sigdemos/"; + "spectrum" , "toolbox/signal/signal/"; + "spectview" , "toolbox/signal/sptoolgui/"; + "speditline" , "toolbox/signal/sptoolgui/private/"; + "sphelpstr" , "toolbox/signal/sptoolgui/private/"; + "spinit" , "toolbox/signal/sptoolgui/private/"; + "spldems" , "toolbox/splines/"; + "splexmpl" , "toolbox/splines/"; + "splinetool" , "toolbox/splines/"; + "splitText" , "toolbox/simulink/simulink/private/"; + "splpp" , "toolbox/splines/"; + "spmak" , "toolbox/splines/"; + "spmethp" , "toolbox/signal/sptoolgui/private/"; + "spmotion" , "toolbox/signal/sptoolgui/private/"; + "spresize" , "toolbox/signal/sptoolgui/private/"; + "sprfn" , "toolbox/splines/"; + "spriorityfcn" , "toolbox/simulink/simdemos/simfeatures/"; + "sprpp" , "toolbox/splines/"; + "sptarn" , "toolbox/pde/"; + "sptcompp" , "toolbox/signal/sptoolgui/private/"; + "spterms" , "toolbox/splines/"; + "sptexport" , "toolbox/signal/sptoolgui/private/"; + "sptfileheader" , "toolbox/signal/sigtools/"; + "spthelp" , "toolbox/signal/sptoolgui/private/"; + "spthelpstr" , "toolbox/signal/sptoolgui/private/"; + "sptimport" , "toolbox/signal/sptoolgui/private/"; + "sptlegend" , "toolbox/signal/sptoolgui/private/"; + "sptlinetip" , "toolbox/signal/sigtools/"; + "sptool" , "toolbox/signal/sptoolgui/"; + "sptool_helpmenu" , "toolbox/signal/sptoolgui/private/"; + "sptprefp" , "toolbox/signal/sptoolgui/private/"; + "sptprefs" , "toolbox/signal/sptoolgui/private/"; + "sptrmcharsfromcell" , "toolbox/signal/sigtools/"; + "sptsizes" , "toolbox/signal/sptoolgui/private/"; + "spval" , "toolbox/splines/"; + "spzoom" , "toolbox/signal/sptoolgui/private/"; + "sqpbox" , "toolbox/optim/private/"; + "sqpmin" , "toolbox/optim/private/"; + "sqrmtx" , "toolbox/robust/"; + "square" , "toolbox/signal/signal/"; + "squareb1" , "toolbox/pde/"; + "squareb2" , "toolbox/pde/"; + "squareb3" , "toolbox/pde/"; + "squareb4" , "toolbox/pde/"; + "squareb5" , "toolbox/pde/"; + "squareform" , "toolbox/stats/"; + "squareg" , "toolbox/pde/"; + "sroproject" , "toolbox/sloptim/sloptim/"; + "srotut1_dat" , "toolbox/sloptim/sloptdemos/"; + "ss2sos" , "toolbox/signal/signal/"; + "ss2ss" , "toolbox/control/control/"; + "ss2th" , "toolbox/ident/idobsolete/"; + "ssdelete" , "toolbox/control/ctrlobsolete/"; + "ssfreqresp" , "toolbox/ident/idutils/"; + "ssfrupd" , "toolbox/ident/idutils/private/"; + "ssinthd" , "toolbox/simulink/simdemos/simfeatures/"; + "ssinv" , "toolbox/robust/"; + "ssmodxx" , "toolbox/ident/idutils/"; + "ssops" , "toolbox/control/ctrlutil/"; + "ssselect" , "toolbox/control/ctrlobsolete/"; + "ssssaux" , "toolbox/ident/idutils/"; + "ssv" , "toolbox/robust/"; + "stabproj" , "toolbox/robust/"; + "start_simulation" , "toolbox/stateflow/stateflow/private/"; + "startupdlg" , "toolbox/control/ctrlguis/"; + "startupsav" , "toolbox/local/"; + "startx" , "toolbox/shared/optimlib/"; + "statchol" , "toolbox/stats/private/"; + "statctexact" , "toolbox/stats/private/"; + "statdisptable" , "toolbox/stats/"; + "state2html" , "toolbox/stateflow/stateflow/private/"; + "state_print_fig" , "toolbox/stateflow/stateflow/private/"; + "stateddg" , "toolbox/stateflow/stateflow/private/"; + "statedlg" , "toolbox/stateflow/stateflow/private/"; + "stateflow" , "toolbox/stateflow/stateflow/"; + "statepropdialog" , "toolbox/simulink/simulink/"; + "statget" , "toolbox/stats/"; + "statgetargs" , "toolbox/stats/private/"; + "statgetargsuser" , "toolbox/stats/private/"; + "statgetcolor" , "toolbox/stats/private/"; + "statglmeval" , "toolbox/stats/private/"; + "staticres" , "toolbox/signal/sigtools/"; + "staticrespengine" , "toolbox/signal/sigtools/"; + "statinsertnan" , "toolbox/stats/private/"; + "statremovenan" , "toolbox/stats/private/"; + "statrobustfit" , "toolbox/stats/private/"; + "statset" , "toolbox/stats/"; + "statsfminbx" , "toolbox/stats/private/"; + "statsizechk" , "toolbox/stats/private/"; + "statsrexact" , "toolbox/stats/private/"; + "stattestlink" , "toolbox/stats/private/"; + "stbrk" , "toolbox/splines/"; + "stcol" , "toolbox/splines/"; + "std2" , "toolbox/images/images/"; + "stdrcdf" , "toolbox/stats/private/"; + "stdrinv" , "toolbox/stats/private/"; + "stealparameter" , "toolbox/simulink/fixedandfloat/"; + "step" , "toolbox/control/control/"; + "stepfun" , "toolbox/control/ctrlobsolete/"; + "stepwise" , "toolbox/stats/"; + "stepwisefit" , "toolbox/stats/"; + "stepz" , "toolbox/signal/signal/"; + "stf2target" , "toolbox/rtw/rtw/"; + "stf2tc" , "toolbox/shared/dastudio/"; + "stf4target" , "toolbox/rtw/rtw/"; + "stfInitTarget" , "toolbox/rtw/rtw/"; + "stfTargetDlgCallback" , "toolbox/simulink/simulink/private/"; + "stftarget_fillstring" , "toolbox/rtw/rtw/"; + "stmak" , "toolbox/splines/"; + "stmcb" , "toolbox/signal/signal/"; + "stop_simulation" , "toolbox/stateflow/stateflow/private/"; + "stowe_away_tlc_logs_for_testing" , "toolbox/rtw/rtw/"; + "stradd" , "toolbox/stateflow/stateflow/private/"; + "strcat_with_separator" , "toolbox/simulink/simulink/private/"; + "strelcheck" , "toolbox/images/images/private/"; + "stretchlim" , "toolbox/images/images/"; + "strip_path_from_name" , "toolbox/stateflow/stateflow/private/"; + "strip_trailing_new_lines" , "toolbox/stateflow/coder/private/"; + "strips" , "toolbox/signal/signal/"; + "strlen" , "toolbox/stateflow/stateflow/private/"; + "strlines" , "toolbox/stateflow/stateflow/private/"; + "strlong" , "toolbox/stateflow/stateflow/private/"; + "strrows" , "toolbox/stateflow/stateflow/private/"; + "struc" , "toolbox/ident/ident/"; + "struct2array" , "toolbox/signal/sigtools/"; + "structelementddg" , "toolbox/simulink/simulink/"; + "structtypeddg" , "toolbox/simulink/simulink/"; + "strwrite" , "toolbox/stateflow/stateflow/private/"; + "stval" , "toolbox/splines/"; + "subaxes" , "toolbox/control/ctrlobsolete/"; + "subimage" , "toolbox/images/images/"; + "subplus" , "toolbox/splines/"; + "subs" , "toolbox/symbolic/"; + "subsystem_configuration" , "toolbox/simulink/simulink/"; + "subsystem_configuration_blkinit" , "toolbox/simulink/simulink/"; + "subsystem_to_model_reference" , "toolbox/simulink/simulink/private/"; + "sum4vms" , "toolbox/ident/idutils/"; + "sumblock" , "toolbox/control/ctrldemos/private/"; + "sumboard" , "toolbox/ident/idguis/"; + "super_checker" , "toolbox/stateflow/stateflow/private/"; + "surfht" , "toolbox/stats/"; + "survivaldemo" , "toolbox/stats/"; + "suspdat" , "toolbox/simulink/simdemos/automotive/"; + "suspgrph" , "toolbox/simulink/simdemos/automotive/"; + "svburg" , "toolbox/signal/sptoolgui/private/"; + "svcov" , "toolbox/signal/sptoolgui/private/"; + "svextrap" , "toolbox/signal/sptoolgui/private/"; + "svfft" , "toolbox/signal/sptoolgui/private/"; + "sviewer" , "toolbox/simulink/simulink/"; + "svmcov" , "toolbox/signal/sptoolgui/private/"; + "svmtm" , "toolbox/signal/sptoolgui/private/"; + "svmusic" , "toolbox/signal/sptoolgui/private/"; + "svwelch" , "toolbox/signal/sptoolgui/private/"; + "svyulear" , "toolbox/signal/sptoolgui/private/"; + "symbol_wiz" , "toolbox/stateflow/stateflow/private/"; + "symcalcdemo" , "toolbox/symbolic/"; + "symdemos" , "toolbox/symbolic/"; + "symeqndemo" , "toolbox/symbolic/"; + "symintro" , "toolbox/symbolic/"; + "symlindemo" , "toolbox/symbolic/"; + "symrotdemo" , "toolbox/symbolic/"; + "syms" , "toolbox/symbolic/"; + "symvpademo" , "toolbox/symbolic/"; + "syncDlgStopTimes" , "toolbox/simulink/simulink/"; + "sync_target" , "toolbox/stateflow/stateflow/private/"; + "sys2ss" , "toolbox/robust/"; + "sysardec" , "toolbox/ident/idutils/"; + "sysblock" , "toolbox/control/ctrldemos/private/"; + "sysdemo" , "toolbox/robust/"; + "sysirdec" , "toolbox/ident/idutils/"; + "sysmatrix" , "toolbox/signal/sigtools/"; + "tabulate" , "toolbox/stats/"; + "tagdialog" , "toolbox/simulink/simulink/"; + "target_code_flags" , "toolbox/stateflow/stateflow/private/"; + "target_methods" , "toolbox/stateflow/stateflow/private/"; + "target_name_change" , "toolbox/stateflow/stateflow/private/"; + "target_opts_ddg" , "toolbox/stateflow/stateflow/private/"; + "targetddg" , "toolbox/stateflow/stateflow/private/"; + "targetddg_btn_coder_cb" , "toolbox/stateflow/stateflow/private/"; + "targetddg_btn_target_cb" , "toolbox/stateflow/stateflow/private/"; + "targetddg_preapply_callback" , "toolbox/stateflow/stateflow/private/"; + "targetddg_preclose_callback" , "toolbox/stateflow/stateflow/private/"; + "targetdevicetypechanged" , "toolbox/simulink/simulink/"; + "targetdlg" , "toolbox/stateflow/stateflow/private/"; + "targetman" , "toolbox/stateflow/stateflow/private/"; + "taylortool" , "toolbox/symbolic/"; + "tbfillblanks" , "toolbox/signal/sptoolgui/private/"; + "tblpresrc" , "toolbox/simulink/simulink/private/"; + "tblread" , "toolbox/stats/"; + "tblwrite" , "toolbox/stats/"; + "tbroyfg" , "toolbox/optim/"; + "tcdf" , "toolbox/stats/"; + "tchop" , "toolbox/control/ctrlutil/"; + "tdfread" , "toolbox/stats/"; + "tdfthru" , "toolbox/control/ctrlutil/"; + "ted_the_editors" , "toolbox/stateflow/stateflow/private/"; + "termcross" , "toolbox/stats/private/"; + "test_points_in" , "toolbox/stateflow/stateflow/private/"; + "testing_stateflow_in_bat" , "toolbox/stateflow/stateflow/private/"; + "tf2latc" , "toolbox/signal/signal/"; + "tf2sos" , "toolbox/signal/signal/"; + "tf2zpk" , "toolbox/signal/signal/"; + "tfe" , "toolbox/signal/signal/"; + "tfestimate" , "toolbox/signal/signal/"; + "tffunc" , "toolbox/signal/sigdemos/"; + "tfm2ss" , "toolbox/robust/"; + "tform" , "toolbox/images/images/private/"; + "tformarray" , "toolbox/images/images/"; + "tformfwd" , "toolbox/images/images/"; + "tforminv" , "toolbox/images/images/"; + "th2arx" , "toolbox/ident/idobsolete/"; + "th2ff" , "toolbox/ident/idobsolete/"; + "th2ido" , "toolbox/ident/idobsolete/"; + "th2par" , "toolbox/ident/idobsolete/"; + "th2poly" , "toolbox/ident/idobsolete/"; + "th2ss" , "toolbox/ident/idobsolete/"; + "th2tf" , "toolbox/ident/idobsolete/"; + "th2zp" , "toolbox/ident/idobsolete/"; + "thc2thd" , "toolbox/ident/idobsolete/"; + "thd2thc" , "toolbox/ident/idobsolete/"; + "thermdat" , "toolbox/simulink/simdemos/simgeneral/"; + "thinit" , "toolbox/ident/idobsolete/"; + "this_is_an_sflink" , "toolbox/stateflow/stateflow/private/"; + "thss2th" , "toolbox/ident/idobsolete/"; + "tiedrank" , "toolbox/stats/"; + "timestwo" , "toolbox/simulink/blocks/"; + "timezparse" , "toolbox/signal/signal/"; + "timezplot" , "toolbox/signal/signal/private/"; + "timscale" , "toolbox/ident/idutils/private/"; + "timvec" , "toolbox/control/ctrlobsolete/"; + "tinv" , "toolbox/stats/"; + "titanium" , "toolbox/splines/"; + "title4ax" , "toolbox/signal/sigtools/"; + "tlc" , "toolbox/rtw/rtw/"; + "tlc2m" , "toolbox/rtw/rtw/"; + "tlc_c" , "toolbox/rtw/rtw/"; + "tlcsetup" , "toolbox/rtw/rtw/"; + "toast" , "toolbox/simulink/dee/"; + "toiletgui" , "toolbox/simulink/simdemos/simgeneral/"; + "toiletsfun" , "toolbox/simulink/simdemos/simgeneral/"; + "tokenize" , "toolbox/stateflow/stateflow/private/"; + "tokenize" , "toolbox/images/images/private/"; + "too_many_editors" , "toolbox/stateflow/stateflow/private/"; + "toolbox_path_cache" , "toolbox/local/"; + "topicshow" , "toolbox/control/ctrldemos/private/"; + "tornado_callback_handler" , "toolbox/rtw/rtw/"; + "tpaps" , "toolbox/splines/"; + "tpdf" , "toolbox/stats/"; + "transddg" , "toolbox/stateflow/stateflow/private/"; + "transdlg" , "toolbox/stateflow/stateflow/private/"; + "transf" , "toolbox/ident/idutils/"; + "translate_io_size_mismatch_error" , "toolbox/stateflow/stateflow/private/"; + "trdg" , "toolbox/optim/private/"; + "trdog" , "toolbox/optim/private/"; + "tree" , "toolbox/robust/"; + "treedisp" , "toolbox/stats/"; + "treefit" , "toolbox/stats/"; + "treeprune" , "toolbox/stats/"; + "treetest" , "toolbox/stats/"; + "treeval" , "toolbox/stats/"; + "treeview" , "toolbox/simulink/simulink/"; + "trf" , "toolbox/ident/idobsolete/"; + "tri2grid" , "toolbox/pde/"; + "triang" , "toolbox/signal/signal/"; + "tridieig" , "toolbox/signal/signal/private/"; + "tridisolve" , "toolbox/signal/signal/private/"; + "trim" , "toolbox/simulink/simulink/"; + "trimfcn" , "toolbox/simulink/simulink/"; + "trimmean" , "toolbox/stats/"; + "tripuls" , "toolbox/signal/signal/"; + "trnd" , "toolbox/stats/"; + "truesize" , "toolbox/images/images/"; + "trust" , "toolbox/optim/private/"; + "trustnleqn" , "toolbox/optim/private/"; + "truth_table_handle_man" , "toolbox/stateflow/stateflow/private/"; + "truth_table_man" , "toolbox/stateflow/stateflow/private/"; + "truth_tables_in" , "toolbox/stateflow/stateflow/private/"; + "try_indenting_file" , "toolbox/stateflow/coder/private/"; + "tsAlignSizes" , "toolbox/shared/timeseries/"; + "tsChkTime" , "toolbox/shared/timeseries/"; + "tsIsDateFormat" , "toolbox/shared/timeseries/"; + "tsParseInputs" , "toolbox/shared/timeseries/"; + "tsarrayFcn" , "toolbox/shared/timeseries/"; + "tsdateinterval" , "toolbox/shared/timeseries/"; + "tsinterp" , "toolbox/shared/timeseries/"; + "tspdem" , "toolbox/splines/"; + "tss" , "toolbox/robust/private/"; + "tssdata" , "toolbox/robust/private/"; + "tssorttime" , "toolbox/shared/timeseries/"; + "tstat" , "toolbox/stats/"; + "tsunitconv" , "toolbox/shared/timeseries/"; + "tt_check_specification" , "toolbox/stateflow/stateflow/private/"; + "ttest" , "toolbox/stats/"; + "ttest2" , "toolbox/stats/"; + "tukeywin" , "toolbox/signal/signal/"; + "tunable_param_dlg" , "toolbox/simulink/simulink/"; + "tunablevars2parameterobjects" , "toolbox/simulink/simulink/"; + "tutdemo" , "toolbox/optim/"; + "type2pp" , "toolbox/ident/idutils/"; + "tzero2" , "toolbox/control/ctrlobsolete/"; + "udd_property_help" , "toolbox/stateflow/stateflow/private/"; + "uddpvparse" , "toolbox/signal/sigtools/"; + "udecode" , "toolbox/signal/signal/"; + "uencode" , "toolbox/signal/signal/"; + "ufix" , "toolbox/simulink/fixedandfloat/"; + "ufrac" , "toolbox/simulink/fixedandfloat/"; + "uget_param" , "toolbox/simulink/simulink/"; + "uint" , "toolbox/simulink/fixedandfloat/"; + "uintlut" , "toolbox/images/images/"; + "unencrypted_charts_in" , "toolbox/stateflow/stateflow/private/"; + "unfixpar" , "toolbox/ident/idobsolete/"; + "unidcdf" , "toolbox/stats/"; + "unidinv" , "toolbox/stats/"; + "unidpdf" , "toolbox/stats/"; + "unidrnd" , "toolbox/stats/"; + "unidstat" , "toolbox/stats/"; + "unifcdf" , "toolbox/stats/"; + "unifinv" , "toolbox/stats/"; + "unifit" , "toolbox/stats/"; + "unifpdf" , "toolbox/stats/"; + "unifrnd" , "toolbox/stats/"; + "unifstat" , "toolbox/stats/"; + "uniqlabel" , "toolbox/signal/sptoolgui/private/"; + "uniqname" , "toolbox/control/ctrlguis/"; + "unique_name_for_list" , "toolbox/stateflow/stateflow/private/"; + "unitconv" , "toolbox/control/ctrlguis/"; + "unpack_machine_id" , "toolbox/stateflow/stateflow/private/"; + "unshiftdata" , "toolbox/signal/signal/"; + "unshsca" , "toolbox/optim/private/"; + "unstkc" , "toolbox/robust/"; + "unstkr" , "toolbox/robust/"; + "update_assert_sys" , "toolbox/simulink/blocks/"; + "update_eml_data" , "toolbox/stateflow/stateflow/private/"; + "update_exported_fcn_info" , "toolbox/stateflow/stateflow/private/"; + "update_fvtool" , "toolbox/signal/sptoolgui/private/"; + "update_library_link_charts_for_rtw" , "toolbox/stateflow/stateflow/private/"; + "update_model_reference_targets" , "toolbox/simulink/simulink/private/"; + "update_params_on_instances" , "toolbox/stateflow/stateflow/private/"; + "update_rtb" , "toolbox/simulink/blocks/"; + "update_statusbar" , "toolbox/signal/sigtools/"; + "update_toolbox_cache" , "toolbox/local/"; + "update_truth_table_for_fcn" , "toolbox/stateflow/stateflow/private/"; + "update_truth_tables" , "toolbox/stateflow/stateflow/private/"; + "update_truthtable_data" , "toolbox/stateflow/stateflow/private/"; + "updatewarn" , "toolbox/control/ctrlutil/"; + "updownsample" , "toolbox/signal/signal/private/"; + "upfind" , "toolbox/stateflow/stateflow/private/"; + "upfirdn" , "toolbox/signal/signal/"; + "upsample" , "toolbox/signal/signal/"; + "upvpl2xyz" , "toolbox/images/images/private/"; + "userpath" , "toolbox/local/"; + "uset_param" , "toolbox/simulink/simulink/"; + "utAssignParams" , "toolbox/sloptim/sloptguis/"; + "utEvalModelVar" , "toolbox/sloptim/sloptguis/"; + "utEvalParams" , "toolbox/sloptim/sloptguis/"; + "utFindLog" , "toolbox/sloptim/sloptim/"; + "utFindParams" , "toolbox/sloptim/sloptguis/"; + "utFindProject" , "toolbox/sloptim/sloptguis/"; + "utGetLastError" , "toolbox/sloptim/sloptguis/"; + "utGetLogData" , "toolbox/sloptim/sloptim/"; + "utGetSimInterval" , "toolbox/sloptim/sloptguis/"; + "utLoadProject" , "toolbox/sloptim/sloptguis/"; + "utSROCopyFcn" , "toolbox/sloptim/sloptguis/"; + "utgetaxes" , "toolbox/shared/timeseries/"; + "uvl2xyz" , "toolbox/images/images/private/"; + "v2sort" , "toolbox/shared/optimlib/"; + "validarg" , "toolbox/signal/sptoolgui/private/"; + "valve" , "toolbox/control/ctrldemos/private/"; + "vco" , "toolbox/signal/signal/"; + "vdlmintm" , "toolbox/simulink/blocks/"; + "vdpdemo" , "toolbox/simulink/simdemos/simgeneral/"; + "vdpm" , "toolbox/simulink/blocks/"; + "version" , "toolbox/local/"; + "vhdlplugin" , "toolbox/signal/sigtools/"; + "view_mdlrefs" , "toolbox/simulink/simulink/"; + "viewimportfcn" , "toolbox/control/ctrlguis/"; + "viewlinkdata" , "toolbox/simulink/simulink/"; + "vlimintm" , "toolbox/simulink/blocks/"; + "vpa" , "toolbox/symbolic/"; + "vratio" , "toolbox/signal/signal/"; + "vrsys" , "toolbox/robust/"; + "vset" , "toolbox/stateflow/stateflow/private/"; + "vsfunc" , "toolbox/simulink/blocks/"; + "waitbar" , "toolbox/stateflow/stateflow/private/"; + "walk" , "toolbox/stateflow/stateflow/private/"; + "warp" , "toolbox/images/images/"; + "watchsigsdlg" , "toolbox/simulink/simulink/"; + "watershed" , "toolbox/images/images/"; + "watertankdat" , "toolbox/slcontrol/slctrldemos/"; + "waveformdemo" , "toolbox/signal/sigdemos/"; + "wblcdf" , "toolbox/stats/"; + "wblfit" , "toolbox/stats/"; + "wblinv" , "toolbox/stats/"; + "wbllike" , "toolbox/stats/"; + "wblpdf" , "toolbox/stats/"; + "wblplot" , "toolbox/stats/"; + "wblrnd" , "toolbox/stats/"; + "wblstat" , "toolbox/stats/"; + "wbound" , "toolbox/pde/"; + "weibcdf" , "toolbox/stats/"; + "weibfit" , "toolbox/stats/"; + "weibinv" , "toolbox/stats/"; + "weiblike" , "toolbox/stats/"; + "weibpdf" , "toolbox/stats/"; + "weibplot" , "toolbox/stats/"; + "weibrnd" , "toolbox/stats/"; + "weibstat" , "toolbox/stats/"; + "welch" , "toolbox/signal/signal/private/"; + "wgeom" , "toolbox/pde/"; + "wgtnormfit" , "toolbox/stats/"; + "wgtnormfit2" , "toolbox/stats/"; + "wheel" , "toolbox/robust/"; + "whitepoint" , "toolbox/images/images/"; + "wiener2" , "toolbox/images/images/"; + "window" , "toolbox/signal/signal/"; + "windowstrs2fcnnames" , "toolbox/signal/sigtools/private/"; + "windtrandemo" , "toolbox/signal/sigdemos/"; + "winintegrate" , "toolbox/signal/sigdemos/private/"; + "winorderfirst" , "toolbox/signal/sigdemos/private/"; + "wintool" , "toolbox/signal/sigtools/"; + "wintool_help" , "toolbox/signal/sigtools/"; + "wire" , "toolbox/control/ctrldemos/private/"; + "wishrnd" , "toolbox/stats/"; + "workspaceddg" , "toolbox/simulink/simulink/"; + "workspaceddg_cb" , "toolbox/simulink/simulink/"; + "ws2matq" , "toolbox/pde/private/"; + "wvtool" , "toolbox/signal/sigtools/"; + "x0est" , "toolbox/ident/idutils/private/"; + "x0est_f" , "toolbox/ident/idutils/"; + "x2fx" , "toolbox/stats/"; + "xbarplot" , "toolbox/stats/"; + "xcorr" , "toolbox/signal/signal/"; + "xcorr2" , "toolbox/signal/signal/"; + "xcov" , "toolbox/signal/signal/"; + "xlabel4ax" , "toolbox/signal/sigtools/"; + "xpbanplt" , "toolbox/optim/"; + "xplot" , "toolbox/optim/private/"; + "xtrack" , "toolbox/optim/private/"; + "xyl2xyz" , "toolbox/images/images/private/"; + "xyz2double" , "toolbox/images/images/"; + "xyz2lab" , "toolbox/images/images/private/"; + "xyz2uint16" , "toolbox/images/images/"; + "xyz2upvpl" , "toolbox/images/images/private/"; + "xyz2uvl" , "toolbox/images/images/private/"; + "xyz2xyl" , "toolbox/images/images/private/"; + "ycbcr2rgb" , "toolbox/images/images/"; + "ydataspan" , "toolbox/control/ctrlguis/"; + "ylabel4ax" , "toolbox/signal/sigtools/"; + "ylwk" , "toolbox/robust/"; + "youla" , "toolbox/robust/"; + "yulewalk" , "toolbox/signal/signal/"; + "zerophase" , "toolbox/signal/signal/"; + "zeta" , "toolbox/symbolic/"; + "zfcheck" , "toolbox/ident/idutils/"; + "zgrid" , "toolbox/control/control/"; + "zoom_cbs" , "toolbox/signal/sigtools/private/"; + "zp" , "toolbox/ident/idobsolete/"; + "zp2sos" , "toolbox/signal/signal/"; + "zpchart" , "toolbox/control/ctrlguis/"; + "zpform" , "toolbox/ident/idobsolete/"; + "zplane" , "toolbox/signal/signal/"; + "zplaneplot" , "toolbox/signal/signal/"; + "zpplot" , "toolbox/ident/idobsolete/"; + "zscore" , "toolbox/stats/"; + "ztest" , "toolbox/stats/"] + k=find(namefun==tb(:,1)) + if k<>[] then + mtlbpath=tb(k,2) + ismtlb=%t + end +endfunction
\ No newline at end of file diff --git a/modules/m2sci/macros/kernel/mtlbtree2sci.bin b/modules/m2sci/macros/kernel/mtlbtree2sci.bin Binary files differnew file mode 100755 index 000000000..02fd232a1 --- /dev/null +++ b/modules/m2sci/macros/kernel/mtlbtree2sci.bin diff --git a/modules/m2sci/macros/kernel/mtlbtree2sci.sci b/modules/m2sci/macros/kernel/mtlbtree2sci.sci new file mode 100755 index 000000000..4748eecc9 --- /dev/null +++ b/modules/m2sci/macros/kernel/mtlbtree2sci.sci @@ -0,0 +1,125 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [scitree,crp]=mtlbtree2sci(mtlbtree,prettyprintoutput) + // Conversion of a Matlab function tree to Scilab (and code generation) + // Input arguments: + // - mtlbtree: tree (returned by macr2tree) representing Matlab function compiled code + // - prettyprintoutput: boolean flag for pretty printed output file if TRUE + // Output arguments: + // - scitree: Scilab equivalent for mtlbtree + // - crp: Scilab equivalent function code (function body) + + // Global variables for M2SCI + global("m2sci_to_insert_b") // To insert before current instruction + global("m2sci_to_insert_a") // To insert after current instruction + global("tmpvarnb") // Index for temporary variables + m2sci_to_insert_b=list() + m2sci_to_insert_a=list() + tmpvarnb=0 + + if typeof(mtlbtree)<>"program" then + error(gettext("wrong type of input.")) + end + + // Init Scilab tree + scitree=tlist(["program","name","outputs","inputs","statements"],mtlbtree.name,mtlbtree.outputs,mtlbtree.inputs,list()) + + ninstr=1 // Index of Matlab tree + if batch then // defined in m2sci.sci + nblines=0 + else + nblines=1 // Number of converted lines + end + + m2sci_info(gettext("Conversion of M-tree..."),-1); + + // Default value + rhs = argn(2); + if rhs<2 then + prettyprintoutput=%F + end + + crp="" + + // Function prototype + lhsstr=[] + rhsstr=[] + if scitree.name<>"" then // Not a batch file + for k=1:size(scitree.outputs) + lhsstr=[lhsstr,expression2code(scitree.outputs(k))] + end + lhsstr="["+strcat(lhsstr,",")+"]" + + for k=1:size(scitree.inputs) + rhsstr=[rhsstr,expression2code(scitree.inputs(k))] + end + rhsstr="("+strcat(rhsstr,",")+")" + + crp=lhsstr+" = "+scitree.name+rhsstr; + end + + // Convert Matlab instruction tree to Scilab + while ninstr<=size(mtlbtree.statements)-3 + //Case : sup_equal instruction + // Add converted tree to scitree and also inserted instructions + if typeof(mtlbtree.statements(ninstr))=="sup_equal" + + sci_stat=list() + for i=1:size(mtlbtree.statements(ninstr).sup_instr) + [converted_tree,nblines]=instruction2sci(mtlbtree.statements(ninstr).sup_instr(i),nblines) + + sci_stat=update_instr_list(sci_stat,converted_tree) + end + + scitree.statements($+1)=tlist(["sup_equal","sup_instr","nb_opr"],sci_stat,mtlbtree.statements(ninstr).nb_opr) + else + + [converted_tree,nblines]=instruction2sci(mtlbtree.statements(ninstr),nblines) + + // Add converted tree to scitree and also inserted instructions + + scitree.statements=update_instr_list(scitree.statements,converted_tree) + + // Generate code corresponding to scitree.statements + end + for k=1:size(scitree.statements) + if k<size(scitree.statements) + crp = cat_code(crp,instruction2code(scitree.statements(k),prettyprintoutput)); + crp = format_txt(crp,scitree.statements(k),prettyprintoutput,scitree.statements(k+1)); + end + end + + scitree.statements=list(scitree.statements($)) + + // Disp percentage of conversion done + msprintf(gettext("%s line %s out of %s..."),margin, string(nblines), string(mtlbtree.nblines)) + ninstr=ninstr+1 + tmpvarnb=0 + end + + if scitree.statements(1)<>list("EOL") then + crp = cat_code(crp,instruction2code(scitree.statements(1),prettyprintoutput)); + crp = format_txt(crp,scitree.statements(1),prettyprintoutput,list("EOL")); + end + + if scitree.name<>"" then // Not a batch file + crp=cat_code(crp,""); + crp=cat_code(crp,"endfunction"); // Replace last return + crp=cat_code(crp,""); + end + + m2sci_info(gettext("Conversion of M-tree: Done"),-1); + + + clearglobal("m2sci_to_insert_b") + clearglobal("m2sci_to_insert_a") + clearglobal("tmpvarnb") + +endfunction diff --git a/modules/m2sci/macros/kernel/multi_fun_file.bin b/modules/m2sci/macros/kernel/multi_fun_file.bin Binary files differnew file mode 100755 index 000000000..a2e3c915d --- /dev/null +++ b/modules/m2sci/macros/kernel/multi_fun_file.bin diff --git a/modules/m2sci/macros/kernel/multi_fun_file.sci b/modules/m2sci/macros/kernel/multi_fun_file.sci new file mode 100755 index 000000000..7e427e098 --- /dev/null +++ b/modules/m2sci/macros/kernel/multi_fun_file.sci @@ -0,0 +1,174 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function bval=multi_fun_file(fil,res_path,Recmode,only_double,verbose_mode,prettyprintoutput) + // This function converts M-Files containing more than one functio + // Inputs are the same as mfile2sci() + // Outputs : + // - bval: boolean value, %t if file contains more than on function, %f else + + sciparam(); + + // File name + k=strindex(fil,".") + if k<>[] + ke=k($)-1 + base_name=part(fil,1:ke) + else + ke=length(fil) + base_name=fil + end + // File path + k=strindex(fil,"/") + if k==[] then + file_path="./" + else + file_path=part(fil,1:k($)) + end + base_name=part(base_name,k($)+1:ke) + + txt=mgetl(fil); + + kf=grep(txt,["function[","function "]) + + if isempty(kf) then + // Batch file + bval=%f + elseif size(kf,"*")==1 then + // Only one function defined + bval=%f + else + funcdecl=[] + for kk=kf + ind=strindex(txt(kk),["function[";"function "]) + if isacomment(txt(kk))==0 & ~isinstring(txt(kk),ind) & part(stripblanks(txt(kk),%T),1:8)=="function" then // function prototype + funcdecl=[funcdecl kk] + end + end + + if isempty(funcdecl) then + // "function" only exists in comments and strings + bval=%f + return + elseif size(funcdecl,"*")==1 then + bval=%f + return + end + + // Verify if the directory exists + dirnam = ls(pathconvert(TMPDIR)+base_name); + + sep = filesep(); + + if or(dirnam<>"") then + rmdir(pathconvert(TMPDIR)+base_name,"s") + end + mkdir(pathconvert(TMPDIR),base_name) + write(%io(2),msprintf(gettext(" -- File %s contains more than one function -- "),fil)); + + bval= %t + + // First split file into as many files as function declared + funcdecl=[funcdecl size(txt,"*")+1] + + tmpfiles=[] + for k=1:size(funcdecl,"*")-1 + functxt=txt(funcdecl(k):funcdecl(k+1)-1) + str= strindex(txt(funcdecl(k)),"(")-1 + if str==-1 then + funcname=stripblanks(part(txt(funcdecl(k)),strindex(txt(funcdecl(k)),["function[","function "])+8:length(txt(funcdecl(k))))) + else + funcname=stripblanks(part(txt(funcdecl(k)),strindex(txt(funcdecl(k)),["function[","function "])+8:str(1))) + end + + keq=strindex(funcname,"=") + if ~isempty(keq) then + funcname=stripblanks(part(funcname,keq+1:length(funcname))) + end + tmpfiles=[tmpfiles;funcname] + mputl(functxt,pathconvert(TMPDIR)+base_name+sep+tmpfiles($)+".m"); + end + + write(%io(2),msprintf(gettext(" -- Each function converted separately: %s -- "),strcat(tmpfiles," "))); + write(%io(2),msprintf(gettext(" -- Temporary files put in: %s -- "),pathconvert(TMPDIR))); + + // Conversion of each file + + for k=1:size(tmpfiles,"*") + txt=mgetl(pathconvert(TMPDIR)+base_name+sep+tmpfiles(k)+".m") + //mfile2sci(pathconvert(TMPDIR)+tmpfiles(k)+".m",res_path,Recmode,only_double,verbose_mode,prettyprintoutput) + end + + translatepaths(pathconvert(TMPDIR)+base_name,pathconvert(TMPDIR)+base_name) + + txt=[] + if isfile(pathconvert(TMPDIR)+base_name+sep+"log") then + txt=mgetl(pathconvert(TMPDIR)+base_name+sep+"log") + end + mputl(txt,res_path+"log"); + if isfile(pathconvert(TMPDIR)+base_name+sep+"resumelog") then + txt=mgetl(pathconvert(TMPDIR)+base_name+sep+"resumelog") + end + mputl(txt,res_path+"resumelog"); + + // Catenation of all .sci files to have only one output file + txt=[] + for k=1:size(tmpfiles,"*") + txt=[txt ;"";mgetl(pathconvert(TMPDIR)+base_name+sep+tmpfiles(k)+".sci")] + end + + // Delete useless .sci files + //for k=1:size(tmpfiles,"*") + //mdelete(res_path+tmpfiles(k)+".sci") + //end + + mputl(txt,res_path+base_name+".sci"); + + // Catenation of all .log files to have only one output file + //if exists("logfile")==0 then + //txt=[] + //for k=1:size(tmpfiles,"*") + //txt=[txt ; mgetl(pathconvert(TMPDIR)+base_name+sep+"m2sci_"+tmpfiles(k)+".log")] + //end + + // Delete useless .log files + //for k=1:size(tmpfiles,"*") + //mdelete(pathconvert(TMPDIR)+base_name+sep+"m2sci_"+tmpfiles(k)+".log") + //end + + //mputl(txt,res_path+"m2sci_"+base_name+".log"); + //end + + // Catenation of all resume.log files to have only one output file + //if exists("resume_logfile")==0 then + //txt=[] + //for k=1:size(tmpfiles,"*") + //txt=[txt ; mgetl(res_path+"m2sci_"+tmpfiles(k)+"_resume.log")] + //end + + // Delete useless _resume.log files + //for k=1:size(tmpfiles,"*") + //mdelete(res_path+"m2sci_"+tmpfiles(k)+"_resume.log") + //end + + //mputl(txt,res_path+"m2sci_"+base_name+"_resume.log"); + //end + + // Delete useless .m files + //for k=1:size(tmpfiles,"*") + //mdelete(pathconvert(TMPDIR)+tmpfiles(k)+".m") + //end + + rmdir(pathconvert(TMPDIR)+base_name,"s") + for k=1:size(tmpfiles,"*") + mdelete(pathconvert(TMPDIR)+tmpfiles(k)+".tree") + end + end + +endfunction diff --git a/modules/m2sci/macros/kernel/names b/modules/m2sci/macros/kernel/names new file mode 100755 index 000000000..42ef173b6 --- /dev/null +++ b/modules/m2sci/macros/kernel/names @@ -0,0 +1,87 @@ +%contents_i_funcall +%contents_i_operatio +%contents_i_variable +%cste_e +%funcall_6 +%funcall_e +%infer_i_s +%infer_i_st +%l_i_cste +%l_i_funcall +%l_i_operatio +%l_i_variable +%m2scivar_e +%operatio_6 +%operatio_e +%s_i_operatio +%s_i_variable +%type_i_cste +%type_i_funcall +%type_i_operatio +%type_i_variable +%variable_6 +%variable_e +Contents +Cste +Equal +Funcall +Infer +M2scivar +Operation +Rhs_tlist +Type +Variable +allunknown +changevarname +clause2sci +convert2double +default_trad +equal2sci +expression2sci +first_non_singleton +funcall2sci +funcallsearch +get_unknown +getoperands +getrhs +gettempvar +getvar2sci +i_notation +infer2txt +insert +instruction2sci +is_a_scalar +is_a_vector +is_complex +is_empty +is_real +isacomment +isanmfile +isdefinedvar +isinstring +lst_funcall +m2sci +m2sci_info +m2sci_syntax +mfile_path +mtlbtoolfun +mtlbtree2sci +multi_fun_file +no_equiv +not_a_scalar +not_a_vector +not_empty +not_yet_converted +old2newinstr +operation2sci +repl_poss +replace_brackets +sci_generic +sci_m2scideclare +sciparam +set_infos +transformtree +translateorder +update_instr_list +updatevarslist +variablesearch diff --git a/modules/m2sci/macros/kernel/no_equiv.bin b/modules/m2sci/macros/kernel/no_equiv.bin Binary files differnew file mode 100755 index 000000000..099620776 --- /dev/null +++ b/modules/m2sci/macros/kernel/no_equiv.bin diff --git a/modules/m2sci/macros/kernel/no_equiv.sci b/modules/m2sci/macros/kernel/no_equiv.sci new file mode 100755 index 000000000..92995848c --- /dev/null +++ b/modules/m2sci/macros/kernel/no_equiv.sci @@ -0,0 +1,14 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function []=no_equiv(expr) + + set_infos(msprintf(gettext("No Scilab equivalent for: %s"),expr),2) + +endfunction diff --git a/modules/m2sci/macros/kernel/not_a_scalar.bin b/modules/m2sci/macros/kernel/not_a_scalar.bin Binary files differnew file mode 100755 index 000000000..8fd43d990 --- /dev/null +++ b/modules/m2sci/macros/kernel/not_a_scalar.bin diff --git a/modules/m2sci/macros/kernel/not_a_scalar.sci b/modules/m2sci/macros/kernel/not_a_scalar.sci new file mode 100755 index 000000000..e8411dff6 --- /dev/null +++ b/modules/m2sci/macros/kernel/not_a_scalar.sci @@ -0,0 +1,24 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function r=not_a_scalar(A) + // M2SCI function + // Checks if at least one dimension of A is greater than 1 + // Input: A = a M2SCI tlist + // Output: r = boolean value (true if A can not be a scalar) + + nb=0 + for k=1:size(A.dims) + if A.dims(k)>1 | A.dims(k)==SupToOne then + nb=nb+1 + end + end + + r=nb<>0 +endfunction diff --git a/modules/m2sci/macros/kernel/not_a_vector.bin b/modules/m2sci/macros/kernel/not_a_vector.bin Binary files differnew file mode 100755 index 000000000..d9d230146 --- /dev/null +++ b/modules/m2sci/macros/kernel/not_a_vector.bin diff --git a/modules/m2sci/macros/kernel/not_a_vector.sci b/modules/m2sci/macros/kernel/not_a_vector.sci new file mode 100755 index 000000000..c21b85a77 --- /dev/null +++ b/modules/m2sci/macros/kernel/not_a_vector.sci @@ -0,0 +1,25 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function r=not_a_vector(A) + // M2SCI function + // Checks if at least two dimensions of A are greater than 1 + // Input: A = a M2SCI tlist + // Output: r = boolean value (true if A can not be a vector) + + n=size(A.dims) + nb=0 + for k=1:n + if A.dims(k)>1 | A.dims(k)==SupToOne then + nb=nb+1 + end + end + + r=nb>=2 +endfunction diff --git a/modules/m2sci/macros/kernel/not_empty.bin b/modules/m2sci/macros/kernel/not_empty.bin Binary files differnew file mode 100755 index 000000000..1ac782240 --- /dev/null +++ b/modules/m2sci/macros/kernel/not_empty.bin diff --git a/modules/m2sci/macros/kernel/not_empty.sci b/modules/m2sci/macros/kernel/not_empty.sci new file mode 100755 index 000000000..bdb03e8e3 --- /dev/null +++ b/modules/m2sci/macros/kernel/not_empty.sci @@ -0,0 +1,25 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function r=not_empty(A) + // M2SCI function + // Checks if no A dimension can be 0 + // Input: A = a M2SCI tlist + // Output: r = boolean value (true if A can not be an empty matrix) + + n=size(A.dims) + nb=0 + for k=1:n + if A.dims(k)>0 | A.dims(k)==SupToOne | A.dims(k)==NotNull then + nb=nb+1 + end + end + + r=nb>0 +endfunction diff --git a/modules/m2sci/macros/kernel/not_yet_converted.bin b/modules/m2sci/macros/kernel/not_yet_converted.bin Binary files differnew file mode 100755 index 000000000..0701bd1fb --- /dev/null +++ b/modules/m2sci/macros/kernel/not_yet_converted.bin diff --git a/modules/m2sci/macros/kernel/not_yet_converted.sci b/modules/m2sci/macros/kernel/not_yet_converted.sci new file mode 100755 index 000000000..98ef7052f --- /dev/null +++ b/modules/m2sci/macros/kernel/not_yet_converted.sci @@ -0,0 +1,1337 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function allnames=not_yet_converted() + allnames=["abcdchk"; + "accumarray"; + "acosd"; + "acotd"; + "acscd"; + "actxproxy"; + "adddatadlg"; + "addpath"; + "addpref"; + "addsubplot"; + "addtodate"; + "airfoil"; + "airy"; + "align"; + "alim"; + "allchild"; + "alpha"; + "alphamap"; + "amp1dae"; + "ancestor"; + "and"; + "annotation"; + "anondemo"; + "ardemo"; + "area"; + "arith"; + "arpackc"; + "arrayviewfunc"; + "asecd"; + "asind"; + "assignin"; + "atand"; + "audiodevinfo"; + "audioplayerreg"; + "audiorecorderreg"; + "audiouniquename"; + "auditcontents"; + "aufinfo"; + "auread"; + "automesh"; + "autumn"; + "auwrite"; + "avifinfo"; + "aviinfo"; + "aviread"; + "awtinvoke"; + "axes"; + "axescheck"; + "axlimdlg"; + "ballode"; + "bar"; + "bar3"; + "bar3h"; + "barh"; + "base2dec"; + "basicfitdatastat"; + "batonode"; + "bench"; + "besschk"; + "bessel"; + "bessela"; + "besselh"; + "betacore"; + "betainc"; + "betaln"; + "bicg"; + "bicgstab"; + "bin2dec"; + "binpatch"; + "bitand"; + "bitcmp"; + "bitget"; + "bitmax"; + "bitor"; + "bitset"; + "bitshift"; + "bitxor"; + "blkdiag"; + "bone"; + "brighten"; + "brussode"; + "btndown"; + "btngroup"; + "btnicon"; + "btnpress"; + "btnresize"; + "btnstate"; + "btnup"; + "bucky"; + "buckydem"; + "builtin"; + "burgersode"; + "bvp4c"; + "bvpget"; + "bvpinit"; + "bvpset"; + "bvpval"; + "bwcontr"; + "calendar"; + "callSoapService"; + "calllib"; + "camdolly"; + "cameramenu"; + "cameratoolbar"; + "camlight"; + "camlookat"; + "camorbit"; + "campan"; + "campos"; + "camproj"; + "camroll"; + "camrotate"; + "camtarget"; + "camup"; + "camva"; + "camzoom"; + "cart2pol"; + "cart2sph"; + "cast"; + "cat"; + "catch"; + "caxis"; + "cbedit"; + "cdf2rdf"; + "cdfinfo"; + "cdfread"; + "cdfwrite"; + "cell2struct"; + "celldisp"; + "cellfun"; + "cellplot"; + "census"; + "cgs"; + "changeseriestype"; + "checkSyntacticWarnings"; + "checkin"; + "checkinwin"; + "checkout"; + "checkoutwin"; + "cholinc"; + "cholupdate"; + "circshift"; + "ckdepfun"; + "clabel"; + "class"; + "cleanupcomment"; + "clearcase"; + "clg"; + "clipboard"; + "clruprop"; + "cmapeditor"; + "cmdispatch"; + "cmdlnbgn"; + "cmdlnend"; + "cmdlnwin"; + "cmoptsdialog"; + "code2html"; + "codec"; + "colamd"; + "colmmd"; + "colon"; + "colorbar"; + "colorcube"; + "colormap"; + "colormapeditor"; + "colornone"; + "colperm"; + "colstyle"; + "comet"; + "comet3"; + "commandhistory"; + "commandwindow"; + "compan"; + "compass"; + "complex"; + "computer"; + "cond"; + "condeig"; + "condest"; + "coneplot"; + "contentsrpt"; + "contour"; + "contour3"; + "contourc"; + "contourf"; + "contours"; + "contourslice"; + "contrast"; + "conv2"; + "convertdemostodom"; + "convhull"; + "convhulln"; + "convn"; + "cool"; + "copper"; + "copyfile"; + "copyobj"; + "copyoptionsfcn"; + "corrcoef"; + "cosd"; + "cotd"; + "cov"; + "coveragerpt"; + "cplxdemo"; + "cplxgrid"; + "cplxmap"; + "cplxpair"; + "cplxroot"; + "createClassFromWsdl"; + "createSoapMessage"; + "cross"; + "cruller"; + "cscd"; + "cshelp"; + "csvread"; + "csvwrite"; + "ctlpanel"; + "ctranspose"; + "cumtrapz"; + "curl"; + "customverctrl"; + "cvs"; + "cylinder"; + "daqread"; + "daspect"; + "datachildren"; + "datacursormode"; + "dataread"; + "datatipinfo"; + "datenum"; + "datestr"; + "datetick"; + "datevec"; + "dbclear"; + "dbcont"; + "dbdown"; + "dblquad"; + "dbmex"; + "dbquit"; + "dbstack"; + "dbstatus"; + "dbstep"; + "dbstop"; + "dbtype"; + "dbup"; + "dde23"; + "ddeget"; + "ddeset"; + "ddex1"; + "ddex1de"; + "ddex1hist"; + "ddex2"; + "deal"; + "deblank"; + "debug"; + "dec2base"; + "dec2bin"; + "decic"; + "deconv"; + "del2"; + "delaunay"; + "delaunay3"; + "delaunayn"; + "deleteconfirm"; + "delsq"; + "delsqdemo"; + "demo"; + "demos"; + "demowin"; + "depdir"; + "depfun"; + "deprpt"; + "deselectall"; + "desktop"; + "desktopmenufcn"; + "detrend"; + "deval"; + "dialog"; + "diff2asv"; + "diffcode"; + "diffrpt"; + "diffuse"; + "divergence"; + "dlmread"; + "dlmwrite"; + "dmperm"; + "doclick"; + "docroot"; + "docsearch"; + "dofixrpt"; + "dokeypress"; + "domymenu"; + "doresize"; + "dot"; + "dragrect"; + "dsearch"; + "dsearchn"; + "e2pi"; + "e_handler"; + "earthmap"; + "edit"; + "editmenufcn"; + "editpath"; + "edtext"; + "eigmovie"; + "eigs"; + "eigs2"; + "eigshow"; + "ellipj"; + "ellipke"; + "ellipsoid"; + "emdenbvp"; + "enddrag"; + "eomday"; + "eq"; + "erfcinv"; + "erfcore"; + "erfinv"; + "errorbar"; + "errordlg"; + "etree"; + "etreeplot"; + "evalc"; + "evalin"; + "evalmcw"; + "expint"; + "expm1"; + "expmdemo"; + "expmdemo1"; + "expmdemo2"; + "expmdemo3"; + "export2wsdlg"; + "exportsetupdlg"; + "extent"; + "ezcontour"; + "ezcontourf"; + "ezgraph3"; + "ezmesh"; + "ezmeshc"; + "ezplot"; + "ezplot3"; + "ezpolar"; + "ezsurf"; + "ezsurfc"; + "factor"; + "factorial"; + "fcnchk"; + "feather"; + "fem1ode"; + "fem2ode"; + "fft2"; + "fftdemo"; + "fftn"; + "fftw"; + "fibodemo"; + "fieldnames"; + "fifteen"; + "figcopytemplatelistener"; + "figflag"; + "fignamer"; + "figtoolset"; + "figure"; + "figuredeletedlistener"; + "figureheaderdlg"; + "figurepalette"; + "fileattrib"; + "filebrowser"; + "fileformats"; + "filemarker"; + "filemenufcn"; + "fileread"; + "fill"; + "fill3"; + "filter"; + "filter2"; + "findall"; + "finddemo"; + "findfigs"; + "findobj"; + "finfo"; + "fitdemo"; + "fitfun"; + "fitsinfo"; + "fitsread"; + "fixcontents"; + "fixhelp"; + "fixquote"; + "flag"; + "flipdim"; + "flops"; + "flow"; + "fminbnd"; + "fminsearch"; + "fplot"; + "frame2im"; + "freeserial"; + "freqspace"; + "fsbvp"; + "func2str"; + "function_handle"; + "functions"; + "funfuns"; + "funm"; + "fzero"; + "gallery"; + "gammainc"; + "gca"; + "gcbf"; + "gcbo"; + "gcd"; + "gcf"; + "gco"; + "ge"; + "genpath"; + "genvarname"; + "get"; + "getFigureToolManager"; + "getappdata"; + "getcallinfo"; + "getcolumn"; + "getfield"; + "getframe"; + "getobj"; + "getorcreateobj"; + "getpixelposition"; + "getplottool"; + "getpref"; + "getprinttemplate"; + "getptr"; + "getscribecontextmenu"; + "getscribeobjectdata"; + "getselectobjects"; + "getstatus"; + "getuprop"; + "ginput"; + "gmres"; + "gplot"; + "grabcode"; + "gradient"; + "graf2d"; + "graf2d2"; + "graf3d"; + "graph2dhelper"; + "gray"; + "griddata"; + "griddata3"; + "griddatan"; + "gsvd"; + "gt"; + "gtext"; + "gui_mainfcn"; + "guidata"; + "guide"; + "guidefunc"; + "guidemfile"; + "guideopts"; + "guidetemplate"; + "guidetemplate0"; + "guidetemplate1"; + "guidetemplate2"; + "guidetemplate3"; + "guihandles"; + "hadamard"; + "handle2struct"; + "hardcopy"; + "hasbehavior"; + "hb1dae"; + "hb1ode"; + "hdf"; + "hdf5info"; + "hdf5read"; + "hdf5write"; + "hdfan"; + "hdfdf24"; + "hdfdfr8"; + "hdfgd"; + "hdfh"; + "hdfhd"; + "hdfhe"; + "hdfhx"; + "hdfinfo"; + "hdfml"; + "hdfpt"; + "hdfread"; + "hdfsd"; + "hdfsw"; + "hdftool"; + "hdftoolswitchyard"; + "hdfv"; + "hdfvf"; + "hdfvh"; + "hdfvs"; + "helpdlg"; + "helpinfo"; + "helpmenufcn"; + "helprpt"; + "helpview"; + "hex2dec"; + "hex2num"; + "hgaddbehavior"; + "hgbehaviorfactory"; + "hgconvertunits"; + "hgexport"; + "hgfeval"; + "hggetbehavior"; + "hgline2lineseries"; + "hgload"; + "hgsave"; + "hgtransform"; + "hidden"; + "hidegui"; + "hilb"; + "hist"; + "histc"; + "hndlaxis"; + "hndlgraf"; + "hot"; + "hsv"; + "hsv2rgb"; + "hthelp"; + "htpp"; + "humps"; + "iburgersode"; + "icondisp"; + "ifft2"; + "ifftn"; + "ihb1dae"; + "im2frame"; + "im2java"; + "image"; + "imagedemo"; + "imageext"; + "imagesc"; + "imageview"; + "imfinfo"; + "imformats"; + "import"; + "importdata"; + "imread"; + "imtext"; + "imwrite"; + "ind2rgb"; + "ind2sub"; + "indexhelper"; + "inferiorto"; + "info"; + "initdesktoputils"; + "inlineeval"; + "inmem"; + "inpolygon"; + "inputdlg"; + "inputname"; + "insertmenufcn"; + "inside"; + "inspect"; + "instrcb"; + "instrfind"; + "instrfindall"; + "int2str"; + "int64"; + "integerMath"; + "interp1q"; + "interp2"; + "interp3"; + "interpft"; + "interpn"; + "interpstreamspeed"; + "intersect"; + "intmax"; + "intmin"; + "intro"; + "intwarning"; + "invalidateaxis"; + "inverter"; + "invhilb"; + "ipermute"; + "is2D"; + "isappdata"; + "iscellstr"; + "isdeployed"; + "isequalwithequalnans"; + "isfloat"; + "ishghandle"; + "isjava"; + "iskeyword"; + "ismethod"; + "isobject"; + "isocaps"; + "isocolors"; + "isonormals"; + "isosurface"; + "ispref"; + "isprime"; + "isprop"; + "ispuma"; + "issorted"; + "issourcecontrolconfigured"; + "isstrprop"; + "isstudent"; + "isvarname"; + "java"; + "javaAddLsnrsToFigure"; + "javaArray"; + "javaGetHandles"; + "javaMethod"; + "javaObject"; + "javaaddpath"; + "javachk"; + "javaclasspath"; + "javacomponent"; + "javafigurequeue"; + "javarmpath"; + "jet"; + "jpropeditutils"; + "klein1"; + "knot"; + "lasterr"; + "lasterror"; + "lastwarn"; + "layout"; + "lcm"; + "ldivide"; + "le"; + "legend"; + "legendcolorbarlayout"; + "legendinfo"; + "legendre"; + "libfunctions"; + "libfunctionsview"; + "libisloaded"; + "libpointer"; + "libstruct"; + "life"; + "light"; + "lightangle"; + "lighting"; + "lin2mu"; + "line"; + "lines"; + "lineseries"; + "linkaxes"; + "linkprop"; + "linsolve"; + "listdlg"; + "listfonts"; + "lists"; + "loadhtml"; + "loadlibrary"; + "loadobj"; + "log1p"; + "loglog"; + "logm"; + "logo"; + "logspace"; + "lorenz"; + "lotka"; + "lotkademo"; + "ls"; + "lscan"; + "lscov"; + "lsqnonneg"; + "lsqr"; + "lt"; + "ltitr"; + "luinc"; + "m2struct"; + "magic"; + "makebars"; + "makecontentsfile"; + "makecounter"; + "makedisplaynames"; + "makefcn"; + "makehgtform"; + "makemcode"; + "makemenu"; + "makeshow"; + "makevase"; + "mat2cell"; + "mat2str"; + "mat4bvp"; + "material"; + "matfinfo"; + "matlabpath"; + "matlabroot"; + "matmanip"; + "matq2ws"; + "matqdlg"; + "matqparse"; + "matqueue"; + "mdbfileonpath"; + "mdbpublish"; + "mdbstatus"; + "mean"; + "median"; + "membrane"; + "memory"; + "menu"; + "menubar"; + "menuedit"; + "menueditfunc"; + "menulabel"; + "mesh"; + "meshc"; + "meshgrid"; + "meshz"; + "methods"; + "methodsview"; + "mex"; + "mexdebug"; + "mexext"; + "mfilename"; + "mfiletemplate"; + "middrag"; + "mimofr"; + "minres"; + "minus"; + "mislocked"; + "mkpp"; + "mlcomiface"; + "mldivide"; + "mlint"; + "mlintrpt"; + "mlock"; + "mmcompinfo"; + "mmfileinfo"; + "modes"; + "moveaxis"; + "movefile"; + "movegui"; + "movie"; + "movie2avi"; + "moviein"; + "movieview"; + "mpoles"; + "mpower"; + "mrdivide"; + "msgbox"; + "mtimes"; + "mu2lin"; + "multibandread"; + "multibandwrite"; + "munlock"; + "namelengthmax"; + "namelengthmax"; + "nargchk"; + "nargoutchk"; + "native2unicode"; + "nchoosek"; + "nddemo"; + "ndgrid"; + "ne"; + "nestdiss"; + "nested"; + "nesteddemo"; + "newfun"; + "newplot"; + "nextpow2"; + "nnload"; + "nnz"; + "noanimate"; + "nodither"; + "nonzeros"; + "normest"; + "normest1"; + "not"; + "notebook"; + "notebookCaptureFigures"; + "notebookCompareFigures"; + "now"; + "nthroot"; + "null"; + "num2cell"; + "num2hex"; + "numel"; + "numgrid"; + "numjac"; + "nzmax"; + "objbounds"; + "ode113"; + "ode15i"; + "ode15s"; + "ode23"; + "ode23s"; + "ode23t"; + "ode23tb"; + "ode45"; + "odedemo"; + "odeexamples"; + "odefile"; + "odeget"; + "odephas2"; + "odephas3"; + "odeplot"; + "odeprint"; + "odeset"; + "odextend"; + "open"; + "openfig"; + "opengl"; + "opentoline"; + "openvar"; + "optimget"; + "optimset"; + "or"; + "orbitode"; + "orderfields"; + "ordqz"; + "ordschur"; + "orient"; + "orth"; + "overobj"; + "pack"; + "padecoef"; + "pagedlg"; + "pagesetupdlg"; + "pan"; + "paren"; + "pareto"; + "parseSoapResponse"; + "parseparams"; + "partialpath"; + "pascal"; + "patch"; + "path"; + "path2rc"; + "pathsep"; + "pathtool"; + "pbaspect"; + "pcg"; + "pchip"; + "pcode"; + "pcolor"; + "pde"; + "pdepe"; + "pdeval"; + "pdex1"; + "pdex1bc"; + "pdex1ic"; + "pdex1pde"; + "pdex2"; + "pdex3"; + "pdex4"; + "pdex5"; + "peaks"; + "penny"; + "perl"; + "perms"; + "permute"; + "persistent"; + "pie"; + "pie3"; + "pink"; + "pinv"; + "planerot"; + "playbackdemo"; + "playshow"; + "plot3"; + "plotbrowser"; + "plotchild"; + "plotdoneevent"; + "plotedit"; + "plotmatrix"; + "plottoolfunc"; + "plottools"; + "plotutils"; + "plotyy"; + "plus"; + "pol2cart"; + "polar"; + "poly"; + "polyarea"; + "polyder"; + "polyeig"; + "polyfit"; + "polyint"; + "polyval"; + "polyvalm"; + "popupstr"; + "power"; + "ppval"; + "precedence"; + "prefdir"; + "preferences"; + "prefspanel"; + "prepdrag"; + "prepender"; + "primes"; + "print"; + "printdlg"; + "printdmfile"; + "printjob"; + "printprepare"; + "printpreview"; + "printrestore"; + "printtables"; + "printtemplate"; + "prism"; + "profile"; + "profreport"; + "profsave"; + "profview"; + "profviewgateway"; + "propedit"; + "propertyeditor"; + "psi"; + "publish"; + "punct"; + "putdowntext"; + "pvcs"; + "pwch"; + "pwd"; + "qhull"; + "qhulldemo"; + "qmr"; + "qrdelete"; + "qrinsert"; + "qrupdate"; + "quad"; + "quad8"; + "quadl"; + "quadv"; + "quake"; + "quatdemo"; + "questdlg"; + "quivdemo"; + "quiver"; + "quiver3"; + "qz"; + "randperm"; + "rank"; + "rat"; + "rats"; + "rbbox"; + "rcs"; + "rdivide"; + "reallog"; + "realpow"; + "realsqrt"; + "rectangle"; + "rectint"; + "recycle"; + "reducepatch"; + "reducevolume"; + "refresh"; + "refreshdata"; + "regexp"; + "regexpi"; + "regexprep"; + "rehash"; + "reloadsys"; + "relop"; + "remapfig"; + "render_basicaudiotoolbar"; + "render_fullaudiotoolbar"; + "reset"; + "resetplotview"; + "resi2"; + "residue"; + "rethrow"; + "rgb2hsv"; + "rgbplot"; + "ribbon"; + "rigidode"; + "rjr"; + "rmappdata"; + "rmdir"; + "rmfield"; + "rmpath"; + "rmpref"; + "roots"; + "rose"; + "rosser"; + "rot90"; + "rotate"; + "rotate3d"; + "rref"; + "rrefmovie"; + "rsf2csf"; + "run"; + "runreport"; + "saveas"; + "saveobj"; + "savepath"; + "savtoner"; + "scatter"; + "scatter3"; + "scribealign"; + "scribeaxesdlg"; + "scribeclearmode"; + "scribecursors"; + "scribeeventhandler"; + "scribefiglisten"; + "scribelinedlg"; + "scriberestoresavefcns"; + "scribetextdlg"; + "script"; + "sec"; + "secd"; + "sech"; + "selectmoveresize"; + "selectobject"; + "semilogx"; + "semilogy"; + "sendmail"; + "sepplot"; + "set"; + "setappdata"; + "setdiff"; + "setfield"; + "setpixelposition"; + "setpref"; + "setptr"; + "setscribecontextmenu"; + "setscribeobjectdata"; + "setstatus"; + "setuprop"; + "setxor"; + "shading"; + "shg"; + "shiftdim"; + "shockbvp"; + "showplottool"; + "shrinkfaces"; + "sind"; + "single"; + "singleMath"; + "slash"; + "slice"; + "slide2script"; + "smooth3"; + "snapshot"; + "snaptogrid"; + "soma"; + "somasols"; + "sortrows"; + "sound"; + "soundsc"; + "soundview"; + "sourcesafe"; + "spalloc"; + "sparsfun"; + "sparsity"; + "spaugment"; + "spconvert"; + "spdiags"; + "specular"; + "speye"; + "spfun"; + "sph2cart"; + "spharm2"; + "sphere"; + "spinmap"; + "spiral"; + "spline"; + "spline2d"; + "splncore"; + "spones"; + "spparms"; + "sprand"; + "sprandn"; + "sprandsym"; + "sprank"; + "spring"; + "sprintf"; + "spy"; + "spypart"; + "sqrtm"; + "squeeze"; + "ss2tf"; + "ss2zp"; + "sscanf"; + "ssdisp"; + "sshow"; + "ssinit"; + "sspause"; + "stairs"; + "standardrpt"; + "startscribeobject"; + "startscribepinning"; + "std"; + "stem"; + "stem3"; + "str2double"; + "str2func"; + "str2mat"; + "str2num"; + "str2rng"; + "strcat"; + "stream2"; + "stream3"; + "streamline"; + "streamparticles"; + "streamribbon"; + "streamslice"; + "streamtube"; + "strings"; + "stripanchors"; + "strjust"; + "strmatch"; + "strncmp"; + "strncmpi"; + "strread"; + "strtok"; + "strtrim"; + "strucdem"; + "strucdem_helper"; + "struct2cell"; + "struct2handle"; + "strvcat"; + "sub2ind"; + "subplot"; + "subsasgn"; + "subsindex"; + "subspace"; + "subsref"; + "substruct"; + "subvolume"; + "summer"; + "sunspots"; + "superiorfloat"; + "superiorto"; + "superquad"; + "support"; + "surf"; + "surf2patch"; + "surface"; + "surfc"; + "surfl"; + "surfnorm"; + "svds"; + "symamd"; + "symbfact"; + "symmlq"; + "symmmd"; + "symrcm"; + "symvar"; + "syntax"; + "system"; + "tabdlg"; + "table1"; + "table2"; + "tand"; + "taxDemo"; + "teapotdemo"; + "tempdir"; + "tempname"; + "tetramesh"; + "tex"; + "texlabel"; + "text"; + "textread"; + "textscan"; + "textscanDemo"; + "textwrap"; + "tf2ss"; + "tf2zp"; + "tfchk"; + "threebvp"; + "timerfind"; + "timerfindall"; + "times"; + "title"; + "toolsmenufcn"; + "tori4"; + "trace"; + "transpdemo"; + "transpose"; + "trapz"; + "travel"; + "treelayout"; + "treeplot"; + "trimesh"; + "triplequad"; + "triplot"; + "trisurf"; + "truss"; + "try"; + "tsearch"; + "tsearchn"; + "tube"; + "twobc"; + "twobvp"; + "twoode"; + "tzero"; + "uibuttongroup"; + "uiclearmode"; + "uicontainer"; + "uicontextmenu"; + "uicontrol"; + "uigetfile"; + "uigetpref"; + "uigettool"; + "uigettoolbar"; + "uiimport"; + "uiload"; + "uimenu"; + "uint64"; + "uiopen"; + "uipanel"; + "uipushtool"; + "uiputfile"; + "uirestore"; + "uiresume"; + "uisave"; + "uisetcolor"; + "uisetfont"; + "uisetpref"; + "uistack"; + "uisuspend"; + "uitable"; + "uitoggletool"; + "uitoolbar"; + "uitoolfactory"; + "uitree"; + "uitreefigure"; + "uitreenode"; + "uiundo"; + "uiwait"; + "umfpack"; + "uminus"; + "umtoggle"; + "undocheckout"; + "unicode2native"; + "union"; + "unique"; + "unloadlibrary"; + "unmesh"; + "unmkpp"; + "unwrap"; + "unzip"; + "uplus"; + "urlread"; + "urlwrite"; + "usejava"; + "usev6plotapi"; + "vander"; + "vanderpoldemo"; + "var"; + "vdp1"; + "vdp1000"; + "vdpode"; + "vectorize"; + "ver"; + "vertexpicker"; + "vga"; + "vibes"; + "view"; + "viewmenufcn"; + "viewmtx"; + "visdiff"; + "visdir"; + "visdirformhandler"; + "visdirrefresh"; + "vissuite"; + "volumebounds"; + "volvec"; + "voronoi"; + "voronoin"; + "vrml"; + "waitbar"; + "waitfor"; + "warndlg"; + "watchoff"; + "watchon"; + "waterfall"; + "wavfinfo"; + "wavplay"; + "wavread"; + "wavrecord"; + "wavwrite"; + "web"; + "webmenufcn"; + "weekday"; + "weissinger"; + "wernerboy"; + "what"; + "whatsnew"; + "which"; + "white"; + "whitebg"; + "why"; + "wilkinson"; + "winmenu"; + "winter"; + "wizard"; + "wk1const"; + "wk1finfo"; + "wk1read"; + "wk1wrec"; + "wk1write"; + "workspace"; + "workspacefunc"; + "wrldtrv"; + "ws2matq"; + "xfourier"; + "xgetselection"; + "xlabel"; + "xlim"; + "xlsfinfo"; + "xlsread"; + "xlswrite"; + "xmlread"; + "xmlwrite"; + "xor"; + "xpbombs"; + "xpklein"; + "xppage"; + "xpquad"; + "xpsound"; + "xpsubplt"; + "xptext"; + "xsetselection"; + "xslt"; + "xychk"; + "xycrull"; + "xyklein"; + "xyzchk"; + "xyzvchk"; + "ylabel"; + "ylim"; + "zip"; + "zlabel"; + "zlim"; + "zoom"; + "zp2ss"; + "zp2tf"] +endfunction diff --git a/modules/m2sci/macros/kernel/old2newinstr.bin b/modules/m2sci/macros/kernel/old2newinstr.bin Binary files differnew file mode 100755 index 000000000..0190897f1 --- /dev/null +++ b/modules/m2sci/macros/kernel/old2newinstr.bin diff --git a/modules/m2sci/macros/kernel/old2newinstr.sci b/modules/m2sci/macros/kernel/old2newinstr.sci new file mode 100755 index 000000000..a425bc5db --- /dev/null +++ b/modules/m2sci/macros/kernel/old2newinstr.sci @@ -0,0 +1,94 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2004-2006 - INRIA - Farid BELAHCENE +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function instr=old2newinstr(instr,oldname,newname) + // This function replaces by a new name (given in a input argument:newname) in a Scilab instruction all the variables names and functions names matching to a given name in a input argument:oldname + // INPUTS: + // -instr: Scilab instruction + // -oldname: a string, matching to the name variable which must be replaced + // -newname: a string, matching to the new variable name + // OUTPUT: + // -instr: Scilab instruction after modification + + // VARIABLE tlist // + // If the variable name matches to the oldname argument then replace the variable name by the newname argument + if typeof(instr)=="variable" then + if instr.name==oldname then + instr.name=newname + end + // FUNCALL tlist // + // If the function name matches to oldname argument then replace the function name by newname argument + elseif typeof(instr)=="funcall" + if instr.name==oldname then + instr.name=newname + end + // ex: function return has not rhs: return.rhs is not a list + if typeof(instr.rhs)=="list" then + for i=1:size(instr.rhs) + instr.rhs(i)=old2newinstr(instr.rhs(i),oldname,newname) + end + end + // OPERATION tlist// + elseif typeof(instr)=="operation" then + for i=1:size(instr.operands) + instr.operands(i)=old2newinstr(instr.operands(i),oldname,newname) + end + // IF-THEN-ELSE instruction // + elseif typeof(instr)=="ifthenelse" then + instr.expression=old2newinstr(instr.expression,oldname,newname) + for i=1:size(instr.then) + instr.then(i)=old2newinstr(instr.then(i),oldname,newname) + end + for i=1:size(instr.elseifs) + for k=1:size(instr.elseifs(i).then) + instr.elseifs(i).then(k)=old2newinstr((instr.elseifs(i).then(k)),oldname,newname) + end + end + for i=1:size(instr.else) + instr.else(i)=old2newinstr((instr.else(i)),oldname,newname) + end + // SELECT-CASE instruction // + elseif typeof(instr)=="selectcase" then + instr.expression=old2newinstr(instr.expression,oldname,newname) + for i=1:size(instr.cases) + for j=1:size(instr.cases(i).then) + instr.cases(i).then(j)=old2newinstr((instr.cases(i).then(j)),oldname,newname) + end + end + for i=1:size(instr.else) + instr.else(i)=old2newinstr(instr.else(i),oldname,newname) + end + // WHILE instruction // + elseif typeof(instr)=="while" then + instr.expression=old2newinstr(instr.expression,oldname,newname) + for i=1:size(instr.statements) + instr.statements(i)=old2newinstr(instr.statements(i),oldname,newname) + end + // TRY-CATCH instruction // + elseif typeof(instr)=="trycatch" + for i=1:size(instr.trystat) + instr.trystat(i)=old2newinstr(instr.trystat(i),oldname,newname) + end + for i=1:size(instr.catchstat) + instr.catchstat(i)=old2newinstr(instr.catchstat(i),oldname,newname) + end + // FOR instruction // + elseif typeof(instr)=="for" then + instr.expression=old2newinstr(instr.expression,oldname,newname) + for i=1:size(instr.statements) + instr.statements(i)=old2newinstr(instr.statements(i),oldname,newname) + end + // EQUAL instruction // + elseif typeof(instr)=="equal" then + instr.expression=old2newinstr(instr.expression,oldname,newname) + for i=1:size(instr.lhs) + instr.lhs(i)=old2newinstr(instr.lhs(i),oldname,newname) + end + end +endfunction
\ No newline at end of file diff --git a/modules/m2sci/macros/kernel/operation2sci.bin b/modules/m2sci/macros/kernel/operation2sci.bin Binary files differnew file mode 100755 index 000000000..9d6972a29 --- /dev/null +++ b/modules/m2sci/macros/kernel/operation2sci.bin diff --git a/modules/m2sci/macros/kernel/operation2sci.sci b/modules/m2sci/macros/kernel/operation2sci.sci new file mode 100755 index 000000000..7705c4300 --- /dev/null +++ b/modules/m2sci/macros/kernel/operation2sci.sci @@ -0,0 +1,72 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [sci_equiv]=operation2sci(mtlb_expr) + // M2SCI function + // Convert a function call in an instruction or in an expression from Matlab to Scilab + // Input: + // - mtlb_instr: Matlab instr or expression to convert + // Output: + // - sci_instr: Scilab equivalent for mtlb_instr + + sci_equiv=mtlb_expr + + nboperands=size(mtlb_expr.operands) + + // Special case for extraction + if mtlb_expr.operator=="ext" then + [bval,index]=isdefinedvar(mtlb_expr.operands(1)) + + // Variable is unknown + if ~bval then + // Try to find what is this variable + [tmp]=getvar2sci(mtlb_expr.operands(1),lhslist) + if typeof(tmp)=="funcall" then + newname=mtlb_expr.operands(1).name + mtlb_expr.operands(1)=null() + mtlb_expr=Funcall(newname,size(lhslist),mtlb_expr.operands,lhslist) + [sci_equiv]=expression2sci(mtlb_expr,lhslist) + return + else + end + end + end + + opind=1 + while opind<=nboperands + [sci_operand]=expression2sci(mtlb_expr.operands(opind)) + mtlb_expr.operands(opind)=sci_operand + opind=opind+1 + // Special case for insertion, is this case, last operand (right expression) is not converted + if mtlb_expr.operator=="ins" & opind==nboperands then + break + end + + end + + // Function find is not used because does not work with strings + ind=-1 + for kop=1:size(ops,1) + if ops(kop,1)==mtlb_expr.operator then + ind=kop + break + end + end + if ind==-1 then + error(msprintf(gettext("operator %s not found."),mtlb_expr.operator)) + end + rhs=size(mtlb_expr.operands) + execstr("[sci_equiv]=%"+ops(ind,2)+"2sci(mtlb_expr)"); + + // Update lhsnb if Scilab equivalent is a function call + if typeof(sci_equiv)=="funcall" then + sci_equiv.lhsnb=size(sci_equiv.lhs) + end + +endfunction diff --git a/modules/m2sci/macros/kernel/repl_poss.bin b/modules/m2sci/macros/kernel/repl_poss.bin Binary files differnew file mode 100755 index 000000000..9c67a3373 --- /dev/null +++ b/modules/m2sci/macros/kernel/repl_poss.bin diff --git a/modules/m2sci/macros/kernel/repl_poss.sci b/modules/m2sci/macros/kernel/repl_poss.sci new file mode 100755 index 000000000..d7d8e2807 --- /dev/null +++ b/modules/m2sci/macros/kernel/repl_poss.sci @@ -0,0 +1,40 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function []=repl_poss(expr,varargin) + // Display information for replacement for a statement in converted file + + txt=[] + nposs=size(varargin) + + if nposs==0 | fix(nposs/3)*3~=nposs then + error(gettext("Wrong number of inputs.")) + end + + txt=[expression2code(expr)+gettext(" may be replaced by:")] + for k=1:3:nposs + vars="" + if typeof(varargin(k+1))<>"list" then + vars=expression2code(varargin(k+1)) + else + for l=1:size(varargin(k+1)) + vars=vars+expression2code(varargin(k+1)(l)) + if l<size(varargin(k+1)) then + vars=vars+" and " + end + end + end + txt=[ + txt + " --> "+expression2code(varargin(k))+" "+gettext("if")+" "+vars+" "+varargin(k+2)] + end + + set_infos(txt,1) + +endfunction diff --git a/modules/m2sci/macros/kernel/replace_brackets.bin b/modules/m2sci/macros/kernel/replace_brackets.bin Binary files differnew file mode 100755 index 000000000..b83f831f0 --- /dev/null +++ b/modules/m2sci/macros/kernel/replace_brackets.bin diff --git a/modules/m2sci/macros/kernel/replace_brackets.sci b/modules/m2sci/macros/kernel/replace_brackets.sci new file mode 100755 index 000000000..084923e06 --- /dev/null +++ b/modules/m2sci/macros/kernel/replace_brackets.sci @@ -0,0 +1,52 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function txt=replace_brackets(txt) + + symbs=[",",";","=",")","]","("] + // This file will be use to deal with cells... + for k=1:size(txt,"r") + + // select-case + if strindex(txt(k),"case")<>[] then + txt(k)=strsubst(strsubst(txt(k),"{","makecell("),"}",")") + else + tk=strsubst(txt(k)," ","") + + ko=strindex(tk,"{") + if ko<>[] then + teq=strindex(tk,"=") + + /// + if ko(1)==1 then + txt(k)=strsubst(txt(k),"{}","makecell()") + txt(k)=strsubst(strsubst(txt(k),"{","(makecell([cell(),"),"}","]))") + elseif or(part(tk,ko(1)-1)==symbs) then + txt(k)=strsubst(txt(k),"{}","makecell()") + txt(k)=strsubst(strsubst(txt(k),"{","(makecell([cell(),"),"}","]))") + else // Cell index + txt(k)=strsubst(strsubst(txt(k),"{","("),"}",").entries") + end + + //// + + for kk=2:size(ko,"*") + if or(part(tk,ko(kk)-1)==symbs) then // Cell creation + txt(k)=strsubst(txt(k),"{}","makecell()") + txt(k)=strsubst(strsubst(txt(k),"{","(makecell([cell(),"),"}","]))") + else // Cell index + txt(k)=strsubst(strsubst(txt(k),"{","("),"}",").entries") + end + end + elseif ~isempty(strindex(txt(k),"}")) then + txt(k)=strsubst(txt(k),"}","]))") + end + end + end +endfunction diff --git a/modules/m2sci/macros/kernel/sci_generic.bin b/modules/m2sci/macros/kernel/sci_generic.bin Binary files differnew file mode 100755 index 000000000..cca08126d --- /dev/null +++ b/modules/m2sci/macros/kernel/sci_generic.bin diff --git a/modules/m2sci/macros/kernel/sci_generic.sci b/modules/m2sci/macros/kernel/sci_generic.sci new file mode 100755 index 000000000..ffe4d8307 --- /dev/null +++ b/modules/m2sci/macros/kernel/sci_generic.sci @@ -0,0 +1,25 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [tree]=sci_generic(tree) + // M2SCI function + // Generic conversion function for unknown Matlab functions + // Input: tree = Matlab funcall tree + // Output: tree = Scilab equivalent for tree + + if typeof(tree)=="operation" + tree.out(1).dims=list(-1,-1) + tree.out(1).type=Type(-1,-1) + else + for i=1:size(tree.lhs) + tree.lhs(i).dims=list(-1,-1) + tree.lhs(i).type=Type(-1,-1) + end + end +endfunction diff --git a/modules/m2sci/macros/kernel/sci_m2scideclare.bin b/modules/m2sci/macros/kernel/sci_m2scideclare.bin Binary files differnew file mode 100755 index 000000000..a6849403e --- /dev/null +++ b/modules/m2sci/macros/kernel/sci_m2scideclare.bin diff --git a/modules/m2sci/macros/kernel/sci_m2scideclare.sci b/modules/m2sci/macros/kernel/sci_m2scideclare.sci new file mode 100755 index 000000000..c1c41bcc0 --- /dev/null +++ b/modules/m2sci/macros/kernel/sci_m2scideclare.sci @@ -0,0 +1,342 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function []=sci_m2scideclare(def) + // This function translate calls to m2scideclare + // which can be used by the user to influence translation + // by adding a comment which begins by m2scideclare + + // Global variable for M2SCI + global("varslist") + + //variable_name|dimensions|datatype|property + + //dimensions: variable dimensions separated by blanks (Unknown dimension is ?) + + //datatype: + // - double: scalar/vector/matrix/hypermatrix containing double values + // - string: scalar/vector/matrix/hypermatrix containing character strings + // - boolean: scalar/vector/matrix/hypermatrix containing boolean values + // - int: scalar/vector/matrix/hypermatrix containing integer values + // - handle: matrix of graphics handles or graphics handle + // - sparse: sparse scalar/vector/matrix/hypermatrix + // - cell: cell array + // - struct: struct array + // - ? if unknown + + //property: + // - real/complex/? for double and int datatype + // - real for string and boolean datatype (ignored if not) + // - NOT USED for struct/cell/handle datatype + + // def is the comment added by the user + userdata=def.rhs(1).value + // Remove all multiple blanks + while strindex(userdata," ")<>[] + userdata=strsubst(userdat," "," ") + end + + seppos=strindex(userdata,"|") + + seppos=[seppos,length(userdata)+1] + + nbsep=size(seppos,"*") + + if nbsep<3 then + error(gettext("not enough data, you should give at least variable_name|dimensions|datatype.")); + elseif nbsep>4 then + error(gettext("too much data.")); + end + + name=stripblanks(part(userdata,1:seppos(1)-1)) + + dimstxt=part(userdata,seppos(1)+1:seppos(2)-1) + + datatypetxt=part(userdata,seppos(2)+1:seppos(3)-1) + + if nbsep==4 then + proptxt=part(userdata,seppos(3)+1:seppos(4)-1) + else + proptxt="?" + end + + // Dimensions + dimstxt=strsubst(dimstxt,"?","-1") + dimstxt=strsubst(dimstxt,"*","-2") + dimstxt=strsubst(dimstxt,"#","-3") + blpos=strindex(dimstxt," ") + nbblanks=size(blpos) + blpos=[1,blpos,length(dimstxt)+1] + fmt="%d" + dims=list() + for kbl=1:size(blpos,"*")-1 + dims($+1)=evstr(part(dimstxt,blpos(kbl):blpos(kbl+1))) + end + + // Datatype + datatypetxt=strsubst(datatypetxt,"?","Unknown") + datatype=convstr(datatypetxt,"l") + if or(datatype==["double","boolean","string","int","handle","sparse","cell","struct","unknown"]) then + datatype=convstr(part(datatype,1),"u")+convstr(part(datatype,2:length(datatype)),"l") + vtype=evstr(datatype) + else + error(msprintf(gettext("Unknown datatype %s."),datatypetxt)); + end + + // Property + proptxt=strsubst(proptxt,"?","Unknown") + prop=convstr(proptxt,"l") + if or(prop==["real","complex","homogen","unknown"]) then + prop=convstr(part(prop,1),"u")+part(prop,2:length(prop)) + property=evstr(prop) + else + error(msprintf(gettext("Unknown property %s."),proptxt)); + end + // Property correction + if or(vtype==[Boolean,String]) then + property=Real + end + + if strindex(name,".")<>[] then // Cell or Struct m2scideclare + // Get varname + endofname=min([strindex(name,[".","("])])-1 + varname=part(name,1:endofname) + + // First field name (if is 'entries' then a cell else a struct) + firstpoint=min(strindex(name,".")) + secpoint=min(strindex(part(name,firstpoint+1:length(name)),".")) + par=min(strindex(part(name,firstpoint+1:length(name)),"(")) + if isempty(secpoint) & isempty(par) then //x.fieldname + firstfield=part(name,firstpoint:length(name)) + elseif isempty(secpoint) then //x.fieldname(p...) + firstfield=part(name,firstpoint:par-1) + elseif isempty(par) then //x.fieldname.fieldname2 + firstfield=part(name,firstpoint:secpoint-1) + else //x.fieldname(p...).fieldname2 + firstfield=part(name,firstpoint:min([secpoint par])-1) + end + if firstfield==".entries" then // Cell + vartype=Cell + else // Struct + vartype=Struct + end + + // Indexes for varname ? myvar(1,2).field.... + if or(strindex(name,"(")<strindex(name,".")) | (~isempty(strindex(name,"("))&isempty(strindex(name,"."))) then + ierr=execstr("vardims=list"+part(name,min(strindex(name,"(")):min(strindex(name,")"))),"errcatch") + if ierr then + if ~isempty(strindex(part(name,min(strindex(name,"(")):min(strindex(name,")"))),"*")) then // Generic command * + vardims="generic" + else + error(gettext("Wrong dimensions user data.")); + end + end + else + vardims=list(1,1) + end + + [isvar,index]=isdefinedvar(Variable(varname,Infer())) + + if ~isvar then // If variable does not exist it is added to varslist + if vardims=="generic" then + vardims=list(Unknown,Unknown) + end + contents=Contents() + name=strsubst(name,"*","%genericm2sciindex") + deff("m2scitmp",name) + t=macr2tree(m2scitmp); + if isempty(firstpoint) then + contents.index($+1)=t.statements(2).expression.rhs; + else + contents.index($+1)=t.statements(2).expression.rhs(1); + end + clear m2scitmp + for k=1:lstsize(contents.index($)) + if typeof(contents.index($)(k))=="variable" & contents.index($)(k).name=="%genericm2sciindex" then + contents.index($)(k)=Cste("*") + elseif typeof(contents.index($)(k))=="cste" then + contents.index($)(k)=Cste(contents.index($)(k).value) + elseif typeof(contents.index($)(k))=="list" then + for kk=1:lstsize(contents.index($)(k)) + if typeof(contents.index($)(k)(kk))=="variable" & contents.index($)(k)(kk).name=="%genericm2sciindex" then + contents.index($)(k)(kk)=Cste("*") + elseif typeof(contents.index($)(k)(kk))=="cste" then + contents.index($)(k)(kk)=Cste(contents.index($)(k)(kk).value) + end + end + end + end + contents.data($+1)=Infer(dims,Type(vtype,property)) + varslist($+1)=M2scivar(varname,varname,Infer(vardims,Type(vartype,Unknown),contents)) + else + if vardims=="generic" then + vardims=varslist(index).dims + else + vardims=dims + end + + infereddims=varslist(index).dims + + err=%F + for kd=1:min([lstsize(vardims) lstsize(infereddims)]) + if infereddims(kd)~=vardims(kd) & infereddims(kd)<>Unknown then + err=%T + break + end + end + + // Update dimensions + if err then + set_infos(msprintf(gettext("Dimensions current value and m2scideclare statements conflict for: %s\n m2scideclare given dimension: %s\n Current dimension: %s\n m2scideclare IGNORED"),varname,dims2str(vardims),dims2str(infereddims)),2) + else + varslist(index)=M2scivar(varslist(index).matname,varslist(index).matname,Infer(vardims,Type(varslist(index).type.vtype,property))) + end + + // Update vtype + if varslist(index).type.vtype==Unknown then + varslist(index)=M2scivar(varslist(index).matname,varslist(index).matname,Infer(vardims,Type(vartype,varslist(index).property))) + elseif varslist(index).type.vtype~=vartype then + set_infos(msprintf(gettext("Type current value and m2scideclare statements conflict for: %s\n m2scideclare given type: %s\n current type: %s\n m2scideclare IGNORED"),varname,tp2str(vartype),tp2str(varslist(index).type.vtype)),2) + end + + // Update property + if varslist(index).property==Unknown then + varslist(index).infer.type.property=property + elseif property==Unknown then + varslist(index).type.property=Unknown + elseif varslist(index).type.property~=property then + set_infos(msprintf(gettext("Property current value and m2scideclare statements conflict for: %s\n m2scideclare given type: %s\n current type: %s\n m2scideclare IGNORED"),name,prop2str(Unknown),prop2str(varslist(index).type.property)),2) + end + + // Update contents (no verification made...too complex) + contents=varslist(index).contents + name=strsubst(name,"*","%genericm2sciindex") + deff("m2scitmp",name) + t=macr2tree(m2scitmp); + if isempty(firstpoint) then + contents.index($+1)=t.statements(2).expression.rhs; + else + contents.index($+1)=t.statements(2).expression.rhs(1); + end + clear m2scitmp + for k=1:lstsize(contents.index($)) + if typeof(contents.index($)(k))=="variable" & contents.index($)(k).name=="%genericm2sciindex" then + contents.index($)(k)=Cste("*") + elseif typeof(contents.index($)(k))=="cste" then + contents.index($)(k)=Cste(contents.index($)(k).value) + elseif typeof(contents.index($)(k))=="list" then + for kk=1:lstsize(contents.index($)(k)) + if typeof(contents.index($)(k)(kk))=="variable" & contents.index($)(k)(kk).name=="%genericm2sciindex" then + contents.index($)(k)(kk)=Cste("*") + elseif typeof(contents.index($)(k)(kk))=="cste" then + contents.index($)(k)(kk)=Cste(contents.index($)(k)(kk).value) + end + end + end + end + contents.data($+1)=Infer(dims,Type(vtype,property)) + varslist(index)=M2scivar(varname,varname,Infer(vardims,Type(vartype,Unknown),contents)) + + end + else // Variable m2scideclare + + // Special part for %graphicswindow + if name=="%graphicswindow" then + global %graphicswindow + if and(vtype<>[Handle,Double]) then + set_infos(gettext("%graphicswindow set to default value Handle."),2); + else + %graphicswindow=vtype + end + return + end + + [isvar,index]=isdefinedvar(Variable(name,Infer())) + + if ~isvar then // If variable does not exist it is added to varslist + varslist($+1)=M2scivar(name,name,Infer(dims,Type(vtype,property))) + else // Try to compare with already infered data + // Update dims + infereddims=varslist(index).dims + + err=%F + for kd=1:min([lstsize(dims) lstsize(infereddims)]) + if infereddims(kd)~=dims(kd) & infereddims(kd)<>Unknown then + err=%T + break + end + end + + if err then + set_infos(msprintf(gettext("Dimensions current value and m2scideclare statements conflict for: %s\n m2scideclare given dimension: %s\n Current dimension: %s\n m2scideclare IGNORED"),name,dims2str(dims),dims2str(infereddims)),2) + else + varslist(index)=M2scivar(varslist(index).matname,varslist(index).sciname,Infer(dims,varslist(index).type)) + end + + // Update vtype + if varslist(index).type.vtype==Unknown then + varslist(index)=M2scivar(varslist(index).matname,varslist(index).sciname,Infer(varslist(index).dims,Type(vtype,varslist(index).type.property))) + elseif varslist(index).type.vtype~=vtype then + set_infos(msprintf(gettext("Type current value and m2scideclare statements conflict for: %s\n m2scideclare given type: %s\n current type: %s\n m2scideclare IGNORED"),name,tp2str(vtype),tp2str(varslist(index).type.vtype)),2) + end + + // Update property + if varslist(index).type.property==Unknown then + varslist(index)=M2scivar(varslist(index).matname,varslist(index).sciname,Infer(varslist(index).dims,Type(varslist(index).type.vtype,property))) + elseif varslist(index).type.property~=property then + set_infos(msprintf(gettext("Property current value and m2scideclare statements conflict for: %s\n m2scideclare given type: %s\n current type: %s\n m2scideclare IGNORED"),name,prop2str(property),prop2str(varslist(index).type.property)),2) + end + end + end +endfunction + + +function str=tp2str(tp) + // Returns equivalent of typeof() from data coming from type() + + if tp==1 then + str="Double" + elseif tp==4 then + str="Boolean" + elseif tp==6 then + str="Sparse" + elseif tp==8 then + str="Int" + elseif tp==9 then + str="Handle" + elseif tp==10 then + str="String" + elseif tp==16 then + str="Struct" + elseif tp==17 then + str="Cell" + elseif tp==-1 then + str="Unknown" + else + error(msprintf(gettext("type %d is not implemented."),tp)) + end +endfunction + +function str=prop2str(prop) + if type(prop)==10 then + str=prop + elseif prop==-1 then + str="Unknown" + else + error(msprintf(gettext("type %d is not implemented."),prop)) + end +endfunction + +function str=dims2str(dims) + str="" + for kd=1:lstsize(dims) + str=str+string(dims(kd))+" " + end +endfunction diff --git a/modules/m2sci/macros/kernel/sciparam.bin b/modules/m2sci/macros/kernel/sciparam.bin Binary files differnew file mode 100755 index 000000000..e028f558c --- /dev/null +++ b/modules/m2sci/macros/kernel/sciparam.bin diff --git a/modules/m2sci/macros/kernel/sciparam.sci b/modules/m2sci/macros/kernel/sciparam.sci new file mode 100755 index 000000000..4c420376a --- /dev/null +++ b/modules/m2sci/macros/kernel/sciparam.sci @@ -0,0 +1,56 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function sciparam() + // M2SCI variable declaration + // All variables listed below can be accessed for reading from all macros called from m2sci() macro + + quote="''" + logics=["==","<",">","<=",">=","<>"] + + // Operations code + // [ operation symbol, operation translation function code ; ...] + // e.g. : translation function for addition (+) is named %a2sci()... + ops = [ "+" , "a" ; + "-" , "s" ; + "*" , "m" ; + ".*" , "x" ; + "*." , "u" ; + ".*." , "k" ; + "/" , "r" ; + "./" , "d" ; + "/." , "v" ; + "./." , "y" ; + "\" , "l" ; + ".\" , "q" ; + "\." , "w" ; + ".\." , "z" ; + "^" , "p" ; + "==" , "log" ; + "<" , "log" ; + ">" , "log" ; + "<=" , "log" ; + ">=" , "log" ; + "~=" , "log" ; + ":" , "imp" ; + "rc" , "rc" ; + "ins" , "i" ; + "ext" , "e" ; + quote , "t" ; + "cc" , "cc" ; + "|" , "g" ; + "&" , "h" ; + "~" , "5" ; + ".^" , "j" ; + "."+quote , "0" ; + "cceol" , "cc" ] // Column Concatenation with EOL between Rows + + [logics,ops,quote]=resume(logics,ops,quote) + +endfunction diff --git a/modules/m2sci/macros/kernel/set_infos.bin b/modules/m2sci/macros/kernel/set_infos.bin Binary files differnew file mode 100755 index 000000000..ff1c90da4 --- /dev/null +++ b/modules/m2sci/macros/kernel/set_infos.bin diff --git a/modules/m2sci/macros/kernel/set_infos.sci b/modules/m2sci/macros/kernel/set_infos.sci new file mode 100755 index 000000000..927e49414 --- /dev/null +++ b/modules/m2sci/macros/kernel/set_infos.sci @@ -0,0 +1,27 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function []=set_infos(t,level) + + // Add warning and error messages obtained while translating to display it in the end of file translation + global("m2sci_infos") + + t(1)="L."+string(nblines)+": "+t(1) + + select level + case 0 then + case 1 then + m2sci_infos(level)=%t + t="! "+t + case 2 then + m2sci_infos(level)=%t + t="!! "+t + end + m2sci_info(t,verbose_mode); +endfunction diff --git a/modules/m2sci/macros/kernel/transformtree.bin b/modules/m2sci/macros/kernel/transformtree.bin Binary files differnew file mode 100755 index 000000000..51744bad8 --- /dev/null +++ b/modules/m2sci/macros/kernel/transformtree.bin diff --git a/modules/m2sci/macros/kernel/transformtree.sci b/modules/m2sci/macros/kernel/transformtree.sci new file mode 100755 index 000000000..5478ebb31 --- /dev/null +++ b/modules/m2sci/macros/kernel/transformtree.sci @@ -0,0 +1,84 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2004-2006 - INRIA - Farid BELAHCENE +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function instr=transformtree(instr) + //TRANSFORMTREE function + //This function research and transform the equal instructions(if the lhs are a multi_operation and expression is a funcall) + //of the matlab tree to a sup_equal instructions + //sup_equal is a tlist : tlist([sup_equal,sup_instr,nb_op],sup_instr,nb_op) + //i.e : the equal instruction [a(1),b(2:3)]=f() is replaced by + //sup_equal, whith sup_intr list is composed to : + //[%v1,%v2]=f() + //a(1)=%v1 + //b(2:3)=%v2 + //and nb_op is: the number of insert operation (in this case 2) + //Input + //instr : instruction of matlab tree before tranformation + //Output + //instr : instruction of matlab tree after transformation + + Unknown=-1; + // Browse all the instrucions of the matlab tree: + if typeof(instr)=="ifthenelse" then + for i=1:size(instr.then) + instr.then(i)=transformtree((instr.then(i))) + end + for i=1:size(instr.elseifs) + for k=1:size(instr.elseifs(i).then) + instr.elseifs(i).then(k)=transformtree((instr.elseifs(i).then(k))) + end + end + for i=1:size(instr.else) + instr.else(i)=transformtree((instr.else(i))) + end + elseif typeof(instr)=="selectcase" then + for i=1:size(instr.cases) + for j=1:size(instr.cases(i).then) + instr.cases(i).then(j)=transformtree((instr.cases(i).then(j))) + end + end + for i=1:size(instr.else) + instr.else(i)=transformtree(instr.else(i)) + end + elseif typeof(instr)=="while" then + for i=1:size(instr.statements) + instr.statements(i)=transformtree(instr.statements(i)) + end + elseif typeof(instr)=="for" then + for i=1:size(instr.statements) + instr.statements(i)=transformtree(instr.statements(i)) + end + //instruction is an equal instruction + elseif typeof(instr)=="equal" then + if typeof(instr.expression)=="funcall" then //expression is a funcall + nb_opr=0; + for ind=1:size(instr.lhs) + if typeof(instr.lhs(ind))=="operation" then + nb_opr=nb_opr+1 + end + end + if nb_opr>1 then //more than one lhs insert operation + sup_instr=list(""); + lhstemp=list(); + for j=1:size(instr.lhs) + if typeof(instr.lhs(j))=="operation" then + x=gettempvar(); + sup_instr($+1)=Equal(list(instr.lhs(j)),x); + lhstemp(j)=x; + else + lhstemp(j)=instr.lhs(j) + end + end + sup_instr(1)=Equal(lhstemp,instr.expression) + //creation of the sup_equal + instr=tlist(["sup_equal","sup_instr","nb_opr"],sup_instr,nb_opr) + end + end + end +endfunction
\ No newline at end of file diff --git a/modules/m2sci/macros/kernel/translateorder.bin b/modules/m2sci/macros/kernel/translateorder.bin Binary files differnew file mode 100755 index 000000000..3b1d7665f --- /dev/null +++ b/modules/m2sci/macros/kernel/translateorder.bin diff --git a/modules/m2sci/macros/kernel/translateorder.sci b/modules/m2sci/macros/kernel/translateorder.sci new file mode 100755 index 000000000..89acd5d8b --- /dev/null +++ b/modules/m2sci/macros/kernel/translateorder.sci @@ -0,0 +1,49 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [transorder]=translateorder(transorder,funtxt,overfunname) + // TRANSLATEORDER Recursive function + // Determinates a translate order of the M-files found in Paths (used by "translatepaths" function) + // Output-Input + // -transorder : a vector containing the M-files names which are arranged in order to respect an priority order of translation + // Input + // -funtxt : a vector which contains the name of a M-file found in the Paths (its first component: funtxt(1)), and the called functions by this file (the others components : funtxt(2:$)) + // -overfunname : a vector which contains the files names being passed like argument of "translateorder" function + + // the file is already in the list + if or(transorder==funtxt(1)) then + return + end + + if size(funtxt,"*")>1 then + for i=2:size(funtxt,1) + // the called function is already in the list + if find(funtxt(i)==transorder)<>[] then + continue + // the called function is already passed in argument of "translateorder" function (a loop) + elseif find(funtxt(i)==overfunname)<>[] then + disp([overfunname;funtxt(i)],"loop: ") + //return + continue + // order the under level, also we call translateorder (recursive) + else + overfunname($+1)=funtxt(1) + execstr("[transorder]=translateorder(transorder,"+funtxt(i)+"vect,overfunname)") + end + end + transorder($+1)=funtxt(1) + else + // no called function by the M-file, also we put the M-file name in the transorder vector + transorder($+1)=funtxt(1) + end + +endfunction + + + diff --git a/modules/m2sci/macros/kernel/update_instr_list.bin b/modules/m2sci/macros/kernel/update_instr_list.bin Binary files differnew file mode 100755 index 000000000..4f950bce2 --- /dev/null +++ b/modules/m2sci/macros/kernel/update_instr_list.bin diff --git a/modules/m2sci/macros/kernel/update_instr_list.sci b/modules/m2sci/macros/kernel/update_instr_list.sci new file mode 100755 index 000000000..87526ae45 --- /dev/null +++ b/modules/m2sci/macros/kernel/update_instr_list.sci @@ -0,0 +1,45 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function [instr_list]=update_instr_list(instr_list,instr) + // M2SCI function + + // Global variables for M2SCI + global("m2sci_to_insert_b") + if isempty(m2sci_to_insert_b) + m2sci_to_insert_b = list(); + end + global("m2sci_to_insert_a") + if isempty(m2sci_to_insert_a) + m2sci_to_insert_a = list(); + end + + // Get instructions that must be inserted before converted instruction + for k=1:lstsize(m2sci_to_insert_b) + if m2sci_to_insert_b(k)<>list() then + instr_list($+1)=m2sci_to_insert_b(k) + end + end + m2sci_to_insert_b=list() + + // Insert converted instruction + // instr can be an empty list if a call to 'm2scideclare' or convertion made in m2sci_to_insert_b + if instr<>list() then + instr_list($+1)=instr + end + + // Get instructions that must be inserted after converted instruction + for k=1:lstsize(m2sci_to_insert_a) + if m2sci_to_insert_a(k)<>list() then + instr_list($+1)=m2sci_to_insert_a(k) + end + end + m2sci_to_insert_a=list() + +endfunction diff --git a/modules/m2sci/macros/kernel/updatevarslist.bin b/modules/m2sci/macros/kernel/updatevarslist.bin Binary files differnew file mode 100755 index 000000000..949389aa7 --- /dev/null +++ b/modules/m2sci/macros/kernel/updatevarslist.bin diff --git a/modules/m2sci/macros/kernel/updatevarslist.sci b/modules/m2sci/macros/kernel/updatevarslist.sci new file mode 100755 index 000000000..a19d331b3 --- /dev/null +++ b/modules/m2sci/macros/kernel/updatevarslist.sci @@ -0,0 +1,233 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function []=updatevarslist(instr_lhs) + // (2 functions in this file: merge_vars() at the end) + // Update list of M2SCI variables with converted instruction lhs + // Input: + // - instr_lhs: list of lhs of current instruction + // - in_a_clause: boolean value + // Set to 1 if instruction is in a clause + // In this case, type and dimensions are set to unknown if differ from those already stored in varslist + // (Default value is %F) + + // Global variable for M2SCI + global("varslist") + if isempty(varslist) + varslist = list() + end + // level is declared in m2sci.sci and modified in clause2sci.sci + level; + + rhs=argn(2) + if rhs==2 then + in_a_clause=%F + end + + // Merge infered data from the last two parts of clause which are above the current part + // if we are in the third part of clause (current), then : merge the first and second part of clause + // when end of conversion of a clause : merge infered data from the last two parts of clause + levelsize=size(level,1) + changepartclause=%F + + for i=size(varslist):-1:1 + if size(varslist(i).level,1)==levelsize then + varlevel=varslist(i).level + if varlevel($)<>level($) + changepartclause=%T + else + changepartclause=%F + break + end + end + end + if changepartclause | instr_lhs=="END OF CLAUSE" then + index=[] // Search variables from two part above current part clause + for k=size(varslist):-1:1 + if size(varslist(k).level,1)==levelsize then + varlevel=varslist(k).level + if and(varlevel(1:$-1)==level(1:$-1)) & varlevel($)==level($)-2 then + index=[index;k] + end + end + end + if index<>[] then // Found variables from the second part above current part of a clause + for k=1:size(index,1) + boolmerge =%F + for i=size(varslist):-1:1 // Search variables from the first part above current part of a clause, and which have the same name than variables from the second part above current part of a clause + varlevel=varslist(i).level + if varslist(i).matname==varslist(index(k)).matname & and(varlevel(1:$-1)==level(1:$-1)) & varlevel($)==level($)-1 then + boolmerge =%T // Found the same variable name from the last two parts above the current part : Merge + merge_vars(index(k),varslist(i)) + varslist(i)=null() + break + end + end + if ~boolmerge then + varslist(index(k)).level=[level(1:$-1);level($)-1] + end + end + end + end + + // Special case when end of conversion of a clause + // Merge infered data from clause and those from level-1 + if instr_lhs=="END OF CLAUSE" then // Search variables in the last part of a clause (above end of conversion of a clause) + index=[] // + for k=size(varslist):-1:1 // Search variables from level-1 which have the same name than variables from the last part of current level + varlevel=varslist(k).level + if varlevel==[level(1:$-1);level($)-1] then + index=[index;k] + end + end + if index<>[] then + for j=1:size(index,1) + boolmerge=%F + for k=size(varslist):-1:1 // + varlevel=varslist(k).level + if varslist(k).matname==varslist(index(j)).matname & and(varlevel==level(1:$-1)) then + boolmerge=%T // Found variables from level-1 which have the same name than variables from the last part of current level : Merge + index_lower_level=k + merge_vars(index_lower_level,varslist(index(j))) + varslist(k).level=level(1:$-1) + varslist(index(j))=null() + break + end + end + if boolmerge==%F then + varslist(index(j)).level=level(1:$-1) + end + end + end + return + end + + // Expression: lhs name is empty => nothing to do + if instr_lhs==list() then + return + end + + // Remove lhs which are not variables + k=1 + while k<=size(instr_lhs) + // Insertion operation + if typeof(instr_lhs(k))=="operation" then + instr_lhs(k)=null() + else + k=k+1 + end + end + + if size(instr_lhs)==0 then + return + end + + // Update varslist + for k=1:size(instr_lhs) + [bval,index]=isdefinedvar(instr_lhs(k)) + ierr=execstr("zz=instr_lhs(k).contents.index","errcatch") + if ierr<>0 then pause;end + // Remove multiple entries from contents + for kcont=lstsize(instr_lhs(k).contents.index):-1:1 + [infertlist,pos]=get_contents_infer(instr_lhs(k),instr_lhs(k).contents.index(kcont)) + if pos<>0 & pos<>kcont then + instr_lhs(k).contents.index(pos)=null() + instr_lhs(k).contents.data(pos)=null() + end + end + // If variable exists for the current level in the same part of clause then update exixting variable + if bval + boolupdate=%F + for l=1:size(varslist) + if varslist(l).matname==instr_lhs(k).name & varslist(l).level==level then + varslist(l)=M2scivar(varslist(l).sciname,.. + varslist(l).matname,.. + Infer(instr_lhs(k).infer.dims,instr_lhs(k).infer.type,instr_lhs(k).infer.contents),.. + varslist(l).level) + boolupdate=%T + break + end + end + // If variable exists, but not for the current level or not in the same part of clause then Update variable then create new variable + if ~boolupdate then + varslist($+1)=M2scivar(varslist(index).sciname,.. + varslist(index).matname,.. + instr_lhs(k).infer,.. + level) + end + else + // Variable added to varslist if as a name (not done for expressions + if execstr("f=instr_lhs(k).name","errcatch")<>0 then pause;end;errclear(); + if instr_lhs(k).name<>"ans" then + varslist($+1)=M2scivar(instr_lhs(k).name,.. + instr_lhs(k).name,.. + instr_lhs(k).infer,.. + level) + end + end + end +endfunction + +function []=merge_vars(oldvarindex,newvar) + // M2SCI function + // Merge two variables inference properties, if different then set to Unknown + // Input: + // - oldvarindex: index of old variable in varslist + // - newvar: new variable to take in account to update oldvar properties + + // Global variable for M2SCI + global("varslist") + oldvar=varslist(oldvarindex) + + olddims=oldvar.dims + oldvtype=oldvar.vtype + oldprop=oldvar.property + + newdims=newvar.dims + newvtype=newvar.vtype + newprop=newvar.property + + // Verify dims + for l=1:min(size(newdims),size(olddims)) + if newdims(l)<>olddims(l) then + newdims(l)=Unknown + end + end + if size(newdims)>size(olddims) then + for l=size(olddims):size(newdims) + newdims(l)=null() + end + end + + // Verify vtype + if newvtype<>oldvtype then + newvtype=Unknown + end + + // Verify property + if newprop<>oldprop then + newprop=Unknown + end + + // Verify contents + for k=1:lstsize(newvar.contents.index) + olddata=get_contents_infer(oldvar,newvar.contents.index(k)) + newdata=newvar.contents.data(k) + + if or(olddata<>newdata) then + newvar.infer.contents.data(k)=Infer() + end + end + + // Write result in varslist + varslist(oldvarindex)=M2scivar(oldvar.sciname,.. + oldvar.matname,.. + Infer(newdims,Type(newvtype,newprop),newvar.contents),.. + newvar.level) +endfunction diff --git a/modules/m2sci/macros/kernel/variablesearch.bin b/modules/m2sci/macros/kernel/variablesearch.bin Binary files differnew file mode 100755 index 000000000..55207abd5 --- /dev/null +++ b/modules/m2sci/macros/kernel/variablesearch.bin diff --git a/modules/m2sci/macros/kernel/variablesearch.sci b/modules/m2sci/macros/kernel/variablesearch.sci new file mode 100755 index 000000000..87eeba661 --- /dev/null +++ b/modules/m2sci/macros/kernel/variablesearch.sci @@ -0,0 +1,71 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ???? - INRIA - Scilab +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function variablename=variablesearch(instr,variablename) + // VARIABLESEARCH recursive function (used by "translatepaths" function) + // Searches names of declared variables for each instruction of mtlbtree + // Output + // -variablename : a vector which contains the names of declared variables + // -instr : mtlbtree instruction + + // case : ifthenelse instruction + if typeof(instr) == "ifthenelse" then + for i=1:size(instr.then) + [variablename]=variablesearch((instr.then(i)),variablename) + end + for i=1:size(instr.elseifs) + for k=1:size(instr.elseifs(i).then) + [variablename]=variablesearch((instr.elseifs(i).then(k)),variablename) + end + end + for i=1:size(instr.else) + [variablename]=variablesearch((instr.else(i)),variablename) + end + // case : selectcase instruction + elseif typeof(instr) == "selectcase" then + for i=1:size(instr.cases) + [variablename]=variablesearch(instr.cases(i).expression,variablename) + for j=1:size(instr.cases(i).then) + [variablename]=variablesearch((instr.cases(i).then(j)),variablename) + end + end + for i=1:size(instr.else) + [variablename]=variablesearch(instr.else(i),variablename) + end + // case : while instruction + elseif typeof(instr) == "while" then + for i=1:size(instr.statements) + [variablename]=variablesearch(instr.statements(i),variablename) + end + // case : for instruction + elseif typeof(instr) == "for" then + [variablename]=variablesearch(instr.expression,variablename) + for i=1:size(instr.statements) + [variablename]=variablesearch(instr.statements(i),variablename) + end + // case : equal instruction + elseif typeof(instr) == "equal" then + for i=1:size(instr.lhs) + [variablename]=variablesearch(instr.lhs(i),variablename) + end + // case : operation instruction + elseif typeof(instr) == "operation" then + if instr.operator=="ins" then + if find(instr.operands(1).name==variablename)==[] then + variablename($+1)=instr.operands(1).name + end + end + // case : variable instruction + elseif typeof(instr) == "variable" then + if find(instr.name==variablename)==[] & instr.name<>"ans" then + variablename($+1)=instr.name + end + end + +endfunction |