lemon-project-template-glpk

annotate deps/glpk/src/glpbfx.h @ 9:33de93886c88

Import GLPK 4.47
author Alpar Juttner <alpar@cs.elte.hu>
date Sun, 06 Nov 2011 20:59:10 +0100
parents
children
rev   line source
alpar@9 1 /* glpbfx.h (basis factorization interface, bignum arithmetic) */
alpar@9 2
alpar@9 3 /***********************************************************************
alpar@9 4 * This code is part of GLPK (GNU Linear Programming Kit).
alpar@9 5 *
alpar@9 6 * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
alpar@9 7 * 2009, 2010, 2011 Andrew Makhorin, Department for Applied Informatics,
alpar@9 8 * Moscow Aviation Institute, Moscow, Russia. All rights reserved.
alpar@9 9 * E-mail: <mao@gnu.org>.
alpar@9 10 *
alpar@9 11 * GLPK is free software: you can redistribute it and/or modify it
alpar@9 12 * under the terms of the GNU General Public License as published by
alpar@9 13 * the Free Software Foundation, either version 3 of the License, or
alpar@9 14 * (at your option) any later version.
alpar@9 15 *
alpar@9 16 * GLPK is distributed in the hope that it will be useful, but WITHOUT
alpar@9 17 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
alpar@9 18 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
alpar@9 19 * License for more details.
alpar@9 20 *
alpar@9 21 * You should have received a copy of the GNU General Public License
alpar@9 22 * along with GLPK. If not, see <http://www.gnu.org/licenses/>.
alpar@9 23 ***********************************************************************/
alpar@9 24
alpar@9 25 #ifndef GLPBFX_H
alpar@9 26 #define GLPBFX_H
alpar@9 27
alpar@9 28 #include "glpgmp.h"
alpar@9 29
alpar@9 30 #ifndef GLPBFX_DEFINED
alpar@9 31 #define GLPBFX_DEFINED
alpar@9 32 typedef struct { double _opaque_bfx; } BFX;
alpar@9 33 #endif
alpar@9 34
alpar@9 35 #define bfx_create_binv _glp_bfx_create_binv
alpar@9 36 #define bfx_is_valid _glp_bfx_is_valid
alpar@9 37 #define bfx_invalidate _glp_bfx_invalidate
alpar@9 38 #define bfx_factorize _glp_bfx_factorize
alpar@9 39 #define bfx_ftran _glp_bfx_ftran
alpar@9 40 #define bfx_btran _glp_bfx_btran
alpar@9 41 #define bfx_update _glp_bfx_update
alpar@9 42 #define bfx_delete_binv _glp_bfx_delete_binv
alpar@9 43
alpar@9 44 BFX *bfx_create_binv(void);
alpar@9 45 /* create factorization of the basis matrix */
alpar@9 46
alpar@9 47 int bfx_is_valid(BFX *binv);
alpar@9 48 /* check if factorization is valid */
alpar@9 49
alpar@9 50 void bfx_invalidate(BFX *binv);
alpar@9 51 /* invalidate factorization of the basis matrix */
alpar@9 52
alpar@9 53 int bfx_factorize(BFX *binv, int m, int (*col)(void *info, int j,
alpar@9 54 int ind[], mpq_t val[]), void *info);
alpar@9 55 /* compute factorization of the basis matrix */
alpar@9 56
alpar@9 57 void bfx_ftran(BFX *binv, mpq_t x[], int save);
alpar@9 58 /* perform forward transformation (FTRAN) */
alpar@9 59
alpar@9 60 void bfx_btran(BFX *binv, mpq_t x[]);
alpar@9 61 /* perform backward transformation (BTRAN) */
alpar@9 62
alpar@9 63 int bfx_update(BFX *binv, int j);
alpar@9 64 /* update factorization of the basis matrix */
alpar@9 65
alpar@9 66 void bfx_delete_binv(BFX *binv);
alpar@9 67 /* delete factorization of the basis matrix */
alpar@9 68
alpar@9 69 #endif
alpar@9 70
alpar@9 71 /* eof */