COIN-OR::LEMON - Graph Library

source: lemon-project-template-glpk/deps/glpk/src/glpbfx.h @ 9:33de93886c88

subpack-glpk
Last change on this file since 9:33de93886c88 was 9:33de93886c88, checked in by Alpar Juttner <alpar@…>, 12 years ago

Import GLPK 4.47

File size: 2.4 KB
Line 
1/* glpbfx.h (basis factorization interface, bignum arithmetic) */
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, 2011 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 GLPBFX_H
26#define GLPBFX_H
27
28#include "glpgmp.h"
29
30#ifndef GLPBFX_DEFINED
31#define GLPBFX_DEFINED
32typedef struct { double _opaque_bfx; } BFX;
33#endif
34
35#define bfx_create_binv       _glp_bfx_create_binv
36#define bfx_is_valid          _glp_bfx_is_valid
37#define bfx_invalidate        _glp_bfx_invalidate
38#define bfx_factorize         _glp_bfx_factorize
39#define bfx_ftran             _glp_bfx_ftran
40#define bfx_btran             _glp_bfx_btran
41#define bfx_update            _glp_bfx_update
42#define bfx_delete_binv       _glp_bfx_delete_binv
43
44BFX *bfx_create_binv(void);
45/* create factorization of the basis matrix */
46
47int bfx_is_valid(BFX *binv);
48/* check if factorization is valid */
49
50void bfx_invalidate(BFX *binv);
51/* invalidate factorization of the basis matrix */
52
53int bfx_factorize(BFX *binv, int m, int (*col)(void *info, int j,
54      int ind[], mpq_t val[]), void *info);
55/* compute factorization of the basis matrix */
56
57void bfx_ftran(BFX *binv, mpq_t x[], int save);
58/* perform forward transformation (FTRAN) */
59
60void bfx_btran(BFX *binv, mpq_t x[]);
61/* perform backward transformation (BTRAN) */
62
63int bfx_update(BFX *binv, int j);
64/* update factorization of the basis matrix */
65
66void bfx_delete_binv(BFX *binv);
67/* delete factorization of the basis matrix */
68
69#endif
70
71/* eof */
Note: See TracBrowser for help on using the repository browser.