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 
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 
28 
* COPYING is found in ../compiler. 
* COPYING is found in ../compiler. 
29 
*/ 
*/ 
30 


31 
/*********************************************************************\ 
/** @file 
32 
SLV type definition for ASCEND solvers 
* SLV type definition for ASCEND solvers. 
33 
Version: $Revision: 1.4 $ 
* <pre> 
34 
Date last modified: $Date: 1997/07/18 12:17:21 $ 
* Contents: Solver type definitions. 
35 

* 
36 
Copyright(C) Benjamin Andrew Allan 1996 
* 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 
*** Contents: Solver type definitions. 
* 
42 
*** 
* Requires: none 
43 
*** Authors: Ben Allan 
* </pre> 
44 
*** 
*/ 

*** Dates: 06/96  original version 


*** Description: The types we want system and slv to share are here. 


***************************************************************************/ 

45 


46 
#ifndef slv_types__already_included 
#ifndef slv_types__already_included 
47 
#define slv_types__already_included 
#define slv_types__already_included 
48 


49 
typedef void *SlvBackendToken; 
typedef void *SlvBackendToken; 
50 
/**< 
/**< 
51 
*** Backends that provide the residuals, gradients, and so forth 
*** Backends that provide the residuals, gradients, and so forth 
52 
*** may be objectoriented and associate some sort of pointer 
*** may be objectoriented and associate some sort of pointer 
53 
*** with each of the variables or relations they are serving up. 
*** with each of the variables or relations they are serving up. 
57 
*** define our interface in terms of SlvBackendTokens. 
*** define our interface in terms of SlvBackendTokens. 
58 
*** Any backend can be connected by an appropriate set of 
*** Any backend can be connected by an appropriate set of 
59 
*** routines conforming to the headers of slv_*, rel.h, var.h 
*** routines conforming to the headers of slv_*, rel.h, var.h 
60 
*** and system.h. 
*** and system.h.<br><br> 
61 
*** 
*** 
62 
*** We haven't yet been able to think through the possibilities of 
*** We haven't yet been able to think through the possibilities of 
63 
*** having multiple backends operating _simultaneously_, mainly 
*** having multiple backends operating _simultaneously_, mainly 
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 /* slv_types__already_included */ 
75 

