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é partype(OBJ)==4
Si
class
est égal à "char",mtlb_isa(OBJ,class)
peut être remplacé partype(OBJ)==10
Si
class
est égal à "numeric",mtlb_isa(OBJ,class)
peut être remplacé paror(type(OBJ)==[1,5,8])
Si
class
est égal à "intX" (X valant 8, 16 ou 32),mtlb_isa(OBJ,class)
peut être remplacé partypeof(OBJ)=="intX"
Si
class
est égal à "uintX" (X valant 8, 16 ou 32),mtlb_isa(OBJ,class)
peut être remplacé partypeof(OBJ)=="uintX"
Si
class
est égal à "single",mtlb_isa(OBJ,class)
peut être remplacé partype(OBJ)==1
Si
class
est égal à "double",mtlb_isa(OBJ,class)
peut être remplacé partype(OBJ)==1
Si
class
est égal à "cell",mtlb_isa(OBJ,class)
peut être remplacé partypeof(OBJ)=="ce"
Si
class
est égal à "struct",mtlb_isa(OBJ,class)
peut être remplacé partypeof(OBJ)=="st"
Si
class
est égal à "function_handle",mtlb_isa(OBJ,class)
peut être remplacé partype(OBJ)==13
Si
class
est égal à "sparse",mtlb_isa(OBJ,class)
peut être remplacé partype(OBJ)==5
Si
class
est égal à "lti",mtlb_isa(OBJ,class)
peut être remplacé partypeof(OBJ)=="state-space"
Attention : mtlb_isa ne doit pas être utilisée pour une programmation manuelle. |
Voir aussi
Report an issue | ||
<< mtlb_is | Fonctions compatibles | mtlb_isfield >> |