% Copyright INRIA

\chapter{Introduction}

We will describe the different procedures for adding routines to Scilab.
The simplest way is the incremental link : it is very quick and useful 
for a small number of routines and for testing programs. The disadvantage
is that the calling sequence is complicated and cannot be considered as a 
primitive. For this case there still remains some restrictions depending on
the machines and the compilation options.
The second level is to use the Scilab utility function {\tt intersci} which 
generates  automatically the 
fortran routine interfacing the new routine to be added. This is done by the 
mean of a description file. But there are some limitations : all the Scilab 
datatypes are not allowed ...
The third level is to directly write the interfacing fortran routine. For many
cases it is useful to use {\tt intersci}: if quite all the calling parameters 
are ``fortran datatypes'' a first step consists to get the routine
generated by {\tt intersci} and then to modify it by hand.
When the interfacing routine is written, it can be added in two manners :
a ``hard'' way by including this code in Scilab or a ``soft'' way by using
the Scilab utility function {\tt addinter} which defines a new functions 
interface with the incremental link. As for the first case there still 
remains some restrictions depending on the machines and the compilation 
options.



