Lattice Land Core Library
|
#include <ast.hpp>
Public Member Functions | |
CUDA constexpr | AVar () |
constexpr | AVar (const AVar &)=default |
constexpr | AVar (AVar &&)=default |
constexpr AVar & | operator= (const AVar &)=default |
constexpr AVar & | operator= (AVar &&)=default |
CUDA constexpr bool | operator== (const AVar &other) const |
CUDA constexpr | AVar (AType atype, int var_id) |
CUDA constexpr | AVar (AType atype, size_t var_id) |
CUDA constexpr bool | is_untyped () const |
CUDA constexpr int | aty () const |
CUDA constexpr int | vid () const |
CUDA constexpr void | type_as (AType aty) |
We call an "abstract variable" the representation of a logical variable in an abstract domain. It is a pair of integers (aty, vid)
where aty
is the UID of the abstract element and vid
is an internal identifier of the variable inside the abstract element. The mapping between logical variables and abstract variables is maintained in an environment (see env.hpp
). An abstract variable always has a single name (or no name if it is not explicitly represented in the initial formula). But a logical variable can be represented by several abstract variables when the variable occurs in different abstract elements.
|
inlineconstexpr |
|
constexprdefault |
|
constexprdefault |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |