#include <stdlib.h>
#include "isl_basis_reduction.h"
+#include "isl_map_private.h"
static void save_alpha(GBR_LP *lp, int first, int n, GBR_type *alpha)
{
extern "C" {
#endif
-/* A "basic set" is a basic map with a zero-dimensional
- * domain.
- */
-struct isl_basic_set {
- int ref;
-#define ISL_BASIC_SET_FINAL (1 << 0)
-#define ISL_BASIC_SET_EMPTY (1 << 1)
-#define ISL_BASIC_SET_NO_IMPLICIT (1 << 2)
-#define ISL_BASIC_SET_NO_REDUNDANT (1 << 3)
-#define ISL_BASIC_SET_RATIONAL (1 << 4)
-#define ISL_BASIC_SET_NORMALIZED (1 << 5)
-#define ISL_BASIC_SET_NORMALIZED_DIVS (1 << 6)
-#define ISL_BASIC_SET_ALL_EQUALITIES (1 << 7)
- unsigned flags;
-
- struct isl_ctx *ctx;
-
- struct isl_dim *dim;
- unsigned extra;
-
- unsigned n_eq;
- unsigned n_ineq;
-
- size_t c_size;
- isl_int **eq;
- isl_int **ineq;
-
- unsigned n_div;
-
- isl_int **div;
-
- struct isl_vec *sample;
-
- struct isl_blk block;
- struct isl_blk block2;
-};
-
/* A "set" is a (possibly disjoint) union of basic sets.
*
* See the documentation of isl_map.
#include <isl_vertices_private.h>
#include <isl_polynomial_private.h>
#include <isl_bernstein.h>
+#include <isl_map_private.h>
struct bernstein_data {
enum isl_fold type;
#include <isl_bernstein.h>
#include <isl_range.h>
#include <isl_polynomial_private.h>
+#include <isl_map_private.h>
/* Compute a bound on the polynomial defined over the parametric polytope
* using either range propagation or bernstein expansion and
#include <isl_factorization.h>
#include <isl_dim_private.h>
#include <isl_mat_private.h>
+#include <isl_map_private.h>
static __isl_give isl_factorizer *isl_factorizer_alloc(
__isl_take isl_morph *morph, int n_group)
#include <isl_reordering.h>
#include <isl/vec.h>
+/* A "basic set" is a basic map with a zero-dimensional
+ * domain.
+ */
+struct isl_basic_set {
+ int ref;
+#define ISL_BASIC_SET_FINAL (1 << 0)
+#define ISL_BASIC_SET_EMPTY (1 << 1)
+#define ISL_BASIC_SET_NO_IMPLICIT (1 << 2)
+#define ISL_BASIC_SET_NO_REDUNDANT (1 << 3)
+#define ISL_BASIC_SET_RATIONAL (1 << 4)
+#define ISL_BASIC_SET_NORMALIZED (1 << 5)
+#define ISL_BASIC_SET_NORMALIZED_DIVS (1 << 6)
+#define ISL_BASIC_SET_ALL_EQUALITIES (1 << 7)
+ unsigned flags;
+
+ struct isl_ctx *ctx;
+
+ struct isl_dim *dim;
+ unsigned extra;
+
+ unsigned n_eq;
+ unsigned n_ineq;
+
+ size_t c_size;
+ isl_int **eq;
+ isl_int **ineq;
+
+ unsigned n_div;
+
+ isl_int **div;
+
+ struct isl_vec *sample;
+
+ struct isl_blk block;
+ struct isl_blk block2;
+};
+
__isl_give isl_map *isl_map_realign(__isl_take isl_map *map,
__isl_take isl_reordering *r);
__isl_give isl_set *isl_set_realign(__isl_take isl_set *set,
#include <isl/constraint.h>
#include <isl/set.h>
+#include <isl_map_private.h>
#include <isl_polynomial_private.h>
#include <isl_morph.h>
#include <isl_range.h>
#include <isl/constraint.h>
#include <isl/polynomial.h>
#include <isl/union_map.h>
+#include <isl_map_private.h>
static char *srcdir;
#include <isl/seq.h>
#include "isl_scan.h"
#include <isl_mat_private.h>
+#include <isl_map_private.h>
/* The input of this program is the same as that of the "polytope_scan"
* program from the barvinok distribution.
static struct isl_mat *isl_basic_set_scan_samples(struct isl_basic_set *bset)
{
+ isl_ctx *ctx;
unsigned dim;
struct scan_samples ss;
+ ctx = isl_basic_set_get_ctx(bset);
dim = isl_basic_set_total_dim(bset);
ss.callback.add = scan_samples_add_sample;
- ss.samples = isl_mat_alloc(bset->ctx, 0, 1 + dim);
+ ss.samples = isl_mat_alloc(ctx, 0, 1 + dim);
if (!ss.samples)
goto error;