Skip to content

Commit

Permalink
introduce isl_bool and isl_stat return types
Browse files Browse the repository at this point in the history
The use of these types emphasizes that functions returning them
may report an error condition.  It should also clarify
the distinction between functions returning a boolean value
(or error) and functions that only return a value indicating
the success of the operation.

Signed-off-by: Sven Verdoolaege <[email protected]>
  • Loading branch information
Sven Verdoolaege committed May 22, 2015
1 parent 8e7bd7b commit 370a8b7
Show file tree
Hide file tree
Showing 78 changed files with 2,182 additions and 2,021 deletions.
4 changes: 2 additions & 2 deletions bound.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ struct verify_point_bound {
isl_pw_qpolynomial_fold *bound;
};

static int verify_point(__isl_take isl_point *pnt, void *user)
static isl_stat verify_point(__isl_take isl_point *pnt, void *user)
{
int i;
unsigned nvar;
Expand Down Expand Up @@ -175,7 +175,7 @@ static int verify_point(__isl_take isl_point *pnt, void *user)
if (vpb->options->continue_on_error)
ok = 1;

return (vpb->n >= 1 && ok) ? 0 : -1;
return (vpb->n >= 1 && ok) ? isl_stat_ok : isl_stat_error;
}

static int check_solution(__isl_take isl_pw_qpolynomial_fold *pwf,
Expand Down
597 changes: 332 additions & 265 deletions doc/user.pod

Large diffs are not rendered by default.

55 changes: 29 additions & 26 deletions include/isl/aff.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ __isl_null isl_aff *isl_aff_free(__isl_take isl_aff *aff);
isl_ctx *isl_aff_get_ctx(__isl_keep isl_aff *aff);

int isl_aff_dim(__isl_keep isl_aff *aff, enum isl_dim_type type);
int isl_aff_involves_dims(__isl_keep isl_aff *aff,
isl_bool isl_aff_involves_dims(__isl_keep isl_aff *aff,
enum isl_dim_type type, unsigned first, unsigned n);

__isl_give isl_space *isl_aff_get_domain_space(__isl_keep isl_aff *aff);
Expand Down Expand Up @@ -60,7 +60,7 @@ __isl_give isl_aff *isl_aff_add_coefficient_si(__isl_take isl_aff *aff,
__isl_give isl_aff *isl_aff_add_coefficient_val(__isl_take isl_aff *aff,
enum isl_dim_type type, int pos, __isl_take isl_val *v);

int isl_aff_is_cst(__isl_keep isl_aff *aff);
isl_bool isl_aff_is_cst(__isl_keep isl_aff *aff);

__isl_give isl_aff *isl_aff_set_tuple_id(__isl_take isl_aff *aff,
enum isl_dim_type type, __isl_take isl_id *id);
Expand All @@ -72,9 +72,10 @@ __isl_give isl_aff *isl_aff_set_dim_id(__isl_take isl_aff *aff,
int isl_aff_find_dim_by_name(__isl_keep isl_aff *aff, enum isl_dim_type type,
const char *name);

int isl_aff_plain_is_equal(__isl_keep isl_aff *aff1, __isl_keep isl_aff *aff2);
int isl_aff_plain_is_zero(__isl_keep isl_aff *aff);
int isl_aff_is_nan(__isl_keep isl_aff *aff);
isl_bool isl_aff_plain_is_equal(__isl_keep isl_aff *aff1,
__isl_keep isl_aff *aff2);
isl_bool isl_aff_plain_is_zero(__isl_keep isl_aff *aff);
isl_bool isl_aff_is_nan(__isl_keep isl_aff *aff);

__isl_give isl_aff *isl_aff_get_div(__isl_keep isl_aff *aff, int pos);

Expand Down Expand Up @@ -156,7 +157,7 @@ __isl_give isl_pw_aff *isl_set_indicator_function(__isl_take isl_set *set);

const char *isl_pw_aff_get_dim_name(__isl_keep isl_pw_aff *pa,
enum isl_dim_type type, unsigned pos);
int isl_pw_aff_has_dim_id(__isl_keep isl_pw_aff *pa,
isl_bool isl_pw_aff_has_dim_id(__isl_keep isl_pw_aff *pa,
enum isl_dim_type type, unsigned pos);
__isl_give isl_id *isl_pw_aff_get_dim_id(__isl_keep isl_pw_aff *pa,
enum isl_dim_type type, unsigned pos);
Expand All @@ -166,11 +167,11 @@ __isl_give isl_pw_aff *isl_pw_aff_set_dim_id(__isl_take isl_pw_aff *pma,
int isl_pw_aff_find_dim_by_name(__isl_keep isl_pw_aff *pa,
enum isl_dim_type type, const char *name);

int isl_pw_aff_is_empty(__isl_keep isl_pw_aff *pwaff);
int isl_pw_aff_involves_nan(__isl_keep isl_pw_aff *pa);
isl_bool isl_pw_aff_is_empty(__isl_keep isl_pw_aff *pwaff);
isl_bool isl_pw_aff_involves_nan(__isl_keep isl_pw_aff *pa);
int isl_pw_aff_plain_cmp(__isl_keep isl_pw_aff *pa1,
__isl_keep isl_pw_aff *pa2);
int isl_pw_aff_plain_is_equal(__isl_keep isl_pw_aff *pwaff1,
isl_bool isl_pw_aff_plain_is_equal(__isl_keep isl_pw_aff *pwaff1,
__isl_keep isl_pw_aff *pwaff2);
int isl_pw_aff_is_equal(__isl_keep isl_pw_aff *pa1, __isl_keep isl_pw_aff *pa2);

Expand All @@ -185,15 +186,16 @@ __isl_give isl_pw_aff *isl_pw_aff_copy(__isl_keep isl_pw_aff *pwaff);
__isl_null isl_pw_aff *isl_pw_aff_free(__isl_take isl_pw_aff *pwaff);

unsigned isl_pw_aff_dim(__isl_keep isl_pw_aff *pwaff, enum isl_dim_type type);
int isl_pw_aff_involves_dims(__isl_keep isl_pw_aff *pwaff,
isl_bool isl_pw_aff_involves_dims(__isl_keep isl_pw_aff *pwaff,
enum isl_dim_type type, unsigned first, unsigned n);

int isl_pw_aff_is_cst(__isl_keep isl_pw_aff *pwaff);
isl_bool isl_pw_aff_is_cst(__isl_keep isl_pw_aff *pwaff);

__isl_give isl_pw_aff *isl_pw_aff_align_params(__isl_take isl_pw_aff *pwaff,
__isl_take isl_space *model);

int isl_pw_aff_has_tuple_id(__isl_keep isl_pw_aff *pa, enum isl_dim_type type);
isl_bool isl_pw_aff_has_tuple_id(__isl_keep isl_pw_aff *pa,
enum isl_dim_type type);
__isl_give isl_id *isl_pw_aff_get_tuple_id(__isl_keep isl_pw_aff *pa,
enum isl_dim_type type);
__isl_give isl_pw_aff *isl_pw_aff_set_tuple_id(__isl_take isl_pw_aff *pwaff,
Expand Down Expand Up @@ -267,8 +269,8 @@ __isl_give isl_pw_aff *isl_pw_aff_pullback_multi_pw_aff(
__isl_take isl_pw_aff *pa, __isl_take isl_multi_pw_aff *mpa);

int isl_pw_aff_n_piece(__isl_keep isl_pw_aff *pwaff);
int isl_pw_aff_foreach_piece(__isl_keep isl_pw_aff *pwaff,
int (*fn)(__isl_take isl_set *set, __isl_take isl_aff *aff,
isl_stat isl_pw_aff_foreach_piece(__isl_keep isl_pw_aff *pwaff,
isl_stat (*fn)(__isl_take isl_set *set, __isl_take isl_aff *aff,
void *user), void *user);

__isl_give isl_set *isl_set_from_pw_aff(__isl_take isl_pw_aff *pwaff);
Expand Down Expand Up @@ -409,13 +411,13 @@ __isl_give isl_space *isl_pw_multi_aff_get_domain_space(
__isl_keep isl_pw_multi_aff *pma);
__isl_give isl_space *isl_pw_multi_aff_get_space(
__isl_keep isl_pw_multi_aff *pma);
int isl_pw_multi_aff_has_tuple_name(__isl_keep isl_pw_multi_aff *pma,
isl_bool isl_pw_multi_aff_has_tuple_name(__isl_keep isl_pw_multi_aff *pma,
enum isl_dim_type type);
const char *isl_pw_multi_aff_get_tuple_name(__isl_keep isl_pw_multi_aff *pma,
enum isl_dim_type type);
__isl_give isl_id *isl_pw_multi_aff_get_tuple_id(
__isl_keep isl_pw_multi_aff *pma, enum isl_dim_type type);
int isl_pw_multi_aff_has_tuple_id(__isl_keep isl_pw_multi_aff *pma,
isl_bool isl_pw_multi_aff_has_tuple_id(__isl_keep isl_pw_multi_aff *pma,
enum isl_dim_type type);
__isl_give isl_pw_multi_aff *isl_pw_multi_aff_set_tuple_id(
__isl_take isl_pw_multi_aff *pma,
Expand Down Expand Up @@ -450,7 +452,7 @@ __isl_give isl_pw_multi_aff *isl_pw_multi_aff_set_dim_id(
__isl_take isl_pw_multi_aff *pma,
enum isl_dim_type type, unsigned pos, __isl_take isl_id *id);

int isl_pw_multi_aff_plain_is_equal(__isl_keep isl_pw_multi_aff *pma1,
isl_bool isl_pw_multi_aff_plain_is_equal(__isl_keep isl_pw_multi_aff *pma1,
__isl_keep isl_pw_multi_aff *pma2);

__isl_give isl_pw_multi_aff *isl_pw_multi_aff_fix_si(
Expand Down Expand Up @@ -517,8 +519,8 @@ __isl_give isl_pw_multi_aff *isl_pw_multi_aff_pullback_multi_aff(
__isl_give isl_pw_multi_aff *isl_pw_multi_aff_pullback_pw_multi_aff(
__isl_take isl_pw_multi_aff *pma1, __isl_take isl_pw_multi_aff *pma2);

int isl_pw_multi_aff_foreach_piece(__isl_keep isl_pw_multi_aff *pma,
int (*fn)(__isl_take isl_set *set, __isl_take isl_multi_aff *maff,
isl_stat isl_pw_multi_aff_foreach_piece(__isl_keep isl_pw_multi_aff *pma,
isl_stat (*fn)(__isl_take isl_set *set, __isl_take isl_multi_aff *maff,
void *user), void *user);

__isl_give isl_map *isl_map_from_pw_multi_aff(__isl_take isl_pw_multi_aff *pma);
Expand Down Expand Up @@ -600,13 +602,14 @@ __isl_give isl_union_pw_multi_aff *isl_union_pw_multi_aff_align_params(
int isl_union_pw_multi_aff_n_pw_multi_aff(
__isl_keep isl_union_pw_multi_aff *upma);

int isl_union_pw_multi_aff_foreach_pw_multi_aff(
isl_stat isl_union_pw_multi_aff_foreach_pw_multi_aff(
__isl_keep isl_union_pw_multi_aff *upma,
int (*fn)(__isl_take isl_pw_multi_aff *pma, void *user), void *user);
isl_stat (*fn)(__isl_take isl_pw_multi_aff *pma, void *user),
void *user);
__isl_give isl_pw_multi_aff *isl_union_pw_multi_aff_extract_pw_multi_aff(
__isl_keep isl_union_pw_multi_aff *upma, __isl_take isl_space *space);

int isl_union_pw_multi_aff_plain_is_equal(
isl_bool isl_union_pw_multi_aff_plain_is_equal(
__isl_keep isl_union_pw_multi_aff *upma1,
__isl_keep isl_union_pw_multi_aff *upma2);

Expand Down Expand Up @@ -682,7 +685,7 @@ __isl_give isl_multi_pw_aff *isl_multi_pw_aff_gist(
__isl_give isl_multi_pw_aff *isl_multi_pw_aff_gist_params(
__isl_take isl_multi_pw_aff *mpa, __isl_take isl_set *set);

int isl_multi_pw_aff_is_equal(__isl_keep isl_multi_pw_aff *mpa1,
isl_bool isl_multi_pw_aff_is_equal(__isl_keep isl_multi_pw_aff *mpa1,
__isl_keep isl_multi_pw_aff *mpa2);

__isl_give isl_multi_pw_aff *isl_multi_pw_aff_pullback_multi_aff(
Expand Down Expand Up @@ -757,12 +760,12 @@ __isl_give isl_union_pw_multi_aff *isl_union_pw_multi_aff_from_union_pw_aff(

int isl_union_pw_aff_n_pw_aff(__isl_keep isl_union_pw_aff *upa);

int isl_union_pw_aff_foreach_pw_aff(__isl_keep isl_union_pw_aff *upa,
int (*fn)(__isl_take isl_pw_aff *ma, void *user), void *user);
isl_stat isl_union_pw_aff_foreach_pw_aff(__isl_keep isl_union_pw_aff *upa,
isl_stat (*fn)(__isl_take isl_pw_aff *ma, void *user), void *user);
__isl_give isl_pw_aff *isl_union_pw_aff_extract_pw_aff(
__isl_keep isl_union_pw_aff *upa, __isl_take isl_space *space);

int isl_union_pw_aff_plain_is_equal(__isl_keep isl_union_pw_aff *upa1,
isl_bool isl_union_pw_aff_plain_is_equal(__isl_keep isl_union_pw_aff *upa1,
__isl_keep isl_union_pw_aff *upa2);

__isl_give isl_union_set *isl_union_pw_aff_domain(
Expand Down
14 changes: 7 additions & 7 deletions include/isl/ast.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@
extern "C" {
#endif

int isl_options_set_ast_iterator_type(isl_ctx *ctx, const char *val);
isl_stat isl_options_set_ast_iterator_type(isl_ctx *ctx, const char *val);
const char *isl_options_get_ast_iterator_type(isl_ctx *ctx);

int isl_options_set_ast_always_print_block(isl_ctx *ctx, int val);
isl_stat isl_options_set_ast_always_print_block(isl_ctx *ctx, int val);
int isl_options_get_ast_always_print_block(isl_ctx *ctx);

__isl_give isl_ast_expr *isl_ast_expr_from_val(__isl_take isl_val *v);
Expand Down Expand Up @@ -73,7 +73,7 @@ __isl_give isl_ast_expr *isl_ast_expr_get_op_arg(__isl_keep isl_ast_expr *expr,
__isl_give isl_ast_expr *isl_ast_expr_set_op_arg(__isl_take isl_ast_expr *expr,
int pos, __isl_take isl_ast_expr *arg);

int isl_ast_expr_is_equal(__isl_keep isl_ast_expr *expr1,
isl_bool isl_ast_expr_is_equal(__isl_keep isl_ast_expr *expr1,
__isl_keep isl_ast_expr *expr2);

__isl_give isl_ast_expr *isl_ast_expr_substitute_ids(
Expand Down Expand Up @@ -105,13 +105,13 @@ __isl_give isl_ast_expr *isl_ast_node_for_get_inc(
__isl_keep isl_ast_node *node);
__isl_give isl_ast_node *isl_ast_node_for_get_body(
__isl_keep isl_ast_node *node);
int isl_ast_node_for_is_degenerate(__isl_keep isl_ast_node *node);
isl_bool isl_ast_node_for_is_degenerate(__isl_keep isl_ast_node *node);

__isl_give isl_ast_expr *isl_ast_node_if_get_cond(
__isl_keep isl_ast_node *node);
__isl_give isl_ast_node *isl_ast_node_if_get_then(
__isl_keep isl_ast_node *node);
int isl_ast_node_if_has_else(__isl_keep isl_ast_node *node);
isl_bool isl_ast_node_if_has_else(__isl_keep isl_ast_node *node);
__isl_give isl_ast_node *isl_ast_node_if_get_else(
__isl_keep isl_ast_node *node);

Expand Down Expand Up @@ -150,8 +150,8 @@ __isl_give isl_ast_print_options *isl_ast_print_options_set_print_for(
__isl_keep isl_ast_node *node, void *user),
void *user);

int isl_ast_node_foreach_ast_op_type(__isl_keep isl_ast_node *node,
int (*fn)(enum isl_ast_op_type type, void *user), void *user);
isl_stat isl_ast_node_foreach_ast_op_type(__isl_keep isl_ast_node *node,
isl_stat (*fn)(enum isl_ast_op_type type, void *user), void *user);
__isl_give isl_printer *isl_ast_op_type_print_macro(
enum isl_ast_op_type type, __isl_take isl_printer *p);
__isl_give isl_printer *isl_ast_node_print_macros(
Expand Down
18 changes: 9 additions & 9 deletions include/isl/ast_build.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,30 +14,30 @@ struct isl_ast_build;
typedef struct isl_ast_build isl_ast_build;


int isl_options_set_ast_build_atomic_upper_bound(isl_ctx *ctx, int val);
isl_stat isl_options_set_ast_build_atomic_upper_bound(isl_ctx *ctx, int val);
int isl_options_get_ast_build_atomic_upper_bound(isl_ctx *ctx);

int isl_options_set_ast_build_prefer_pdiv(isl_ctx *ctx, int val);
isl_stat isl_options_set_ast_build_prefer_pdiv(isl_ctx *ctx, int val);
int isl_options_get_ast_build_prefer_pdiv(isl_ctx *ctx);

int isl_options_set_ast_build_exploit_nested_bounds(isl_ctx *ctx, int val);
isl_stat isl_options_set_ast_build_exploit_nested_bounds(isl_ctx *ctx, int val);
int isl_options_get_ast_build_exploit_nested_bounds(isl_ctx *ctx);

int isl_options_set_ast_build_group_coscheduled(isl_ctx *ctx, int val);
isl_stat isl_options_set_ast_build_group_coscheduled(isl_ctx *ctx, int val);
int isl_options_get_ast_build_group_coscheduled(isl_ctx *ctx);

#define ISL_AST_BUILD_SEPARATION_BOUNDS_EXPLICIT 0
#define ISL_AST_BUILD_SEPARATION_BOUNDS_IMPLICIT 1
int isl_options_set_ast_build_separation_bounds(isl_ctx *ctx, int val);
isl_stat isl_options_set_ast_build_separation_bounds(isl_ctx *ctx, int val);
int isl_options_get_ast_build_separation_bounds(isl_ctx *ctx);

int isl_options_set_ast_build_scale_strides(isl_ctx *ctx, int val);
isl_stat isl_options_set_ast_build_scale_strides(isl_ctx *ctx, int val);
int isl_options_get_ast_build_scale_strides(isl_ctx *ctx);

int isl_options_set_ast_build_allow_else(isl_ctx *ctx, int val);
isl_stat isl_options_set_ast_build_allow_else(isl_ctx *ctx, int val);
int isl_options_get_ast_build_allow_else(isl_ctx *ctx);

int isl_options_set_ast_build_allow_or(isl_ctx *ctx, int val);
isl_stat isl_options_set_ast_build_allow_or(isl_ctx *ctx, int val);
int isl_options_get_ast_build_allow_or(isl_ctx *ctx);

isl_ctx *isl_ast_build_get_ctx(__isl_keep isl_ast_build *build);
Expand Down Expand Up @@ -78,7 +78,7 @@ __isl_give isl_ast_build *isl_ast_build_set_after_each_for(
__isl_keep isl_ast_build *build, void *user), void *user);
__isl_give isl_ast_build *isl_ast_build_set_before_each_mark(
__isl_take isl_ast_build *build,
int (*fn)(__isl_keep isl_id *mark, __isl_keep isl_ast_build *build,
isl_stat (*fn)(__isl_keep isl_id *mark, __isl_keep isl_ast_build *build,
void *user), void *user);
__isl_give isl_ast_build *isl_ast_build_set_after_each_mark(
__isl_take isl_ast_build *build,
Expand Down
4 changes: 2 additions & 2 deletions include/isl/band.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ __isl_give isl_union_map *isl_band_get_partial_schedule(
__isl_give isl_union_map *isl_band_get_suffix_schedule(
__isl_keep isl_band *band);

int isl_options_set_tile_scale_tile_loops(isl_ctx *ctx, int val);
isl_stat isl_options_set_tile_scale_tile_loops(isl_ctx *ctx, int val);
int isl_options_get_tile_scale_tile_loops(isl_ctx *ctx);
int isl_options_set_tile_shift_point_loops(isl_ctx *ctx, int val);
isl_stat isl_options_set_tile_shift_point_loops(isl_ctx *ctx, int val);
int isl_options_get_tile_shift_point_loops(isl_ctx *ctx);

int isl_band_tile(__isl_keep isl_band *band, __isl_take isl_vec *sizes);
Expand Down
20 changes: 10 additions & 10 deletions include/isl/constraint.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,20 +38,20 @@ __isl_null isl_constraint *isl_constraint_free(__isl_take isl_constraint *c);

int isl_basic_map_n_constraint(__isl_keep isl_basic_map *bmap);
int isl_basic_set_n_constraint(__isl_keep isl_basic_set *bset);
int isl_basic_map_foreach_constraint(__isl_keep isl_basic_map *bmap,
int (*fn)(__isl_take isl_constraint *c, void *user), void *user);
int isl_basic_set_foreach_constraint(__isl_keep isl_basic_set *bset,
int (*fn)(__isl_take isl_constraint *c, void *user), void *user);
isl_stat isl_basic_map_foreach_constraint(__isl_keep isl_basic_map *bmap,
isl_stat (*fn)(__isl_take isl_constraint *c, void *user), void *user);
isl_stat isl_basic_set_foreach_constraint(__isl_keep isl_basic_set *bset,
isl_stat (*fn)(__isl_take isl_constraint *c, void *user), void *user);
__isl_give isl_constraint_list *isl_basic_map_get_constraint_list(
__isl_keep isl_basic_map *bmap);
__isl_give isl_constraint_list *isl_basic_set_get_constraint_list(
__isl_keep isl_basic_set *bset);
int isl_constraint_is_equal(struct isl_constraint *constraint1,
struct isl_constraint *constraint2);

int isl_basic_set_foreach_bound_pair(__isl_keep isl_basic_set *bset,
isl_stat isl_basic_set_foreach_bound_pair(__isl_keep isl_basic_set *bset,
enum isl_dim_type type, unsigned pos,
int (*fn)(__isl_take isl_constraint *lower,
isl_stat (*fn)(__isl_take isl_constraint *lower,
__isl_take isl_constraint *upper,
__isl_take isl_basic_set *bset, void *user), void *user);

Expand Down Expand Up @@ -82,7 +82,7 @@ __isl_give isl_local_space *isl_constraint_get_local_space(
int isl_constraint_dim(struct isl_constraint *constraint,
enum isl_dim_type type);

int isl_constraint_involves_dims(__isl_keep isl_constraint *constraint,
isl_bool isl_constraint_involves_dims(__isl_keep isl_constraint *constraint,
enum isl_dim_type type, unsigned first, unsigned n);

const char *isl_constraint_get_dim_name(__isl_keep isl_constraint *constraint,
Expand All @@ -107,12 +107,12 @@ __isl_give isl_aff *isl_constraint_get_div(__isl_keep isl_constraint *constraint

struct isl_constraint *isl_constraint_negate(struct isl_constraint *constraint);

int isl_constraint_is_equality(__isl_keep isl_constraint *constraint);
isl_bool isl_constraint_is_equality(__isl_keep isl_constraint *constraint);
int isl_constraint_is_div_constraint(__isl_keep isl_constraint *constraint);

int isl_constraint_is_lower_bound(__isl_keep isl_constraint *constraint,
isl_bool isl_constraint_is_lower_bound(__isl_keep isl_constraint *constraint,
enum isl_dim_type type, unsigned pos);
int isl_constraint_is_upper_bound(__isl_keep isl_constraint *constraint,
isl_bool isl_constraint_is_upper_bound(__isl_keep isl_constraint *constraint,
enum isl_dim_type type, unsigned pos);

__isl_give isl_basic_map *isl_basic_map_from_constraint(
Expand Down
Loading

0 comments on commit 370a8b7

Please sign in to comment.