Ipopt  3.12.12
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
HSLLoader.h
Go to the documentation of this file.
1 /* Copyright (C) 2008, 2011 GAMS Development and others
2  All Rights Reserved.
3  This code is published under the Eclipse Public License.
4 
5  $Id: HSLLoader.h 2317 2013-06-01 13:16:07Z stefan $
6 
7  Author: Stefan Vigerske
8 */
9 
10 #ifndef HSLLOADER_H_
11 #define HSLLOADER_H_
12 
13 #include "IpoptConfig.h"
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 #ifndef ma77_default_control
20 #define ma77_control ma77_control_d
21 #define ma77_info ma77_info_d
22 #define ma77_default_control ma77_default_control_d
23 #define ma77_open_nelt ma77_open_nelt_d
24 #define ma77_open ma77_open_d
25 #define ma77_input_vars ma77_input_vars_d
26 #define ma77_input_reals ma77_input_reals_d
27 #define ma77_analyse ma77_analyse_d
28 #define ma77_factor ma77_factor_d
29 #define ma77_factor_solve ma77_factor_solve_d
30 #define ma77_solve ma77_solve_d
31 #define ma77_resid ma77_resid_d
32 #define ma77_scale ma77_scale_d
33 #define ma77_enquire_posdef ma77_enquire_posdef_d
34 #define ma77_enquire_indef ma77_enquire_indef_d
35 #define ma77_alter ma77_alter_d
36 #define ma77_restart ma77_restart_d
37 #define ma77_finalise ma77_finalise_d
38 #endif
39 
40 struct ma77_control;
41 struct ma77_info;
42 typedef double ma77pkgtype_d_;
43 
44 
45 #ifndef ma86_default_control
46 #define ma86_control ma86_control_d
47 #define ma86_info ma86_info_d
48 #define ma86_default_control ma86_default_control_d
49 #define ma86_analyse ma86_analyse_d
50 #define ma86_factor ma86_factor_d
51 #define ma86_factor_solve ma86_factor_solve_d
52 #define ma86_solve ma86_solve_d
53 #define ma86_finalise ma86_finalise_d
54 #endif
55 
56 struct ma86_control;
57 struct ma86_info;
58 typedef double ma86pkgtype_d_;
59 typedef double ma86realtype_d_;
60 
61 #ifndef ma97_default_control
62 #define ma97_control ma97_control_d
63 #define ma97_info ma97_info_d
64 #define ma97_default_control ma97_default_control_d
65 #define ma97_analyse ma97_analyse_d
66 #define ma97_factor ma97_factor_d
67 #define ma97_factor_solve ma97_factor_solve_d
68 #define ma97_solve ma97_solve_d
69 #define ma97_finalise ma97_finalise_d
70 #define ma97_free_akeep ma97_free_akeep_d
71 #endif
72 
73 struct ma97_control;
74 struct ma97_info;
75 typedef double ma97pkgtype_d_;
76 typedef double ma97realtype_d_;
77 
78 struct mc68_control_i;
79 struct mc68_info_i;
80 
81 #ifndef __IPTYPES_HPP__
82 /* Type of Fortran integer translated into C */
84 #endif
85 
86 typedef void (*ma27ad_t)(ipfint *N, ipfint *NZ, const ipfint *IRN, const ipfint* ICN,
87  ipfint *IW, ipfint* LIW, ipfint* IKEEP, ipfint *IW1,
88  ipfint* NSTEPS, ipfint* IFLAG, ipfint* ICNTL,
89  double* CNTL, ipfint *INFO, double* OPS);
90 typedef void (*ma27bd_t)(ipfint *N, ipfint *NZ, const ipfint *IRN, const ipfint* ICN,
91  double* A, ipfint* LA, ipfint* IW, ipfint* LIW,
92  ipfint* IKEEP, ipfint* NSTEPS, ipfint* MAXFRT,
93  ipfint* IW1, ipfint* ICNTL, double* CNTL,
94  ipfint* INFO);
95 typedef void (*ma27cd_t)(ipfint *N, double* A, ipfint* LA, ipfint* IW,
96  ipfint* LIW, double* W, ipfint* MAXFRT,
97  double* RHS, ipfint* IW1, ipfint* NSTEPS,
98  ipfint* ICNTL, double* CNTL);
99 typedef void (*ma27id_t)(ipfint* ICNTL, double* CNTL);
100 
101 typedef void (*ma28ad_t)(void* nsize, void* nz, void* rw, void* licn, void* iw,
102  void* lirn, void* iw2, void* pivtol, void* iw3, void* iw4, void* rw2, void* iflag);
103 
104 typedef void (*ma57ad_t) (
105  ipfint *n, /* Order of matrix. */
106  ipfint *ne, /* Number of entries. */
107  const ipfint *irn, /* Matrix nonzero row structure */
108  const ipfint *jcn, /* Matrix nonzero column structure */
109  ipfint *lkeep, /* Workspace for the pivot order of lenght 3*n */
110  ipfint *keep, /* Workspace for the pivot order of lenght 3*n */
111  /* Automatically iflag = 0; ikeep pivot order iflag = 1 */
112  ipfint *iwork, /* Integer work space. */
113  ipfint *icntl, /* Integer Control parameter of length 30*/
114  ipfint *info, /* Statistical Information; Integer array of length 20 */
115  double *rinfo); /* Double Control parameter of length 5 */
116 
117 typedef void (*ma57bd_t) (
118  ipfint *n, /* Order of matrix. */
119  ipfint *ne, /* Number of entries. */
120  double *a, /* Numerical values. */
121  double *fact, /* Entries of factors. */
122  ipfint *lfact, /* Length of array `fact'. */
123  ipfint *ifact, /* Indexing info for factors. */
124  ipfint *lifact, /* Length of array `ifact'. */
125  ipfint *lkeep, /* Length of array `keep'. */
126  ipfint *keep, /* Integer array. */
127  ipfint *iwork, /* Workspace of length `n'. */
128  ipfint *icntl, /* Integer Control parameter of length 20. */
129  double *cntl, /* Double Control parameter of length 5. */
130  ipfint *info, /* Statistical Information; Integer array of length 40. */
131  double *rinfo); /* Statistical Information; Real array of length 20. */
132 
133 typedef void (*ma57cd_t) (
134  ipfint *job, /* Solution job. Solve for... */
135  ipfint *n, /* Order of matrix. */
136  double *fact, /* Entries of factors. */
137  ipfint *lfact, /* Length of array `fact'. */
138  ipfint *ifact, /* Indexing info for factors. */
139  ipfint *lifact, /* Length of array `ifact'. */
140  ipfint *nrhs, /* Number of right hand sides. */
141  double *rhs, /* Numerical Values. */
142  ipfint *lrhs, /* Leading dimensions of `rhs'. */
143  double *work, /* Real workspace. */
144  ipfint *lwork, /* Length of `work', >= N*NRHS. */
145  ipfint *iwork, /* Integer array of length `n'. */
146  ipfint *icntl, /* Integer Control parameter array of length 20. */
147  ipfint *info); /* Statistical Information; Integer array of length 40. */
148 
149 typedef void (*ma57ed_t) (
150  ipfint *n,
151  ipfint *ic, /* 0: copy real array. >=1: copy integer array. */
152  ipfint *keep,
153  double *fact,
154  ipfint *lfact,
155  double *newfac,
156  ipfint *lnew,
157  ipfint *ifact,
158  ipfint *lifact,
159  ipfint *newifc,
160  ipfint *linew,
161  ipfint *info);
162 
163 typedef void (*ma57id_t) (double *cntl, ipfint *icntl);
164 
165 typedef void (*ma77_default_control_t)(struct ma77_control_d *control);
166 typedef void (*ma77_open_nelt_t)(const int n, const char* fname1, const char* fname2,
167  const char *fname3, const char *fname4, void **keep,
168  const struct ma77_control_d *control, struct ma77_info_d *info,
169  const int nelt);
170 typedef void (*ma77_open_t)(const int n, const char* fname1, const char* fname2,
171  const char *fname3, const char *fname4, void **keep,
172  const struct ma77_control_d *control, struct ma77_info_d *info);
173 typedef void (*ma77_input_vars_t)(const int idx, const int nvar, const int list[],
174  void **keep, const struct ma77_control_d *control, struct ma77_info_d *info);
175 typedef void (*ma77_input_reals_t)(const int idx, const int length,
176  const double reals[], void **keep, const struct ma77_control_d *control,
177  struct ma77_info_d *info);
178 typedef void (*ma77_analyse_t)(const int order[], void **keep,
179  const struct ma77_control_d *control, struct ma77_info_d *info);
180 typedef void (*ma77_factor_t)(const int posdef, void **keep,
181  const struct ma77_control_d *control, struct ma77_info_d *info,
182  const double *scale);
183 typedef void (*ma77_factor_solve_t)(const int posdef, void **keep,
184  const struct ma77_control_d *control, struct ma77_info_d *info,
185  const double *scale, const int nrhs, const int lx,
186  double rhs[]);
187 typedef void (*ma77_solve_t)(const int job, const int nrhs, const int lx, double x[],
188  void **keep, const struct ma77_control_d *control, struct ma77_info_d *info,
189  const double *scale);
190 typedef void (*ma77_resid_t)(const int nrhs, const int lx, const double x[],
191  const int lresid, double resid[], void **keep,
192  const struct ma77_control_d *control, struct ma77_info_d *info,
193  double *anorm_bnd);
194 typedef void (*ma77_scale_t)(double scale[], void **keep,
195  const struct ma77_control_d *control, struct ma77_info_d *info,
196  double *anorm);
197 typedef void (*ma77_enquire_posdef_t)(double d[], void **keep,
198  const struct ma77_control_d *control, struct ma77_info_d *info);
199 typedef void (*ma77_enquire_indef_t)(int piv_order[], double d[], void **keep,
200  const struct ma77_control_d *control, struct ma77_info_d *info);
201 typedef void (*ma77_alter_t)(const double d[], void **keep,
202  const struct ma77_control_d *control, struct ma77_info_d *info);
203 typedef void (*ma77_restart_t)(const char *restart_file, const char *fname1,
204  const char *fname2, const char *fname3, const char *fname4, void **keep,
205  const struct ma77_control_d *control, struct ma77_info_d *info);
206 typedef void (*ma77_finalise_t)(void **keep, const struct ma77_control_d *control,
207  struct ma77_info_d *info);
208 
209 typedef void (*ma86_default_control_t)(struct ma86_control *control);
210 typedef void (*ma86_analyse_t)(const int n, const int ptr[], const int row[],
211  int order[], void **keep, const struct ma86_control *control,
212  struct ma86_info *info);
213 typedef void (*ma86_factor_t)(const int n, const int ptr[], const int row[],
214  const ma86pkgtype_d_ val[], const int order[], void **keep,
215  const struct ma86_control *control, struct ma86_info *info,
216  const ma86pkgtype_d_ scale[]);
217 typedef void (*ma86_factor_solve_t)(const int n, const int ptr[],
218  const int row[], const ma86pkgtype_d_ val[], const int order[], void **keep,
219  const struct ma86_control *control, struct ma86_info *info, const int nrhs,
220  const int ldx, ma86pkgtype_d_ x[], const ma86pkgtype_d_ scale[]);
221 typedef void (*ma86_solve_t)(const int job, const int nrhs, const int ldx,
222  ma86pkgtype_d_ *x, const int order[], void **keep,
223  const struct ma86_control *control, struct ma86_info *info,
224  const ma86pkgtype_d_ scale[]);
225 typedef void (*ma86_finalise_t)(void **keep,
226  const struct ma86_control *control);
227 
228 typedef void (*ma97_default_control_t)(struct ma97_control *control);
229 typedef void (*ma97_analyse_t)(const int check, const int n, const int ptr[],
230  const int row[], ma97pkgtype_d_ val[], void **akeep,
231  const struct ma97_control *control, struct ma97_info *info, int order[]);
232 typedef void (*ma97_factor_t)(const int matrix_type, const int ptr[],
233  const int row[], const ma97pkgtype_d_ val[], void **akeep, void **fkeep,
234  const struct ma97_control *control, struct ma97_info *info,
235  const ma97pkgtype_d_ scale[]);
236 typedef void (*ma97_factor_solve_t)(const int matrix_type, const int ptr[],
237  const int row[], const ma97pkgtype_d_ val[], const int nrhs,
238  ma97pkgtype_d_ x[], const int ldx, void **akeep, void **fkeep,
239  const struct ma97_control *control, struct ma97_info *info,
240  const ma97pkgtype_d_ scale[]);
241 typedef void (*ma97_solve_t)(const int job, const int nrhs, ma97pkgtype_d_ *x,
242  const int ldx, void **akeep, void **fkeep,
243  const struct ma97_control *control, struct ma97_info *info);
244 typedef void (*ma97_finalise_t)(void **akeep, void **fkeep);
245 typedef void (*ma97_free_akeep_t)(void **akeep);
246 
247 typedef void (*mc19ad_t)(ipfint *N, ipfint *NZ, double* A, ipfint *IRN, ipfint* ICN, float* R, float* C, float* W);
248 
249 typedef void (*mc68_default_control_t)(struct mc68_control_i *control);
250 typedef void (*mc68_order_t)(int ord, int n, const int ptr[],
251  const int row[], int perm[], const struct mc68_control_i *control,
252  struct mc68_info_i *info);
253 
269  int LSL_loadHSL(const char* libname, char* msgbuf, int msglen);
270 
274  int LSL_unloadHSL();
275 
279  int LSL_isHSLLoaded();
280 
284  int LSL_isMA27available();
285 
289  int LSL_isMA28available();
290 
294  int LSL_isMA57available();
295 
299  int LSL_isMA77available();
300 
304  int LSL_isMA86available();
305 
309  int LSL_isMA97available();
310 
314  int LSL_isMC19available();
315 
319  int LSL_isMC68available();
320 
322  char* LSL_HSLLibraryName();
323 
325  void LSL_setMA27(ma27ad_t ma27ad, ma27bd_t ma27bd, ma27cd_t ma27cd, ma27id_t ma27id);
326 
328  void LSL_setMA28(ma28ad_t ma28ad);
329 
331  void LSL_setMA57(ma57ad_t ma57ad, ma57bd_t ma57bd, ma57cd_t ma57cd, ma57ed_t ma57ed, ma57id_t ma57id);
332 
350 
358 
367 
369  void LSL_setMC19(mc19ad_t mc19ad);
370 
373 
374 #ifdef __cplusplus
375 }
376 #endif
377 
378 #endif /*HSLLOADER_H_*/
#define ma97_solve
Definition: HSLLoader.h:68
Number * x
Input: Starting point Output: Optimal solution.
#define ma77_control
Definition: HSLLoader.h:20
void(* ma86_finalise_t)(void **keep, const struct ma86_control *control)
Definition: HSLLoader.h:225
#define ma77_input_reals
Definition: HSLLoader.h:26
double ma77pkgtype_d_
Definition: hsl_ma77d.h:35
void LSL_setMC19(mc19ad_t mc19ad)
sets pointer to MC19 function
void(* ma77_factor_solve_t)(const int posdef, void **keep, const struct ma77_control_d *control, struct ma77_info_d *info, const double *scale, const int nrhs, const int lx, double rhs[])
Definition: HSLLoader.h:183
#define ma77_scale
Definition: HSLLoader.h:32
#define ma86_factor
Definition: HSLLoader.h:50
void(* ma97_factor_t)(const int matrix_type, const int ptr[], const int row[], const ma97pkgtype_d_ val[], void **akeep, void **fkeep, const struct ma97_control *control, struct ma97_info *info, const ma97pkgtype_d_ scale[])
Definition: HSLLoader.h:232
FORTRAN_INTEGER_TYPE ipfint
Definition: IpTypes.hpp:26
void LSL_setMA57(ma57ad_t ma57ad, ma57bd_t ma57bd, ma57cd_t ma57cd, ma57ed_t ma57ed, ma57id_t ma57id)
sets pointers to MA57 functions
void(* ma77_default_control_t)(struct ma77_control_d *control)
Definition: HSLLoader.h:165
int LSL_isMA77available()
Indicates whether a HSL library is loaded and all symbols necessary to use MA77 have been found...
#define ma77_finalise
Definition: HSLLoader.h:37
void(* ma86_default_control_t)(struct ma86_control *control)
Definition: HSLLoader.h:209
void(* ma77_enquire_posdef_t)(double d[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info)
Definition: HSLLoader.h:197
#define ma86_solve
Definition: HSLLoader.h:52
void(* ma77_input_vars_t)(const int idx, const int nvar, const int list[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info)
Definition: HSLLoader.h:173
#define ma77_input_vars
Definition: hsl_ma77d.h:18
#define ma77_default_control
Definition: HSLLoader.h:22
void(* ma86_analyse_t)(const int n, const int ptr[], const int row[], int order[], void **keep, const struct ma86_control *control, struct ma86_info *info)
Definition: HSLLoader.h:210
void(* mc68_order_t)(int ord, int n, const int ptr[], const int row[], int perm[], const struct mc68_control_i *control, struct mc68_info_i *info)
Definition: HSLLoader.h:250
#define ma77_resid
Definition: HSLLoader.h:31
void(* ma27bd_t)(ipfint *N, ipfint *NZ, const ipfint *IRN, const ipfint *ICN, double *A, ipfint *LA, ipfint *IW, ipfint *LIW, ipfint *IKEEP, ipfint *NSTEPS, ipfint *MAXFRT, ipfint *IW1, ipfint *ICNTL, double *CNTL, ipfint *INFO)
Definition: HSLLoader.h:90
#define ma86_finalise
Definition: HSLLoader.h:53
void(* ma86_factor_t)(const int n, const int ptr[], const int row[], const ma86pkgtype_d_ val[], const int order[], void **keep, const struct ma86_control *control, struct ma86_info *info, const ma86pkgtype_d_ scale[])
Definition: HSLLoader.h:213
void(* mc68_default_control_t)(struct mc68_control_i *control)
Definition: HSLLoader.h:249
int LSL_isMC68available()
Indicates whether a HSL library is loaded and all symbols necessary to use HSL_MC68 have been found...
void(* ma27cd_t)(ipfint *N, double *A, ipfint *LA, ipfint *IW, ipfint *LIW, double *W, ipfint *MAXFRT, double *RHS, ipfint *IW1, ipfint *NSTEPS, ipfint *ICNTL, double *CNTL)
Definition: HSLLoader.h:95
char char * val
void mc68_default_control(struct mc68_control *control)
int LSL_isMA97available()
Indicates whether a HSL library is loaded and all symbols necessary to use HSL_MA97 have been found...
int LSL_isMA86available()
Indicates whether a HSL library is loaded and all symbols necessary to use HSL_MA86 have been found...
void(* ma97_finalise_t)(void **akeep, void **fkeep)
Definition: HSLLoader.h:244
#define ma77_open_nelt
Definition: hsl_ma77d.h:16
void(* ma77_solve_t)(const int job, const int nrhs, const int lx, double x[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info, const double *scale)
Definition: HSLLoader.h:187
int LSL_unloadHSL()
Unloads a loaded HSL library.
#define ma97_default_control
Definition: HSLLoader.h:64
void(* ma57ad_t)(ipfint *n, ipfint *ne, const ipfint *irn, const ipfint *jcn, ipfint *lkeep, ipfint *keep, ipfint *iwork, ipfint *icntl, ipfint *info, double *rinfo)
Definition: HSLLoader.h:104
#define FORTRAN_INTEGER_TYPE
Definition: config_ipopt.h:5
void(* ma77_scale_t)(double scale[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info, double *anorm)
Definition: HSLLoader.h:194
#define ma77_info
Definition: HSLLoader.h:21
int LSL_isMA27available()
Indicates whether a HSL library is loaded and all symbols necessary to use MA27 have been found...
#define ma86_default_control
Definition: HSLLoader.h:48
void(* ma77_enquire_indef_t)(int piv_order[], double d[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info)
Definition: HSLLoader.h:199
#define ma77_alter
Definition: HSLLoader.h:35
void(* ma57id_t)(double *cntl, ipfint *icntl)
Definition: HSLLoader.h:163
double ma86realtype_d_
Definition: hsl_ma86d.h:24
void(* ma77_restart_t)(const char *restart_file, const char *fname1, const char *fname2, const char *fname3, const char *fname4, void **keep, const struct ma77_control_d *control, struct ma77_info_d *info)
Definition: HSLLoader.h:203
#define ma77_enquire_posdef
Definition: HSLLoader.h:33
void(* ma77_finalise_t)(void **keep, const struct ma77_control_d *control, struct ma77_info_d *info)
Definition: HSLLoader.h:206
#define ma86_control
Definition: HSLLoader.h:46
void(* ma27id_t)(ipfint *ICNTL, double *CNTL)
Definition: HSLLoader.h:99
#define ma77_factor_solve
Definition: HSLLoader.h:29
void(* ma27ad_t)(ipfint *N, ipfint *NZ, const ipfint *IRN, const ipfint *ICN, ipfint *IW, ipfint *LIW, ipfint *IKEEP, ipfint *IW1, ipfint *NSTEPS, ipfint *IFLAG, ipfint *ICNTL, double *CNTL, ipfint *INFO, double *OPS)
Definition: HSLLoader.h:86
void(* ma57cd_t)(ipfint *job, ipfint *n, double *fact, ipfint *lfact, ipfint *ifact, ipfint *lifact, ipfint *nrhs, double *rhs, ipfint *lrhs, double *work, ipfint *lwork, ipfint *iwork, ipfint *icntl, ipfint *info)
Definition: HSLLoader.h:133
int LSL_isMA28available()
Indicates whether a HSL library is loaded and all symbols necessary to use MA28 have been found...
int LSL_isHSLLoaded()
Indicates whether a HSL library has been loaded.
void LSL_setMA97(ma97_default_control_t ma97_default_control, ma97_analyse_t ma97_analyse, ma97_factor_t ma97_factor, ma97_factor_solve_t ma97_factor_solve, ma97_solve_t ma97_solve, ma97_finalise_t ma97_finalise, ma97_free_akeep_t ma97_free_akeep)
sets pointers to MA97 functions
#define ma86_info
Definition: HSLLoader.h:47
int LSL_loadHSL(const char *libname, char *msgbuf, int msglen)
Tries to load a dynamically linked library with HSL routines.
#define ma97_control
Definition: HSLLoader.h:62
char * LSL_HSLLibraryName()
Returns name of the shared library that should contain HSL.
#define ma77_solve
Definition: HSLLoader.h:30
void LSL_setMA77(ma77_default_control_t ma77_default_control, ma77_open_nelt_t ma77_open_nelt, ma77_open_t ma77_open, ma77_input_vars_t ma77_input_vars, ma77_input_reals_t ma77_input_reals, ma77_analyse_t ma77_analyse, ma77_factor_t ma77_factor, ma77_factor_solve_t ma77_factor_solve, ma77_solve_t ma77_solve, ma77_resid_t ma77_resid, ma77_scale_t ma77_scale, ma77_enquire_posdef_t ma77_enquire_posdef, ma77_enquire_indef_t ma77_enquire_indef, ma77_alter_t ma77_alter, ma77_restart_t ma77_restart, ma77_finalise_t ma77_finalise)
sets pointers to MA77 functions
void(* ma86_factor_solve_t)(const int n, const int ptr[], const int row[], const ma86pkgtype_d_ val[], const int order[], void **keep, const struct ma86_control *control, struct ma86_info *info, const int nrhs, const int ldx, ma86pkgtype_d_ x[], const ma86pkgtype_d_ scale[])
Definition: HSLLoader.h:217
void(* ma77_alter_t)(const double d[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info)
Definition: HSLLoader.h:201
void(* ma77_open_nelt_t)(const int n, const char *fname1, const char *fname2, const char *fname3, const char *fname4, void **keep, const struct ma77_control_d *control, struct ma77_info_d *info, const int nelt)
Definition: HSLLoader.h:166
double ma97realtype_d_
Definition: hsl_ma97d.h:33
void LSL_setMA28(ma28ad_t ma28ad)
sets pointers to MA28 functions
double ma86pkgtype_d_
Definition: hsl_ma86d.h:23
void LSL_setMA27(ma27ad_t ma27ad, ma27bd_t ma27bd, ma27cd_t ma27cd, ma27id_t ma27id)
sets pointers to MA27 functions
void(* ma97_default_control_t)(struct ma97_control *control)
Definition: HSLLoader.h:228
void(* ma77_input_reals_t)(const int idx, const int length, const double reals[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info)
Definition: HSLLoader.h:175
void mc68_order(int ord, int n, const int ptr[], const int row[], int perm[], const struct mc68_control *control, struct mc68_info *info)
#define ma97_analyse
Definition: HSLLoader.h:65
void(* ma97_free_akeep_t)(void **akeep)
Definition: HSLLoader.h:245
#define ma77_open
Definition: HSLLoader.h:24
#define ma77_enquire_indef
Definition: HSLLoader.h:34
void LSL_setMC68(mc68_default_control_t mc68_default_control, mc68_order_t mc68_order)
sets pointers to MC68 functions
double ma97pkgtype_d_
Definition: hsl_ma97d.h:32
#define ma97_free_akeep
Definition: HSLLoader.h:70
#define ma97_factor
Definition: HSLLoader.h:66
void(* ma77_factor_t)(const int posdef, void **keep, const struct ma77_control_d *control, struct ma77_info_d *info, const double *scale)
Definition: HSLLoader.h:180
#define ma97_factor_solve
Definition: HSLLoader.h:67
void(* ma57bd_t)(ipfint *n, ipfint *ne, double *a, double *fact, ipfint *lfact, ipfint *ifact, ipfint *lifact, ipfint *lkeep, ipfint *keep, ipfint *iwork, ipfint *icntl, double *cntl, ipfint *info, double *rinfo)
Definition: HSLLoader.h:117
#define ma77_restart
Definition: HSLLoader.h:36
int LSL_isMC19available()
Indicates whether a HSL library is loaded and all symbols necessary to use MA57 have been found...
#define ma86_analyse
Definition: HSLLoader.h:49
void(* ma97_factor_solve_t)(const int matrix_type, const int ptr[], const int row[], const ma97pkgtype_d_ val[], const int nrhs, ma97pkgtype_d_ x[], const int ldx, void **akeep, void **fkeep, const struct ma97_control *control, struct ma97_info *info, const ma97pkgtype_d_ scale[])
Definition: HSLLoader.h:236
#define ma77_analyse
Definition: hsl_ma77d.h:20
void(* ma57ed_t)(ipfint *n, ipfint *ic, ipfint *keep, double *fact, ipfint *lfact, double *newfac, ipfint *lnew, ipfint *ifact, ipfint *lifact, ipfint *newifc, ipfint *linew, ipfint *info)
Definition: HSLLoader.h:149
#define ma77_factor
Definition: HSLLoader.h:28
void(* ma97_analyse_t)(const int check, const int n, const int ptr[], const int row[], ma97pkgtype_d_ val[], void **akeep, const struct ma97_control *control, struct ma97_info *info, int order[])
Definition: HSLLoader.h:229
void(* mc19ad_t)(ipfint *N, ipfint *NZ, double *A, ipfint *IRN, ipfint *ICN, float *R, float *C, float *W)
Definition: HSLLoader.h:247
void(* ma97_solve_t)(const int job, const int nrhs, ma97pkgtype_d_ *x, const int ldx, void **akeep, void **fkeep, const struct ma97_control *control, struct ma97_info *info)
Definition: HSLLoader.h:241
void(* ma77_open_t)(const int n, const char *fname1, const char *fname2, const char *fname3, const char *fname4, void **keep, const struct ma77_control_d *control, struct ma77_info_d *info)
Definition: HSLLoader.h:170
int LSL_isMA57available()
Indicates whether a HSL library is loaded and all symbols necessary to use MA57 have been found...
#define ma97_finalise
Definition: HSLLoader.h:69
void LSL_setMA86(ma86_default_control_t ma86_default_control, ma86_analyse_t ma86_analyse, ma86_factor_t ma86_factor, ma86_factor_solve_t ma86_factor_solve, ma86_solve_t ma86_solve, ma86_finalise_t ma86_finalise)
sets pointers to MA86 functions
void(* ma77_analyse_t)(const int order[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info)
Definition: HSLLoader.h:178
void(* ma28ad_t)(void *nsize, void *nz, void *rw, void *licn, void *iw, void *lirn, void *iw2, void *pivtol, void *iw3, void *iw4, void *rw2, void *iflag)
Definition: HSLLoader.h:101
void(* ma77_resid_t)(const int nrhs, const int lx, const double x[], const int lresid, double resid[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info, double *anorm_bnd)
Definition: HSLLoader.h:190
void(* ma86_solve_t)(const int job, const int nrhs, const int ldx, ma86pkgtype_d_ *x, const int order[], void **keep, const struct ma86_control *control, struct ma86_info *info, const ma86pkgtype_d_ scale[])
Definition: HSLLoader.h:221
#define ma86_factor_solve
Definition: HSLLoader.h:51