Belos Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BelosConfigDefs.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Belos: Block Linear Solvers Package
4 //
5 // Copyright 2004-2016 NTESS and the Belos contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef BELOS_CONFIGDEFS_HPP
11 #define BELOS_CONFIGDEFS_HPP
12 
17 #ifndef __cplusplus
18 #define __cplusplus
19 #endif
20 
21 #ifndef TRILINOS_NO_CONFIG_H
22 
23 /*
24  * The macros PACKAGE, PACKAGE_NAME, etc, get defined for each package and need to
25  * be undef'd here to avoid warnings when this file is included from another package.
26  * KL 11/25/02
27  */
28 #ifdef PACKAGE
29 #undef PACKAGE
30 #endif
31 
32 #ifdef PACKAGE_NAME
33 #undef PACKAGE_NAME
34 #endif
35 
36 #ifdef PACKAGE_BUGREPORT
37 #undef PACKAGE_BUGREPORT
38 #endif
39 
40 #ifdef PACKAGE_STRING
41 #undef PACKAGE_STRING
42 #endif
43 
44 #ifdef PACKAGE_TARNAME
45 #undef PACKAGE_TARNAME
46 #endif
47 
48 #ifdef PACKAGE_VERSION
49 #undef PACKAGE_VERSION
50 #endif
51 
52 #ifdef VERSION
53 #undef VERSION
54 #endif
55 
56 #include <Belos_config.h>
57 
58 #ifdef HAVE_MPI
59 #ifndef EPETRA_MPI
60 #define EPETRA_MPI
61 #endif
62 #endif
63 
64 #include "Teuchos_ConfigDefs.hpp"
65 
66 #else
67 
68 #include <iostream>
69 #include <string>
70 #include <stdexcept>
71 #include <vector>
72 
73 #if defined(SGI) || defined(SGI64) || defined(SGI32) || defined(CPLANT) || defined(TFLOP)
74 
75 #include <stdlib.h>
76 #include <stdio.h>
77 #include <assert.h>
78 #include <math.h>
79 #include <complex.h>
80 
81 #else
82 
83 #include <cstdlib>
84 #include <cstdio>
85 #include <cassert>
86 #include <cmath>
87 #include <complex>
88 
89 #endif
90 
91 #endif /*ndef HAVE_CONFIG_H*/
92 
93 
94 /* Define some macros */
95 #define BELOS_MAX(x,y) (( (x) > (y) ) ? (x) : (y) ) /* max function */
96 #define BELOS_MIN(x,y) (( (x) < (y) ) ? (x) : (y) ) /* min function */
97 #define BELOS_SGN(x) (( (x) < 0.0 ) ? -1.0 : 1.0 ) /* sign function */
98 
99 namespace Belos { std::string Belos_Version(); }
100 
101 // This include file defines macros to avoid warnings under CUDA. See github issue #1133.
103 
104 #endif /* BELOS_CONFIGDEFS_HPP */
std::string Belos_Version()