Ginkgo  Generated from pipelines/1556235455 branch based on develop. Ginkgo version 1.9.0
A numerical linear algebra library targeting many-core architectures
Public Member Functions | Friends | List of all members
gko::stopping_status Class Reference

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

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

Public Member Functions

bool has_stopped () const noexcept
 Check if any stopping criteria was fulfilled. More...
 
bool has_converged () const noexcept
 Check if convergence was reached. More...
 
bool is_finalized () const noexcept
 Check if the corresponding vector stores the finalized result. More...
 
uint8 get_id () const noexcept
 Get the id of the stopping criterion which caused the stop. More...
 
void reset () noexcept
 Clear all flags.
 
void stop (uint8 id, bool set_finalized=true) noexcept
 Call if a stop occurred due to a hard limit (and convergence was not reached). More...
 
void converge (uint8 id, bool set_finalized=true) noexcept
 Call if convergence occurred. More...
 
void finalize () noexcept
 Set the result to be finalized (it needs to be stopped or converged first).
 

Friends

bool operator== (const stopping_status &x, const stopping_status &y) noexcept
 Checks if two stopping statuses are equivalent. More...
 
bool operator!= (const stopping_status &x, const stopping_status &y) noexcept
 Checks if two stopping statuses are different. More...
 

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().

◆ 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.

◆ 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 Function 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: