mtlb_isfield

Fonction M2SCI
Last update : 25/04/2007

mtlb_isfield - Fonction d'émulation de la fonction Matlab isfield

### Description

Il n'y a pas de fonction Scilab equivalente à la fonctions Matlab `isfield(st,f)` et l'expression équivalente se comporte différemment dans certains cas particuliers:

  - Si `st` n'est pas une structure : l'équivalent Scilab retourne une erreur alors que Matlab renvoie `0` .

La fonction `mtlb_isfield(st,f)` est utilisée par `mfile2sci` pour remplacer `isfield(st,f)` quand il n'était pas possible de savoir ce qu'étaient les paramètres d'entrée pendant la conversion d'un code Matlab vers Scilab. Cette fonction va déterminer la sémantique correcte pendant l'exécution. Pour obtenir un code plus performant on peut remplacer les appels à `mtlb_isfield` :

  - Si `st` est une structure `tf = mtlb_isfield(st,f)` peut être remplacé par `allf=getfield(1,st);tf=or(allf(3:$)==f);`
  - Si `st` n'est pas une structure `tf = mtlb_isfield(st,f)` peut être remplacé par `tf=%F;`

Attention : `mtlb_isfield` ne doit pas être utilisée pour une programmation manuelle.

### See Also

`getfield` ,

### Authors

  V.C.