From f6316d789a09545416652a8135f281b96d2246d4 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Sat, 5 Jul 2014 08:25:43 +0200 Subject: [PATCH] add isl_ast_expr_pdiv_{q,r} Signed-off-by: Sven Verdoolaege --- doc/user.pod | 6 ++++++ include/isl/ast.h | 4 ++++ isl_ast.c | 20 ++++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/doc/user.pod b/doc/user.pod index a5f24110..568cd1d3 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -8625,6 +8625,12 @@ the context of an C. __isl_give isl_ast_expr *isl_ast_expr_div( __isl_take isl_ast_expr *expr1, __isl_take isl_ast_expr *expr2); + __isl_give isl_ast_expr *isl_ast_expr_pdiv_q( + __isl_take isl_ast_expr *expr1, + __isl_take isl_ast_expr *expr2); + __isl_give isl_ast_expr *isl_ast_expr_pdiv_r( + __isl_take isl_ast_expr *expr1, + __isl_take isl_ast_expr *expr2); __isl_give isl_ast_expr *isl_ast_expr_and( __isl_take isl_ast_expr *expr1, __isl_take isl_ast_expr *expr2) diff --git a/include/isl/ast.h b/include/isl/ast.h index 1d81a987..735739c5 100644 --- a/include/isl/ast.h +++ b/include/isl/ast.h @@ -30,6 +30,10 @@ __isl_give isl_ast_expr *isl_ast_expr_mul(__isl_take isl_ast_expr *expr1, __isl_take isl_ast_expr *expr2); __isl_give isl_ast_expr *isl_ast_expr_div(__isl_take isl_ast_expr *expr1, __isl_take isl_ast_expr *expr2); +__isl_give isl_ast_expr *isl_ast_expr_pdiv_q(__isl_take isl_ast_expr *expr1, + __isl_take isl_ast_expr *expr2); +__isl_give isl_ast_expr *isl_ast_expr_pdiv_r(__isl_take isl_ast_expr *expr1, + __isl_take isl_ast_expr *expr2); __isl_give isl_ast_expr *isl_ast_expr_and(__isl_take isl_ast_expr *expr1, __isl_take isl_ast_expr *expr2); __isl_give isl_ast_expr *isl_ast_expr_and_then(__isl_take isl_ast_expr *expr1, diff --git a/isl_ast.c b/isl_ast.c index b0e03a03..b9a7cea4 100644 --- a/isl_ast.c +++ b/isl_ast.c @@ -571,6 +571,26 @@ __isl_give isl_ast_expr *isl_ast_expr_div(__isl_take isl_ast_expr *expr1, return isl_ast_expr_alloc_binary(isl_ast_op_div, expr1, expr2); } +/* Create an expression representing the quotient of the integer + * division of "expr1" by "expr2", where "expr1" is known to be + * non-negative. + */ +__isl_give isl_ast_expr *isl_ast_expr_pdiv_q(__isl_take isl_ast_expr *expr1, + __isl_take isl_ast_expr *expr2) +{ + return isl_ast_expr_alloc_binary(isl_ast_op_pdiv_q, expr1, expr2); +} + +/* Create an expression representing the remainder of the integer + * division of "expr1" by "expr2", where "expr1" is known to be + * non-negative. + */ +__isl_give isl_ast_expr *isl_ast_expr_pdiv_r(__isl_take isl_ast_expr *expr1, + __isl_take isl_ast_expr *expr2) +{ + return isl_ast_expr_alloc_binary(isl_ast_op_pdiv_r, expr1, expr2); +} + /* Create an expression representing the conjunction of "expr1" and "expr2". */ __isl_give isl_ast_expr *isl_ast_expr_and(__isl_take isl_ast_expr *expr1, -- 2.11.4.GIT