Anasazi Version of the Day
Loading...
Searching...
No Matches
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 with Sandia Corporation,
8// the U.S. Government retains certain rights in this software.
9//
10// Redistribution and use in source and binary forms, with or without
11// modification, are permitted provided that the following conditions are
12// met:
13//
14// 1. Redistributions of source code must retain the above copyright
15// notice, this list of conditions and the following disclaimer.
16//
17// 2. Redistributions in binary form must reproduce the above copyright
18// notice, this list of conditions and the following disclaimer in the
19// documentation and/or other materials provided with the distribution.
20//
21// 3. Neither the name of the Corporation nor the names of the
22// contributors may be used to endorse or promote products derived from
23// this software without specific prior written permission.
24//
25// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
26// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
29// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36//
37// Questions? Contact Michael A. Heroux (maherou@sandia.gov)
38//
39// ***********************************************************************
40// @HEADER
41
47#ifndef ANASAZI_CONFIGDEFS_HPP
48#define ANASAZI_CONFIGDEFS_HPP
49
50#include "Teuchos_ConfigDefs.hpp"
51
52#ifndef __cplusplus
53# define __cplusplus
54#endif
55
56#ifndef TRILINOS_NO_CONFIG_H
57
58/*
59 * The macros PACKAGE, PACKAGE_NAME, etc, get defined for each package and need to
60 * be undef'd here to avoid warnings when this file is included from another package.
61 * KL 11/25/02
62 */
63# ifdef PACKAGE
64# undef PACKAGE
65# endif
66
67# ifdef PACKAGE_NAME
68# undef PACKAGE_NAME
69# endif
70
71# ifdef PACKAGE_BUGREPORT
72# undef PACKAGE_BUGREPORT
73# endif
74
75# ifdef PACKAGE_STRING
76# undef PACKAGE_STRING
77# endif
78
79# ifdef PACKAGE_TARNAME
80# undef PACKAGE_TARNAME
81# endif
82
83# ifdef PACKAGE_VERSION
84# undef PACKAGE_VERSION
85# endif
86
87# ifdef VERSION
88# undef VERSION
89# endif
90
91# include <Anasazi_config.h>
92
93# ifdef HAVE_MPI
94# ifndef EPETRA_MPI
95# define EPETRA_MPI
96# endif
97# endif
98
99#include <cstdlib>
100#include <cstdio>
101#include <string>
102#include <vector>
103#include <cctype>
104#include <numeric>
105#include <complex>
106#include <iostream>
107#include <iterator>
108#include <stdexcept>
109#include <cmath>
110#include <functional>
111
112#else /*TRILINOS_NO_CONFIG_H is defined*/
113
114# include <iterator>
115# include <iostream>
116# include <string>
117
118# if defined(SGI) || defined(SGI64) || defined(SGI32) || defined(CPLANT) || defined (TFLOP)
119# include <stdlib.h>
120# include <stdio.h>
121# include <math.h>
122# else
123# include <cstdlib>
124# include <cstdio>
125# include <cmath>
126# endif
127
128# include <vector>
129# include <map>
130# include <deque>
131# include <algorithm>
132# include <numeric>
133# include <functional>
134
135#endif /*ndef TRILINOS_NO_CONFIG_H*/
136
137/* Define some macros */
138#define ANASAZI_MAX(x,y) (( (x) > (y) ) ? (x) : (y) ) /* max function */
139#define ANASAZI_MIN(x,y) (( (x) < (y) ) ? (x) : (y) ) /* min function */
140#define ANASAZI_SGN(x) (( (x) < 0.0 ) ? -1.0 : 1.0 ) /* sign function */
141
142#include "Anasazi_DLLExportMacro.h"
143
144/*
145 * Anasazi_Version() method
146 */
147namespace Anasazi {
148 ANASAZI_LIB_DLL_EXPORT std::string Anasazi_Version();
149}
150
151#endif /*ANASAZI_CONFIGDEFS_HPP*/
Namespace Anasazi contains the classes, structs, enums and utilities used by the Anasazi package.