\doxysection{gko::\+solver::\+Upper\+Trs\texorpdfstring{$<$}{<} Value\+Type, Index\+Type \texorpdfstring{$>$}{>}::\+parameters\+\_\+type Struct Reference}
\hypertarget{structgko_1_1solver_1_1UpperTrs_1_1parameters__type}{}\label{structgko_1_1solver_1_1UpperTrs_1_1parameters__type}\index{gko::solver::UpperTrs$<$ ValueType, IndexType $>$::parameters\_type@{gko::solver::UpperTrs$<$ ValueType, IndexType $>$::parameters\_type}}


Inheritance diagram for gko::\+solver::\+Upper\+Trs\texorpdfstring{$<$}{<} Value\+Type, Index\+Type \texorpdfstring{$>$}{>}::\+parameters\+\_\+type:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=253pt]{structgko_1_1solver_1_1UpperTrs_1_1parameters__type__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for gko::\+solver::\+Upper\+Trs\texorpdfstring{$<$}{<} Value\+Type, Index\+Type \texorpdfstring{$>$}{>}::\+parameters\+\_\+type:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=253pt]{structgko_1_1solver_1_1UpperTrs_1_1parameters__type__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{structgko_1_1solver_1_1UpperTrs_1_1parameters__type_a753a72a714df4c2dc6df487f79adffd3}\label{structgko_1_1solver_1_1UpperTrs_1_1parameters__type_a753a72a714df4c2dc6df487f79adffd3} 
{\footnotesize template$<$typename... Args$>$ }\\auto {\bfseries with\+\_\+num\+\_\+rhs} (Args \&\&... \+\_\+value) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\item 
\Hypertarget{structgko_1_1solver_1_1UpperTrs_1_1parameters__type_a6e4de92fe59c7461684d38f7ca8983ea}\label{structgko_1_1solver_1_1UpperTrs_1_1parameters__type_a6e4de92fe59c7461684d38f7ca8983ea} 
{\footnotesize template$<$typename... Args$>$ }\\auto {\bfseries with\+\_\+unit\+\_\+diagonal} (Args \&\&... \+\_\+value) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\item 
\Hypertarget{structgko_1_1solver_1_1UpperTrs_1_1parameters__type_a8c8fb3577367b92beed66c6d7a56f1c6}\label{structgko_1_1solver_1_1UpperTrs_1_1parameters__type_a8c8fb3577367b92beed66c6d7a56f1c6} 
{\footnotesize template$<$typename... Args$>$ }\\auto {\bfseries with\+\_\+algorithm} (Args \&\&... \+\_\+value) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1enable__parameters__type}{gko::\+enable\+\_\+parameters\+\_\+type$<$ parameters\+\_\+type, Factory $>$}}}
\begin{DoxyCompactItemize}
\item 
parameters\+\_\+type \& {\bfseries with\+\_\+loggers} (Args \&\&... \+\_\+value)
\begin{DoxyCompactList}\small\item\em Provides the loggers to be added to the factory and its generated objects in a fluent interface. \end{DoxyCompactList}\item 
std::\+unique\+\_\+ptr$<$ Factory $>$ \doxymbox{\hyperlink{classgko_1_1enable__parameters__type_a65a5adc4eb7078475d26e7991efae64d}{on}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$ exec) const
\begin{DoxyCompactList}\small\item\em Creates a new factory on the specified executor. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{gko::\+size\+\_\+type}} \doxymbox{\hyperlink{structgko_1_1solver_1_1UpperTrs_1_1parameters__type_a17d51d403340309c592e593020c3c007}{num\+\_\+rhs}} \{1u\}
\begin{DoxyCompactList}\small\item\em Number of right hand sides. \end{DoxyCompactList}\item 
\Hypertarget{structgko_1_1solver_1_1UpperTrs_1_1parameters__type_a94cbdba6732b08966b948a7bdb368b50}\label{structgko_1_1solver_1_1UpperTrs_1_1parameters__type_a94cbdba6732b08966b948a7bdb368b50} 
bool {\bfseries unit\+\_\+diagonal} \{false\}
\begin{DoxyCompactList}\small\item\em Should the solver use the values on the diagonal of the system matrix (false) or should it assume they are 1.\+0 (true)? \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{namespacegko_1_1solver_a68b5a3da69a6acb5f0bb656a96e4eb0a}{trisolve\+\_\+algorithm}} \doxymbox{\hyperlink{structgko_1_1solver_1_1UpperTrs_1_1parameters__type_ada5bbbcba5a02aa7eb0090b57e4ee5d2}{algorithm}} \{trisolve\+\_\+algorithm::\+sparselib\}
\begin{DoxyCompactList}\small\item\em Select the implementation which is supposed to be used for the triangular solver. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Additional Inherited Members}
\doxysubsection*{Public Types inherited from \doxymbox{\hyperlink{classgko_1_1enable__parameters__type}{gko::\+enable\+\_\+parameters\+\_\+type$<$ parameters\+\_\+type, Factory $>$}}}
\begin{DoxyCompactItemize}
\item 
using {\bfseries factory}
\end{DoxyCompactItemize}


