m2scideclare — Donner des indices pour aider M2SCI...
La principale difficulté de M2SCI (mfile2sci
) est de trouver
ce que sont les variables : dimensions, type...
Pour aider cet outil, il suffit d'ajouter des commentaires commencant par
%m2scideclare
dans le fichier Matlab à convertir,
(%m2sciassume
était utilisée dans les versions précédentes
de Scilab mais est maintenant obsolète).
La syntaxe de cette commande est :
%m2scideclare nom_de_variable|dimensions|type_de_données|propriété
avec :
nom_de_variable : nom de la variable déclarée. Ce nom peut être
un champ de Struct (e.g. x(1,2).nom
)
ou décrire le contenu d'une Cell en utilisant la syntaxe
x(1,2).entries
. NOTEZ que pour les Cells et les
Structs *
peut être utilisé comme index.
dimensions : dimensions de la variable déclarée séparées par des espaces,
si une dimension est inconnue, remplacez la par ?
. NOTEZ que
les dimensions des chaînes de caractère doivent être identiques aux dimensions
Matlab e.g. 1 6
pour la chaîne de caractères 'chaine'.
type_de_données: le type de donnée de la variable qui peut être :
Type de donnée m2scideclare | Type Scilab "équivalent" |
Double | 1 |
Boolean | 4 |
Sparse | 5 |
Int | 8 |
Handle | 9 |
String | 10 |
Struct | Struct Matlab (16) |
Cell | Cell Matlab (17) |
Void | Sans type (0) |
? | Type inconnu |
propriété : propriété de la variable qui peut être :
Propriété m2scideclare | "Equivalent" Scilab |
Real | Donnée réelle |
Complex | Donnée complexe |
? | Property inconnue |
Ce champ est ignoré pour les types de données suivants : Cell
,
Struct
, String
et Boolean
.
Toutes les informations données par m2scideclare
sont comparées avec
les données inférées, en cas de conflit, les données inférées sont conservées et
un warning est affiché. Si vous êtes sûrs de vos informations, rapportez ce bug.
Voici quelques exemples :
%m2scideclare var1|2 3|Double|Real
var1 est déclarée comme une matrice de Doubles de taille 2x3
et contenant des données réelles
%m2scideclare var2|2 3 10|Double|Complex
var2 est déclarée comme une hypermatrice de Doubles de taille 2x3x10
et contenant des données complexes
%m2scideclare var3(1,2).name|1 10|String|?
var3 est déclarée comme un tableau de Structs contenant une chaîne de
caractères de taille 1x10 dans le champ 'name' de la Struct à l'indice (1,2)
%m2scideclare var4(1,5).entries|1 ?|Boolean|?
var4 est déclarée comme un tableau de Cells contenant
un vecteur ligne de booléens à l'indice (1,5)
%m2scideclare var4(1,6).entries|? ?|Int|?
var4 est déclarée comme un tableau de Cells contenant
un vecteur ligne de booléens à l'indice (1,5)
et des données entières à l'indice (1,6)
%m2scideclare var5(*,*).name|1 ?|String|?
var5 est déclarée comme un tableau de Structs contenant une
chaîne de caractères de taille 1xn dans chaque champ 'name'
%m2scideclare var6(2,*).entries|1 3|Double|Real
var6 est déclarée comme un tableau de Cells contenant un
veteur de Doubles de taille 1x3 dans chaque élement de sa
seconde ligne.