/[ascend]/trunk/ascend4/solver/conoptdll.h
ViewVC logotype

Annotation of /trunk/ascend4/solver/conoptdll.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (hide annotations) (download) (as text)
Fri Oct 29 20:54:12 2004 UTC (17 years, 8 months ago) by aw0a
File MIME type: text/x-chdr
File size: 8359 byte(s)
Setting up web subdirectory in repository
1 aw0a 1 /*
2     * Definitions Required to use the CONOPT.DLL under Windows
3     * Version: $Revision: 1.1 $
4     * Version control file: $RCSfile: conoptdll.h,v $
5     * Date last modified: $Date: 1998/02/26 15:57:57 $
6     * Last modified by: $Author: mthomas $
7     *
8     * This file is part of the SLV solver.
9     *
10     * The SLV solver is free software; you can redistribute
11     * it and/or modify it under the terms of the GNU General Public License as
12     * published by the Free Software Foundation; either version 2 of the
13     * License, or (at your option) any later version.
14     *
15     * The SLV solver is distributed in hope that it will be
16     * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
17     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18     * General Public License for more details.
19     *
20     * You should have received a copy of the GNU General Public License
21     * along with the program; if not, write to the Free Software Foundation,
22     * Inc., 675 Mass Ave, Cambridge, MA 02139 USA. Check the file named
23     * COPYING. COPYING is found in ../compiler.
24     *
25     */
26    
27     #ifndef _CONOPTDLL_H
28     #define _CONOPTDLL_H
29    
30     /* a public header file to be distributed */
31    
32     #ifndef _ASCCONFIG_H /* only define these if we haven't seen ascConfig.h */
33     typedef int int32;
34     typedef double real64;
35     #endif /* _ASCCONFIG_H */
36    
37    
38     /* defines and typedefs for user supplied functions */
39     enum conopt_func_names {
40     COIPSZ_ENUM,
41     COIRMS_ENUM,
42     COIRMU_ENUM,
43     COIRC_ENUM,
44     COIRR_ENUM,
45     COIRNZ_ENUM,
46     COIRNU_ENUM,
47     COIFDE_ENUM,
48     COIFBL_ENUM,
49     COISTA_ENUM,
50     COIRS_ENUM,
51     COIUSZ_ENUM, /* NOT IMPLEMENTED */
52     COIUC_ENUM, /* NOT IMPLEMENTED */
53     COIUR_ENUM, /* NOT IMPLEMENTED */
54     COIUNZ_ENUM, /* NOT IMPLEMENTED */
55     COIUNU_ENUM, /* NOT IMPLEMENTED */
56     COILF_ENUM,
57     COIEC_ENUM,
58     COIER_ENUM,
59     COIENZ_ENUM,
60     COIMSG_ENUM,
61     COIPRG_ENUM,
62     COIORD_ENUM,
63     COIORC_ENUM,
64     COIBAN_ENUM,
65     COISCR_ENUM,
66     COICF_ENUM, /* NOT IMPLEMENTED */
67     COIOPT_ENUM
68     };
69    
70    
71     #define COIPSZ_VARS (nintgr,ipsz,nreal,rpsz,usrmem)
72     #define COIPSZ_ARGS (int32 *nintgr,int32 *ipsz,int32 *nreal, \
73     real64 *rpsz,real64 *usrmem)
74     typedef void COIPSZ_FUNC COIPSZ_ARGS;
75    
76     #define COIRMS_VARS (lower, curr, upper, vsta, type, rhs, \
77     fv, esta, colsta, rowno, value, nlflag, \
78     n, m, n1, nz, usrmem )
79     #define COIRMS_ARGS (real64 *lower,real64 *curr,real64 *upper,int32 *vsta, \
80     int32 *type,real64 *rhs,real64 *fv,int32 *esta, \
81     int32 *colsta,int32 *rowno,real64 *value,int32 *nlflag, \
82     int32 *n,int32 *m,int32 *n1,int32 *nz,real64 *usrmem)
83     typedef void COIRMS_FUNC COIRMS_ARGS;
84    
85     #define COIRMU_VARS (lower, curr, upper, vsta, type, rhs, \
86     fv, esta, rowno, colno, value, nlflag, \
87     n, m, nz, usrmem )
88     #define COIRMU_ARGS (real64 *lower,real64 *curr,real64 *upper,int32 *vsta, \
89     int32 *type,real64 *rhs,real64 *fv,int32 *esta, \
90     int32 *rowno,int32 *colno,real64 *value,int32 *nlflag, \
91     int32 *n,int32 *m,int32 *nz,real64 *usrmem)
92     typedef void COIRMU_FUNC COIRMU_ARGS;
93    
94     #define COIRC_VARS (lower, curr, upper, vsta, n, usrmem )
95     #define COIRC_ARGS (real64 *lower,real64 *curr,real64 *upper,int32 *vsta, \
96     int32 *n,real64 *usrmem)
97     typedef void COIRC_FUNC COIRC_ARGS;
98    
99     #define COIRR_VARS (type, rhs, fv, esta, m, usrmem )
100     #define COIRR_ARGS (int32 *type,real64 *rhs,real64 *fv,int32 *esta, \
101     int32 *m,real64 *usrmem)
102     typedef void COIRR_FUNC COIRR_ARGS;
103    
104     #define COIRNZ_VARS (colsta, rowno, value, nlflag, n1, nz, usrmem )
105     #define COIRNZ_ARGS (int32 *colsta,int32 *rowno,real64 *value, \
106     int32 *nlflag,int32 *n1,int32 *nz,real64 *usrmem)
107     typedef void COIRNZ_FUNC COIRNZ_ARGS;
108    
109     #define COIRNU_VARS (rowno, colno, value, nlflag, nz, usrmem )
110     #define COIRNU_ARGS (int32 *rowno,int32 *colno,real64 *value, \
111     int32 *nlflag,int32 *nz,real64 *usrmem)
112     typedef void COIRNU_FUNC COIRNU_ARGS;
113    
114     #define COIFDE_VARS (x, g, jac, rowno, \
115     jcnm, mode, errcnt, \
116     newpt, n, nj, usrmem)
117     #define COIFDE_ARGS (real64 *x, real64 *g, real64 *jac, int32 *rowno, \
118     int32 *jcnm, int32 *mode, int32 *errcnt, \
119     int32 *newpt, int32 *n, int32 *nj, real64 *usrmem)
120     typedef void COIFDE_FUNC COIFDE_ARGS;
121    
122     #define COIFBL_VARS (x, g, otn, nto, from, to, jac, stcl, \
123     rnum, cnum, nl, strw, llen, indx, mode, errcnt, n, \
124     m, n1, m1, nz, usrmem)
125     #define COIFBL_ARGS (real64 *x, real64 *g, int32 *otn, int32 *nto, \
126     int32 *from, int32 *to, real64 *jac, int32 *stcl, int32 *rnum, \
127     int32 *cnum, int32 *nl, int32 *strw, int32 *llen, int32 indx, \
128     int32 *mode, int32 *errcnt, int32 *n, int32 *m, int32 *n1, \
129     int32 *m1, int32 *nz, real64 *usrmem)
130     typedef void COIFBL_FUNC COIFBL_ARGS;
131    
132     #define COISTA_VARS (modsta, solsta,iter,objval, usrmem)
133     #define COISTA_ARGS (int32 *modsta, int32 *solsta, int32 *iter, \
134     real64 *objval, real64 *usrmem)
135     typedef void COISTA_FUNC COISTA_ARGS;
136    
137     #define COIRS_VARS (xval, xmar, xbas, xsta, \
138     yval, ymar, ybas, ysta, n, m, usrmem)
139     #define COIRS_ARGS (real64 *xval, real64 *xmar, int32 *xbas, \
140     int32 *xsta, real64 *yval, real64 *ymar, int32 *ybas, \
141     int32 *ysta, int32 *n, int32 *m, real64 *usrmem)
142     typedef void COIRS_FUNC COIRS_ARGS;
143    
144     /* TODO: put chapter 6,7 and 8 functions here! */
145    
146     #define COILF_VARS (flen, fn, usrmem)
147     #define COILF_ARGS (int32 *flen, char *fn,real64 *usrmem)
148     typedef void COILF_FUNC COILF_ARGS;
149    
150     #define COIEC_VARS (colno, msglen, msg, usrmem)
151     #define COIEC_ARGS (int32 *colno, int32 *msglen, char msg[80],real64 *usrmem)
152     typedef void COIEC_FUNC COIEC_ARGS;
153    
154     #define COIER_VARS (rowno, msglen, msg, usrmem)
155     #define COIER_ARGS (int32 *rowno, int32 *msglen, char msg[80],real64 *usrmem)
156     typedef void COIER_FUNC COIER_ARGS;
157    
158     #define COIENZ_VARS (colno, rowno, posno, msglen, msg, usrmem)
159     #define COIENZ_ARGS (int32 *colno, int32 *rowno, int32 *posno, \
160     int32 *msglen, char msg[80],real64 *usrmem)
161     typedef void COIENZ_FUNC COIENZ_ARGS;
162    
163     #define COIMSG_VARS (nmsg, smsg, llen, msgv, usrmem)
164     #define COIMSG_ARGS (int32 *nmsg, int32 *smsg, int32 *llen, \
165     char msgv[80*15],real64 *usrmem)
166     typedef void COIMSG_FUNC COIMSG_ARGS;
167    
168     #define COIPRG_VARS (nintgr, intrep, nreal, rl, x, usrmem, finish)
169     #define COIPRG_ARGS (int32 *nintgr, int32 *intrep, int32 *nreal, \
170     real64 *rl, real64 *x, real64 *usrmem, int32 *finish)
171     typedef void COIPRG_FUNC COIPRG_ARGS;
172    
173     #define COIORD_VARS (colno, rowno, value, resid, usrmem)
174     #define COIORD_ARGS (int32 *colno, int32 *rowno, real64 *value, \
175     real64 *resid,real64 *usrmem)
176     typedef void COIORD_FUNC COIORD_ARGS;
177    
178     #define COIORC_VARS (colno, rowno, value, resid, usrmem)
179     #define COIORC_ARGS (int32 *colno, int32 *rowno, real64 *value, \
180     real64 *resid,real64 *usrmem)
181     typedef void COIORC_FUNC COIORC_ARGS;
182    
183     #define COIBAN_VARS (msg, vers)
184     #define COIBAN_ARGS (char *msg, char *vers)
185     typedef void COIBAN_FUNC COIBAN_ARGS;
186    
187     #define COISCR_VARS (msg, len)
188     #define COISCR_ARGS (char msg[80], int32 *len)
189     typedef void COISCR_FUNC COISCR_ARGS;
190    
191     #define COIOPT_VARS (name, rval, ival, lval, usrmem)
192     #define COIOPT_ARGS (char *name, real64 *rval, int32 *ival, \
193     int32 *lval, real64 *usrmem)
194     typedef void COIOPT_FUNC COIOPT_ARGS;
195    
196    
197     /* defines and typedefs for conopt supplied functions */
198     /* registration functions */
199     #define REGISTER_CONOPT_FUNCTION_ARGS (enum conopt_func_names name, \
200     void *func)
201     typedef REGISTER_CONOPT_FUNCTION_FUNC REGISTER_CONOPT_FUNCTION_ARGS;
202     #define UNREGISTER_CONOPT_FUNCTION_ARGS (enum conopt_func_names name, \
203     void *func)
204     typedef UNREGISTER_CONOPT_FUNCTION_FUNC UNREGISTER_CONOPT_FUNCTION_ARGS;
205     /* chapter 2 functions */
206     #define COICSU_ARGS (int32 *keep,real64 *usrmem)
207     #define COICRS_ARGS (int32 *keep,real64 *usrmem)
208     #define COIRM_ARGS ()
209     #define COICSM_ARGS (int32 *kept,real64 *usrmem,int32 *lwork, \
210     real64 *work,int32 *maxusd,int32 *curusd)
211     typedef void COICSM_FUNC COICSM_ARGS;
212     #define COICRM_ARGS (int32 *kept,real64 *usrmem,int32 *lwork, \
213     real64 *work,int32 *maxusd,int32 *curusd)
214     typedef void COICRM_FUNC COICRM_ARGS;
215     #define COIMEM_ARGS (int32 *nintgr,int32 *ipsz,int32 *minmem,int32 *estmem)
216     typedef void COIMEM_FUNC COIMEM_ARGS;
217     #define COIXIT_ARGS ()
218    
219     #endif /* _CONOPTDLL_H */

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