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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 33 by ben.allan, Sun Dec 26 20:06:01 2004 UTC revision 709 by johnpye, Wed Jun 28 16:28:57 2006 UTC
# Line 1  Line 1 
1  /**<  /*
2     *  SLV type definition for ASCEND solvers
3   *  SLV: Ascend Nonlinear Solver   *  SLV: Ascend Nonlinear Solver
4   *  by Benjamin Andrew Allan   *  by Benjamin Andrew Allan
5   *  Created: 6/1/96   *  Created: 6/1/96
# Line 10  Line 11 
11   *  This file is part of the SLV solver.   *  This file is part of the SLV solver.
12   *   *
13   *  Copyright (C) 1996 Benjamin Andrew Allan   *  Copyright (C) 1996 Benjamin Andrew Allan
14   *   *                    
15   *  The SLV solver is free software; you can redistribute   *  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   *  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   *  published by the Free Software Foundation; either version 2 of the
# Line 27  Line 28 
28   *  COPYING is found in ../compiler.   *  COPYING is found in ../compiler.
29   */   */
30    
31  /*********************************************************************\  /** @file
32                          SLV type definition for ASCEND solvers      Type definitions as they should be seen by solver engines.
33                          Version: $Revision: 1.4 $  
34                          Date last modified: $Date: 1997/07/18 12:17:21 $      We're trying to hide the implementation detail from the solver engines,
35        to force them to use the API defined in slv_common.h, slv_client.h, etc.
36   Copyright(C) Benjamin Andrew Allan 1996  
37        Requires: (none)
38  \***************************************************************************/  *//*
39        by Ben Allan
40  /***************************************************************************      06/96 - original version
41   ***  Contents:     Solver type definitions.  */
  ***  
  ***  Authors:      Ben Allan  
  ***  
  ***  Dates:        06/96 - original version  
  ***  Description:  The types we want system and slv to share are here.  
  ***************************************************************************/  
42    
43  #ifndef slv_types__already_included  #ifndef ASC_SLV_TYPES_H
44  #define slv_types__already_included  #define ASC_SLV_TYPES_H
45    
46  typedef void *SlvBackendToken;  typedef void *SlvBackendToken;
47  /**<  /**<
48   ***  Backends that provide the residuals, gradients, and so forth      Backends that provide the residuals, gradients, and so forth
49   ***  may be object-oriented and associate some sort of pointer      may be object-oriented and associate some sort of pointer
50   ***  with each of the variables or relations they are serving up.      with each of the variables or relations they are serving up.
51   ***  In the case of ASCEND, this is a struct Instance *.  
52   ***  Since we want the Slv interface to appear totally backend      <b>In the case of ASCEND, a SlvBackendToken is simply a pointer to an
53   ***  independent (in particular because it is convenient), we      Instance structure.</b>
54   ***  define our interface in terms of SlvBackendTokens.  
55   ***  Any backend can be connected by an appropriate set of      Since we want the Slv interface to appear totally backend
56   ***  routines conforming to the headers of slv_*, rel.h, var.h      independent (in particular because it is convenient), we
57   ***  and system.h.      define our interface in terms of SlvBackendTokens.
58   ***      Any backend can be connected by an appropriate set of
59   ***  We haven't yet been able to think through the possibilities of      routines conforming to the headers of slv_*, rel.h, var.h
60   ***  having multiple backends operating _simultaneously_, mainly      and system.h.
61   ***  because the ASCEND backend is quite capable of wrapping all      
62   ***  the other backends we can think of.      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;  typedef struct slv_system_structure *slv_system_t;
69  /**<  /**<
70   ***  This is the handle which should be used in all of the functions      This is the handle which should be used in all of the functions
71   ***  in slv and system to reference a mathematical problem.      in slv and system to reference a mathematical problem.
72   **/  */
73  #endif /**< slv_types__already_included */  
74    #endif  /* ASC_SLV_TYPES_H */
75    

Legend:
Removed from v.33  
changed lines
  Added in v.709

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