Scilab 6.0.2
Scilab Help >> Data Structures > types > typeof
typeof
explicit type or overloading code of an object
Syntax
t = typeof(object) oc = typeof(object, "overload")
Arguments
 object
a Scilab object
 t
a string (may have spaces): the name of the type of
object
 oc
a string (without spaces): the name of the overloading code for the
object
.
Description
t = typeof(object)
returns one of the following strings:
string  object is a matrix or hypermatrix made of
characters and texts.  
boolean  object is a
boolean matrix or hypermatrix.  
int8 or int16 or int32 or int64 or uint8 or uint16 or uint32 or uint64  
object is a matrix or hypermatrix of [unsigned]
integers stored
on 8, 16, 32 or 64 bits. (see inttype)  
constant  object is matrix or hypermatrix of
decimal or complex numbers.  
polynomial  object is a matrix or hypermatrix of
polynomials
with decimal or complex coefficients.  
rational  object is a matrix or hypermatrix of
rational
fractions (e.g. transfer matrix), with decimal or complex coefficients.  
handle  object is a graphics
handle.
The subtype of graphics handles (Figure, Axes, Polyline,
Compound, etc) is available in their .type
property. See examples below.  
list  object is a list.  
st  object is a
structure
or a nDarray of structures.  
ce  object is a
cell or a nDarray of cells.  
boolean sparse  object is a
boolean sparse matrix.
 
sparse  object is a
sparse matrix
of decimal or complex numbers.
 
