/[ascend]/trunk/base/generic/solver/slv_types.h
ViewVC logotype

Contents of /trunk/base/generic/solver/slv_types.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 67 - (show annotations) (download) (as text)
Wed Nov 30 16:31:29 2005 UTC (18 years, 10 months ago) by johnpye
File MIME type: text/x-chdr
File size: 2653 byte(s)
Standardised the "if seen" #defines to [ASC|ASCTK|ASCPY|ASCXX]_FILENAME_H
Fixed compile on FC3
1 /*
2 * SLV type definition for ASCEND solvers
3 * SLV: Ascend Nonlinear Solver
4 * by Benjamin Andrew Allan
5 * Created: 6/1/96
6 * Version: $Revision: 1.4 $
7 * Version control file: $RCSfile: slv_types.h,v $
8 * Date last modified: $Date: 1997/07/18 12:17:21 $
9 * Last modified by: $Author: mthomas $
10 *
11 * This file is part of the SLV solver.
12 *
13 * Copyright (C) 1996 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
31 /** @file
32 * SLV type definition for ASCEND solvers.
33 * <pre>
34 * Contents: Solver type definitions.
35 *
36 * Authors: Ben Allan
37 *
38 * Dates: 06/96 - original version
39 *
40 * Description: The types we want system and slv to share are here.
41 *
42 * Requires: none
43 * </pre>
44 */
45
46 #ifndef ASC_SLV_TYPES_H
47 #define ASC_SLV_TYPES_H
48
49 typedef void *SlvBackendToken;
50 /**<
51 *** Backends that provide the residuals, gradients, and so forth
52 *** may be object-oriented and associate some sort of pointer
53 *** with each of the variables or relations they are serving up.
54 *** In the case of ASCEND, this is a struct Instance *.
55 *** Since we want the Slv interface to appear totally backend
56 *** independent (in particular because it is convenient), we
57 *** define our interface in terms of SlvBackendTokens.
58 *** Any backend can be connected by an appropriate set of
59 *** routines conforming to the headers of slv_*, rel.h, var.h
60 *** and system.h.<br><br>
61 ***
62 *** We haven't yet been able to think through the possibilities of
63 *** having multiple backends operating _simultaneously_, mainly
64 *** because the ASCEND backend is quite capable of wrapping all
65 *** the other backends we can think of.
66 **/
67
68 typedef struct slv_system_structure *slv_system_t;
69 /**<
70 *** This is the handle which should be used in all of the functions
71 *** in slv and system to reference a mathematical problem.
72 **/
73
74 #endif /* ASC_SLV_TYPES_H */
75

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