Giving tips to help M2SCI...
The main difficulty for M2SCI (
mfile2sci) is to find what variables are: dimensions, type...
To help this tool, just add comments beginning with
%m2scideclare in the M-file to convert,
%m2sciassume was used in previous Scilab versions and is now obsolete).
The syntax of this command is:
variable_name: name of the variable declared. It can be a Struct field (e.g.
x(1,2).name) or describe the contents of a Cell using syntax
x(1,2).entries. NOTE that for Cells and Structs,
*can be used as an index (see examples below).
dimensions: dimensions of the variable declared separated by blanks, if a dimension is unknown, replace it by
?. NOTE that String dimensions must be similar to Matlab ones e.g.
1 6for character string 'string'.
data_type: data type of the variable which can be:
m2scideclare data type Scilab "equivalent" type Double 1 Boolean 4 Sparse 5 Int 8 Handle 9 String 10 Struct Matlab struct (16) Cell Matlab cell (17) Void No type (0) ? Unknown type
property: property of the variable which can be:
m2scideclare property Scilab "equivalent" Real Real data Complex Complex data ? Unknown property
This field is ignored for following datatypes:
All data given by
m2scideclare are compared with infered data,
in case of conflict, infered data are kept and a warning message is displayed.
If you are sure about your data, report a bug.
Some examples are given below:
%m2scideclare var1|2 3|Double|Realvar1 is declared as a 2x3 Double matrix containing real data
%m2scideclare var2|2 3 10|Double|Complexvar2 is declared as a 2x3x10 Double hypermatrix containing complex data
%m2scideclare var3(1,2).name|1 10|String|?var3 is declared as a Struct array containing a 1x10 character string in field 'name' of struct at index (1,2)
%m2scideclare var4(1,5).entries|1 ?|Boolean|?var4 is declared as a Cell containing a row boolean vector at index (1,5)
%m2scideclare var4(1,6).entries|? ?|Int|?var4 is declared as a Cell containing a row boolean vector at index (1,5) and integer data at index (1,6)
%m2scideclare var5(*,*).name|1 ?|String|?var5 is declared as a Struct array containing a 1xn character string in all fields 'name'
%m2scideclare var6(2,*).entries|1 3|Double|Realvar6 is declared as a Cell array containing a 1x3 double vector in each element of its second row