\doxysection{gko::\+stopping\+\_\+status Class Reference}
\hypertarget{classgko_1_1stopping__status}{}\label{classgko_1_1stopping__status}\index{gko::stopping\_status@{gko::stopping\_status}}


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




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

\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
bool \doxymbox{\hyperlink{classgko_1_1stopping__status_af374c7164dcf3adb27a15a669714abcc}{has\+\_\+stopped}} () const noexcept
\begin{DoxyCompactList}\small\item\em Check if any stopping criteria was fulfilled. \end{DoxyCompactList}\item 
bool \doxymbox{\hyperlink{classgko_1_1stopping__status_a825e74142fdaf17e9570d06db0b378db}{has\+\_\+converged}} () const noexcept
\begin{DoxyCompactList}\small\item\em Check if convergence was reached. \end{DoxyCompactList}\item 
bool \doxymbox{\hyperlink{classgko_1_1stopping__status_a7c8b094d37449098ca4ddb1f4bbf10bd}{is\+\_\+finalized}} () const noexcept
\begin{DoxyCompactList}\small\item\em Check if the corresponding vector stores the finalized result. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{namespacegko_a06d96f1ecdca6b86399173969771c3fb}{uint8}} \doxymbox{\hyperlink{classgko_1_1stopping__status_ae3c4d0e7a01f4e1892a09f418ea0907d}{get\+\_\+id}} () const noexcept
\begin{DoxyCompactList}\small\item\em Get the id of the stopping criterion which caused the stop. \end{DoxyCompactList}\item 
\Hypertarget{classgko_1_1stopping__status_afb227192722d1c20d11ae15719e1f930}\label{classgko_1_1stopping__status_afb227192722d1c20d11ae15719e1f930} 
void {\bfseries reset} () noexcept
\begin{DoxyCompactList}\small\item\em Clear all flags. \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1stopping__status_ab13d4f214328c9574fdef6168c671de0}{stop}} (\doxymbox{\hyperlink{namespacegko_a06d96f1ecdca6b86399173969771c3fb}{uint8}} id, bool set\+\_\+finalized=true) noexcept
\begin{DoxyCompactList}\small\item\em Call if a stop occurred due to a hard limit (and convergence was not reached). \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1stopping__status_a611bf8c81a8e3b22bab8f19ff68e8a12}{converge}} (\doxymbox{\hyperlink{namespacegko_a06d96f1ecdca6b86399173969771c3fb}{uint8}} id, bool set\+\_\+finalized=true) noexcept
\begin{DoxyCompactList}\small\item\em Call if convergence occurred. \end{DoxyCompactList}\item 
\Hypertarget{classgko_1_1stopping__status_a56d82a88a20cc1954981e75a66e996bc}\label{classgko_1_1stopping__status_a56d82a88a20cc1954981e75a66e996bc} 
void {\bfseries finalize} () noexcept
\begin{DoxyCompactList}\small\item\em Set the result to be finalized (it needs to be stopped or converged first). \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
bool \doxymbox{\hyperlink{classgko_1_1stopping__status_a45c932e7bd73353ad26ad3991780e60e}{operator==}} (const \doxymbox{\hyperlink{classgko_1_1stopping__status}{stopping\+\_\+status}} \&x, const \doxymbox{\hyperlink{classgko_1_1stopping__status}{stopping\+\_\+status}} \&y)
\begin{DoxyCompactList}\small\item\em Checks if two stopping statuses are equivalent. \end{DoxyCompactList}\item 
bool \doxymbox{\hyperlink{classgko_1_1stopping__status_ad201df1712533eab86e762772ac7170b}{operator!=}} (const \doxymbox{\hyperlink{classgko_1_1stopping__status}{stopping\+\_\+status}} \&x, const \doxymbox{\hyperlink{classgko_1_1stopping__status}{stopping\+\_\+status}} \&y)
\begin{DoxyCompactList}\small\item\em Checks if two stopping statuses are different. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
This class is used to keep track of the stopping status of one vector. 

