api_scilab api_scilab is the Scilab interface to read/write data from/to Scilab memory

## Description

Since Scilab 5.2.0, Scilab provides a consistent, documented and easy way API.

This API provides functions to read/write data from/to Scilab memory.

It provides many advantages:

- Management of all Scilab data types

- Consistency over all data types

- Error management

- Fully documented

- Fully tested by unitary tests

- Straight and named access (See the call_scilab API) to variables.

- And it will be maintained over future versions of Scilab

Usually, this API is used to extend Scilab capabilities but can be used in other contexts

- Libraries or C/C++ functions: Many libraries have been developed on the free/Open source or proprietary markets. This library can be loaded and used in a high level language like Scilab. API Scilab provides the capabilities to interact with such libraries.

- Scilab can be used as computing engine from a third party software. This feature is called call_scilab when Scilab is used from C/C++ code or javasci when used from Java. Access to variable is done through their names (named variable).

Note that old APIs (stackX.h) will not be available after Scilab 6.0 (included).

## History

5.4.0 Add some functions/macros in replacement of stack functions/macros

- nbInputArgument

  Replaces `Rhs`

- nbOutputArgument

  Replaces `Lhs`

- AssignOutputVariable

  Replaces `LhsVar`

- ReturnArguments

  Replaces `PutLhsVar`

- CheckInputArgument

  Replaces `CheckRhs`

- CheckOutputArgument

  Replaces `CheckLhs`

Add functions to identify list datatypes: `isListType`, `isNamedListType`, `isTListType`, `isNamedTListType`, `isMListType`, `isNamedMListType`

5.5.0 Add functions to manage handles

- getMatrixOfHandle
- allocMatrixOfHandle
- createMatrixOfHandle
- isHandleType
- getScalarHandle
- createScalarHandle

## See also - API_Scilab

- boolean reading API
- boolean writing API
- boolean sparse reading API
- boolean sparse writing API
- Common getvaraddr API
- Common getvardimension API
- Common getvartype API
- Common iscomplex API
- Common isvarmatrixtype API
- Double management reading API
- Double management writing API
- Integer management reading API
- Integer management writing API
- getmatrixofintegerprecision API
- Pointer reading API
- Pointer writing API
- poly getpolyvariablename API
- Polynomial management reading API
- Polynomial management writing API
- Sparse management reading API
- Sparse management writing_API
- String management reading API
- String management writing API
- handle reading API
- handle writing API

## See also - API_Scilab list management

- list boolean reading API
- list boolean writing API
- list boolean sparse reading API
- list boolean sparse writing API
- list_createlist API
- list double reading API
- list double writing API
- list getlistitemaddress API
- list getlistitemnumber API
- list integer reading API
- list integer writing API
- list pointer reading API
- list pointer writing API
- list poly reading API
- list poly writing API
- list sparse reading API
- list sparse writing API
- list string reading API
- list string writing API

## See also - call_scilab

- Call_Scilab
- Compile and run with call_scilab
- Matrix Management
- Boolean Management
- Complex Management
- String Management