public interface ZbddCapacityAdvisor
Zbdd.Zbdd(ZbddCapacityAdvisor)| Modifier and Type | Method and Description |
|---|---|
@Range(from=1L,to=357913941L) int |
adviseIncrement(@NotNull ZbddStatistics statistics) |
@Range(from=8L,to=357913941L) int |
getInitialCapacity()
Return the initial number of nodes available for zbdd operations.
|
@Range(from=1L,to=357913941L) int |
getMinimumFreeNodes(@NotNull ZbddStatistics statistics)
Returns the minimum number of free nodes.
|
boolean |
isGCRequired(@NotNull ZbddStatistics statistics)
Tells whether dead nodes should be garbage collected.
|
@Contract(pure=true) @Range(from=8L,to=357913941L) int getInitialCapacity()
Return the initial number of nodes available for zbdd operations.
@Contract(pure=true) @Range(from=1L,to=357913941L) int getMinimumFreeNodes(@NotNull @NotNull ZbddStatistics statistics)
statistics - current zbdd statistics, not nulladviseIncrement(ZbddStatistics)@Contract(pure=true) @Range(from=1L,to=357913941L) int adviseIncrement(@NotNull @NotNull ZbddStatistics statistics)
@Contract(pure=true) boolean isGCRequired(@NotNull @NotNull ZbddStatistics statistics)
Tells whether dead nodes should be garbage collected. This method is invoked as soon as a new node is created and the number of free nodes is 1 or 0.
Garbage collection is an expensive operation and only useful if a substantial number of nodes are exopected to be freed in the process. The current number of dead nodes may be a good indicator but is not a guarantee that those nodes are invalidated.
statistics - current zbdd statistics, not nulltrue if garbage collection is required, false otherwise