stopping_status Class Reference

stopping_status Class Reference#

Reference API: gko::stopping_status Class Reference
Reference API
gko::stopping_status Class Reference

#include <ginkgo/core/stop/stopping_status.hpp>

Public Member Functions

bool has_stopped () const noexcept
 
bool has_converged () const noexcept
 
bool is_finalized () const noexcept
 
uint8 get_id () const noexcept
 
void reset () noexcept
 
void stop (uint8 id, bool set_finalized=true) noexcept
 
void converge (uint8 id, bool set_finalized=true) noexcept
 
void finalize () noexcept
 

Friends

bool operator== (const stopping_status &x, const stopping_status &y) noexcept
 
bool operator!= (const stopping_status &x, const stopping_status &y) noexcept
 

Detailed Description

This class is used to keep track of the stopping status of one vector.

Member Function Documentation

◆ converge()

void gko::stopping_status::converge ( uint8  id,
bool  set_finalized = true 
)
inlinenoexcept

Call if convergence occurred.

Parameters
idid of the stopping criteria.
set_finalizedControls if the current version should count as finalized (set to true) or not (set to false).

References has_stopped().

◆ finalize()

void gko::stopping_status::finalize ( )
inlinenoexcept

Set the result to be finalized (it needs to be stopped or converged first).

References has_stopped().

◆ get_id()

uint8 gko::stopping_status::get_id ( ) const
inlinenoexcept

Get the id of the stopping criterion which caused the stop.

Returns
Returns the id of the stopping criterion which caused the stop.

Referenced by has_stopped().

◆ has_converged()

bool gko::stopping_status::has_converged ( ) const
inlinenoexcept

Check if convergence was reached.

Returns
Returns true if convergence was reached.

◆ has_stopped()

bool gko::stopping_status::has_stopped ( ) const
inlinenoexcept

Check if any stopping criteria was fulfilled.

Returns
Returns true if any stopping criteria was fulfilled.

References get_id().

Referenced by converge(), finalize(), and stop().

◆ is_finalized()

bool gko::stopping_status::is_finalized ( ) const
inlinenoexcept

Check if the corresponding vector stores the finalized result.

Returns
Returns true if the corresponding vector stores the finalized result.

◆ reset()

void gko::stopping_status::reset ( )
inlinenoexcept

Clear all flags.

◆ stop()

void gko::stopping_status::stop ( uint8  id,
bool  set_finalized = true 
)
inlinenoexcept

Call if a stop occurred due to a hard limit (and convergence was not reached).

Parameters
idid of the stopping criteria.
set_finalizedControls if the current version should count as finalized (set to true) or not (set to false).

References has_stopped().

Friends And Related Symbol Documentation

◆ operator!=

bool operator!= ( const stopping_status x,
const stopping_status y 
)
friend

Checks if two stopping statuses are different.

Parameters
xa stopping status
ya stopping status
Returns
true if and only if !(x == y)

◆ operator==

bool operator== ( const stopping_status x,
const stopping_status y 
)
friend

Checks if two stopping statuses are equivalent.

Parameters
xa stopping status
ya stopping status
Returns
true if and only if both x and y have the same mask and converged and finalized state

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