summaryrefslogtreecommitdiff
path: root/modules/m2sci/macros/kernel
diff options
context:
space:
mode:
authorShashank2017-05-29 12:40:26 +0530
committerShashank2017-05-29 12:40:26 +0530
commit0345245e860375a32c9a437c4a9d9cae807134e9 (patch)
treead51ecbfa7bcd3cc5f09834f1bb8c08feaa526a4 /modules/m2sci/macros/kernel
downloadscilab_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')
-rwxr-xr-xmodules/m2sci/macros/kernel/%contents_i_funcall.binbin0 -> 752 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%contents_i_funcall.sci17
-rwxr-xr-xmodules/m2sci/macros/kernel/%contents_i_operatio.binbin0 -> 752 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%contents_i_operatio.sci17
-rwxr-xr-xmodules/m2sci/macros/kernel/%contents_i_variable.binbin0 -> 712 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%contents_i_variable.sci17
-rwxr-xr-xmodules/m2sci/macros/kernel/%cste_e.binbin0 -> 2440 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%cste_e.sci27
-rwxr-xr-xmodules/m2sci/macros/kernel/%funcall_6.binbin0 -> 2972 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%funcall_6.sci29
-rwxr-xr-xmodules/m2sci/macros/kernel/%funcall_e.binbin0 -> 2748 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%funcall_e.sci28
-rwxr-xr-xmodules/m2sci/macros/kernel/%infer_i_s.binbin0 -> 3264 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%infer_i_s.sci36
-rwxr-xr-xmodules/m2sci/macros/kernel/%infer_i_st.binbin0 -> 360 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%infer_i_st.sci12
-rwxr-xr-xmodules/m2sci/macros/kernel/%l_i_cste.binbin0 -> 944 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%l_i_cste.sci19
-rwxr-xr-xmodules/m2sci/macros/kernel/%l_i_funcall.binbin0 -> 964 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%l_i_funcall.sci18
-rwxr-xr-xmodules/m2sci/macros/kernel/%l_i_operatio.binbin0 -> 964 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%l_i_operatio.sci18
-rwxr-xr-xmodules/m2sci/macros/kernel/%l_i_variable.binbin0 -> 1204 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%l_i_variable.sci20
-rwxr-xr-xmodules/m2sci/macros/kernel/%m2scivar_e.binbin0 -> 2496 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%m2scivar_e.sci28
-rwxr-xr-xmodules/m2sci/macros/kernel/%operatio_6.binbin0 -> 2972 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%operatio_6.sci29
-rwxr-xr-xmodules/m2sci/macros/kernel/%operatio_e.binbin0 -> 2972 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%operatio_e.sci29
-rwxr-xr-xmodules/m2sci/macros/kernel/%s_i_operatio.binbin0 -> 960 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%s_i_operatio.sci18
-rwxr-xr-xmodules/m2sci/macros/kernel/%s_i_variable.binbin0 -> 1284 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%s_i_variable.sci21
-rwxr-xr-xmodules/m2sci/macros/kernel/%type_i_cste.binbin0 -> 696 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%type_i_cste.sci17
-rwxr-xr-xmodules/m2sci/macros/kernel/%type_i_funcall.binbin0 -> 708 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%type_i_funcall.sci17
-rwxr-xr-xmodules/m2sci/macros/kernel/%type_i_operatio.binbin0 -> 708 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%type_i_operatio.sci17
-rwxr-xr-xmodules/m2sci/macros/kernel/%type_i_variable.binbin0 -> 3248 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%type_i_variable.sci40
-rwxr-xr-xmodules/m2sci/macros/kernel/%variable_6.binbin0 -> 2720 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%variable_6.sci29
-rwxr-xr-xmodules/m2sci/macros/kernel/%variable_e.binbin0 -> 2724 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/%variable_e.sci30
-rwxr-xr-xmodules/m2sci/macros/kernel/Contents.binbin0 -> 3080 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/Contents.sci31
-rwxr-xr-xmodules/m2sci/macros/kernel/Cste.binbin0 -> 3664 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/Cste.sci51
-rwxr-xr-xmodules/m2sci/macros/kernel/Equal.binbin0 -> 3696 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/Equal.sci34
-rwxr-xr-xmodules/m2sci/macros/kernel/Funcall.binbin0 -> 4012 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/Funcall.sci30
-rwxr-xr-xmodules/m2sci/macros/kernel/Infer.binbin0 -> 6108 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/Infer.sci42
-rwxr-xr-xmodules/m2sci/macros/kernel/M2scivar.binbin0 -> 3456 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/M2scivar.sci32
-rwxr-xr-xmodules/m2sci/macros/kernel/Operation.binbin0 -> 3196 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/Operation.sci29
-rwxr-xr-xmodules/m2sci/macros/kernel/Rhs_tlist.binbin0 -> 2500 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/Rhs_tlist.sci31
-rwxr-xr-xmodules/m2sci/macros/kernel/Type.binbin0 -> 3364 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/Type.sci30
-rwxr-xr-xmodules/m2sci/macros/kernel/Variable.binbin0 -> 2388 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/Variable.sci27
-rwxr-xr-xmodules/m2sci/macros/kernel/allunknown.binbin0 -> 496 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/allunknown.sci17
-rwxr-xr-xmodules/m2sci/macros/kernel/buildmacros.sce16
-rwxr-xr-xmodules/m2sci/macros/kernel/changevarname.binbin0 -> 8792 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/changevarname.sci63
-rwxr-xr-xmodules/m2sci/macros/kernel/clause2sci.binbin0 -> 60052 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/clause2sci.sci385
-rwxr-xr-xmodules/m2sci/macros/kernel/convert2double.binbin0 -> 4804 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/convert2double.sci40
-rwxr-xr-xmodules/m2sci/macros/kernel/default_trad.binbin0 -> 12140 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/default_trad.sci102
-rwxr-xr-xmodules/m2sci/macros/kernel/equal2sci.binbin0 -> 23972 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/equal2sci.sci158
-rwxr-xr-xmodules/m2sci/macros/kernel/expression2sci.binbin0 -> 17320 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/expression2sci.sci132
-rwxr-xr-xmodules/m2sci/macros/kernel/first_non_singleton.binbin0 -> 1476 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/first_non_singleton.sci26
-rwxr-xr-xmodules/m2sci/macros/kernel/funcall2sci.binbin0 -> 11480 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/funcall2sci.sci98
-rwxr-xr-xmodules/m2sci/macros/kernel/funcallsearch.binbin0 -> 18152 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/funcallsearch.sci104
-rwxr-xr-xmodules/m2sci/macros/kernel/get_unknown.binbin0 -> 3708 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/get_unknown.sci31
-rwxr-xr-xmodules/m2sci/macros/kernel/getoperands.binbin0 -> 1292 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/getoperands.sci24
-rwxr-xr-xmodules/m2sci/macros/kernel/getrhs.binbin0 -> 1352 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/getrhs.sci24
-rwxr-xr-xmodules/m2sci/macros/kernel/gettempvar.binbin0 -> 3784 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/gettempvar.sci35
-rwxr-xr-xmodules/m2sci/macros/kernel/getvar2sci.binbin0 -> 7828 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/getvar2sci.sci63
-rwxr-xr-xmodules/m2sci/macros/kernel/i_notation.binbin0 -> 11776 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/i_notation.sci94
-rwxr-xr-xmodules/m2sci/macros/kernel/infer2txt.binbin0 -> 7084 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/infer2txt.sci60
-rwxr-xr-xmodules/m2sci/macros/kernel/insert.binbin0 -> 1480 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/insert.sci26
-rwxr-xr-xmodules/m2sci/macros/kernel/instruction2sci.binbin0 -> 2804 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/instruction2sci.sci32
-rwxr-xr-xmodules/m2sci/macros/kernel/is_a_scalar.binbin0 -> 1348 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/is_a_scalar.sci24
-rwxr-xr-xmodules/m2sci/macros/kernel/is_a_vector.binbin0 -> 1820 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/is_a_vector.sci27
-rwxr-xr-xmodules/m2sci/macros/kernel/is_complex.binbin0 -> 784 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/is_complex.sci18
-rwxr-xr-xmodules/m2sci/macros/kernel/is_empty.binbin0 -> 1492 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/is_empty.sci25
-rwxr-xr-xmodules/m2sci/macros/kernel/is_real.binbin0 -> 788 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/is_real.sci18
-rwxr-xr-xmodules/m2sci/macros/kernel/isacomment.binbin0 -> 4376 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/isacomment.sci45
-rwxr-xr-xmodules/m2sci/macros/kernel/isanmfile.binbin0 -> 3804 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/isanmfile.sci46
-rwxr-xr-xmodules/m2sci/macros/kernel/isdefinedvar.binbin0 -> 6692 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/isdefinedvar.sci65
-rwxr-xr-xmodules/m2sci/macros/kernel/isinstring.binbin0 -> 8360 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/isinstring.sci78
-rwxr-xr-xmodules/m2sci/macros/kernel/libbin0 -> 2372 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/lst_funcall.binbin0 -> 37000 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/lst_funcall.sci234
-rwxr-xr-xmodules/m2sci/macros/kernel/m2sci.binbin0 -> 47728 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/m2sci.sci299
-rwxr-xr-xmodules/m2sci/macros/kernel/m2sci_info.binbin0 -> 6328 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/m2sci_info.sci45
-rwxr-xr-xmodules/m2sci/macros/kernel/m2sci_syntax.binbin0 -> 71736 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/m2sci_syntax.sci455
-rwxr-xr-xmodules/m2sci/macros/kernel/mfile_path.binbin0 -> 1384 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/mfile_path.sci21
-rwxr-xr-xmodules/m2sci/macros/kernel/mtlbtoolfun.binbin0 -> 684048 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/mtlbtoolfun.sci3653
-rwxr-xr-xmodules/m2sci/macros/kernel/mtlbtree2sci.binbin0 -> 16272 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/mtlbtree2sci.sci125
-rwxr-xr-xmodules/m2sci/macros/kernel/multi_fun_file.binbin0 -> 23064 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/multi_fun_file.sci174
-rwxr-xr-xmodules/m2sci/macros/kernel/names87
-rwxr-xr-xmodules/m2sci/macros/kernel/no_equiv.binbin0 -> 468 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/no_equiv.sci14
-rwxr-xr-xmodules/m2sci/macros/kernel/not_a_scalar.binbin0 -> 1700 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/not_a_scalar.sci24
-rwxr-xr-xmodules/m2sci/macros/kernel/not_a_vector.binbin0 -> 1788 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/not_a_vector.sci25
-rwxr-xr-xmodules/m2sci/macros/kernel/not_empty.binbin0 -> 1932 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/not_empty.sci25
-rwxr-xr-xmodules/m2sci/macros/kernel/not_yet_converted.binbin0 -> 78112 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/not_yet_converted.sci1337
-rwxr-xr-xmodules/m2sci/macros/kernel/old2newinstr.binbin0 -> 15780 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/old2newinstr.sci94
-rwxr-xr-xmodules/m2sci/macros/kernel/operation2sci.binbin0 -> 7508 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/operation2sci.sci72
-rwxr-xr-xmodules/m2sci/macros/kernel/repl_poss.binbin0 -> 3988 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/repl_poss.sci40
-rwxr-xr-xmodules/m2sci/macros/kernel/replace_brackets.binbin0 -> 6636 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/replace_brackets.sci52
-rwxr-xr-xmodules/m2sci/macros/kernel/sci_generic.binbin0 -> 2196 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/sci_generic.sci25
-rwxr-xr-xmodules/m2sci/macros/kernel/sci_m2scideclare.binbin0 -> 58424 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/sci_m2scideclare.sci342
-rwxr-xr-xmodules/m2sci/macros/kernel/sciparam.binbin0 -> 4176 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/sciparam.sci56
-rwxr-xr-xmodules/m2sci/macros/kernel/set_infos.binbin0 -> 1808 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/set_infos.sci27
-rwxr-xr-xmodules/m2sci/macros/kernel/transformtree.binbin0 -> 12008 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/transformtree.sci84
-rwxr-xr-xmodules/m2sci/macros/kernel/translateorder.binbin0 -> 6368 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/translateorder.sci49
-rwxr-xr-xmodules/m2sci/macros/kernel/update_instr_list.binbin0 -> 3996 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/update_instr_list.sci45
-rwxr-xr-xmodules/m2sci/macros/kernel/updatevarslist.binbin0 -> 32828 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/updatevarslist.sci233
-rwxr-xr-xmodules/m2sci/macros/kernel/variablesearch.binbin0 -> 9756 bytes
-rwxr-xr-xmodules/m2sci/macros/kernel/variablesearch.sci71
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
new file mode 100755
index 000000000..ea3f8cd8c
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%contents_i_funcall.bin
Binary files differ
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
new file mode 100755
index 000000000..6984de3c2
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%contents_i_operatio.bin
Binary files differ
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
new file mode 100755
index 000000000..cdbcc3b38
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%contents_i_variable.bin
Binary files differ
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
new file mode 100755
index 000000000..64ca00ff9
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%cste_e.bin
Binary files differ
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
new file mode 100755
index 000000000..65db8eed5
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%funcall_6.bin
Binary files differ
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
new file mode 100755
index 000000000..56f98f63a
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%funcall_e.bin
Binary files differ
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
new file mode 100755
index 000000000..ac533086b
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%infer_i_s.bin
Binary files differ
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
new file mode 100755
index 000000000..e452c1545
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%infer_i_st.bin
Binary files differ
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
new file mode 100755
index 000000000..88c18f3b9
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%l_i_cste.bin
Binary files differ
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
new file mode 100755
index 000000000..bf28cf848
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%l_i_funcall.bin
Binary files differ
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
new file mode 100755
index 000000000..655a4a679
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%l_i_operatio.bin
Binary files differ
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
new file mode 100755
index 000000000..892071fe0
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%l_i_variable.bin
Binary files differ
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
new file mode 100755
index 000000000..af7c773c4
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%m2scivar_e.bin
Binary files differ
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
new file mode 100755
index 000000000..241c7e464
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%operatio_6.bin
Binary files differ
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
new file mode 100755
index 000000000..08fdf78db
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%operatio_e.bin
Binary files differ
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
new file mode 100755
index 000000000..357dc8c5e
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%s_i_operatio.bin
Binary files differ
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
new file mode 100755
index 000000000..19778f4f7
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%s_i_variable.bin
Binary files differ
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
new file mode 100755
index 000000000..1f082b41f
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%type_i_cste.bin
Binary files differ
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
new file mode 100755
index 000000000..fe57ef823
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%type_i_funcall.bin
Binary files differ
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
new file mode 100755
index 000000000..a70ae1a1b
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%type_i_operatio.bin
Binary files differ
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
new file mode 100755
index 000000000..e781b7364
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%type_i_variable.bin
Binary files differ
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
new file mode 100755
index 000000000..512ab3a8d
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%variable_6.bin
Binary files differ
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
new file mode 100755
index 000000000..6fe7b191a
--- /dev/null
+++ b/modules/m2sci/macros/kernel/%variable_e.bin
Binary files differ
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
new file mode 100755
index 000000000..b87f044a2
--- /dev/null
+++ b/modules/m2sci/macros/kernel/Contents.bin
Binary files differ
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
new file mode 100755
index 000000000..7936c7337
--- /dev/null
+++ b/modules/m2sci/macros/kernel/Cste.bin
Binary files differ
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
new file mode 100755
index 000000000..504a4c80d
--- /dev/null
+++ b/modules/m2sci/macros/kernel/Equal.bin
Binary files differ
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
new file mode 100755
index 000000000..9d1fa324f
--- /dev/null
+++ b/modules/m2sci/macros/kernel/Funcall.bin
Binary files differ
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
new file mode 100755
index 000000000..661284cb1
--- /dev/null
+++ b/modules/m2sci/macros/kernel/Infer.bin
Binary files differ
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
new file mode 100755
index 000000000..6521eeddd
--- /dev/null
+++ b/modules/m2sci/macros/kernel/M2scivar.bin
Binary files differ
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
new file mode 100755
index 000000000..eec4f0bb0
--- /dev/null
+++ b/modules/m2sci/macros/kernel/Operation.bin
Binary files differ
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
new file mode 100755
index 000000000..6df3132ed
--- /dev/null
+++ b/modules/m2sci/macros/kernel/Rhs_tlist.bin
Binary files differ
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
new file mode 100755
index 000000000..35edeaf53
--- /dev/null
+++ b/modules/m2sci/macros/kernel/Type.bin
Binary files differ
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
new file mode 100755
index 000000000..7132c5a53
--- /dev/null
+++ b/modules/m2sci/macros/kernel/Variable.bin
Binary files differ
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
new file mode 100755
index 000000000..f58cc3854
--- /dev/null
+++ b/modules/m2sci/macros/kernel/allunknown.bin
Binary files differ
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
new file mode 100755
index 000000000..44c51a08a
--- /dev/null
+++ b/modules/m2sci/macros/kernel/changevarname.bin
Binary files differ
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
new file mode 100755
index 000000000..2690bd04d
--- /dev/null
+++ b/modules/m2sci/macros/kernel/clause2sci.bin
Binary files differ
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
new file mode 100755
index 000000000..2161e1b88
--- /dev/null
+++ b/modules/m2sci/macros/kernel/convert2double.bin
Binary files differ
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
new file mode 100755
index 000000000..a0312b06d
--- /dev/null
+++ b/modules/m2sci/macros/kernel/default_trad.bin
Binary files differ
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
new file mode 100755
index 000000000..6cbf3980c
--- /dev/null
+++ b/modules/m2sci/macros/kernel/equal2sci.bin
Binary files differ
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
new file mode 100755
index 000000000..aa20981dd
--- /dev/null
+++ b/modules/m2sci/macros/kernel/expression2sci.bin
Binary files differ
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
new file mode 100755
index 000000000..168324531
--- /dev/null
+++ b/modules/m2sci/macros/kernel/first_non_singleton.bin
Binary files differ
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
new file mode 100755
index 000000000..1b06ecd50
--- /dev/null
+++ b/modules/m2sci/macros/kernel/funcall2sci.bin
Binary files differ
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
new file mode 100755
index 000000000..857a7dd71
--- /dev/null
+++ b/modules/m2sci/macros/kernel/funcallsearch.bin
Binary files differ
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
new file mode 100755
index 000000000..aff5c164c
--- /dev/null
+++ b/modules/m2sci/macros/kernel/get_unknown.bin
Binary files differ
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
new file mode 100755
index 000000000..ed31252d0
--- /dev/null
+++ b/modules/m2sci/macros/kernel/getoperands.bin
Binary files differ
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
new file mode 100755
index 000000000..9d2d21eec
--- /dev/null
+++ b/modules/m2sci/macros/kernel/getrhs.bin
Binary files differ
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
new file mode 100755
index 000000000..43479e444
--- /dev/null
+++ b/modules/m2sci/macros/kernel/gettempvar.bin
Binary files differ
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
new file mode 100755
index 000000000..6796fa65e
--- /dev/null
+++ b/modules/m2sci/macros/kernel/getvar2sci.bin
Binary files differ
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
new file mode 100755
index 000000000..0bbd59db5
--- /dev/null
+++ b/modules/m2sci/macros/kernel/i_notation.bin
Binary files differ
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
new file mode 100755
index 000000000..2b05e16fa
--- /dev/null
+++ b/modules/m2sci/macros/kernel/infer2txt.bin
Binary files differ
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
new file mode 100755
index 000000000..bc4e95a9e
--- /dev/null
+++ b/modules/m2sci/macros/kernel/insert.bin
Binary files differ
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
new file mode 100755
index 000000000..af311919f
--- /dev/null
+++ b/modules/m2sci/macros/kernel/instruction2sci.bin
Binary files differ
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
new file mode 100755
index 000000000..d18b829bd
--- /dev/null
+++ b/modules/m2sci/macros/kernel/is_a_scalar.bin
Binary files differ
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
new file mode 100755
index 000000000..dcae3cbce
--- /dev/null
+++ b/modules/m2sci/macros/kernel/is_a_vector.bin
Binary files differ
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
new file mode 100755
index 000000000..81263e6cb
--- /dev/null
+++ b/modules/m2sci/macros/kernel/is_complex.bin
Binary files differ
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
new file mode 100755
index 000000000..d19743406
--- /dev/null
+++ b/modules/m2sci/macros/kernel/is_empty.bin
Binary files differ
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
new file mode 100755
index 000000000..809de4d86
--- /dev/null
+++ b/modules/m2sci/macros/kernel/is_real.bin
Binary files differ
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
new file mode 100755
index 000000000..d44b0aeb4
--- /dev/null
+++ b/modules/m2sci/macros/kernel/isacomment.bin
Binary files differ
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
new file mode 100755
index 000000000..4aa97fe3c
--- /dev/null
+++ b/modules/m2sci/macros/kernel/isanmfile.bin
Binary files differ
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
new file mode 100755
index 000000000..010ac9b22
--- /dev/null
+++ b/modules/m2sci/macros/kernel/isdefinedvar.bin
Binary files differ
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
new file mode 100755
index 000000000..d2f212696
--- /dev/null
+++ b/modules/m2sci/macros/kernel/isinstring.bin
Binary files differ
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
new file mode 100755
index 000000000..625e3229d
--- /dev/null
+++ b/modules/m2sci/macros/kernel/lib
Binary files differ
diff --git a/modules/m2sci/macros/kernel/lst_funcall.bin b/modules/m2sci/macros/kernel/lst_funcall.bin
new file mode 100755
index 000000000..4e515f19e
--- /dev/null
+++ b/modules/m2sci/macros/kernel/lst_funcall.bin
Binary files differ
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
new file mode 100755
index 000000000..a496adada
--- /dev/null
+++ b/modules/m2sci/macros/kernel/m2sci.bin
Binary files differ
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
new file mode 100755
index 000000000..3c8c33632
--- /dev/null
+++ b/modules/m2sci/macros/kernel/m2sci_info.bin
Binary files differ
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
new file mode 100755
index 000000000..e517dd610
--- /dev/null
+++ b/modules/m2sci/macros/kernel/m2sci_syntax.bin
Binary files differ
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
new file mode 100755
index 000000000..c9e19d315
--- /dev/null
+++ b/modules/m2sci/macros/kernel/mfile_path.bin
Binary files differ
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
new file mode 100755
index 000000000..cbf8a0664
--- /dev/null
+++ b/modules/m2sci/macros/kernel/mtlbtoolfun.bin
Binary files differ
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
new file mode 100755
index 000000000..02fd232a1
--- /dev/null
+++ b/modules/m2sci/macros/kernel/mtlbtree2sci.bin
Binary files differ
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
new file mode 100755
index 000000000..a2e3c915d
--- /dev/null
+++ b/modules/m2sci/macros/kernel/multi_fun_file.bin
Binary files differ
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
new file mode 100755
index 000000000..099620776
--- /dev/null
+++ b/modules/m2sci/macros/kernel/no_equiv.bin
Binary files differ
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
new file mode 100755
index 000000000..8fd43d990
--- /dev/null
+++ b/modules/m2sci/macros/kernel/not_a_scalar.bin
Binary files differ
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
new file mode 100755
index 000000000..d9d230146
--- /dev/null
+++ b/modules/m2sci/macros/kernel/not_a_vector.bin
Binary files differ
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
new file mode 100755
index 000000000..1ac782240
--- /dev/null
+++ b/modules/m2sci/macros/kernel/not_empty.bin
Binary files differ
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
new file mode 100755
index 000000000..0701bd1fb
--- /dev/null
+++ b/modules/m2sci/macros/kernel/not_yet_converted.bin
Binary files differ
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
new file mode 100755
index 000000000..0190897f1
--- /dev/null
+++ b/modules/m2sci/macros/kernel/old2newinstr.bin
Binary files differ
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
new file mode 100755
index 000000000..9d6972a29
--- /dev/null
+++ b/modules/m2sci/macros/kernel/operation2sci.bin
Binary files differ
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
new file mode 100755
index 000000000..9c67a3373
--- /dev/null
+++ b/modules/m2sci/macros/kernel/repl_poss.bin
Binary files differ
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
new file mode 100755
index 000000000..b83f831f0
--- /dev/null
+++ b/modules/m2sci/macros/kernel/replace_brackets.bin
Binary files differ
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
new file mode 100755
index 000000000..cca08126d
--- /dev/null
+++ b/modules/m2sci/macros/kernel/sci_generic.bin
Binary files differ
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
new file mode 100755
index 000000000..a6849403e
--- /dev/null
+++ b/modules/m2sci/macros/kernel/sci_m2scideclare.bin
Binary files differ
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
new file mode 100755
index 000000000..e028f558c
--- /dev/null
+++ b/modules/m2sci/macros/kernel/sciparam.bin
Binary files differ
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
new file mode 100755
index 000000000..ff1c90da4
--- /dev/null
+++ b/modules/m2sci/macros/kernel/set_infos.bin
Binary files differ
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
new file mode 100755
index 000000000..51744bad8
--- /dev/null
+++ b/modules/m2sci/macros/kernel/transformtree.bin
Binary files differ
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
new file mode 100755
index 000000000..3b1d7665f
--- /dev/null
+++ b/modules/m2sci/macros/kernel/translateorder.bin
Binary files differ
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
new file mode 100755
index 000000000..4f950bce2
--- /dev/null
+++ b/modules/m2sci/macros/kernel/update_instr_list.bin
Binary files differ
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
new file mode 100755
index 000000000..949389aa7
--- /dev/null
+++ b/modules/m2sci/macros/kernel/updatevarslist.bin
Binary files differ
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
new file mode 100755
index 000000000..55207abd5
--- /dev/null
+++ b/modules/m2sci/macros/kernel/variablesearch.bin
Binary files differ
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