MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu_ConfigDefs.hpp
Go to the documentation of this file.
1// @HEADER
2// *****************************************************************************
3// MueLu: A package for multigrid based preconditioning
4//
5// Copyright 2012 NTESS and the MueLu contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef MUELU_CONFIGDEFS_HPP
11#define MUELU_CONFIGDEFS_HPP
12
13#include "MueLu_config.hpp"
14
15#include <Teuchos_ConfigDefs.hpp>
16
17// Tpetra
18#include <Tpetra_KokkosCompat_DefaultNode.hpp> // default template parameter of many MueLu classes
19
20// Memory management
21#include <Teuchos_Array.hpp>
22#include <Teuchos_ArrayView.hpp>
23#include <Teuchos_ArrayRCP.hpp>
24#include <Teuchos_RCP.hpp>
25
26// Verbose levels
27#include <Teuchos_Describable.hpp>
28
29// Misc
30#include <Teuchos_ParameterList.hpp>
31
32// Default S,L,G,N types, for use as default template arguments
33// Available as MueLu::DefaultScalar, MueLu::DefaultLocalOrdinal, etc.
35
36// Special macro for exception testing
37// MUELU_TEST_FOR_EXCEPTION is only active if MueLu is configured with MueLu_ENABLE_DEBUG:BOOL=ON
38// If you want an exception test both in the release and debug version of MueLu you still can use directly
39// TEUCHOS_TEST_FOR_EXCEPTION
40#ifdef HAVE_MUELU_DEBUG
41#define MUELU_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg) \
42 TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg);
43#else
44#define MUELU_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
45#endif
46
48namespace MueLu {
49
50// import Teuchos memory management classes into MueLu
51using Teuchos::arcp;
52using Teuchos::arcp_reinterpret_cast;
53using Teuchos::arcpFromArrayView;
54using Teuchos::Array;
55using Teuchos::ArrayRCP;
56using Teuchos::ArrayView;
57using Teuchos::as;
58using Teuchos::null;
59using Teuchos::ParameterList;
60using Teuchos::rcp;
61using Teuchos::RCP;
62using Teuchos::rcp_const_cast;
63using Teuchos::rcp_dynamic_cast;
64using Teuchos::rcp_implicit_cast;
65using Teuchos::rcp_static_cast;
66using Teuchos::rcpFromRef;
67
68// verbose levels
69using Teuchos::VERB_DEFAULT;
70using Teuchos::VERB_EXTREME;
71using Teuchos::VERB_HIGH;
72using Teuchos::VERB_LOW;
73using Teuchos::VERB_MEDIUM;
74using Teuchos::VERB_NONE;
75
76} // namespace MueLu
77
78// This include file defines macros to avoid warnings under CUDA. See github issue #1133.
79#include "Teuchos_CompilerCodeTweakMacros.hpp"
80
81#endif /* MUELU_CONFIGDEFS_H */
Namespace for MueLu classes and methods.