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:
%m2scideclare variable_name|dimensions|data_type|property
with :
- 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 6 for 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: Cell, Struct, String and Boolean.
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|Real`var1 is declared as a 2x3 Double matrix containing real data
- `%m2scideclare var2|2 3 10|Double|Complex`var2 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|Real`var6 is declared as a Cell array containing a 1x3 double vector in each element of its second row