MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_CrsMatrixUtils.hpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// Xpetra: A linear algebra interface package
4
//
5
// Copyright 2012 NTESS and the Xpetra contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef PACKAGES_XPETRA_CRSMATRIX_UTILS_HPP_
11
#define PACKAGES_XPETRA_CRSMATRIX_UTILS_HPP_
12
13
#include "Xpetra_ConfigDefs.hpp"
14
#include "Xpetra_Exceptions.hpp"
15
#include "Xpetra_Map.hpp"
// definition of UnderlyingLib
16
17
#include "Tpetra_Import_Util2.hpp"
18
19
namespace
Xpetra
{
20
28
template
<
class
Scalar
,
29
class
LocalOrdinal
,
30
class
GlobalOrdinal
,
31
class
Node
= Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
32
class
CrsMatrixUtils
{
33
#undef XPETRA_CRSMATRIXUTILS_SHORT
34
35
public
:
38
static
void
sortCrsEntries
(
const
Teuchos::ArrayView<size_t>& CRS_rowptr,
39
const
Teuchos::ArrayView<LocalOrdinal>& CRS_colind,
40
const
Teuchos::ArrayView<Scalar>& CRS_vals,
41
const
UnderlyingLib lib) {
42
if
(lib == Xpetra::UseTpetra) {
43
Tpetra::Import_Util::sortCrsEntries(CRS_rowptr, CRS_colind, CRS_vals);
44
}
45
46
return
;
47
}
48
51
static
void
sortAndMergeCrsEntries
(
const
Teuchos::ArrayView<size_t>& CRS_rowptr,
52
const
Teuchos::ArrayView<LocalOrdinal>& CRS_colind,
53
const
Teuchos::ArrayView<Scalar>& CRS_vals,
54
const
UnderlyingLib lib) {
55
if
(lib == Xpetra::UseTpetra) {
56
Tpetra::Import_Util::sortAndMergeCrsEntries(CRS_rowptr, CRS_colind, CRS_vals);
57
}
58
59
return
;
60
}
61
62
};
// end class CrsMatrixUtils
63
64
}
// end namespace Xpetra
65
66
#define XPETRA_CRSMATRIXUTILS_SHORT
67
68
#endif
// PACKAGES_XPETRA_CRSMATRIX_UTILS_HPP_
LocalOrdinal
MueLu::DefaultLocalOrdinal LocalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:13
Scalar
MueLu::DefaultScalar Scalar
Definition
MueLu_UseDefaultTypes.hpp:12
GlobalOrdinal
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:14
Node
MueLu::DefaultNode Node
Definition
MueLu_UseDefaultTypes.hpp:15
Xpetra::CrsMatrixUtils
Xpetra utility class for CrsMatrix-related routines.
Definition
MueLu_CrsMatrixUtils.hpp:32
Xpetra::CrsMatrixUtils::sortCrsEntries
static void sortCrsEntries(const Teuchos::ArrayView< size_t > &CRS_rowptr, const Teuchos::ArrayView< LocalOrdinal > &CRS_colind, const Teuchos::ArrayView< Scalar > &CRS_vals, const UnderlyingLib lib)
Sort the entries of the (raw CSR) matrix by column index within each row.
Definition
MueLu_CrsMatrixUtils.hpp:38
Xpetra::CrsMatrixUtils::sortAndMergeCrsEntries
static void sortAndMergeCrsEntries(const Teuchos::ArrayView< size_t > &CRS_rowptr, const Teuchos::ArrayView< LocalOrdinal > &CRS_colind, const Teuchos::ArrayView< Scalar > &CRS_vals, const UnderlyingLib lib)
Sort and merge the entries of the (raw CSR) matrix by column index within each row.
Definition
MueLu_CrsMatrixUtils.hpp:51
Xpetra
Definition
MueLu_CrsMatrixUtils.hpp:19
src
Utils
MueLu_CrsMatrixUtils.hpp
Generated by
1.17.0