--- trunk/base/generic/solver/slv_types.h 2005/11/30 16:31:29 67
+++ trunk/base/generic/solver/slv_types.h 2006/06/28 16:28:57 709
@@ -29,47 +29,47 @@
*/
/** @file
- * SLV type definition for ASCEND solvers.
- *
- * Contents: Solver type definitions.
- *
- * Authors: Ben Allan
- *
- * Dates: 06/96 - original version
- *
- * Description: The types we want system and slv to share are here.
- *
- * Requires: none
- *
- */
+ Type definitions as they should be seen by solver engines.
+
+ We're trying to hide the implementation detail from the solver engines,
+ to force them to use the API defined in slv_common.h, slv_client.h, etc.
+
+ Requires: (none)
+*//*
+ by Ben Allan
+ 06/96 - original version
+*/
#ifndef ASC_SLV_TYPES_H
#define ASC_SLV_TYPES_H
typedef void *SlvBackendToken;
/**<
- *** Backends that provide the residuals, gradients, and so forth
- *** may be object-oriented and associate some sort of pointer
- *** with each of the variables or relations they are serving up.
- *** In the case of ASCEND, this is a struct Instance *.
- *** Since we want the Slv interface to appear totally backend
- *** independent (in particular because it is convenient), we
- *** define our interface in terms of SlvBackendTokens.
- *** Any backend can be connected by an appropriate set of
- *** routines conforming to the headers of slv_*, rel.h, var.h
- *** and system.h.
- ***
- *** We haven't yet been able to think through the possibilities of
- *** having multiple backends operating _simultaneously_, mainly
- *** because the ASCEND backend is quite capable of wrapping all
- *** the other backends we can think of.
- **/
+ Backends that provide the residuals, gradients, and so forth
+ may be object-oriented and associate some sort of pointer
+ with each of the variables or relations they are serving up.
+
+ In the case of ASCEND, a SlvBackendToken is simply a pointer to an
+ Instance structure.
+
+ Since we want the Slv interface to appear totally backend
+ independent (in particular because it is convenient), we
+ define our interface in terms of SlvBackendTokens.
+ Any backend can be connected by an appropriate set of
+ routines conforming to the headers of slv_*, rel.h, var.h
+ and system.h.
+
+ We haven't yet been able to think through the possibilities of
+ having multiple backends operating _simultaneously_, mainly
+ because the ASCEND backend is quite capable of wrapping all
+ the other backends we can think of.
+*/
typedef struct slv_system_structure *slv_system_t;
/**<
- *** This is the handle which should be used in all of the functions
- *** in slv and system to reference a mathematical problem.
- **/
+ This is the handle which should be used in all of the functions
+ in slv and system to reference a mathematical problem.
+*/
#endif /* ASC_SLV_TYPES_H */