3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-07-02 21:36:09 +00:00
This commit is contained in:
Clemens Eisenhofer 2025-01-31 17:22:30 +01:00 committed by GitHub
parent 1ce6e66ac9
commit 9557e7cacf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 125 additions and 108 deletions

View file

@ -69,6 +69,7 @@ namespace sls {
};
vector<str_update> m_str_updates;
vector<int_update> m_int_updates;
bool apply_update();
bool update(expr* e, zstring const& value);
bool update(expr* e, rational const& value);
@ -132,8 +133,11 @@ namespace sls {
void add_char_edit_updates(ptr_vector<expr> const& w, zstring const& val, zstring const& val_other, uint_set const& chars);
void add_substr_edit_updates(ptr_vector<expr> const& w, zstring const& val, zstring const& val_other, uint_set const& chars);
int add_str_update(expr* e, zstring const& val, double score);
zstring trunc_pad_to_fit(unsigned min_length, unsigned max_length, zstring const& s);
int add_str_update(expr* e, zstring const& currVal, zstring const& val, double score);
zstring trunc_pad_to_fit(unsigned min_length, unsigned max_length, zstring const& s) const;
zstring trunc_pad_to_fit(unsigned length, zstring const& s) const {
return trunc_pad_to_fit(length, length, s);
}
// regex functionality
@ -151,6 +155,8 @@ namespace sls {
bool is_num_string(zstring const& s); // Checks if s \in [0-9]+ (i.e., str.to_int is not -1)
unsigned random_char() const;
// access evaluation
bool is_seq_predicate(expr* e);