diff -r d59bea55db9b -r c445c931472f src/glpbfx.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/glpbfx.h Mon Dec 06 13:09:21 2010 +0100 @@ -0,0 +1,71 @@ +/* glpbfx.h (basis factorization interface, bignum arithmetic) */ + +/*********************************************************************** +* This code is part of GLPK (GNU Linear Programming Kit). +* +* Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, +* 2009, 2010 Andrew Makhorin, Department for Applied Informatics, +* Moscow Aviation Institute, Moscow, Russia. All rights reserved. +* E-mail: . +* +* GLPK is free software: you can redistribute it and/or modify it +* under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* GLPK is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +* License for more details. +* +* You should have received a copy of the GNU General Public License +* along with GLPK. If not, see . +***********************************************************************/ + +#ifndef GLPBFX_H +#define GLPBFX_H + +#include "glpgmp.h" + +#ifndef GLPBFX_DEFINED +#define GLPBFX_DEFINED +typedef struct { double _opaque_bfx; } BFX; +#endif + +#define bfx_create_binv _glp_bfx_create_binv +#define bfx_is_valid _glp_bfx_is_valid +#define bfx_invalidate _glp_bfx_invalidate +#define bfx_factorize _glp_bfx_factorize +#define bfx_ftran _glp_bfx_ftran +#define bfx_btran _glp_bfx_btran +#define bfx_update _glp_bfx_update +#define bfx_delete_binv _glp_bfx_delete_binv + +BFX *bfx_create_binv(void); +/* create factorization of the basis matrix */ + +int bfx_is_valid(BFX *binv); +/* check if factorization is valid */ + +void bfx_invalidate(BFX *binv); +/* invalidate factorization of the basis matrix */ + +int bfx_factorize(BFX *binv, int m, int (*col)(void *info, int j, + int ind[], mpq_t val[]), void *info); +/* compute factorization of the basis matrix */ + +void bfx_ftran(BFX *binv, mpq_t x[], int save); +/* perform forward transformation (FTRAN) */ + +void bfx_btran(BFX *binv, mpq_t x[]); +/* perform backward transformation (BTRAN) */ + +int bfx_update(BFX *binv, int j); +/* update factorization of the basis matrix */ + +void bfx_delete_binv(BFX *binv); +/* delete factorization of the basis matrix */ + +#endif + +/* eof */