\label{doc-func-members}
\Hypertarget{classgko_1_1stopping__status_doc-func-members}
\doxysubsection{Member Function Documentation}
\Hypertarget{classgko_1_1stopping__status_a611bf8c81a8e3b22bab8f19ff68e8a12}\index{gko::stopping\_status@{gko::stopping\_status}!converge@{converge}}
\index{converge@{converge}!gko::stopping\_status@{gko::stopping\_status}}
\doxysubsubsection{\texorpdfstring{converge()}{converge()}}
{\footnotesize\ttfamily \label{classgko_1_1stopping__status_a611bf8c81a8e3b22bab8f19ff68e8a12} 
void gko::\+stopping\+\_\+status::\+converge (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{namespacegko_a06d96f1ecdca6b86399173969771c3fb}{uint8}}}]{id}{, }\item[{bool}]{set\+\_\+finalized}{ = {\ttfamily true}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Call if convergence occurred. 


\begin{DoxyParams}{Parameters}
{\em id} & id of the stopping criteria. \\
\hline
{\em set\+\_\+finalized} & Controls if the current version should count as finalized (set to true) or not (set to false). \\
\hline
\end{DoxyParams}


References \doxymbox{\hyperlink{classgko_1_1stopping__status_af374c7164dcf3adb27a15a669714abcc}{has\+\_\+stopped()}}.

\Hypertarget{classgko_1_1stopping__status_ae3c4d0e7a01f4e1892a09f418ea0907d}\index{gko::stopping\_status@{gko::stopping\_status}!get\_id@{get\_id}}
\index{get\_id@{get\_id}!gko::stopping\_status@{gko::stopping\_status}}
\doxysubsubsection{\texorpdfstring{get\_id()}{get\_id()}}
{\footnotesize\ttfamily \label{classgko_1_1stopping__status_ae3c4d0e7a01f4e1892a09f418ea0907d} 
\doxymbox{\hyperlink{namespacegko_a06d96f1ecdca6b86399173969771c3fb}{uint8}} gko::\+stopping\+\_\+status::\+get\+\_\+id (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



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

\begin{DoxyReturn}{Returns}
Returns the id of the stopping criterion which caused the stop. 
\end{DoxyReturn}


Referenced by \doxymbox{\hyperlink{classgko_1_1stopping__status_af374c7164dcf3adb27a15a669714abcc}{has\+\_\+stopped()}}.

\Hypertarget{classgko_1_1stopping__status_a825e74142fdaf17e9570d06db0b378db}\index{gko::stopping\_status@{gko::stopping\_status}!has\_converged@{has\_converged}}
\index{has\_converged@{has\_converged}!gko::stopping\_status@{gko::stopping\_status}}
\doxysubsubsection{\texorpdfstring{has\_converged()}{has\_converged()}}
{\footnotesize\ttfamily \label{classgko_1_1stopping__status_a825e74142fdaf17e9570d06db0b378db} 
bool gko::\+stopping\+\_\+status::\+has\+\_\+converged (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Check if convergence was reached. 

\begin{DoxyReturn}{Returns}
Returns true if convergence was reached. 
\end{DoxyReturn}
\Hypertarget{classgko_1_1stopping__status_af374c7164dcf3adb27a15a669714abcc}\index{gko::stopping\_status@{gko::stopping\_status}!has\_stopped@{has\_stopped}}
\index{has\_stopped@{has\_stopped}!gko::stopping\_status@{gko::stopping\_status}}
\doxysubsubsection{\texorpdfstring{has\_stopped()}{has\_stopped()}}
{\footnotesize\ttfamily \label{classgko_1_1stopping__status_af374c7164dcf3adb27a15a669714abcc} 
bool gko::\+stopping\+\_\+status::\+has\+\_\+stopped (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Check if any stopping criteria was fulfilled. 

\begin{DoxyReturn}{Returns}
Returns true if any stopping criteria was fulfilled. 
\end{DoxyReturn}


References \doxymbox{\hyperlink{classgko_1_1stopping__status_ae3c4d0e7a01f4e1892a09f418ea0907d}{get\+\_\+id()}}.



Referenced by \doxymbox{\hyperlink{classgko_1_1stopping__status_a611bf8c81a8e3b22bab8f19ff68e8a12}{converge()}}, \doxymbox{\hyperlink{classgko_1_1stopping__status_a56d82a88a20cc1954981e75a66e996bc}{finalize()}}, and \doxymbox{\hyperlink{classgko_1_1stopping__status_ab13d4f214328c9574fdef6168c671de0}{stop()}}.

\Hypertarget{classgko_1_1stopping__status_a7c8b094d37449098ca4ddb1f4bbf10bd}\index{gko::stopping\_status@{gko::stopping\_status}!is\_finalized@{is\_finalized}}
\index{is\_finalized@{is\_finalized}!gko::stopping\_status@{gko::stopping\_status}}
\doxysubsubsection{\texorpdfstring{is\_finalized()}{is\_finalized()}}
{\footnotesize\ttfamily \label{classgko_1_1stopping__status_a7c8b094d37449098ca4ddb1f4bbf10bd} 
bool gko::\+stopping\+\_\+status::\+is\+\_\+finalized (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Check if the corresponding vector stores the finalized result. 

\begin{DoxyReturn}{Returns}
Returns true if the corresponding vector stores the finalized result. 
\end{DoxyReturn}
\Hypertarget{classgko_1_1stopping__status_ab13d4f214328c9574fdef6168c671de0}\index{gko::stopping\_status@{gko::stopping\_status}!stop@{stop}}
\index{stop@{stop}!gko::stopping\_status@{gko::stopping\_status}}
\doxysubsubsection{\texorpdfstring{stop()}{stop()}}
{\footnotesize\ttfamily \label{classgko_1_1stopping__status_ab13d4f214328c9574fdef6168c671de0} 
void gko::\+stopping\+\_\+status::\+stop (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{namespacegko_a06d96f1ecdca6b86399173969771c3fb}{uint8}}}]{id}{, }\item[{bool}]{set\+\_\+finalized}{ = {\ttfamily true}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



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


\begin{DoxyParams}{Parameters}
{\em id} & id of the stopping criteria. \\
\hline
{\em set\+\_\+finalized} & Controls if the current version should count as finalized (set to true) or not (set to false). \\
\hline
\end{DoxyParams}


References \doxymbox{\hyperlink{classgko_1_1stopping__status_af374c7164dcf3adb27a15a669714abcc}{has\+\_\+stopped()}}.



\label{doc-related-members}
\Hypertarget{classgko_1_1stopping__status_doc-related-members}
\doxysubsection{Friends And Related Symbol Documentation}
\Hypertarget{classgko_1_1stopping__status_ad201df1712533eab86e762772ac7170b}\index{gko::stopping\_status@{gko::stopping\_status}!operator"!=@{operator"!=}}
\index{operator"!=@{operator"!=}!gko::stopping\_status@{gko::stopping\_status}}
\doxysubsubsection{\texorpdfstring{operator"!=}{operator!=}}
{\footnotesize\ttfamily \label{classgko_1_1stopping__status_ad201df1712533eab86e762772ac7170b} 
bool operator!= (\begin{DoxyParamCaption}\item[{const \doxymbox{\hyperlink{classgko_1_1stopping__status}{stopping\+\_\+status}} \&}]{x}{, }\item[{const \doxymbox{\hyperlink{classgko_1_1stopping__status}{stopping\+\_\+status}} \&}]{y}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}



Checks if two stopping statuses are different. 


\begin{DoxyParams}{Parameters}
{\em x} & a stopping status \\
\hline
{\em y} & a stopping status\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if and only if {\ttfamily !(x == y)} 
\end{DoxyReturn}


References \doxymbox{\hyperlink{classgko_1_1stopping__status_ad201df1712533eab86e762772ac7170b}{operator!=}}.



Referenced by \doxymbox{\hyperlink{classgko_1_1stopping__status_ad201df1712533eab86e762772ac7170b}{operator!=}}.

\Hypertarget{classgko_1_1stopping__status_a45c932e7bd73353ad26ad3991780e60e}\index{gko::stopping\_status@{gko::stopping\_status}!operator==@{operator==}}
\index{operator==@{operator==}!gko::stopping\_status@{gko::stopping\_status}}
\doxysubsubsection{\texorpdfstring{operator==}{operator==}}
{\footnotesize\ttfamily \label{classgko_1_1stopping__status_a45c932e7bd73353ad26ad3991780e60e} 
bool operator== (\begin{DoxyParamCaption}\item[{const \doxymbox{\hyperlink{classgko_1_1stopping__status}{stopping\+\_\+status}} \&}]{x}{, }\item[{const \doxymbox{\hyperlink{classgko_1_1stopping__status}{stopping\+\_\+status}} \&}]{y}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}



Checks if two stopping statuses are equivalent. 


\begin{DoxyParams}{Parameters}
{\em x} & a stopping status \\
\hline
{\em y} & a stopping status\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if and only if both {\ttfamily x} and {\ttfamily y} have the same mask and converged and finalized state 
\end{DoxyReturn}


References \doxymbox{\hyperlink{classgko_1_1stopping__status_a45c932e7bd73353ad26ad3991780e60e}{operator==}}.



Referenced by \doxymbox{\hyperlink{classgko_1_1stopping__status_a45c932e7bd73353ad26ad3991780e60e}{operator==}}.



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