# mtlb_isa

Fonction d'émulation de la fonction Matlab isa

## Description

Il n'y a pas de fonction Scilab équivalente à la fonction Matlab `isa` mais quand la "classe" d'objet recherchée existe dans Scilab, des expressions équivalentes existent.

La fonction `mtlb_isa(OBJ,class)` est utilisée par `mfile2sci` pour remplacer `isa(OBJ,class)` 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_isa` :

- Si `class` est égal à "logical", `mtlb_isa(OBJ,class)` peut être remplacé par `type(OBJ)==4`

- Si `class` est égal à "char", `mtlb_isa(OBJ,class)` peut être remplacé par `type(OBJ)==10`

- Si `class` est égal à "numeric", `mtlb_isa(OBJ,class)` peut être remplacé par `or(type(OBJ)==[1,5,8])`

- Si `class` est égal à "intX" (X valant 8, 16 ou 32), `mtlb_isa(OBJ,class)` peut être remplacé par `typeof(OBJ)=="intX"`

- Si `class` est égal à "uintX" (X valant 8, 16 ou 32), `mtlb_isa(OBJ,class)` peut être remplacé par `typeof(OBJ)=="uintX"`

- Si `class` est égal à "single", `mtlb_isa(OBJ,class)` peut être remplacé par `type(OBJ)==1`

- Si `class` est égal à "double", `mtlb_isa(OBJ,class)` peut être remplacé par `type(OBJ)==1`

- Si `class` est égal à "cell", `mtlb_isa(OBJ,class)` peut être remplacé par `typeof(OBJ)=="ce"`

- Si `class` est égal à "struct", `mtlb_isa(OBJ,class)` peut être remplacé par `typeof(OBJ)=="st"`

- Si `class` est égal à "function_handle", `mtlb_isa(OBJ,class)` peut être remplacé par `type(OBJ)==13`

- Si `class` est égal à "sparse", `mtlb_isa(OBJ,class)` peut être remplacé par `type(OBJ)==5`

- Si `class` est égal à "lti", `mtlb_isa(OBJ,class)` peut être remplacé par `typeof(OBJ)=="state-space"`

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

## Voir aussi

- type
- typeof