# 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

- Libraires or C/C++ functions: Many librairies 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`

## 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

## 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