\label{doc-variable-members}
\Hypertarget{structgko_1_1solver_1_1UpperTrs_1_1parameters__type_doc-variable-members}
\doxysubsection{Member Data Documentation}
\Hypertarget{structgko_1_1solver_1_1UpperTrs_1_1parameters__type_ada5bbbcba5a02aa7eb0090b57e4ee5d2}\index{gko::solver::UpperTrs$<$ ValueType, IndexType $>$::parameters\_type@{gko::solver::UpperTrs$<$ ValueType, IndexType $>$::parameters\_type}!algorithm@{algorithm}}
\index{algorithm@{algorithm}!gko::solver::UpperTrs$<$ ValueType, IndexType $>$::parameters\_type@{gko::solver::UpperTrs$<$ ValueType, IndexType $>$::parameters\_type}}
\doxysubsubsection{\texorpdfstring{algorithm}{algorithm}}
{\footnotesize\ttfamily \label{structgko_1_1solver_1_1UpperTrs_1_1parameters__type_ada5bbbcba5a02aa7eb0090b57e4ee5d2} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
\doxymbox{\hyperlink{namespacegko_1_1solver_a68b5a3da69a6acb5f0bb656a96e4eb0a}{trisolve\+\_\+algorithm}} \doxymbox{\hyperlink{classgko_1_1solver_1_1UpperTrs}{gko::\+solver::\+\+Upper\+Trs}}$<$ Value\+Type, Index\+Type $>$::\+parameters\+\_\+type::\+algorithm \{trisolve\+\_\+algorithm::\+sparselib\}}



Select the implementation which is supposed to be used for the triangular solver. 

This only matters for the Cuda executor where the choice is between the Ginkgo (syncfree) and the cu\+SPARSE (sparselib) implementation. Default is sparselib. \Hypertarget{structgko_1_1solver_1_1UpperTrs_1_1parameters__type_a17d51d403340309c592e593020c3c007}\index{gko::solver::UpperTrs$<$ ValueType, IndexType $>$::parameters\_type@{gko::solver::UpperTrs$<$ ValueType, IndexType $>$::parameters\_type}!num\_rhs@{num\_rhs}}
\index{num\_rhs@{num\_rhs}!gko::solver::UpperTrs$<$ ValueType, IndexType $>$::parameters\_type@{gko::solver::UpperTrs$<$ ValueType, IndexType $>$::parameters\_type}}
\doxysubsubsection{\texorpdfstring{num\_rhs}{num\_rhs}}
{\footnotesize\ttfamily \label{structgko_1_1solver_1_1UpperTrs_1_1parameters__type_a17d51d403340309c592e593020c3c007} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{gko::\+size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1solver_1_1UpperTrs}{gko::\+solver::\+\+Upper\+Trs}}$<$ Value\+Type, Index\+Type $>$::\+parameters\+\_\+type::\+num\+\_\+rhs \{1u\}}



Number of right hand sides. 

\begin{DoxyNote}{Note}
This value is currently only required for the CUDA trisolve\+\_\+algorithm::\+sparselib algorithm. 
\end{DoxyNote}


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