Anasazi  Version of the Day
AnasaziConfigDefs.hpp
Go to the documentation of this file.
1 // @HEADER
2 // ***********************************************************************
3 //
4 // Anasazi: Block Eigensolvers Package
5 // Copyright (2004) Sandia Corporation
6 //
7 // Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
8 // license for use of this work by or on behalf of the U.S. Government.
9 //
10 // This library is free software; you can redistribute it and/or modify
11 // it under the terms of the GNU Lesser General Public License as
12 // published by the Free Software Foundation; either version 2.1 of the
13 // License, or (at your option) any later version.
14 //
15 // This library is distributed in the hope that it will be useful, but
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 // Lesser General Public License for more details.
19 //
20 // You should have received a copy of the GNU Lesser General Public
21 // License along with this library; if not, write to the Free Software
22 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
23 // USA
24 // Questions? Contact Michael A. Heroux (maherou@sandia.gov)
25 //
26 // ***********************************************************************
27 // @HEADER
28 
34 #ifndef ANASAZI_CONFIGDEFS_HPP
35 #define ANASAZI_CONFIGDEFS_HPP
36 
37 #include "Teuchos_ConfigDefs.hpp"
38 
39 #ifndef __cplusplus
40 # define __cplusplus
41 #endif
42 
43 #ifndef TRILINOS_NO_CONFIG_H
44 
45 /*
46  * The macros PACKAGE, PACKAGE_NAME, etc, get defined for each package and need to
47  * be undef'd here to avoid warnings when this file is included from another package.
48  * KL 11/25/02
49  */
50 # ifdef PACKAGE
51 # undef PACKAGE
52 # endif
53 
54 # ifdef PACKAGE_NAME
55 # undef PACKAGE_NAME
56 # endif
57 
58 # ifdef PACKAGE_BUGREPORT
59 # undef PACKAGE_BUGREPORT
60 # endif
61 
62 # ifdef PACKAGE_STRING
63 # undef PACKAGE_STRING
64 # endif
65 
66 # ifdef PACKAGE_TARNAME
67 # undef PACKAGE_TARNAME
68 # endif
69 
70 # ifdef PACKAGE_VERSION
71 # undef PACKAGE_VERSION
72 # endif
73 
74 # ifdef VERSION
75 # undef VERSION
76 # endif
77 
78 # include <Anasazi_config.h>
79 
80 # ifdef HAVE_MPI
81 # ifndef EPETRA_MPI
82 # define EPETRA_MPI
83 # endif
84 # endif
85 
86 #include <cstdlib>
87 #include <cstdio>
88 #include <string>
89 #include <vector>
90 #include <cctype>
91 #include <numeric>
92 #include <complex>
93 #include <iostream>
94 #include <iterator>
95 #include <stdexcept>
96 #include <cmath>
97 #include <functional>
98 
99 #else /*TRILINOS_NO_CONFIG_H is defined*/
100 
101 # include <iterator>
102 # include <iostream>
103 # include <string>
104 
105 # if defined(SGI) || defined(SGI64) || defined(SGI32) || defined(CPLANT) || defined (TFLOP)
106 # include <stdlib.h>
107 # include <stdio.h>
108 # include <math.h>
109 # else
110 # include <cstdlib>
111 # include <cstdio>
112 # include <cmath>
113 # endif
114 
115 # include <vector>
116 # include <map>
117 # include <deque>
118 # include <algorithm>
119 # include <numeric>
120 # include <functional>
121 
122 #endif /*ndef TRILINOS_NO_CONFIG_H*/
123 
124 /* Define some macros */
125 #define ANASAZI_MAX(x,y) (( (x) > (y) ) ? (x) : (y) ) /* max function */
126 #define ANASAZI_MIN(x,y) (( (x) < (y) ) ? (x) : (y) ) /* min function */
127 #define ANASAZI_SGN(x) (( (x) < 0.0 ) ? -1.0 : 1.0 ) /* sign function */
128 
129 #ifdef HAVE_TEUCHOS_COMPLEX
130 # if defined(HAVE_COMPLEX)
131 # define ANSZI_CPLX_CLASS std::complex
132 # elif defined(HAVE_COMPLEX_H)
133 # define ANSZI_CPLX_CLASS ::complex
134 # endif
135 #endif
136 
137 #include "Anasazi_DLLExportMacro.h"
138 
139 /*
140  * Anasazi_Version() method
141  */
142 namespace Anasazi {
143  ANASAZI_LIB_DLL_EXPORT std::string Anasazi_Version();
144 }
145 
146 #endif /*ANASAZI_CONFIGDEFS_HPP*/
Namespace Anasazi contains the classes, structs, enums and utilities used by the Anasazi package...