#include <smt_array.h>
◆ array_iface()
| array_iface::array_iface |
( |
bool | _b, |
|
|
bool | inf ) |
|
inline |
◆ add_array_constraints_for_solving()
| virtual void array_iface::add_array_constraints_for_solving |
( |
| ) |
|
|
inlinevirtual |
◆ convert_array_of()
| virtual smt_astt array_iface::convert_array_of |
( |
smt_astt | init_val, |
|
|
unsigned long | domain_width ) |
|
pure virtual |
Create an array with a single initializer.
This may be a small, fixed size array, or it may be a nondeterministically sized array with a word-sized domain. Default implementation is to repeatedly store into the array for as many elements as necessary; subclassing class should override if it has a more efficient method. Nondeterministically sized memory with an initializer is very rare; the only real users of this are fixed-sized (but large) static arrays that are zero initialized, or some infinite-domain modelling arrays used in ESBMC.
- Parameters
-
| init_val | The value to initialize each element with. |
| domain_width | The size of the array to create, in domain bits. |
- Returns
- An AST representing the created constant array.
Implemented in array_convt, bitwuzla_convt, boolector_convt, cvc5_convt, cvc_convt, mathsat_convt, smtlib_convt, yices_convt, and z3_convt.
◆ default_convert_array_of()
◆ get_array_elem()
Extract an element from the model of an array, at an explicit index.
- Parameters
-
| array | AST representing the array we are extracting from |
| index | The index of the element we wish to expect |
| subtype | The type of the element we are extracting, i.e., array range |
- Returns
- Expression representation of the element
Implemented in array_convt, bitwuzla_convt, boolector_convt, cvc5_convt, cvc_convt, mathsat_convt, smtlib_convt, yices_convt, and z3_convt.
◆ mk_array_symbol()
◆ pop_array_ctx()
| virtual void array_iface::pop_array_ctx |
( |
| ) |
|
|
inlinevirtual |
◆ push_array_ctx()
| virtual void array_iface::push_array_ctx |
( |
| ) |
|
|
inlinevirtual |
◆ can_init_infinite_arrays
| bool array_iface::can_init_infinite_arrays |
◆ supports_bools_in_arrays
| bool array_iface::supports_bools_in_arrays |
The documentation for this class was generated from the following files: