mirror of
https://github.com/Z3Prover/z3
synced 2025-08-18 09:12:16 +00:00
remove a few string copies
This commit is contained in:
parent
db5a1a7604
commit
b2d5c24c1d
18 changed files with 39 additions and 80 deletions
|
@ -189,7 +189,7 @@ extern "C" {
|
|||
if (ok && r.is_int() && !r.is_neg()) {
|
||||
std::stringstream strm;
|
||||
r.display_bin(strm, r.get_num_bits());
|
||||
return mk_c(c)->mk_external_string(strm.str());
|
||||
return mk_c(c)->mk_external_string(std::move(strm).str());
|
||||
}
|
||||
else {
|
||||
SET_ERROR_CODE(Z3_INVALID_ARG, nullptr);
|
||||
|
@ -237,7 +237,7 @@ extern "C" {
|
|||
else if (mk_c(c)->fpautil().is_numeral(to_expr(a), tmp)) {
|
||||
std::ostringstream buffer;
|
||||
fu.fm().display_smt2(buffer, tmp, false);
|
||||
return mk_c(c)->mk_external_string(buffer.str());
|
||||
return mk_c(c)->mk_external_string(std::move(buffer).str());
|
||||
}
|
||||
else {
|
||||
SET_ERROR_CODE(Z3_INVALID_ARG, nullptr);
|
||||
|
@ -288,21 +288,21 @@ extern "C" {
|
|||
if (u.is_numeral(e, r) && !r.is_int()) {
|
||||
std::ostringstream buffer;
|
||||
r.display_decimal(buffer, precision);
|
||||
return mk_c(c)->mk_external_string(buffer.str());
|
||||
return mk_c(c)->mk_external_string(std::move(buffer).str());
|
||||
}
|
||||
if (u.is_irrational_algebraic_numeral(e)) {
|
||||
algebraic_numbers::anum const & n = u.to_irrational_algebraic_numeral(e);
|
||||
algebraic_numbers::manager & am = u.am();
|
||||
std::ostringstream buffer;
|
||||
am.display_decimal(buffer, n, precision);
|
||||
return mk_c(c)->mk_external_string(buffer.str());
|
||||
return mk_c(c)->mk_external_string(std::move(buffer).str());
|
||||
}
|
||||
else if (mk_c(c)->fpautil().is_rm_numeral(to_expr(a), rm))
|
||||
return Z3_get_numeral_string(c, a);
|
||||
else if (mk_c(c)->fpautil().is_numeral(to_expr(a), ftmp)) {
|
||||
std::ostringstream buffer;
|
||||
fu.fm().display_decimal(buffer, ftmp, 12);
|
||||
return mk_c(c)->mk_external_string(buffer.str());
|
||||
return mk_c(c)->mk_external_string(std::move(buffer).str());
|
||||
}
|
||||
else if (Z3_get_numeral_rational(c, a, r)) {
|
||||
return mk_c(c)->mk_external_string(r.to_string());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue