Kokkos Node API and Local Linear Algebra Kernels Version of the Day
Kokkos::DefaultHostSparseOps< Scalar, Ordinal, Node, Allocator >::bind_scalar< S2 > Struct Template Reference

Local sparse operations type for a different scalar type. More...

#include <Kokkos_DefaultSparseOps.hpp>

List of all members.


Detailed Description

template<class Scalar, class Ordinal, class Node, class Allocator = details::DefaultCRSAllocator>
template<class S2>
struct Kokkos::DefaultHostSparseOps< Scalar, Ordinal, Node, Allocator >::bind_scalar< S2 >

Local sparse operations type for a different scalar type.

The bind_scalar struct defines the type responsible for local sparse operations for a scalar type S2, which may be different from Scalar.

This class' typedef is used by Tpetra::CrsMatrix to bind a potentially "void" scalar type to the appropriate scalar. Other local sparse ops implementations (especially those that wrap third-party libraries implementing sparse kernels) might use this to provide a "fall-back" sparse ops implementation of a possibly different type, if the third-party library does not support scalar type S2.

In the case of DefaultHostSparseOps, this class' typedef always specifies a specialization of DefaultHostSparseOps, regardless of the scalar type S2. This is not necessarily true of other implementations of local sparse ops.

Template Parameters:
S2A scalar type possibly different from Scalar.

Definition at line 387 of file Kokkos_DefaultSparseOps.hpp.


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends