local_space.h 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #ifndef ISL_LOCAL_SPACE_H
  2. #define ISL_LOCAL_SPACE_H
  3. #include <isl/aff_type.h>
  4. #include <isl/space_type.h>
  5. #include <isl/printer.h>
  6. #include <isl/map_type.h>
  7. #if defined(__cplusplus)
  8. extern "C" {
  9. #endif
  10. struct isl_local_space;
  11. typedef struct isl_local_space isl_local_space;
  12. isl_ctx *isl_local_space_get_ctx(__isl_keep isl_local_space *ls);
  13. __isl_give isl_local_space *isl_local_space_from_space(
  14. __isl_take isl_space *space);
  15. __isl_give isl_local_space *isl_local_space_copy(
  16. __isl_keep isl_local_space *ls);
  17. __isl_null isl_local_space *isl_local_space_free(
  18. __isl_take isl_local_space *ls);
  19. isl_bool isl_local_space_is_params(__isl_keep isl_local_space *ls);
  20. isl_bool isl_local_space_is_set(__isl_keep isl_local_space *ls);
  21. __isl_give isl_local_space *isl_local_space_set_tuple_id(
  22. __isl_take isl_local_space *ls,
  23. enum isl_dim_type type, __isl_take isl_id *id);
  24. isl_size isl_local_space_dim(__isl_keep isl_local_space *ls,
  25. enum isl_dim_type type);
  26. isl_bool isl_local_space_has_dim_name(__isl_keep isl_local_space *ls,
  27. enum isl_dim_type type, unsigned pos);
  28. const char *isl_local_space_get_dim_name(__isl_keep isl_local_space *ls,
  29. enum isl_dim_type type, unsigned pos);
  30. __isl_give isl_local_space *isl_local_space_set_dim_name(
  31. __isl_take isl_local_space *ls,
  32. enum isl_dim_type type, unsigned pos, const char *s);
  33. isl_bool isl_local_space_has_dim_id(__isl_keep isl_local_space *ls,
  34. enum isl_dim_type type, unsigned pos);
  35. __isl_give isl_id *isl_local_space_get_dim_id(__isl_keep isl_local_space *ls,
  36. enum isl_dim_type type, unsigned pos);
  37. __isl_give isl_local_space *isl_local_space_set_dim_id(
  38. __isl_take isl_local_space *ls,
  39. enum isl_dim_type type, unsigned pos, __isl_take isl_id *id);
  40. __isl_give isl_space *isl_local_space_get_space(__isl_keep isl_local_space *ls);
  41. __isl_give isl_aff *isl_local_space_get_div(__isl_keep isl_local_space *ls,
  42. int pos);
  43. int isl_local_space_find_dim_by_name(__isl_keep isl_local_space *ls,
  44. enum isl_dim_type type, const char *name);
  45. __isl_give isl_local_space *isl_local_space_domain(
  46. __isl_take isl_local_space *ls);
  47. __isl_give isl_local_space *isl_local_space_range(
  48. __isl_take isl_local_space *ls);
  49. __isl_give isl_local_space *isl_local_space_from_domain(
  50. __isl_take isl_local_space *ls);
  51. __isl_give isl_local_space *isl_local_space_add_dims(
  52. __isl_take isl_local_space *ls, enum isl_dim_type type, unsigned n);
  53. __isl_give isl_local_space *isl_local_space_drop_dims(
  54. __isl_take isl_local_space *ls,
  55. enum isl_dim_type type, unsigned first, unsigned n);
  56. __isl_give isl_local_space *isl_local_space_insert_dims(
  57. __isl_take isl_local_space *ls,
  58. enum isl_dim_type type, unsigned first, unsigned n);
  59. __isl_give isl_local_space *isl_local_space_set_from_params(
  60. __isl_take isl_local_space *ls);
  61. __isl_give isl_local_space *isl_local_space_intersect(
  62. __isl_take isl_local_space *ls1, __isl_take isl_local_space *ls2);
  63. __isl_give isl_local_space *isl_local_space_wrap(
  64. __isl_take isl_local_space *ls);
  65. isl_bool isl_local_space_is_equal(__isl_keep isl_local_space *ls1,
  66. __isl_keep isl_local_space *ls2);
  67. __isl_give isl_basic_map *isl_local_space_lifting(
  68. __isl_take isl_local_space *ls);
  69. __isl_give isl_local_space *isl_local_space_flatten_domain(
  70. __isl_take isl_local_space *ls);
  71. __isl_give isl_local_space *isl_local_space_flatten_range(
  72. __isl_take isl_local_space *ls);
  73. __isl_give isl_printer *isl_printer_print_local_space(__isl_take isl_printer *p,
  74. __isl_keep isl_local_space *ls);
  75. void isl_local_space_dump(__isl_keep isl_local_space *ls);
  76. #if defined(__cplusplus)
  77. }
  78. #endif
  79. #endif