libsemigroups  v3.0.0
C++ library for semigroups and monoids
Loading...
Searching...
No Matches

Defined in sims.hpp.

On this page we describe the SimsStats class. The purpose of this class is to collect some statistics related to Sims1 or Sims2 class template.

See also
Sims1
Sims2

Public Member Functions

 SimsStats ()
 
 SimsStats (SimsStats &&that)
 
 SimsStats (SimsStats const &that)
 
SimsStatsinit ()
 Reinitialize an existing SimsStats object.
 
SimsStatsinit (SimsStats const &that)
 Initialize from SimsStats.
 
SimsStatsoperator= (SimsStats &&that)
 
SimsStatsoperator= (SimsStats const &that)
 
SimsStatsstats_check_point ()
 Store the current statistic values.
 
SimsStatsstats_zero ()
 Set all statistics to zero.
 

Constructor & Destructor Documentation

◆ SimsStats() [1/3]

SimsStats ( )

Default constructor.

Constructs a SimsStats object with all statistics set to zero.

Exceptions
This function guarantees not to throw a LibsemigroupsException.

◆ SimsStats() [2/3]

SimsStats ( SimsStats const & that)
inline

Copy constructor.

Returns a SimsStats object that is a copy of that. The state of the new SimsStats object is the same as that. This triggers an atomic load on the member variables of that.

Parameters
thatthe SimsStats to copy.
Exceptions
This function guarantees not to throw a LibsemigroupsException.

◆ SimsStats() [3/3]

SimsStats ( SimsStats && that)
inline

Move constructor.

Returns a SimsStats object that is initialized from that. The state of the new SimsStats object is the same as that. This triggers an atomic load on the member variables of that.

Parameters
thatthe SimsStats to move from.
Exceptions
This function guarantees not to throw a LibsemigroupsException.

Member Function Documentation

◆ init()

SimsStats & init ( )
inline

This function puts a SimsStats object back into the same state as if it had been newly default constructed.

Returns
A reference to this.
Exceptions
This function guarantees not to throw a LibsemigroupsException.

◆ operator=() [1/2]

SimsStats & operator= ( SimsStats && that)
inline

Move assignment operator.

Assigns a SimsStats object that is initialized from that. The state of the new SimsStats object is the same as that. This triggers an atomic load on the member variables of that.

Parameters
thatthe SimsStats to move from.
Exceptions
This function guarantees not to throw a LibsemigroupsException.

◆ operator=() [2/2]

SimsStats & operator= ( SimsStats const & that)
inline

Copy assignment operator.

Assigns a SimsStats object that is a copy of that. The state of the new SimsStats object is the same as that. This triggers an atomic load on the member variables of that.

Parameters
thatthe SimsStats to move from.
Exceptions
This function guarantees not to throw a LibsemigroupsException.

◆ stats_check_point()

SimsStats & stats_check_point ( )
inline

Overwrites the values of count_last and total_pending_last with count_now and total_pending_now respectively. Triggers an atomic load on count_now and total_pending_now.

Exceptions
This function guarantees not to throw a LibsemigroupsException.

◆ stats_zero()

SimsStats & stats_zero ( )

Set all statistics to zero.

Exceptions
This function guarantees not to throw a LibsemigroupsException.

Member Data Documentation

◆ count_last

std::atomic_uint64_t count_last

Number of congruences found at time of last report.

This member holds the number of congruences found by the Sims1 or Sims2 algorithm at the time of the last call to stats_check_point.

See also
stats_check_point
count_now

◆ count_now

std::atomic_uint64_t count_now

Number of congruences found up to this point.

This member tracks the total number of congruences found during the running of the Sims1 or Sims2 algorithm.

See also
count_last

◆ max_pending

std::atomic_uint64_t max_pending

The maximum number of pending definitions.

A pending definition is just an edge that will be defined at some point in the future in the WordGraph represented by a Sims1 or Sims2 instance at any given moment.

This member tracks the maximum number of such pending definitions that occur during the running of the algorithms in Sims1 or Sims2.

◆ total_pending_last

std::atomic_uint64_t total_pending_last

The total number of pending definitions at time of last report.

A pending definition is just an edge that will be defined at some point in the future in the WordGraph represented by a Sims1 or Sims2 instance at any given moment.

This member tracks the total number of pending definitions that occur at the time of the last call to stats_check_point. This is the same as the number of nodes in the search tree encounter during the running of Sims1 or Sims2.

See also
stats_check_point
total_pending_now

◆ total_pending_now

std::atomic_uint64_t total_pending_now

The total number of pending definitions.

A pending definition is just an edge that will be defined at some point in the future in the WordGraph represented by a Sims1 or Sims2 instance at any given moment.

This member tracks the total number of pending definitions that occur during the running of the algorithms in Sims1 or Sims2. This is the same as the number of nodes in the search tree encounter during the running of Sims1 or Sims2.

See also
total_pending_last

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