/[ascend]/trunk/base/generic/compiler/extinst.h
ViewVC logotype

Contents of /trunk/base/generic/compiler/extinst.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1066 - (show annotations) (download) (as text)
Sun Jan 7 10:02:41 2007 UTC (17 years, 8 months ago) by johnpye
File MIME type: text/x-chdr
File size: 2677 byte(s)
Adding doxygen 'addtogroup' for Solver, Compiler, Integrator.
1 /* ASCEND modelling environment
2 Copyright (C) 2006 Carnegie Mellon University
3 Copyright (C) 1995 Kirk Andre Abbott
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2, or (at your option)
8 any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA.
19 *//** @file
20 Special stuff for handling external relations in the instance hierarchy.
21
22 I think that this means that we keep track of all references by external
23 functions/methods etc to Instance objects in our hierarchy. This means
24 that when we merge and refine instances, we can update external references
25 to these objects as required. My guesswork. -- JP
26
27 @TODO add documentation! what this is all about?
28
29 @TODO why do we need another $@%! global variable for all this whatsit?
30
31 Requires
32 #include "utilities/ascConfig.h"
33 #include "instance_enum.h"
34 *//*
35 by Tom Epperly
36 8/16/89
37 Last in CVS: $Revision: 1.6 $ $Date: 1997/07/18 12:29:35 $ $Author: mthomas $
38 */
39
40 #ifndef ASC_EXTINST_H
41 #define ASC_EXTINST_H
42
43 /** addtogroup compiler Compiler
44 @{
45 */
46
47 extern struct Instance **g_ExtVariablesTable;
48 /**<
49 A global variable which is non NULL if external relations have been
50 processed and have hence added variables to the table. After use it
51 should be appropriately reset.
52 */
53
54 extern struct Instance **AddVarToTable(struct Instance *inst, int *added);
55 /**<
56 Given an instance will store it in the ExtVariablesTable and will return
57 the 'handle' to the instance. If variable existed already, it will not
58 be added. If there was a failure then the variable will not be added.
59 This is reflected in the variable "added".
60 */
61
62 extern void FixExternalVars(struct Instance *old, struct Instance *new);
63 /**<
64 Replaces old with new in the table.
65 This will be called only for MODEL_INSTS.
66
67 Used by MergeModels, RefineModels, apparently -- JP.
68 */
69
70 extern void SetSimulationExtVars(struct Instance *i, struct Instance **extvars);
71 /**<
72 Will set the given extvar table to the instance. Not for the casual user !!
73 Could not avoid exporting this one. I would rather have not.
74 However instantiate needs to be able to set this table when finished.
75 */
76
77 /* @} */
78
79 #endif /* ASC_EXTINST_H */
80

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