|
Infrared
|
Functions evaluate assignments of a subset of variables. More...
#include <functions.hpp>


Public Types | |
| using | self_t = Function< FunValue > |
| using | base_t = self_t |
| using | assignment_t = Assignment |
| using | fun_value_t = FunValue |
Public Types inherited from ired::Dependency | |
| using | var_idx_t = int |
Public Member Functions | |
| Function (const std::vector< var_idx_t > &vars) | |
| virtual fun_value_t | operator() (const assignment_t &) const =0 |
| virtual bool | guaranteed_zero (const assignment_t &a) const |
| virtual bool | auto_materialize () const |
| virtual std::string | name () const |
| virtual | ~Function () |
Public Member Functions inherited from ired::Dependency | |
| Dependency (const std::vector< var_idx_t > &vars) | |
| const std::vector< var_idx_t > & | vars () const |
| virtual | ~Dependency () |
Functions evaluate assignments of a subset of variables.
| using ired::Function< FunValue >::assignment_t = Assignment |
| using ired::Function< FunValue >::base_t = self_t |
| using ired::Function< FunValue >::fun_value_t = FunValue |
| using ired::Function< FunValue >::self_t = Function<FunValue> |
|
inlineexplicit |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in ired::MaterializedFunction< FunValue, ContainerS >.
|
inlinevirtual |
quick check whether function is definitely zero at assignment
| a | assignment |
some functions know how to quick check for zero (in particular sparse materialized functions)
Reimplemented in ired::MaterializedFunction< FunValue, ContainerS >.
|
inlinevirtual |
Reimplemented in ired::MaterializedFunction< FunValue, ContainerS >.
|
pure virtual |
Implemented in ired::MaterializedFunction< FunValue, ContainerS >.