Ipopt Documentation  
 
Loading...
Searching...
No Matches
hsl_mc68i.h
Go to the documentation of this file.
1/*
2 * COPYRIGHT (c) 2011 Science and Technology Facilities Council (STFC)
3 * Original date 2 March 2011
4 * All rights reserved
5 *
6 * Written by: Jonathan Hogg
7 *
8 * THIS FILE ONLY may be redistributed under the below modified BSD licence.
9 * All other files distributed as part of the HSL_MC68 package
10 * require a licence to be obtained from STFC and may NOT be redistributed
11 * without permission. Please refer to your licence for HSL_MC68 for full terms
12 * and conditions. STFC may be contacted via hsl(at)stfc.ac.uk.
13 *
14 * Modified BSD licence (this header file only):
15 *
16 * Redistribution and use in source and binary forms, with or without
17 * modification, are permitted provided that the following conditions are met:
18 * * Redistributions of source code must retain the above copyright
19 * notice, this list of conditions and the following disclaimer.
20 * * Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 * * Neither the name of STFC nor the names of its contributors may be used
24 * to endorse or promote products derived from this software without
25 * specific prior written permission.
26 *
27 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
28 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30 * ARE DISCLAIMED. IN NO EVENT SHALL STFC BE LIABLE FOR ANY DIRECT, INDIRECT,
31 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
33 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
36 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 *
38 */
39
40#ifndef HSL_MC68I
41#define HSL_MC68I
42
43#ifndef mc68_default_control
44#define mc68_control mc68_control_i
45#define mc68_info mc68_info_i
46#define mc68_default_control mc68_default_control_i
47#define mc68_order mc68_order_i
48#endif
49
51 /* Extra options for C version */
52 int f_array_in; /* 0 for C array indexing, 1 for Fortran indexing */
53 int f_array_out; /* 0 for C array indexing, 1 for Fortran indexing
54 * NOTE: 2x2 pivot information discarded if C indexing
55 * is used for output! */
56 int min_l_workspace; /* Initial size of workspace, as argument in Fortran */
57 /* Options from Fortran version */
58 int lp; /* stream number for error messages */
59 int wp; /* stream number for warning messages */
60 int mp; /* stream number for diagnostic messages */
61 int nemin; /* stream number for diagnostic messages */
62 int print_level; /* amount of informational output required */
63 int row_full_thresh; /* percentage threshold for full row */
64 int row_search; /* Number of rows searched for pivot with ord=6 */
65};
66
68 int flag; /* error/warning flag */
69 int iostat; /* holds Fortran iostat parameter */
70 int stat; /* holds Fortran stat parameter */
71 int out_range; /* holds number of out of range entries ignored */
72 int duplicate; /* holds number of duplicate entries */
73 int n_compressions; /* holds number of compressions in order */
74 int n_zero_eigs; /* holds the number of zero eigs from ma47 */
75 long l_workspace; /* holds length of workspace iw used in order */
76 int zb01_info; /* holds flag from zb01_expand1 call */
77 int n_dense_rows; /* holds number of dense rows from amdd */
78};
79
80/* Set default values for control struct */
82/* Perform ordering */
83void mc68_order_i(int ord, int n, const int ptr[], const int row[],
84 int perm[], const struct mc68_control_i *control, struct mc68_info_i *info);
85
86#endif
void mc68_default_control_i(struct mc68_control *control)
void mc68_order_i(int ord, int n, const int ptr[], const int row[], int perm[], const struct mc68_control_i *control, struct mc68_info_i *info)
#define mc68_control
Definition hsl_mc68i.h:44
int min_l_workspace
Definition hsl_mc68i.h:56
int row_full_thresh
Definition hsl_mc68i.h:63
int duplicate
Definition hsl_mc68i.h:72
int zb01_info
Definition hsl_mc68i.h:76
int n_zero_eigs
Definition hsl_mc68i.h:74
int out_range
Definition hsl_mc68i.h:71
int n_dense_rows
Definition hsl_mc68i.h:77
int n_compressions
Definition hsl_mc68i.h:73
long l_workspace
Definition hsl_mc68i.h:75