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