COIN-OR::LEMON - Graph Library

source: glpk-cmake/src/glpbfd.h @ 1:c445c931472f

Last change on this file since 1:c445c931472f was 1:c445c931472f, checked in by Alpar Juttner <alpar@…>, 10 years ago

Import glpk-4.45

  • Generated files and doc/notes are removed
File size: 2.6 KB
Line 
1/* glpbfd.h (LP basis factorization driver) */
2
3/***********************************************************************
4*  This code is part of GLPK (GNU Linear Programming Kit).
5*
6*  Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
7*  2009, 2010 Andrew Makhorin, Department for Applied Informatics,
8*  Moscow Aviation Institute, Moscow, Russia. All rights reserved.
9*  E-mail: <mao@gnu.org>.
10*
11*  GLPK is free software: you can redistribute it and/or modify it
12*  under the terms of the GNU General Public License as published by
13*  the Free Software Foundation, either version 3 of the License, or
14*  (at your option) any later version.
15*
16*  GLPK is distributed in the hope that it will be useful, but WITHOUT
17*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
18*  or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
19*  License for more details.
20*
21*  You should have received a copy of the GNU General Public License
22*  along with GLPK. If not, see <http://www.gnu.org/licenses/>.
23***********************************************************************/
24
25#ifndef GLPBFD_H
26#define GLPBFD_H
27
28#ifndef GLPBFD_PRIVATE
29typedef struct { double _opaque_bfd[100]; } BFD;
30#endif
31
32/* return codes: */
33#define BFD_ESING    1  /* singular matrix */
34#define BFD_ECOND    2  /* ill-conditioned matrix */
35#define BFD_ECHECK   3  /* insufficient accuracy */
36#define BFD_ELIMIT   4  /* update limit reached */
37#define BFD_EROOM    5  /* SVA overflow */
38
39#define bfd_create_it _glp_bfd_create_it
40BFD *bfd_create_it(void);
41/* create LP basis factorization */
42
43#define bfd_set_parm _glp_bfd_set_parm
44void bfd_set_parm(BFD *bfd, const void *parm);
45/* change LP basis factorization control parameters */
46
47#define bfd_factorize _glp_bfd_factorize
48int bfd_factorize(BFD *bfd, int m, const int bh[], int (*col)
49      (void *info, int j, int ind[], double val[]), void *info);
50/* compute LP basis factorization */
51
52#define bfd_ftran _glp_bfd_ftran
53void bfd_ftran(BFD *bfd, double x[]);
54/* perform forward transformation (solve system B*x = b) */
55
56#define bfd_btran _glp_bfd_btran
57void bfd_btran(BFD *bfd, double x[]);
58/* perform backward transformation (solve system B'*x = b) */
59
60#define bfd_update_it _glp_bfd_update_it
61int bfd_update_it(BFD *bfd, int j, int bh, int len, const int ind[],
62      const double val[]);
63/* update LP basis factorization */
64
65#define bfd_get_count _glp_bfd_get_count
66int bfd_get_count(BFD *bfd);
67/* determine factorization update count */
68
69#define bfd_delete_it _glp_bfd_delete_it
70void bfd_delete_it(BFD *bfd);
71/* delete LP basis factorization */
72
73#endif
74
75/* eof */
Note: See TracBrowser for help on using the repository browser.