/* lp_wfs.h
 * Neil Moore <neil@cs.uky.edu>
 * 11 May 1999
 *
 * Part of liblp.  See COPYRIGHT for copyright information.
 */
#ifndef _LP_WFS_H_INCLUDED
#define _LP_WFS_H_INCLUDED

#include <lp.h>

/* Method for computing WFS */
#define LP_WFS_FKS 0
#define LP_WFS_AFP 1

/* Compute wfs as quickly as possible */
int *lp_wfs(struct lp *p);
/* Compute wfs using the alternating fixpoint characterisation */
int *lp_wfs_afp(struct lp *p);
/* Compute wfs using a specified method */
int *lp_wfs_m(struct lp *p, int method);

/* Compute wfs relative to a particular model */
void lp_wfs_rel(struct lp *p, int *model);

/* Compute $p^M$, the reduct of p with respect to M */
struct lp *lp_reduct(struct lp *p, int *M);

/* Compute LM(p^M) */
int *lp_Gamma(struct lp *p, int *M);

#endif /* _LP_WFS_H_INCLUDED */
