benchmarkToSmtlib method
Implementation
String benchmarkToSmtlib({
required String name,
required String logic,
required String status,
required String attributes,
required List<AST> assumptions,
required AST formula,
}) {
final namePtr = name.toNativeUtf8();
final logicPtr = logic.toNativeUtf8();
final statusPtr = status.toNativeUtf8();
final attributesPtr = attributes.toNativeUtf8();
final assumptionsPtr = calloc<Z3_ast>(assumptions.length);
try {
for (var i = 0; i < assumptions.length; i++) {
assumptionsPtr[i] = _createAST(assumptions[i]);
}
final result = _z3.benchmark_to_smtlib_string(
namePtr.cast(),
logicPtr.cast(),
statusPtr.cast(),
attributesPtr.cast(),
assumptions.length,
assumptionsPtr,
_createAST(formula),
);
return result.cast<Utf8>().toDartString();
} finally {
malloc.free(assumptionsPtr);
malloc.free(namePtr);
malloc.free(logicPtr);
malloc.free(statusPtr);
malloc.free(attributesPtr);
}
}