- Ajuda do Scilab
- API Scilab
- legacy
- API Scilab
- API types
- Getting started with API_Scilab
- API double functions
- API common functions
- API string functions
- API boolean functions
- API integer functions
- API list-type functions
- API polynomial functions
- API pointer functions
- API cell functions
- API struct functions
- API handle functions
- API optional functions
Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
API common functions
This page lists all the functions to get information about Scilab native objects.
scilabVar
            scilab_getVar(const wchar_t* name)Return variable called name, NULL if variable does not exist.
int scilab_isDouble(
            scilabEnv
            env,
            scilabVar
            var)
        
        int scilab_isBoolean(
            scilabEnv
            env,
            scilabVar
            var)
        
        int scilab_isString(
            scilabEnv
            env,
            scilabVar
            var)
        
        int scilab_isInt(
            scilabEnv
            env,
            scilabVar
            var)
        
        int scilab_isPoly(
            scilabEnv
            env,
            scilabVar
            var)
        
        int scilab_isList(
            scilabEnv
            env,
            scilabVar
            var)
        
        int scilab_isTList(
            scilabEnv
            env,
            scilabVar
            var)
        
        int scilab_isMList(
            scilabEnv
            env,
            scilabVar
            var)
        
        int scilab_isHandle(
            scilabEnv
            env,
            scilabVar
            var)
        
        int scilab_isStruct(
            scilabEnv
            env,
            scilabVar
            var)
        
        int scilab_isCell(
            scilabEnv
            env,
            scilabVar
            var)
        
        int scilab_isPointer(
            scilabEnv
            env,
            scilabVar
            var)
        
        Return 1 if variable var has the right type.
int scilab_getDim(
            scilabEnv
            env,
            scilabVar
            var)
        Return the number of dimension of var. Note that scalar variables are 2d matrix of dimension (1, 1)
int scilab_getDim2d(
            scilabEnv
            env,
            scilabVar
            var, int* row, int* col)
        Return dimensions of a 2d variable var in row and col.
int scilab_getDimArray(
            scilabEnv
            env,
            scilabVar
            var, const int** dims)
        Return pointer on array of dimensions of a variable var in dims.
int scilab_getSize(
            scilabEnv
            env,
            scilabVar
            var)
        Return size of variable var.
For matrix type is the result of product of dimension and for others like list is the item count.
int scilab_isMatrix2d(
            scilabEnv
            env,
            scilabVar
            var)
        Return 1 for matrix with 2 dimensions and scalar.
int scilab_isSquare(
            scilabEnv
            env,
            scilabVar
            var)
        Return 1 for matrix with 2 dimensions and dimensions have the same size.
int scilab_isVector(
            scilabEnv
            env,
            scilabVar
            var)
        
        int scilab_isNVector(
            scilabEnv
            env,
            scilabVar
            var, int n)
        
        int scilab_isRowVector(
            scilabEnv
            env,
            scilabVar
            var)
        
        int scilab_isColVector(
            scilabEnv
            env,
            scilabVar
            var)
        
        Use to check if variable var is a vector. n is the dimension to check, scilab_isRowVector is equivalente to scilab_isNVector(env, var, 1)
int scilab_isHypermat(
            scilabEnv
            env,
            scilabVar
            var)
        Return 1 for matrix with dimensions count is up to 2.
int scilab_overload(
            scilabEnv
            env,
            scilabVar
            var, int nin,
            scilabVar
            *in, int nout,
            scilabVar
            *out)
        Call an overload function following type of var.
nin, in, nout, out must be used like in gateway prototype.
int scilab_call(
            scilabEnv
            env, const wchar_t* name, int nin,
            scilabVar
            *in, int nout,
            scilabVar
            *out)
        Call function name.
nin, in, nout, out must be used like in gateway prototype.
Examples
#include "api_scilab.h" #include "Scierror.h" #include "localization.h" const char fname[] = "overload_test"; int sci_overload_test(scilabEnv env, int nin, scilabVar* in, int nopt, scilabOpt opt, int nout, scilabVar* out) { if (nin < 1 || nin > 2) { Scierror(999, _("%s: Wrong number of input arguments: %d to %d expected.\n"), fname, 1, 2); return STATUS_ERROR; } //call overload function if (nin == 1) { return scilab_overload(env, in[0], nin, in, nout, out); } else // call function in[0] with in[1] as argument { wchar_t* name = NULL; if (scilab_isString(env, in[0]) == 0 || scilab_isVector(env, in[0]) == 0) { Scierror(999, _("%s: Wrong type for input argument #%d: string expected.\n"), fname, 1); return STATUS_ERROR; } scilab_getString(env, in[0], &name); return scilab_call(env, name, nin - 1, in + 1, nout, out); } return STATUS_OK; }
Scilab test script
mkdir(pathconvert(TMPDIR+"/api_c/")); cd(pathconvert(TMPDIR+"/api_c/")); copyfile(SCI+"/modules/api_scilab/tests/unit_tests/api_c/overload_test.c",pathconvert(TMPDIR+"/api_c/overload_test.c",%F)); ilib_build("liboverload",["overload_test","sci_overload_test", "csci6"],"overload_test.c",[],"","",""); exec("loader.sce"); a = rand(10, 10); x = overload_test("cos", a); assert_checkequal(x, cos(a)); function x=%s_overload_test(a) x = cos(a); endfunction x = overload_test(a); assert_checkequal(x, cos(a));
| Report an issue | ||
| << API double functions | API Scilab | API string functions >> |