isl_blk.h revision 1.1.1.1
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) 16extern "C" { 17#endif 18 19struct isl_blk { 20 size_t size; 21 isl_int *data; 22}; 23 24#define ISL_BLK_CACHE_SIZE 20 25 26struct isl_ctx; 27 28struct isl_blk isl_blk_alloc(struct isl_ctx *ctx, size_t n); 29struct isl_blk isl_blk_empty(void); 30int isl_blk_is_error(struct isl_blk block); 31struct isl_blk isl_blk_extend(struct isl_ctx *ctx, struct isl_blk block, 32 size_t new_n); 33void isl_blk_free(struct isl_ctx *ctx, struct isl_blk block); 34void isl_blk_clear_cache(struct isl_ctx *ctx); 35 36#if defined(__cplusplus) 37} 38#endif 39 40#endif 41