mCRL2
Loading...
Searching...
No Matches
mcrl2::lts::detail::check_complexity::block_bunch_dnj_counter_t Class Reference

#include <check_complexity.h>

Inheritance diagram for mcrl2::lts::detail::check_complexity::block_bunch_dnj_counter_t:
mcrl2::lts::detail::check_complexity::counter_t< BLOCK_BUNCH_dnj_MIN, BLOCK_BUNCH_dnj_MAX, BLOCK_BUNCH_dnj_MIN_TEMP,(enum counter_type)(BLOCK_BUNCH_dnj_MAX_TEMP+1)>

Public Member Functions

bool no_temporary_work (unsigned const max_bunch)
 ensures there is no orphaned temporary work counter
 
bool has_temporary_work ()
 
void reset_temporary_work ()
 
- Public Member Functions inherited from mcrl2::lts::detail::check_complexity::counter_t< BLOCK_BUNCH_dnj_MIN, BLOCK_BUNCH_dnj_MAX, BLOCK_BUNCH_dnj_MIN_TEMP,(enum counter_type)(BLOCK_BUNCH_dnj_MAX_TEMP+1)>
bool cancel_work (enum counter_type const ctr)
 cancel temporary work
 
bool finalise_work (enum counter_type const from, enum counter_type const to, unsigned const max_value)
 move temporary work to its final counter
 
 counter_t ()
 constructor, initializes all counters to 0
 
bool add_work (enum counter_type const ctr, unsigned const max_value)
 register work with some counter
 
bool move_work (enum counter_type const from, enum counter_type const to, unsigned const max_value)
 move temporary work to another counter
 

Additional Inherited Members

- Public Attributes inherited from mcrl2::lts::detail::check_complexity::counter_t< BLOCK_BUNCH_dnj_MIN, BLOCK_BUNCH_dnj_MAX, BLOCK_BUNCH_dnj_MIN_TEMP,(enum counter_type)(BLOCK_BUNCH_dnj_MAX_TEMP+1)>
unsigned char counters [LastCounter - FirstCounter+1]
 actual space to store the counters
 

Detailed Description

Definition at line 1149 of file check_complexity.h.

Member Function Documentation

◆ has_temporary_work()

bool mcrl2::lts::detail::check_complexity::block_bunch_dnj_counter_t::has_temporary_work ( )
inline

Definition at line 1202 of file check_complexity.h.

◆ no_temporary_work()

bool mcrl2::lts::detail::check_complexity::block_bunch_dnj_counter_t::no_temporary_work ( unsigned const  max_bunch)
inline

ensures there is no orphaned temporary work counter

When a refinement has finished, all work registered with temporary counters should have been moved to normal counters. This function verifies this property. The function additionally ensures that no work counter exceeds its maximal allowed value, based on the size of the block or its constellation. (The size of the constellation is the unit used for counters related to [blocks in the] splitter constellation; the size of the block is used for other counters.)

Parameters
max_bunchilog2(n^2) - ilog2(size of bunch)
Returns
false iff some temporary counter was nonzero. In that case, also the beginning of an error message is printed. The function should be called through the macro mCRL2complexity(), because that macro will print the remainder of the error message as needed.

Definition at line 1169 of file check_complexity.h.

◆ reset_temporary_work()

void mcrl2::lts::detail::check_complexity::block_bunch_dnj_counter_t::reset_temporary_work ( )
inline

Definition at line 1207 of file check_complexity.h.


The documentation for this class was generated from the following file: