\doxysection{batch\+\_\+cg.\+hpp}
\hypertarget{batch__cg_8hpp_source}{}\label{batch__cg_8hpp_source}\index{ginkgo/core/solver/batch\_cg.hpp@{ginkgo/core/solver/batch\_cg.hpp}}

\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{//\ SPDX-\/FileCopyrightText:\ 2017\ -\/\ 2025\ The\ Ginkgo\ authors}}
\DoxyCodeLine{00002\ \textcolor{comment}{//}}
\DoxyCodeLine{00003\ \textcolor{comment}{//\ SPDX-\/License-\/Identifier:\ BSD-\/3-\/Clause}}
\DoxyCodeLine{00004\ }
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#ifndef\ GKO\_PUBLIC\_CORE\_SOLVER\_BATCH\_CG\_HPP\_}}
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#define\ GKO\_PUBLIC\_CORE\_SOLVER\_BATCH\_CG\_HPP\_}}
\DoxyCodeLine{00007\ }
\DoxyCodeLine{00008\ }
\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#include\ <vector>}}
\DoxyCodeLine{00010\ }
\DoxyCodeLine{00011\ \textcolor{preprocessor}{\#include\ <ginkgo/core/base/batch\_lin\_op.hpp>}}
\DoxyCodeLine{00012\ \textcolor{preprocessor}{\#include\ <ginkgo/core/base/batch\_multi\_vector.hpp>}}
\DoxyCodeLine{00013\ \textcolor{preprocessor}{\#include\ <ginkgo/core/base/exception\_helpers.hpp>}}
\DoxyCodeLine{00014\ \textcolor{preprocessor}{\#include\ <ginkgo/core/base/lin\_op.hpp>}}
\DoxyCodeLine{00015\ \textcolor{preprocessor}{\#include\ <ginkgo/core/base/types.hpp>}}
\DoxyCodeLine{00016\ \textcolor{preprocessor}{\#include\ <ginkgo/core/solver/batch\_solver\_base.hpp>}}
\DoxyCodeLine{00017\ \textcolor{preprocessor}{\#include\ <ginkgo/core/stop/batch\_stop\_enum.hpp>}}
\DoxyCodeLine{00018\ }
\DoxyCodeLine{00019\ }
\DoxyCodeLine{00020\ \textcolor{keyword}{namespace\ }\doxymbox{\hyperlink{namespacegko}{gko}}\ \{}
\DoxyCodeLine{00021\ \textcolor{keyword}{namespace\ }batch\ \{}
\DoxyCodeLine{00022\ \textcolor{keyword}{namespace\ }solver\ \{}
\DoxyCodeLine{00023\ }
\DoxyCodeLine{00024\ }
\DoxyCodeLine{00049\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ ValueType\ =\ default\_precision>}
\DoxyCodeLine{00050\ \textcolor{keyword}{class\ }Cg\ final\ :\ \textcolor{keyword}{public}\ EnableBatchSolver<Cg<ValueType>,\ ValueType>\ \{}
\DoxyCodeLine{00051\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1batch_1_1EnableBatchLinOp}{EnableBatchLinOp}}<Cg>;}
\DoxyCodeLine{00052\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1EnablePolymorphicObject}{EnablePolymorphicObject}}<Cg,\ \doxymbox{\hyperlink{classgko_1_1batch_1_1BatchLinOp}{BatchLinOp}}>;}
\DoxyCodeLine{00053\ \ \ \ \ GKO\_ASSERT\_SUPPORTED\_VALUE\_TYPE;}
\DoxyCodeLine{00054\ }
\DoxyCodeLine{00055\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00056\ \ \ \ \ \textcolor{keyword}{using\ }value\_type\ =\ ValueType;}
\DoxyCodeLine{00057\ \ \ \ \ \textcolor{keyword}{using\ }real\_type\ =\ \doxymbox{\hyperlink{namespacegko_a107302a750bfa82a2107c77293f791c9}{gko::remove\_complex<ValueType>}};}
\DoxyCodeLine{00058\ }
\DoxyCodeLine{00059\ \ \ \ \ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1batch_1_1solver_1_1Cg_1_1Factory}{Factory}};}
\DoxyCodeLine{00060\ }
\DoxyCodeLine{00061\ \ \ \ \ \textcolor{keyword}{struct\ }\doxymbox{\hyperlink{structgko_1_1batch_1_1solver_1_1Cg_1_1parameters__type}{parameters\_type}}}
\DoxyCodeLine{00062\ \ \ \ \ \ \ \ \ :\ \doxymbox{\hyperlink{structgko_1_1batch_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters}{enable\_preconditioned\_iterative\_solver\_factory\_parameters}}<}
\DoxyCodeLine{00063\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ parameters\_type,\ Factory>\ \{\};}
\DoxyCodeLine{00064\ \ \ \ \ \doxymbox{\hyperlink{group__BatchLinOp_gab7f0cd5a4520a215974412e6fff4f25f}{GKO\_ENABLE\_BATCH\_LIN\_OP\_FACTORY}}(Cg,\ parameters,\ Factory);}
\DoxyCodeLine{00065\ \ \ \ \ \doxymbox{\hyperlink{group__LinOp_ga521f65604cc4cf427dcb2ecfa49b757c}{GKO\_ENABLE\_BUILD\_METHOD}}(Factory);}
\DoxyCodeLine{00066\ }
\DoxyCodeLine{00067\ \textcolor{keyword}{private}:}
\DoxyCodeLine{00068\ \ \ \ \ \textcolor{keyword}{explicit}\ Cg(std::shared\_ptr<const\ Executor>\ exec);}
\DoxyCodeLine{00069\ }
\DoxyCodeLine{00070\ \ \ \ \ \textcolor{keyword}{explicit}\ Cg(\textcolor{keyword}{const}\ Factory*\ factory,}
\DoxyCodeLine{00071\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::shared\_ptr<const\ BatchLinOp>\ system\_matrix);}
\DoxyCodeLine{00072\ }
\DoxyCodeLine{00073\ \ \ \ \ \textcolor{keywordtype}{void}\ solver\_apply(}
\DoxyCodeLine{00074\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{MultiVector<ValueType>}}*\ b,\ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{MultiVector<ValueType>}}*\ x,}
\DoxyCodeLine{00075\ \ \ \ \ \ \ \ \ log::detail::log\_data<real\_type>*\ log\_data)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00076\ \};}
\DoxyCodeLine{00077\ }
\DoxyCodeLine{00078\ }
\DoxyCodeLine{00079\ \}\ \ \textcolor{comment}{//\ namespace\ solver}}
\DoxyCodeLine{00080\ \}\ \ \textcolor{comment}{//\ namespace\ batch}}
\DoxyCodeLine{00081\ \}\ \ \textcolor{comment}{//\ namespace\ gko}}
\DoxyCodeLine{00082\ }
\DoxyCodeLine{00083\ }
\DoxyCodeLine{00084\ \textcolor{preprocessor}{\#endif\ \ }\textcolor{comment}{//\ GKO\_PUBLIC\_CORE\_SOLVER\_BATCH\_CG\_HPP\_}}

\end{DoxyCode}
