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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (hide annotations) (download) (as text)
Fri Oct 29 20:54:12 2004 UTC (18 years, 7 months ago) by aw0a
File MIME type: text/x-chdr
File size: 2973 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: 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