# typeof

object type

## Calling Sequence

    [t]=typeof(object)

## Arguments

object

  a Scilab object

t

  a string

## Description

`t=typeof(object)` returns one of the following strings:

"constant"

  if `object` is a real or complex matrix of double.

"polynomial"

  if `object` is a polynomial matrix.

"function"

  if `object` is a function (Scilab code). See also deff.

"handle"

  if `object` is an handle.

"string"

  if `object` is a matrix made of character strings.

"boolean"

  if `object` is a boolean matrix.

"list"

  if `object` is a list.

"rational"

  if `object` is a rational matrix (transfer matrix).

"state-space"

  if `object` is a state-space model (see syslin).

"sparse"

  if `object` is a (real) sparse matrix.

"boolean sparse"

  if `object` is a boolean sparse matrix.

"hypermat"

  if `object` is a hypermatrix (`N`-dimension array with `N<=3`.

"st"

  if `object` is a structure.

"ce"

  if `object` is a cell array.

"fptr"

  if `object` is a built-in Scilab function, called also gateway (C, C++ or Fortran code).

"pointer"

  if `object` is a pointer (See an use case: lufact).

"size implicit"

  if `object` is a size implicit polynomial used for indexing. This a purely internal value.

"library"

  if `object` is a function library.

"int8" or "uint8" or "int16" or "uint16" or "int32" or "uint32"

  if `object` is a matrix of [unsigned] integers stored on 8, 16 or 32 bits. (See int)

Note that if the `object` is a tlist or mlist, `typeof` will return the first string in the first list entry.

## Examples

    typeof(1)
    typeof(poly(0,'x'))

    typeof(1/poly(0,'x'))
    typeof(%t)

    w=sprand(100,100,0.001);
    typeof(w)
    typeof(w==w)

    deff('y=f(x)','y=2*x');
    typeof(f)

    L=tlist(['V','a','b'],18,'Scilab');
    typeof(L)

    typeof(corelib)

## See Also

- type
- strings
- syslin
- poly