keep cache of blocks of isl_ints
[platform/upstream/isl.git] / include / isl_blk.h
index dd9e2ca..a0a01e0 100644 (file)
@@ -2,7 +2,6 @@
 #define ISL_BLK_H
 
 #include <isl_int.h>
-#include <isl_ctx.h>
 
 #if defined(__cplusplus)
 extern "C" {
@@ -13,11 +12,17 @@ struct isl_blk {
        isl_int *data;
 };
 
+#define ISL_BLK_CACHE_SIZE     20
+
+struct isl_ctx;
+
 struct isl_blk isl_blk_alloc(struct isl_ctx *ctx, size_t n);
 struct isl_blk isl_blk_empty();
+int isl_blk_is_error(struct isl_blk block);
 struct isl_blk isl_blk_extend(struct isl_ctx *ctx, struct isl_blk block,
                                size_t new_n);
 void isl_blk_free(struct isl_ctx *ctx, struct isl_blk block);
+void isl_blk_clear_cache(struct isl_ctx *ctx);
 
 #if defined(__cplusplus)
 }