/[ascend]/trunk/ascend4/solver/slv2.h
ViewVC logotype

Contents of /trunk/ascend4/solver/slv2.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (show annotations) (download) (as text)
Fri Oct 29 20:54:12 2004 UTC (18 years, 5 months ago) by aw0a
File MIME type: text/x-chdr
File size: 4029 byte(s)
Setting up web subdirectory in repository
1 /*
2 * SLV: Ascend Numeric Solver
3 * by Karl Michael Westerberg
4 * Created: 2/6/90
5 * Version: $Revision: 1.8 $
6 * Version control file: $RCSfile: slv2.h,v $
7 * Date last modified: $Date: 1997/07/18 12:16:05 $
8 * Last modified by: $Author: mthomas $
9 *
10 * This file is part of the SLV solver.
11 *
12 * Copyright (C) 1990 Karl Michael Westerberg
13 * Copyright (C) 1994 Joseph Zaher, Benjamin Andrew Allan
14 *
15 * The SLV solver is free software; you can redistribute
16 * it and/or modify it under the terms of the GNU General Public License as
17 * published by the Free Software Foundation; either version 2 of the
18 * License, or (at your option) any later version.
19 *
20 * The SLV solver is distributed in hope that it will be
21 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23 * General Public License for more details.
24 *
25 * You should have received a copy of the GNU General Public License along with
26 * the program; if not, write to the Free Software Foundation, Inc., 675
27 * Mass Ave, Cambridge, MA 02139 USA. Check the file named COPYING.
28 * COPYING is found in ../compiler.
29 */
30 #ifndef slv2__already_included
31 #define slv2__already_included
32 /* requires #include "slv_client.h" */
33
34 typedef struct slv2_system_structure *slv2_system_t;
35
36 int slv2_register(SlvFunctionsT *);
37 /**********************************************************************\
38 This is the function that tells the system about the Opt solver.
39 Our index is not necessarily going to be 2. That everything here is
40 named slv2* is just a historical event.
41 \**********************************************************************/
42
43 #endif
44
45 /* REMOVE EVERYTHING BELOW THIS POINT */
46 # if 0
47 /*********************************************************************
48 This file created by make_slv_header, so don't modify it yourself.
49 All functions defined in this header have identical protocols to the
50 corresponding functions in slv.h except that slv_system_t ==>
51 slv2_system_t and slv2_eligible_solver() only takes one parameter:
52 the system. Note also that the select solver functions don't exist.
53 *********************************************************************/
54
55 typedef struct slv2_system_structure *slv2_system_t;
56
57 #ifdef STATIC_OPTSQP
58 #define slv2_solver_name "OPT" /* Solver's name */
59 #define slv2_solver_number 2 /* Solver's number */
60
61 extern slv2_system_t slv2_create();
62 extern int slv2_destroy(); /* note error return needs to be implemented */
63 extern void slv2_set_rel_list();
64 extern struct rel_relation **slv2_get_rel_list();
65 extern void slv2_set_extrel_list();
66 extern struct ExtRelCache **slv2_get_extrel_list();
67 extern void slv2_set_var_list();
68 extern struct var_variable **slv2_get_var_list();
69 extern void slv2_set_bnd_list();
70 extern bnd_boundary_t *slv2_get_bnd_list();
71 extern int slv2_count_rels();
72 extern int slv2_count_vars();
73 extern int slv2_count_bnds();
74 extern void slv2_set_obj_relation();
75 extern expr_t slv2_get_obj_relation();
76 extern boolean slv2_eligible_solver();
77 extern void slv2_get_parameters();
78 extern void slv2_set_parameters();
79 extern void slv2_get_status();
80 extern linsol_system_t slv2_get_linsol_sys();
81 extern slv2_dump_internals();
82 extern int slv2_presolve();
83 extern boolean slv2_change_basis();
84 extern void slv2_resolve();
85 extern void slv2_iterate();
86 extern void slv2_solve();
87
88 /* the following will be stomped on by make_slvheaders. beware. */
89 #define slv2_IA_SIZE 9
90 #define slv2_RA_SIZE 2
91 #define slv2_CA_SIZE 0
92 #define slv2_VA_SIZE 0
93
94 /*** subscripts for ia ***/
95 #define SP2_OPTION 0
96 #define SP2_ISCALE 1
97 #define SP2_ICHOOSE 2
98 #define SP2_IMULT 3
99 #define SP2_ISAFE 4
100 #define SP2_ICORR 5
101 #define SP2_KPRINT 6
102 #define SP2_IIEXACT 7
103 #define SP2_IDEBUG 8
104
105 /*** subscripts for ra ***/
106 #define SP2_EPS 0
107 #define SP2_VV 1
108
109 /*** subscripts for ca ***/
110
111 /*** subscripts for va ***/
112
113 #else
114 #define slv2_solver_name "no_opt" /* Solver's name */
115 #define slv2_solver_number 2 /* Solver's number */
116 #endif
117
118 #endif

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22