Xpetra Version of the Day
Loading...
Searching...
No Matches
Xpetra_UseShortNamesScalar.hpp
Go to the documentation of this file.
1// @HEADER
2//
3// ***********************************************************************
4//
5// Xpetra: A linear algebra interface package
6// Copyright 2012 Sandia Corporation
7//
8// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
9// the U.S. Government retains certain rights in this software.
10//
11// Redistribution and use in source and binary forms, with or without
12// modification, are permitted provided that the following conditions are
13// met:
14//
15// 1. Redistributions of source code must retain the above copyright
16// notice, this list of conditions and the following disclaimer.
17//
18// 2. Redistributions in binary form must reproduce the above copyright
19// notice, this list of conditions and the following disclaimer in the
20// documentation and/or other materials provided with the distribution.
21//
22// 3. Neither the name of the Corporation nor the names of the
23// contributors may be used to endorse or promote products derived from
24// this software without specific prior written permission.
25//
26// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37//
38// Questions? Contact
39// Jonathan Hu (jhu@sandia.gov)
40// Andrey Prokopenko (aprokop@sandia.gov)
41// Ray Tuminaro (rstumin@sandia.gov)
42//
43// ***********************************************************************
44//
45// @HEADER
46// Get rid of template parameters
47
48// New definition of types using the types Scalar, LocalOrdinal, GlobalOrdinal, Node of the current context.
49
50// Note: There is no #ifndef/#define/#end in this header file because it can be included more than once (it can be included in methods templated by Scalar, LocalOrdinal, GlobalOrdinal, Node).
51
52#ifdef XPETRA_CRSMATRIX_SHORT
54#endif
55
56#ifdef XPETRA_IO_SHORT
58#endif
59
60#ifdef XPETRA_ITERATOROPS_SHORT
62#endif
63
64#ifdef XPETRA_VECTOR_SHORT
66#endif
67
68#ifdef XPETRA_BLOCKEDVECTOR_SHORT
69using BlockedVector [[maybe_unused]] = Xpetra::BlockedVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
70#endif
71
72#ifdef XPETRA_MULTIVECTOR_SHORT
74#endif
75
76#ifdef XPETRA_MATRIX_SHORT
78#endif
79
80#ifdef XPETRA_MATRIXMATRIX_SHORT
81using MatrixMatrix [[maybe_unused]] = Xpetra::MatrixMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
82#endif
83
84#ifdef XPETRA_TRIPLEMATRIXMULTIPLY_SHORT
85using TripleMatrixMultiply [[maybe_unused]] = Xpetra::TripleMatrixMultiply<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
86#endif
87
88#ifdef XPETRA_MATRIXUTILS_SHORT
90#endif
91
92#ifdef XPETRA_OPERATOR_SHORT
94#endif
95
96#ifdef XPETRA_TPETRAOPERATOR_SHORT
97using TpetraOperator [[maybe_unused]] = Xpetra::TpetraOperator<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
98#endif
99
100#ifdef XPETRA_TPETRAHALFPRECISIONOPERATOR_SHORT
101using TpetraHalfPrecisionOperator [[maybe_unused]] = Xpetra::TpetraHalfPrecisionOperator<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
102#endif
103
104#ifdef XPETRA_BLOCKEDCRSMATRIX_SHORT
105using BlockedCrsMatrix [[maybe_unused]] = Xpetra::BlockedCrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
106#endif
107
108#ifdef XPETRA_BLOCKEDMULTIVECTOR_SHORT
109using BlockedMultiVector [[maybe_unused]] = Xpetra::BlockedMultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
110#endif
111
112#ifdef XPETRA_REORDEREDBLOCKEDMULTIVECTOR_SHORT
113using ReorderedBlockedMultiVector [[maybe_unused]] = Xpetra::ReorderedBlockedMultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
114#endif
115
116#ifdef XPETRA_REORDEREDBLOCKEDCRSMATRIX_SHORT
117using ReorderedBlockedCrsMatrix [[maybe_unused]] = Xpetra::ReorderedBlockedCrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
118#endif
119
120#ifdef HAVE_XPETRA_THYRA
121#ifdef XPETRA_THYRAUTILS_SHORT
122using ThyraUtils [[maybe_unused]] = Xpetra::ThyraUtils<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
123#endif
124#endif
125
126#ifdef XPETRA_CRSMATRIXWRAP_SHORT
127using CrsMatrixWrap [[maybe_unused]] = Xpetra::CrsMatrixWrap<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
128#endif
129
130#ifdef XPETRA_VECTORFACTORY_SHORT
131using VectorFactory [[maybe_unused]] = Xpetra::VectorFactory<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
132#endif
133
134#ifdef XPETRA_CRSMATRIXFACTORY_SHORT
135using CrsMatrixFactory [[maybe_unused]] = Xpetra::CrsMatrixFactory<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
136#endif
137
138#ifdef XPETRA_MULTIVECTORFACTORY_SHORT
139using MultiVectorFactory [[maybe_unused]] = Xpetra::MultiVectorFactory<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
140#endif
141
142#ifdef XPETRA_MATRIXFACTORY_SHORT
143using MatrixFactory [[maybe_unused]] = Xpetra::MatrixFactory<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
144#endif
145
146#ifdef XPETRA_MATRIXFACTORY2_SHORT
147using MatrixFactory2 [[maybe_unused]] = Xpetra::MatrixFactory2<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
148#endif
149
150#ifdef XPETRA_TPETRACRSMATRIX_SHORT
151using TpetraCrsMatrix [[maybe_unused]] = Xpetra::TpetraCrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
152#endif
153
154#ifdef XPETRA_TPETRABLOCKCRSMATRIX_SHORT
155using TpetraBlockCrsMatrix [[maybe_unused]] = Xpetra::TpetraBlockCrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
156#endif
157
158// TODO remove this
159#ifdef XPETRA_EPETRACRSMATRIX_SHORT
160#ifndef XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES
161using EpetraCrsMatrix64 [[maybe_unused]] = Xpetra::EpetraCrsMatrixT<long long, Xpetra::EpetraNode>;
162#endif
163using EpetraCrsMatrix [[maybe_unused]] = Xpetra::EpetraCrsMatrixT<int, Xpetra::EpetraNode>; // do we need this???
164#endif
165// TODO remove above entries
166
167#ifdef XPETRA_TPETRAMULTIVECTOR_SHORT
168using TpetraMultiVector [[maybe_unused]] = Xpetra::TpetraMultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
169#endif
170
171#ifdef XPETRA_TPETRAVECTOR_SHORT
172using TpetraVector [[maybe_unused]] = Xpetra::TpetraVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
173#endif
174
175#ifdef XPETRA_MAPEXTRACTOR_SHORT
176using MapExtractor [[maybe_unused]] = Xpetra::MapExtractor<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
177#endif
178
179#ifdef XPETRA_MAPEXTRACTORFACTORY_SHORT
180using MapExtractorFactory [[maybe_unused]] = Xpetra::MapExtractorFactory<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
181#endif
182
183// TODO: add namespace {} for shortcut types
184
185// Define convenient shortcut for data types
186using SC [[maybe_unused]] = Scalar;
187// TODO: do the same for Epetra object (problem of namespace)
Concrete implementation of Xpetra::Matrix.
Xpetra utility class containing IO routines to read/write vectors, matrices etc...
Definition: Xpetra_IO.hpp:163
Xpetra utility class containing iteration operators.
Xpetra utility class for common matrix-related routines.
Xpetra-specific matrix class.
Factory for any type of Xpetra::MultiVector and its derived classes.
Wraps an existing halfer precision Xpetra::Operator as a Xpetra::Operator.