next up previous contents index Next: Reserved variables Up: How to install and Previous: Installing ALIAS

  • La page de J-P. Merlet
  • J-P. Merlet home page
  • La page Présentation de COPRIN
  • COPRIN home page
  • La page "Présentation" de l'INRIA
  • INRIA home page


    Header and linking

    In most cases the following include files should be provided at the beginning of the program:
     
    #include "Functions.h"
    #include "Vector.h"
    #include "IntervalVector.h"
    #include "IntervalMatrix.h"
    #include "IntegerVector.h"
    #include "IntegerMatrix.h"
    
    For using specific procedures of this package it is necessary to include the following header file:
     
    header_constants.h
    
    For the solving algorithm, optimization and continuation algorithms it is necessary to include:
     
    header_Solve_General_Interval.h
    header_Utilities_Interval.h
    
    and use the libraries lib_Solve_General.a, lib_Solve_Simplex.a and lib_Continuation.a.

    For analyzing and solving univariate polynomial you need:

     
    header_externe.h
    header_Analysis_Univariate.h
    header_Utilities_UP.h
    header_Solve_UP.h
    
    and use the library lib_UP.a. If you intend to solve and analyze trigonometric equation you need:
     
    header_externe.h
    header_Analysis_Univariate.h
    header_Utilities_UP.h
    header_Trigo.h
    
    and use the library lib_UP.a and lib_Trigo.a. For using the parser you need:
     
    header_parser.h
    
    and the libraries lib_Solve_General_Parser.a, lib_Parser.a.

    In addition to these libraries you have to add either lib_No_Slave.a or lib_Slave.a respectively for a sequential and parallel implementation.

    The link flags for using BIAS/Profil are:

     
    -lProfilOpt -lProfilNLI -lProfilMISC -lProfil -lBias
    
    with the following flags (if you have installed the Profil library in /u/Profil and the ALIAS library in /u/ALIAS):
    -I/u/Profil/incl -L/u/Profil -L/u/ALIAS
    
    The compilation flags must include the -fpermissive options that is necessary for using Profil. Hence a typical makefile will look like:
     
     .C.o:
    	g++ -O -fpermissive -I$(INCL) -w -c -o $*.o $<
    CC=g++ -g -w -O -fpermissive
    INCL=/u/ALIAS/Profil/incl
    LIB=/u/ALIAS/Profil
    INCLI=/u/ALIAS/Lib-solaris
    LIB_SOLVE=${INCLI}/lib_Solve_General.a ${INCLI}/lib_No_Slave.a
    LIB_UP=${INCLI}/lib_UP.a
    LIB_TRIGO=${INCLI}/lib_Trigo.a
    LIB_SIMPLEX=${INCLI}/lib_Solve_Simplex.a
    LIB_CONTINUATION=${INCLI}/lib_Continuation.a
    LD= -lProfilOpt -lProfilNLI -lProfilMISC -lProfil -lBias
    
    Test:Test.o
    	$(CC) -I$(INCL) Test.C  -o Test \
    	-L$(LIB) $(LIB_UP) $(LIB_TRIGO) $(LIB_CONTINUATION) \
    	$(LIB_SIMPLEX) $(LIB_SOLVE) $(LD) -lm
    
    Note that for using the current version you still need to use the Gnu C++ compiler version 2.95 and not higher. Indeed the BIAS/Profil package cannot be compiled with a higher version as it uses an "old" version of C++ (whatever this means for a language that is intended to be reusable $\ldots$).

    If you plan to use pvm for making a parallel implementation of your program then the flag -lm should be substituted by -lm -lpvm3 -lnsl -lm -ldl -lintl -lsocket on a SUN workstation and by -lm -lpvm3 -lnsl -lm -ldl on a PC running Linux. The LIB_SOLVE dependency has also to be modified to:

     
    LIB_SOLVE=${INCLI}/lib_Solve_General.a ${INCLI}/lib_Slave.a
    
    for a better efficiency.


    next up previous contents index Next: Reserved variables Up: How to install and Previous: Installing ALIAS
  • La page de J-P. Merlet
  • J-P. Merlet home page
  • La page Présentation de COPRIN
  • COPRIN home page
  • La page "Présentation" de l'INRIA
  • INRIA home page

    Jean-Pierre Merlet