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

Sparse operations type for a different scalar type. More...

#include <Kokkos_AltSparseOps.hpp>

List of all members.


Detailed Description

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

Sparse operations type for a different scalar type.

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

This is used by Tpetra::CrsMatrix to "bind" a potentially "void" scalar type to the appropriate scalar. The other_type typedef tells Tpetra::CrsMatrix which local sparse ops type to use, as a function of Tpetra's Scalar template parameter.

For AltSparseOps, the other_type typedef always specifies a specialization of AltSparseOps, regardless of the scalar type S2. This is not necessarily true for other implementations of local sparse ops, so Tpetra developers should always get their local sparse ops type from the other_type typedef.

Template Parameters:
S2A scalar type possibly different from Scalar.

Definition at line 982 of file Kokkos_AltSparseOps.hpp.


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