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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (show annotations) (download) (as text)
Fri Oct 29 20:54:12 2004 UTC (17 years, 6 months ago) by aw0a
File MIME type: text/x-chdr
File size: 2973 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: system.h,v $
7 * Date last modified: $Date: 1997/07/18 12:17:26 $
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) 1993 Joseph Zaher
14 * Copyright (C) 1994 Joseph Zaher, Benjamin Andrew Allan
15 *
16 * The SLV solver is free software; you can redistribute
17 * it and/or modify it under the terms of the GNU General Public License as
18 * published by the Free Software Foundation; either version 2 of the
19 * License, or (at your option) any later version.
20 *
21 * The SLV solver is distributed in hope that it will be
22 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24 * General Public License for more details.
25 *
26 * You should have received a copy of the GNU General Public License along with
27 * the program; if not, write to the Free Software Foundation, Inc., 675
28 * Mass Ave, Cambridge, MA 02139 USA. Check the file named COPYING.
29 * COPYING is found in ../compiler.
30 */
31
32 /*************************************************************************
33 *** Contents: System module (ascend)
34 ***
35 *** Authors: Joseph Zaher
36 ***
37 *** Dates: 04/94 - original version by Joe Zaher
38 *** 06/96 - original total reimplementation by Ben Allan
39 ***
40 *** Description: This is the ascend version of the system module.
41 *** This provides a means of extracting a solver system
42 *** from an ASCEND instance tree.
43 *** The result is supposed to appear totally instance
44 *** independent, though it is not really, so that
45 *** only the var and rel modules need to know about
46 *** the ascend compiler.
47 *** With any luck the expr, exprman, and relman files leave.
48 *************************************************************************/
49 #ifndef system__already_included
50 #define system__already_included
51 /* requires #include "slv_types.h" */
52
53 extern slv_system_t system_build(SlvBackendToken);
54 /**
55 *** sys = system_build(inst)
56 *** slv_system_t sys;
57 *** SlvBackendToken inst;
58 ***
59 *** In ascend, backendtoken is a struct Instance *.
60 *** Visits the instance tree and collects all variables,
61 *** relations, and objective functions into pointer lists.
62 **/
63
64 extern void system_destroy(slv_system_t);
65 /**
66 *** system_destroy(sys)
67 *** slv_system_t sys;
68 ***
69 *** Destroys the latest model formulation.
70 **/
71
72 extern void system_free_reused_mem(void);
73 /**
74 *** system_free_reused_mem()
75 ***
76 *** Deallocates any memory that solvers may be squirrelling away for
77 *** internal reuse. Calling this while any slv_system_t exists
78 *** is likely to be fatal: handle with care.
79 **/
80
81 #endif

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