1 /* 2 * Copyright 2008-2009 Katholieke Universiteit Leuven 3 * 4 * Use of this software is governed by the MIT license 5 * 6 * Written by Sven Verdoolaege, K.U.Leuven, Departement 7 * Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium 8 */ 9 10 #ifndef ISL_BLK_H 11 #define ISL_BLK_H 12 13 #include <isl/int.h> 14 15 #if defined(__cplusplus) 16 extern "C" { 17 #endif 18 19 struct isl_blk { 20 size_t size; 21 isl_int *data; 22 }; 23 24 #define ISL_BLK_CACHE_SIZE 20 25 26 struct isl_ctx; 27 28 struct isl_blk isl_blk_alloc(struct isl_ctx *ctx, size_t n); 29 struct isl_blk isl_blk_empty(void); 30 int isl_blk_is_error(struct isl_blk block); 31 struct isl_blk isl_blk_extend(struct isl_ctx *ctx, struct isl_blk block, 32 size_t new_n); 33 void isl_blk_free(struct isl_ctx *ctx, struct isl_blk block); 34 void isl_blk_clear_cache(struct isl_ctx *ctx); 35 36 #if defined(__cplusplus) 37 } 38 #endif 39 40 #endif 41