MCPcopy Create free account
hub / github.com/AliveToolkit/alive2 / isConcat

Method isConcat

smt/expr.cpp:489–501  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

487}
488
489bool expr::isConcat(expr &a, expr &b) const {
490 if (auto app = isAppOf(Z3_OP_CONCAT)) {
491 auto nargs = Z3_get_app_num_args(ctx(), app);
492 assert(nargs >= 2);
493 a = Z3_get_app_arg(ctx(), app, 0);
494 b = Z3_get_app_arg(ctx(), app, 1);
495 for (unsigned i = 2; i < nargs; ++i) {
496 b = b.concat(Z3_get_app_arg(ctx(), app, i));
497 }
498 return true;
499 }
500 return false;
501}
502
503bool expr::isExtract(expr &e, unsigned &high, unsigned &low) const {
504 if (auto app = isAppOf(Z3_OP_EXTRACT)) {

Callers 2

concatMethod · 0.80
DisjointExprMethod · 0.80

Calls 1

concatMethod · 0.45

Tested by

no test coverage detected