Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.0.0 - Русский


mtlb_isa

Matlab isa emulation function

Description

There is no Scilab equivalent function for Matlab isa but some equivalent expressions can be used when the object "class" exists in Scilab.

The function mtlb_isa(OBJ,class) is used by mfile2sci to replace isa(OBJ,class) when it was not possible to know what were the inputs while porting Matlab code to Scilab. This function will determine the correct semantic at run time. If you want to have a more efficient code it is possible to replace mtlb_isa calls:

  • If class is equal to "logical", mtlb_isa(OBJ,class) may be replaced by type(OBJ)==4

  • If class is equal to "char", mtlb_isa(OBJ,class) may be replaced by type(OBJ)==10

  • If class is equal to "numeric", mtlb_isa(OBJ,class) may be replaced by or(type(OBJ)==[1,5,8])

  • If class is equal to "intX" (X being equal to 8, 16, or 32), mtlb_isa(OBJ,class) may be replaced by typeof(OBJ)=="intX"

  • If class is equal to "uintX" (X being equal to 8, 16, or 32), mtlb_isa(OBJ,class) may be replaced by typeof(OBJ)=="uintX"

  • If class is equal to "single", mtlb_isa(OBJ,class) may be replaced by type(OBJ)==1

  • If class is equal to "double", mtlb_isa(OBJ,class) may be replaced by type(OBJ)==1

  • If class is equal to "cell", mtlb_isa(OBJ,class) may be replaced by typeof(OBJ)=="ce"

  • If class is equal to "struct", mtlb_isa(OBJ,class) may be replaced by typeof(OBJ)=="st"

  • If class is equal to "function_handle", mtlb_isa(OBJ,class) may be replaced by type(OBJ)==13

  • If class is equal to "sparse", mtlb_isa(OBJ,class) may be replaced by type(OBJ)==5

  • If class is equal to "lti", mtlb_isa(OBJ,class) may be replaced by typeof(OBJ)=="state-space"

Caution: mtlb_isa has not to be used for hand coded functions.

See also

  • type — возвращает тип переменной
  • typeof — explicit type or overloading code of an object
Report an issue
<< mtlb_is compatibility_functions mtlb_isfield >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Oct 24 14:37:13 CEST 2023