Lattice Land Core Library
|
#include <ast.hpp>
Public Member Functions | |
constexpr CUDA | AVar () |
constexpr | AVar (const AVar &)=default |
constexpr | AVar (AVar &&)=default |
constexpr AVar & | operator= (const AVar &)=default |
constexpr AVar & | operator= (AVar &&)=default |
constexpr CUDA bool | operator== (const AVar &other) const |
constexpr CUDA | AVar (AType atype, int var_id) |
constexpr CUDA | AVar (AType atype, size_t var_id) |
constexpr CUDA bool | is_untyped () const |
constexpr CUDA int | aty () const |
constexpr CUDA int | vid () const |
constexpr CUDA 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 |