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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (hide annotations) (download) (as text)
Fri Oct 29 20:54:12 2004 UTC (17 years, 8 months ago) by aw0a
File MIME type: text/x-chdr
File size: 4029 byte(s)
Setting up web subdirectory in repository
1 aw0a 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