TeDDy 4.1.0
Decision diagram library.
|
Cache for the apply opertaion. More...
#include <hash_tables.hpp>
Classes | |
struct | cache_entry |
Public Types | |
using | node_t = node< Data, Degree > |
Public Member Functions | |
apply_cache (int64 capacity) | |
apply_cache (apply_cache &&other) noexcept | |
apply_cache (apply_cache const &)=delete | |
auto | operator= (apply_cache const &)=delete |
auto | operator= (apply_cache &&)=delete |
auto | find (int32 opId, node_t *lhs, node_t *rhs) -> node_t * |
Looks up result of an operation. | |
auto | put (int32 opId, node_t *result, node_t *lhs, node_t *rhs) -> void |
Puts the result into the cache possibly overwriting old value. | |
auto | grow_capacity (int64 aproxCapacity) -> void |
Increases the capacity so that it is close to aproxCapacity Never lowers the capacity! | |
auto | remove_unused () -> void |
Removes entries pointing to unused nodes. | |
auto | clear () -> void |
Clears all entries. | |
Cache for the apply opertaion.
struct teddy::apply_cache::cache_entry |
auto teddy::apply_cache< Data, Degree >::find | ( | int32 | opId, |
node_t * | lhs, | ||
node_t * | rhs | ||
) | -> node_t* |
Looks up result of an operation.
opId | id of the operation |
lhs | first operand |
rhs | second operand |
auto teddy::apply_cache< Data, Degree >::put | ( | int32 | opId, |
node_t * | result, | ||
node_t * | lhs, | ||
node_t * | rhs | ||
) | -> void |
Puts the result into the cache possibly overwriting old value.
opId | id of the operation |
result | result |
lhs | first operand |
rhs | second operand |
auto teddy::apply_cache< Data, Degree >::grow_capacity | ( | int64 | aproxCapacity | ) | -> void |
Increases the capacity so that it is close to aproxCapacity
Never lowers the capacity!
aproxCapacity | new capacity |