4 #include <polylib/polylibgmp.h>
7 struct isl_ctx
*isl_ctx_alloc()
9 struct isl_ctx
*ctx
= NULL
;
11 ctx
= isl_alloc_type(NULL
, struct isl_ctx
);
15 if (isl_hash_table_init(ctx
, &ctx
->name_hash
, 0))
20 isl_int_init(ctx
->one
);
21 isl_int_set_si(ctx
->one
, 1);
23 isl_int_init(ctx
->negone
);
24 isl_int_set_si(ctx
->negone
, -1);
29 ctx
->MaxRays
= POL_NO_DUAL
| POL_INTEGER
;
32 ctx
->lp_solver
= ISL_LP_TAB
;
40 void isl_ctx_ref(struct isl_ctx
*ctx
)
45 void isl_ctx_deref(struct isl_ctx
*ctx
)
47 isl_assert(ctx
, ctx
->ref
> 0, return);
51 void isl_ctx_free(struct isl_ctx
*ctx
)
55 isl_assert(ctx
, ctx
->ref
== 0, return);
56 isl_hash_table_clear(&ctx
->name_hash
);
57 isl_blk_clear_cache(ctx
);
58 isl_int_clear(ctx
->one
);
59 isl_int_clear(ctx
->negone
);