42 #ifndef TPETRA_CONFIGDEFS_HPP 43 #define TPETRA_CONFIGDEFS_HPP 47 #endif // ifndef __cplusplus 53 #endif // ifdef PACKAGE 57 #endif // ifdef PACKAGE_NAME 59 #ifdef PACKAGE_BUGREPORT 60 #undef PACKAGE_BUGREPORT 61 #endif // ifdef PACKAGE_BUGREPORT 65 #endif // ifdef PACKAGE_STRING 67 #ifdef PACKAGE_TARNAME 68 #undef PACKAGE_TARNAME 69 #endif // ifdef PACKAGE_TARNAME 71 #ifdef PACKAGE_VERSION 72 #undef PACKAGE_VERSION 73 #endif // ifdef PACKAGE_VERSION 77 #endif // ifdef VERSION 81 #include <TpetraCore_config.h> 82 #include <Teuchos_ConfigDefs.hpp> 83 #include <Kokkos_ConfigDefs.hpp> 84 #include <Kokkos_DefaultNode.hpp> 96 #ifdef HAVE_TPETRA_THROW_EFFICIENCY_WARNINGS 97 #define TPETRA_THROWS_EFFICIENCY_WARNINGS 1 99 #define TPETRA_THROWS_EFFICIENCY_WARNINGS 0 102 #ifdef HAVE_TPETRA_PRINT_EFFICIENCY_WARNINGS 103 #define TPETRA_PRINTS_EFFICIENCY_WARNINGS 1 105 #define TPETRA_PRINTS_EFFICIENCY_WARNINGS 0 108 #ifdef HAVE_TPETRA_THROW_ABUSE_WARNINGS 109 #define TPETRA_THROWS_ABUSE_WARNINGS 1 111 #define TPETRA_THROWS_ABUSE_WARNINGS 0 114 #ifdef HAVE_TPETRA_PRINT_ABUSE_WARNINGS 115 #define TPETRA_PRINTS_ABUSE_WARNINGS 1 117 #define TPETRA_PRINTS_ABUSE_WARNINGS 0 121 #include <functional> 125 #include <Teuchos_ArrayView.hpp> 126 #include <Teuchos_ArrayRCP.hpp> 127 #include <Teuchos_Array.hpp> 128 #include <Teuchos_RCP.hpp> 129 #include <Teuchos_Tuple.hpp> 131 #include <Teuchos_OrdinalTraits.hpp> 132 #include <Teuchos_ScalarTraits.hpp> 133 #include <Teuchos_TypeNameTraits.hpp> 134 #include <Teuchos_NullIteratorTraits.hpp> 135 #include <Teuchos_SerializationTraits.hpp> 137 #include <Teuchos_Comm.hpp> 138 #include <Teuchos_CommHelpers.hpp> 140 #include <Teuchos_ParameterList.hpp> 190 namespace DefaultTypes {
198 #if defined(HAVE_TPETRA_INST_INT_INT) 199 typedef int global_ordinal_type;
200 #elif defined(HAVE_TPETRA_INST_INT_LONG_LONG) 201 typedef long long global_ordinal_type;
202 #elif defined(HAVE_TPETRA_INST_INT_LONG) 203 typedef long global_ordinal_type;
204 #elif defined(HAVE_TPETRA_INST_INT_UNSIGNED_LONG) 205 typedef unsigned long global_ordinal_type;
206 #elif defined(HAVE_TPETRA_INST_INT_UNSIGNED) 207 typedef unsigned global_ordinal_type;
209 # error "Tpetra: No global ordinal types in the set {int, long long, long, unsigned long, unsigned} have been enabled." 211 typedef KokkosClassic::DefaultNode::DefaultNodeType
node_type;
217 enum EPrivateComputeViewConstructor {
218 COMPUTE_VIEW_CONSTRUCTOR
221 enum EPrivateHostViewConstructor {
222 HOST_VIEW_CONSTRUCTOR
227 using Teuchos::ArrayRCP;
228 using Teuchos::ArrayView;
229 using Teuchos::Array;
230 using Teuchos::OrdinalTraits;
231 using Teuchos::ScalarTraits;
233 using Teuchos::Tuple;
237 using Teuchos::outArg;
238 using Teuchos::tuple;
241 using Teuchos::rcpFromRef;
242 using Teuchos::rcp_const_cast;
243 using Teuchos::av_reinterpret_cast;
244 using Teuchos::arcp_reinterpret_cast;
246 using Teuchos::typeName;
248 using Teuchos::ParameterList;
249 using Teuchos::parameterList;
250 using Teuchos::sublist;
269 template<
class Arg1,
class Arg2>
270 class project1st :
public std::binary_function<Arg1, Arg2, Arg1> {
272 typedef Arg1 first_argument_type;
273 typedef Arg2 second_argument_type;
274 typedef Arg1 result_type;
275 Arg1 operator () (
const Arg1& x,
const Arg2& )
const {
295 template<
class Arg1,
class Arg2>
296 class project2nd :
public std::binary_function<Arg1, Arg2, Arg2> {
298 typedef Arg1 first_argument_type;
299 typedef Arg2 second_argument_type;
300 typedef Arg2 result_type;
301 Arg2 operator () (
const Arg1& ,
const Arg2& y)
const {
335 namespace MatrixMatrix {
348 #if defined(HAVE_TPETRACORE_KOKKOSCORE) && defined(HAVE_TPETRACORE_TEUCHOSKOKKOSCOMPAT) && defined(TPETRA_ENABLE_KOKKOS_DISTOBJECT) 349 #define TPETRA_USE_KOKKOS_DISTOBJECT 1 351 #define TPETRA_USE_KOKKOS_DISTOBJECT 0 354 #include <Kokkos_Complex.hpp> 360 template<
typename Ordinal>
361 class SerializationTraits<Ordinal, ::Kokkos::complex<float> >
362 :
public DirectSerializationTraits<Ordinal, ::Kokkos::complex<float> >
365 template<
typename Ordinal>
366 class SerializationTraits<Ordinal, ::Kokkos::complex<double> >
367 :
public DirectSerializationTraits<Ordinal, ::Kokkos::complex<double> >
371 #endif // TPETRA_CONFIGDEFS_HPP
Namespace Tpetra contains the class and methods constituting the Tpetra library.
KokkosClassic::DefaultNode::DefaultNodeType node_type
Default value of Node template parameter.
LookupStatus
Return status of Map remote index lookup (getRemoteIndexList()).
Namespace for Tpetra example classes and methods.
int local_ordinal_type
Default value of LocalOrdinal template parameter.
Teuchos_Ordinal Array_size_type
Size type for Teuchos Array objects.
Implementation details of Tpetra.
size_t global_size_t
Global size_t object.
Declaration of Tpetra::CombineMode enum, and a function for setting a Tpetra::CombineMode parameter i...
ESweepDirection
Sweep direction for Gauss-Seidel or Successive Over-Relaxation (SOR).
double scalar_type
Default value of Scalar template parameter.
Binary function that returns its second argument.
LocalGlobal
Enum for local versus global allocation of Map entries.
Binary function that returns its first argument.