Tactic.parallelOr constructor

Tactic.parallelOr(
  1. List<Tactic> tactics
)

Creates a tactic that applies the given tactics in parallel.

Implementation

factory Tactic.parallelOr(List<Tactic> tactics) {
  final tacticsPtr = calloc<Z3_tactic>(tactics.length);
  try {
    for (var i = 0; i < tactics.length; i++) {
      tacticsPtr[i] = tactics[i]._tactic;
    }
    final c = tactics[0]._c;
    final result = c._z3.tactic_par_or(
      tactics.length,
      tacticsPtr,
    );
    return c._getTactic(result);
  } finally {
    malloc.free(tacticsPtr);
  }
}