"Matlab sparse"  object is a Matlablikeencoded sparse
matrix (see mtlb_sparse()).  
fptr  object is a builtin Scilab function,
called also gateway
(C, C++ or Fortran code), a.k.a. a primitive.  
function  object is a function
(Scilab code). See also deff.  
library  object is a
library
of functions in Scilab language.  
pointer  object is a pointer. See a use case:
lufact.  
implicitlist  object is an implicit list using a
polynomial as formal index, for indexing.
See n:$
: (colon)  
listdelete  is returned by
typeof(
.
See null().  
void  is the typeof undefined elements in lists.  
Typed TLists or MLists:  
Note that if the object is a
tlist
or a mlist, typeof
will return the corresponding customized type stored in as a
string in the first list entry.  
Reserved TList or MList types predefined in Scilab:  
dir  object is the result of a
dir()
instruction, with fields name , date ,
bytes , and isdir .  
statespace  object is a statespace model
(see syslin).  
program  object is a list describing the internal code of a function
(see macr2tree).  
cblock  object is a block of columns of same
heights but of different data types, as returned by
mfscanf.  
XMLDoc  object is an XML Document created with
xmlRead,
xmlReadStr,
htmlRead, or
htmlReadStr.
Additional XML typeof are defined.  
H5Object  object is the id of an HDF5 file opened
with h5open.
Additional HDF5 typeof are defined:
See HDF5 Objects.  
uitree  object is a tree, a branch or a leaf as created with a
uitree feature. See for instance uiCreateNode.  
Reserved Tlist types used in Xcos :  
Block  object is a Xcos block.  
cpr  object is a tlist containing the compilation results of a Xcos diagram.  
diagram  object is a tlist defining a Xcos diagram: initial parameters,
set of blocks, of links between blocks, and of Text labels belonging to the diagram.  
graphics  object is a tlist assigned to the .graphics
field of a block.  
Link  object is a tlist defining and configuring a link between 2 blocks.  
model  object is a tlist assigned to the .model field
of a block.  
params  object is a tlist containing some configuration parameters of a
Xcos diagram.  
scsopt  object is a tlist containing the graphical options of the Xcos
diagram editor.  
scs  object is a tlist containing static results of the compilation of
a Xcos diagram.  
xcs  object is a tlist containing dynamical results during a Xcos
simulation.  
Text  object is a tlist defining a text label in a Xcos diagram. 
Examples
// Characters and texts t = ["a" "Hello" "à é è ï ô û ñ" "1" "Bonjour" "указывает тип объекта" ";" "Chao" "オブジェクトの型" ] typeof(t) // Booleans typeof(%t) typeof("abc"=="def") hm = grand(2,2,2,"uin",0,9)<5 typeof(hm) // Encoded integers [ typeof(uint8(%pi)) typeof(int8(%pi)) typeof(uint16(%pi)) typeof(int16(%pi)) typeof(uint32(%pi)) typeof(int32(%pi)) typeof(uint64(%pi)) typeof(int64(%pi)) ] // Decimal numbers n = 1:0.3:2 typeof(n) hm = grand(2,2,2,"uin",0,9) typeof(hm) // Decimal integers n = 1:7 typeof(n) // Complex numbers n = [%i 1%i %pi  3*%i] typeof(n) // Special "constant" typeof([]) // empty matrix // Polynomials n = [ %z (1%z)^2] typeof(n) n = [ 3*%i + %z (1%i*%z)^2] typeof(n) // Rational fractions r = [%s/(1%s) (1+%s)^2/(1%s)] // with real coefficients typeof(r) r = [%s/(%i%s) (%i+%s)^2/(1%s)] // with complex coefficients typeof(r) // Sparse matrices //  w = sprand(100,100,0.001) typeof(w) // sparse typeof(w==w) // boolean sparse //x = mtlb_sparse(sprand(10,10,0.1)); //typeof(x) // Functions and libraries //  deff('y=f(x)','y=2*x'); // Function in Scilab language f(%pi) typeof(f) typeof(cosd) // written in Scilab typeof(corelib) // Library of functions in Scilab language typeof(sin) // Builtin function (noneditable) mysin = sin; mysin(%pi/2) // Graphical handles //  clf plot2d() typeof(gcf()) // The subtype of the handle is in the "type" property: gcf().type gca().type gce().type close(gcf()) // Containers //  // Simple list L = list(%pi, %t, %z, %s/(1%s), "Bonjour", sin, cosd, list("list_in_list", 432)); typeof(L) // Cells array C = {%pi, %t, %z ; %s/(1%s), "Bonjour", list("list_in_list", 432) } typeof(C) // (Array of) Structure S.num = %pi; S.b = %t; S(2).t = "Bonjour" typeof(S) // Special generic indexing expressions //  typeof($) typeof(:) // "eye()" equivalent (all elements) typeof(3:$) // Typeof for deletion or undefined elements: //  typeof([]) // empty matrix typeof(null()) L = list(%pi, ,"hey!") typeof(L(2)) // undefined element // Customized typeof of TLists: //  L = tlist(['myLongTypeOf','a','b'], 18, 'Scilab'); typeof(L) // Reserved TList typeof //  typeof(dir()) // Files directory // c = macr2tree(sind); // Internal code of a Scilab macro typeof(c) fieldnames(c)' c.name // doc = xmlReadStr("<root><a att=""foo"">Hello</a></root>"); typeof(doc) xmlDelete(doc) // x = 1; save(TMPDIR + "/x.sod", "x"); // SOD files are HDF5 ones a = h5open(TMPDIR + "/x.sod"); typeof(a) h5close(a)
See also
 type — returns the type of a Scilab object
 inttype — type integers used in integer data types
 overloading — display, functions and operators overloading capabilities
 isreal — check if a variable is stored as a complex matrix
 strings — Scilab Object, character strings
 poly — Polynomial definition from given roots or coefficients, or characteristic to a square matrix.
 rlist — Scilab rational fraction function definition
 null — deletes a list component or a field of a structure, Mlist, or Tlist
 sparse — sparse matrix definition
 issparse — tests whether the input is sparse encoded (numeric or boolean)
 mtlb_sparse — convert sparse matrix
 syslin — linear system definition
 dir — gets file list
 XML Objects — Describe the properties of the different XML objects
 HDF5 Objects — Describe the properties of the different H5 objects
History
Version  Description 
6.0 

Comments
Add a comment:
Please login to comment this page.