\doxysection{gko::\+stop::\+Criterion Class Reference}
\hypertarget{classgko_1_1stop_1_1Criterion}{}\label{classgko_1_1stop_1_1Criterion}\index{gko::stop::Criterion@{gko::stop::Criterion}}


The \doxylink{classgko_1_1stop_1_1Criterion}{Criterion} class is a base class for all stopping criteria.  




{\ttfamily \+\#include $<$ginkgo/\+core/\+stop/\+criterion.\+hpp$>$}



Inheritance diagram for gko::\+stop::\+Criterion:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=218pt]{classgko_1_1stop_1_1Criterion__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for gko::\+stop::\+Criterion:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=218pt]{classgko_1_1stop_1_1Criterion__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \doxymbox{\hyperlink{classgko_1_1stop_1_1Criterion_1_1Updater}{Updater}}
\begin{DoxyCompactList}\small\item\em The \doxylink{classgko_1_1stop_1_1Criterion_1_1Updater}{Updater} class serves for convenient argument passing to the \doxylink{classgko_1_1stop_1_1Criterion}{Criterion}\textquotesingle{}s check function. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\doxymbox{\hyperlink{classgko_1_1stop_1_1Criterion_1_1Updater}{Updater}} \doxymbox{\hyperlink{classgko_1_1stop_1_1Criterion_a47e22c46eaa742d709dcbf0d26d93e6c}{update}} ()
\begin{DoxyCompactList}\small\item\em Returns the updater object. \end{DoxyCompactList}\item 
bool \doxymbox{\hyperlink{classgko_1_1stop_1_1Criterion_ae0bb4923fab4d2a60e08c5e5fa57277c}{check}} (\doxymbox{\hyperlink{namespacegko_a06d96f1ecdca6b86399173969771c3fb}{uint8}} stopping\+\_\+id, bool set\+\_\+finalized, \doxymbox{\hyperlink{classgko_1_1array}{array}}$<$ \doxymbox{\hyperlink{classgko_1_1stopping__status}{stopping\+\_\+status}} $>$ \texorpdfstring{$\ast$}{*}stop\+\_\+status, bool \texorpdfstring{$\ast$}{*}one\+\_\+changed, const \doxymbox{\hyperlink{classgko_1_1stop_1_1Criterion_1_1Updater}{Updater}} \&updater)
\begin{DoxyCompactList}\small\item\em This checks whether convergence was reached for a certain criterion. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The \doxylink{classgko_1_1stop_1_1Criterion}{Criterion} class is a base class for all stopping criteria. 

It contains a factory to instantiate criteria. It is up to each specific stopping criterion to decide what to do with the data that is passed to it.

Note that depending on the criterion, convergence may not have happened after stopping. 

\label{doc-func-members}
\Hypertarget{classgko_1_1stop_1_1Criterion_doc-func-members}
\doxysubsection{Member Function Documentation}
\Hypertarget{classgko_1_1stop_1_1Criterion_ae0bb4923fab4d2a60e08c5e5fa57277c}\index{gko::stop::Criterion@{gko::stop::Criterion}!check@{check}}
\index{check@{check}!gko::stop::Criterion@{gko::stop::Criterion}}
\doxysubsubsection{\texorpdfstring{check()}{check()}}
{\footnotesize\ttfamily \label{classgko_1_1stop_1_1Criterion_ae0bb4923fab4d2a60e08c5e5fa57277c} 
bool gko::\+stop::\+\+Criterion::\+check (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{namespacegko_a06d96f1ecdca6b86399173969771c3fb}{uint8}}}]{stopping\+\_\+id}{, }\item[{bool}]{set\+\_\+finalized}{, }\item[{\doxymbox{\hyperlink{classgko_1_1array}{array}}$<$ \doxymbox{\hyperlink{classgko_1_1stopping__status}{stopping\+\_\+status}} $>$ \texorpdfstring{$\ast$}{*}}]{stop\+\_\+status}{, }\item[{bool \texorpdfstring{$\ast$}{*}}]{one\+\_\+changed}{, }\item[{const \doxymbox{\hyperlink{classgko_1_1stop_1_1Criterion_1_1Updater}{Updater}} \&}]{updater}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



This checks whether convergence was reached for a certain criterion. 

The actual implantation of the criterion goes here.


\begin{DoxyParams}{Parameters}
{\em stopping\+\_\+id} & id of the stopping criterion \\
\hline
{\em set\+\_\+finalized} & Controls if the current version should count as finalized or not \\
\hline
{\em stop\+\_\+status} & status of the stopping criterion \\
\hline
{\em one\+\_\+changed} & indicates if the status of a vector has changed \\
\hline
{\em updater} & the \doxylink{classgko_1_1stop_1_1Criterion_1_1Updater}{Updater} object containing all the information\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether convergence was completely reached 
\end{DoxyReturn}
\Hypertarget{classgko_1_1stop_1_1Criterion_a47e22c46eaa742d709dcbf0d26d93e6c}\index{gko::stop::Criterion@{gko::stop::Criterion}!update@{update}}
\index{update@{update}!gko::stop::Criterion@{gko::stop::Criterion}}
\doxysubsubsection{\texorpdfstring{update()}{update()}}
{\footnotesize\ttfamily \label{classgko_1_1stop_1_1Criterion_a47e22c46eaa742d709dcbf0d26d93e6c} 
\doxymbox{\hyperlink{classgko_1_1stop_1_1Criterion_1_1Updater}{Updater}} gko::\+stop::\+\+Criterion::\+update (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Returns the updater object. 

\begin{DoxyReturn}{Returns}
the updater object 
\end{DoxyReturn}


The documentation for this class was generated from the following file:\+\begin{DoxyCompactItemize}
\item 
ginkgo/\+core/\+stop/\+criterion.\+hpp\end{DoxyCompactItemize}
