Skip to content

Commit be73071

Browse files
Changes before error encountered
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
1 parent 99d3637 commit be73071

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

src/ast/arith_decl_plugin.h

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,7 @@ class arith_util : public arith_recognizers {
472472
app * mk_divides(expr* arg1, expr* arg2) { return m_manager.mk_app(arith_family_id, OP_IDIVIDES, arg1, arg2); }
473473

474474
app * mk_add(unsigned num_args, expr * const * args) const { return num_args == 1 && is_app(args[0]) ? to_app(args[0]) : m_manager.mk_app(arith_family_id, OP_ADD, num_args, args); }
475+
app * mk_add(std::initializer_list<expr*> args) const { return mk_add(args.size(), args.begin()); }
475476
app * mk_add(expr * arg1, expr * arg2) const { return m_manager.mk_app(arith_family_id, OP_ADD, arg1, arg2); }
476477
app * mk_add(expr * arg1, expr * arg2, expr* arg3) const { return m_manager.mk_app(arith_family_id, OP_ADD, arg1, arg2, arg3); }
477478
app * mk_add(expr_ref_vector const& args) const { return mk_add(args.size(), args.data()); }
@@ -481,9 +482,11 @@ class arith_util : public arith_recognizers {
481482

482483
app * mk_sub(expr * arg1, expr * arg2) const { return m_manager.mk_app(arith_family_id, OP_SUB, arg1, arg2); }
483484
app * mk_sub(unsigned num_args, expr * const * args) const { return m_manager.mk_app(arith_family_id, OP_SUB, num_args, args); }
485+
app * mk_sub(std::initializer_list<expr*> args) const { return mk_sub(args.size(), args.begin()); }
484486
app * mk_mul(expr * arg1, expr * arg2) const { return m_manager.mk_app(arith_family_id, OP_MUL, arg1, arg2); }
485487
app * mk_mul(expr * arg1, expr * arg2, expr* arg3) const { return m_manager.mk_app(arith_family_id, OP_MUL, arg1, arg2, arg3); }
486488
app * mk_mul(unsigned num_args, expr * const * args) const { return num_args == 1 && is_app(args[0]) ? to_app(args[0]) : m_manager.mk_app(arith_family_id, OP_MUL, num_args, args); }
489+
app * mk_mul(std::initializer_list<expr*> args) const { return mk_mul(args.size(), args.begin()); }
487490
app * mk_mul(ptr_buffer<expr> const& args) const { return mk_mul(args.size(), args.data()); }
488491
app * mk_mul(ptr_vector<expr> const& args) const { return mk_mul(args.size(), args.data()); }
489492
app * mk_mul(expr_ref_vector const& args) const { return mk_mul(args.size(), args.data()); }
@@ -502,13 +505,13 @@ class arith_util : public arith_recognizers {
502505
app * mk_power(expr* arg1, expr* arg2) { return m_manager.mk_app(arith_family_id, OP_POWER, arg1, arg2); }
503506
app * mk_power0(expr* arg1, expr* arg2) { return m_manager.mk_app(arith_family_id, OP_POWER0, arg1, arg2); }
504507

505-
app* mk_band(unsigned n, expr* arg1, expr* arg2) { parameter p(n); expr* args[2] = { arg1, arg2 }; return m_manager.mk_app(arith_family_id, OP_ARITH_BAND, 1, &p, 2, args); }
508+
app* mk_band(unsigned n, expr* arg1, expr* arg2) { return mk_band(n, {arg1, arg2}); }
506509
app* mk_band(unsigned n, std::initializer_list<expr*> args) { parameter p(n); return m_manager.mk_app(arith_family_id, OP_ARITH_BAND, 1, &p, args.size(), args.begin()); }
507-
app* mk_shl(unsigned n, expr* arg1, expr* arg2) { parameter p(n); expr* args[2] = { arg1, arg2 }; return m_manager.mk_app(arith_family_id, OP_ARITH_SHL, 1, &p, 2, args); }
510+
app* mk_shl(unsigned n, expr* arg1, expr* arg2) { return mk_shl(n, {arg1, arg2}); }
508511
app* mk_shl(unsigned n, std::initializer_list<expr*> args) { parameter p(n); return m_manager.mk_app(arith_family_id, OP_ARITH_SHL, 1, &p, args.size(), args.begin()); }
509-
app* mk_ashr(unsigned n, expr* arg1, expr* arg2) { parameter p(n); expr* args[2] = { arg1, arg2 }; return m_manager.mk_app(arith_family_id, OP_ARITH_ASHR, 1, &p, 2, args); }
512+
app* mk_ashr(unsigned n, expr* arg1, expr* arg2) { return mk_ashr(n, {arg1, arg2}); }
510513
app* mk_ashr(unsigned n, std::initializer_list<expr*> args) { parameter p(n); return m_manager.mk_app(arith_family_id, OP_ARITH_ASHR, 1, &p, args.size(), args.begin()); }
511-
app* mk_lshr(unsigned n, expr* arg1, expr* arg2) { parameter p(n); expr* args[2] = { arg1, arg2 }; return m_manager.mk_app(arith_family_id, OP_ARITH_LSHR, 1, &p, 2, args); }
514+
app* mk_lshr(unsigned n, expr* arg1, expr* arg2) { return mk_lshr(n, {arg1, arg2}); }
512515
app* mk_lshr(unsigned n, std::initializer_list<expr*> args) { parameter p(n); return m_manager.mk_app(arith_family_id, OP_ARITH_LSHR, 1, &p, args.size(), args.begin()); }
513516

514517
app * mk_sin(expr * arg) { return m_manager.mk_app(arith_family_id, OP_SIN, arg); }

src/ast/ast.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2201,16 +2201,19 @@ class ast_manager {
22012201
app * mk_xor(expr * lhs, expr * rhs) { return mk_app(basic_family_id, OP_XOR, lhs, rhs); }
22022202
app * mk_ite(expr * c, expr * t, expr * e) { return mk_app(basic_family_id, OP_ITE, c, t, e); }
22032203
app * mk_xor(unsigned num_args, expr * const * args) { return mk_app(basic_family_id, OP_XOR, num_args, args); }
2204+
app * mk_xor(std::initializer_list<expr*> args) { return mk_xor(args.size(), args.begin()); }
22042205
app * mk_xor(ptr_buffer<expr> const& args) { return mk_xor(args.size(), args.data()); }
22052206
app * mk_xor(ptr_vector<expr> const& args) { return mk_xor(args.size(), args.data()); }
22062207
app * mk_xor(ref_buffer<expr, ast_manager> const& args) { return mk_xor(args.size(), args.data()); }
22072208
app * mk_or(unsigned num_args, expr * const * args) { return mk_app(basic_family_id, OP_OR, num_args, args); }
2209+
app * mk_or(std::initializer_list<expr*> args) { return mk_or(std::span<expr* const>(args.begin(), args.size())); }
22082210
app * mk_and(std::span<expr* const> args) { return mk_app(basic_family_id, OP_AND, args); }
2211+
app * mk_and(std::initializer_list<expr*> args) { return mk_and(std::span<expr* const>(args.begin(), args.size())); }
22092212
app * mk_or(std::span<expr* const> args) { return mk_app(basic_family_id, OP_OR, args); }
22102213
app * mk_or(expr * arg1, expr * arg2) { return mk_app(basic_family_id, OP_OR, arg1, arg2); }
22112214
app * mk_and(expr * arg1, expr * arg2) { return mk_app(basic_family_id, OP_AND, arg1, arg2); }
22122215
app * mk_or(expr * arg1, expr * arg2, expr * arg3) { return mk_app(basic_family_id, OP_OR, arg1, arg2, arg3); }
2213-
app * mk_or(expr* a, expr* b, expr* c, expr* d) { expr* args[4] = { a, b, c, d }; return mk_app(basic_family_id, OP_OR, 4, args); }
2216+
app * mk_or(expr* a, expr* b, expr* c, expr* d) { return mk_or({a, b, c, d}); }
22142217
app * mk_and(expr * arg1, expr * arg2, expr * arg3) { return mk_app(basic_family_id, OP_AND, arg1, arg2, arg3); }
22152218

22162219
app * mk_and(ref_vector<expr, ast_manager> const& args) { return mk_and(std::span<expr* const>(args.data(), args.size())); }

src/ast/bv_decl_plugin.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -512,10 +512,10 @@ class bv_util : public bv_recognizers {
512512
app * mk_bv_xor(unsigned num, expr * const * args) { return m_manager.mk_app(get_fid(), OP_BXOR, num, args); }
513513
app * mk_bv_xor(std::initializer_list<expr*> args) { return m_manager.mk_app(get_fid(), OP_BXOR, args.size(), args.begin()); }
514514

515-
app * mk_concat(expr * arg1, expr * arg2) { expr * args[2] = { arg1, arg2 }; return mk_concat(2, args); }
516-
app * mk_bv_and(expr* x, expr* y) { expr* args[2] = { x, y }; return mk_bv_and(2, args); }
517-
app * mk_bv_or(expr* x, expr* y) { expr* args[2] = { x, y }; return mk_bv_or(2, args); }
518-
app * mk_bv_xor(expr* x, expr* y) { expr* args[2] = { x, y }; return mk_bv_xor(2, args); }
515+
app * mk_concat(expr * arg1, expr * arg2) { return mk_concat({arg1, arg2}); }
516+
app * mk_bv_and(expr* x, expr* y) { return mk_bv_and({x, y}); }
517+
app * mk_bv_or(expr* x, expr* y) { return mk_bv_or({x, y}); }
518+
app * mk_bv_xor(expr* x, expr* y) { return mk_bv_xor({x, y}); }
519519

520520
app * mk_bv_not(expr * arg) { return m_manager.mk_app(get_fid(), OP_BNOT, arg); }
521521
app * mk_bv_neg(expr * arg) { return m_manager.mk_app(get_fid(), OP_BNEG, arg); }

0 commit comments

Comments
 (0)