if HAVE_POLYLIB
ISL_POLYLIB = \
isl_map_polylib.c \
- isl_map_polylib.h \
isl_polylib.h
endif
if HAVE_PIPLIB
ISL_PIPLIB = \
- isl_lp_piplib.h \
isl_lp_piplib.c \
isl_map_piplib.c \
- isl_map_piplib.h \
- isl_piplib.h \
isl_piplib.c
+else
+ISL_PIPLIB = \
+ isl_lp_no_piplib.c \
+ isl_map_no_piplib.c
endif
if BUNDLED_PIPLIB
PIPLIB_LA = $(top_builddir)/piplib/libpiplibMP.la
isl_seq.c \
isl_seq.h
EXTRA_libisl_la_SOURCES = \
- isl_lp_piplib.h \
isl_lp_piplib.c \
+ isl_lp_no_piplib.c \
isl_map_piplib.c \
- isl_map_piplib.h \
+ isl_map_no_piplib.c \
isl_map_polylib.c \
- isl_map_polylib.h \
- isl_piplib.h \
- isl_piplib.c \
- isl_polylib.h
+ isl_piplib.c
libisl_la_LIBADD = $(PIPLIB_LA) @PIPLIB_LIBS@ @POLYLIB_LIBS@ -lgmp
libisl_la_LDFLAGS = -release @VERSION@ @PIPLIB_LDFLAGS@ @POLYLIB_LDFLAGS@ \
@GMP_LDFLAGS@
#define ISL_LP_PIPLIB_H
#include <isl_lp.h>
-#include <isl_piplib.h>
#if defined(__cplusplus)
extern "C" {
#define ISL_MAP_PIPLIB_H
#include <isl_map.h>
-#include <isl_piplib.h>
#if defined(__cplusplus)
extern "C" {
#endif
-PipMatrix *isl_basic_map_to_pip(struct isl_basic_map *bmap, unsigned pip_param,
- unsigned extra_front, unsigned extra_back);
-
-struct isl_map *isl_map_from_quast(struct isl_ctx *ctx, PipQuast *q,
- unsigned keep,
- struct isl_basic_set *context,
- struct isl_set **rest);
-struct isl_map *pip_isl_basic_map_lexmax(struct isl_ctx *ctx,
+struct isl_map *isl_pip_basic_map_lexmax(struct isl_ctx *ctx,
struct isl_basic_map *bmap, struct isl_basic_set *dom,
struct isl_set **empty);
-struct isl_map *pip_isl_basic_map_lexmin(struct isl_ctx *ctx,
+struct isl_map *isl_pip_basic_map_lexmin(struct isl_ctx *ctx,
struct isl_basic_map *bmap, struct isl_basic_set *dom,
struct isl_set **empty);
-struct isl_map *pip_isl_basic_map_compute_divs(struct isl_ctx *ctx,
+struct isl_map *isl_pip_basic_map_compute_divs(struct isl_ctx *ctx,
struct isl_basic_map *bmap);
#if defined(__cplusplus)
#include <isl_ctx.h>
#include <isl_int.h>
+#include <isl_map.h>
#ifndef ISL_PIPLIB
#error "no piplib"
#endif
void isl_seq_cpy_to_pip(Entier *dst, isl_int *src, unsigned len);
+PipMatrix *isl_basic_map_to_pip(struct isl_basic_map *bmap, unsigned pip_param,
+ unsigned extra_front, unsigned extra_back);
+
#endif
#include "isl_ctx.h"
#include "isl_lp.h"
-#ifdef ISL_PIPLIB
#include "isl_lp_piplib.h"
-#endif
enum isl_lp_result isl_solve_lp(struct isl_basic_map *bmap, int maximize,
isl_int *f, isl_int denom, isl_int *opt)
{
-#ifdef ISL_PIPLIB
return isl_pip_solve_lp(bmap, maximize, f, denom, opt);
-#else
- return isl_lp_error;
-#endif
}
--- /dev/null
+#include "isl_lp_piplib.h"
+
+enum isl_lp_result isl_pip_solve_lp(struct isl_basic_map *bmap, int maximize,
+ isl_int *f, isl_int denom, isl_int *opt)
+{
+ return isl_lp_error;
+}
#include "isl_set.h"
#include "isl_map.h"
#include "isl_map_private.h"
-#ifdef ISL_PIPLIB
#include "isl_map_piplib.h"
-#endif
static struct isl_basic_map *basic_map_init(struct isl_ctx *ctx,
struct isl_basic_map *bmap,
struct isl_basic_map *bmap, struct isl_basic_set *dom,
struct isl_set **empty)
{
-#ifdef ISL_PIPLIB
- return pip_isl_basic_map_lexmax(ctx, bmap, dom, empty);
-#else
- isl_basic_map_free(ctx, bmap);
- isl_basic_set_free(ctx, dom);
- return NULL;
-#endif
+ return isl_pip_basic_map_lexmax(ctx, bmap, dom, empty);
}
struct isl_map *isl_basic_map_lexmin(struct isl_ctx *ctx,
struct isl_basic_map *bmap, struct isl_basic_set *dom,
struct isl_set **empty)
{
-#ifdef ISL_PIPLIB
- return pip_isl_basic_map_lexmin(ctx, bmap, dom, empty);
-#else
- isl_basic_map_free(ctx, bmap);
- isl_basic_set_free(ctx, dom);
- return NULL;
-#endif
+ return isl_pip_basic_map_lexmin(ctx, bmap, dom, empty);
}
struct isl_set *isl_basic_set_lexmin(struct isl_ctx *ctx,
{
if (bmap->n_div == 0)
return isl_map_from_basic_map(ctx, bmap);
-#ifdef ISL_PIPLIB
- return pip_isl_basic_map_compute_divs(ctx, bmap);
-#else
- isl_basic_map_free(ctx, bmap);
- return NULL;
-#endif
+ return isl_pip_basic_map_compute_divs(ctx, bmap);
}
struct isl_map *isl_map_compute_divs(struct isl_ctx *ctx, struct isl_map *map)
--- /dev/null
+#include "isl_map_piplib.h"
+
+struct isl_map *isl_pip_basic_map_lexmax(struct isl_ctx *ctx,
+ struct isl_basic_map *bmap, struct isl_basic_set *dom,
+ struct isl_set **empty)
+{
+ isl_basic_map_free(ctx, bmap);
+ isl_basic_set_free(ctx, dom);
+ return NULL;
+}
+
+struct isl_map *isl_pip_basic_map_lexmin(struct isl_ctx *ctx,
+ struct isl_basic_map *bmap, struct isl_basic_set *dom,
+ struct isl_set **empty)
+{
+ isl_basic_map_free(ctx, bmap);
+ isl_basic_set_free(ctx, dom);
+ return NULL;
+}
+
+struct isl_map *isl_pip_basic_map_compute_divs(struct isl_ctx *ctx,
+ struct isl_basic_map *bmap)
+{
+ isl_basic_map_free(ctx, bmap);
+ return NULL;
+}
-#include <piplib/piplibMP.h>
#include "isl_set.h"
#include "isl_map.h"
-#include "isl_map_private.h"
+#include "isl_piplib.h"
+#include "isl_map_piplib.h"
static void copy_values_from(isl_int *dst, Entier *src, unsigned n)
{
* Returns a map with "context" as domain and as range the first
* "keep" variables in the quast lists.
*/
-struct isl_map *isl_map_from_quast(struct isl_ctx *ctx, PipQuast *q,
+static struct isl_map *isl_map_from_quast(struct isl_ctx *ctx, PipQuast *q,
unsigned keep,
struct isl_basic_set *context,
struct isl_set **rest)
return NULL;
}
-struct isl_map *pip_isl_basic_map_lexmax(struct isl_ctx *ctx,
+struct isl_map *isl_pip_basic_map_lexmax(struct isl_ctx *ctx,
struct isl_basic_map *bmap, struct isl_basic_set *dom,
struct isl_set **empty)
{
return extremum_on(ctx, bmap, dom, empty, 1);
}
-struct isl_map *pip_isl_basic_map_lexmin(struct isl_ctx *ctx,
+struct isl_map *isl_pip_basic_map_lexmin(struct isl_ctx *ctx,
struct isl_basic_map *bmap, struct isl_basic_set *dom,
struct isl_set **empty)
{
return extremum_on(ctx, bmap, dom, empty, 0);
}
-struct isl_map *pip_isl_basic_map_compute_divs(struct isl_ctx *ctx,
+struct isl_map *isl_pip_basic_map_compute_divs(struct isl_ctx *ctx,
struct isl_basic_map *bmap)
{
PipMatrix *domain = NULL, *context = NULL;