add qpsolve primitive
[scilab.git] / scilab / modules / optimization / src / c / optimtable.c
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) INRIA
4  * 
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at    
9  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12 /*--------------------------------------------------------------------------*/
13 #include "AddFunctionInTable.h"
14 /***********************************
15 * Search Table for foptim 
16 ***********************************/
17 #define ARGS_foptim integer*,integer*,double *,double*,double*,integer*,float*,double*
18 typedef void (*foptimf)(ARGS_foptim);
19
20 /**************** foptim ***************/
21 extern void C2F(genros)(ARGS_foptim);
22 extern void C2F(topt2)(ARGS_foptim);
23 extern void C2F(icsemc)(ARGS_foptim);
24
25 void C2F(foptim)(ARGS_foptim);
26 void C2F(setfoptim)(char *name, int *rep);
27
28 FTAB FTab_foptim[] =
29 {
30         {"genros", (voidf)  C2F(genros)},
31         {"icsemc", (voidf)  C2F(icsemc)},
32         {"topt2", (voidf)  C2F(topt2)},
33         {(char *) 0, (voidf) 0}
34 };
35 /***********************************
36 * Search Table for optim 
37 *    uses : foptim 
38 ***********************************/
39
40 /** the current function fixed by setsolvf **/
41
42 static foptimf foptimfonc ;
43
44 /** function call : foptim  **/
45
46 void C2F(foptim)(integer *indsim, integer *n, double *x, double *f, double *g, integer *izs, float *rzs, double *dzs)
47 {
48         (*foptimfonc)(indsim,n,x,f,g,izs,rzs,dzs);
49 }
50
51 /** fixes the function associated to name **/
52
53 void C2F(setfoptim)(char *name, int *rep)
54 {
55         foptimfonc = (foptimf) AddFunctionInTable(name,rep,FTab_foptim);
56 }
57