isl_blk.h 839 B

12345678910111213141516171819202122232425262728293031323334353637383940
  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. #ifndef ISL_BLK_H
  10. #define ISL_BLK_H
  11. #include <isl_int.h>
  12. #if defined(__cplusplus)
  13. extern "C" {
  14. #endif
  15. struct isl_blk {
  16. size_t size;
  17. isl_int *data;
  18. };
  19. #define ISL_BLK_CACHE_SIZE 20
  20. struct isl_ctx;
  21. struct isl_blk isl_blk_alloc(struct isl_ctx *ctx, size_t n);
  22. struct isl_blk isl_blk_empty(void);
  23. int isl_blk_is_error(struct isl_blk block);
  24. struct isl_blk isl_blk_extend(struct isl_ctx *ctx, struct isl_blk block,
  25. size_t new_n);
  26. void isl_blk_free(struct isl_ctx *ctx, struct isl_blk block);
  27. void isl_blk_clear_cache(struct isl_ctx *ctx);
  28. #if defined(__cplusplus)
  29. }
  30. #endif
  31. #endif