Anasazi Version of the Day
AnasaziConfigDefs.hpp
Go to the documentation of this file.
00001 // @HEADER
00002 // ***********************************************************************
00003 //
00004 //                 Anasazi: Block Eigensolvers Package
00005 //                 Copyright (2004) Sandia Corporation
00006 //
00007 // Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
00008 // license for use of this work by or on behalf of the U.S. Government.
00009 //
00010 // This library is free software; you can redistribute it and/or modify
00011 // it under the terms of the GNU Lesser General Public License as
00012 // published by the Free Software Foundation; either version 2.1 of the
00013 // License, or (at your option) any later version.
00014 //
00015 // This library is distributed in the hope that it will be useful, but
00016 // WITHOUT ANY WARRANTY; without even the implied warranty of
00017 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018 // Lesser General Public License for more details.
00019 //
00020 // You should have received a copy of the GNU Lesser General Public
00021 // License along with this library; if not, write to the Free Software
00022 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
00023 // USA
00024 // Questions? Contact Michael A. Heroux (maherou@sandia.gov)
00025 //
00026 // ***********************************************************************
00027 // @HEADER
00028 
00034 #ifndef ANASAZI_CONFIGDEFS_HPP
00035 #define ANASAZI_CONFIGDEFS_HPP
00036 
00037 #include "Teuchos_ConfigDefs.hpp"
00038 
00039 #ifndef __cplusplus
00040 #  define __cplusplus
00041 #endif
00042 
00043 #ifndef TRILINOS_NO_CONFIG_H
00044 
00045 /*
00046  * The macros PACKAGE, PACKAGE_NAME, etc, get defined for each package and need to
00047  * be undef'd here to avoid warnings when this file is included from another package.
00048  * KL 11/25/02
00049  */
00050 #  ifdef PACKAGE
00051 #    undef PACKAGE
00052 #  endif
00053 
00054 #  ifdef PACKAGE_NAME
00055 #    undef PACKAGE_NAME
00056 #  endif
00057 
00058 #  ifdef PACKAGE_BUGREPORT
00059 #    undef PACKAGE_BUGREPORT
00060 #  endif
00061 
00062 #  ifdef PACKAGE_STRING
00063 #    undef PACKAGE_STRING
00064 #  endif
00065 
00066 #  ifdef PACKAGE_TARNAME
00067 #    undef PACKAGE_TARNAME
00068 #  endif
00069 
00070 #  ifdef PACKAGE_VERSION
00071 #    undef PACKAGE_VERSION
00072 #  endif
00073 
00074 #  ifdef VERSION
00075 #    undef VERSION
00076 #  endif
00077 
00078 #  include <Anasazi_config.h>
00079 
00080 #  ifdef HAVE_MPI
00081 #    ifndef EPETRA_MPI
00082 #      define EPETRA_MPI
00083 #    endif
00084 #  endif
00085 
00086 #include <cstdlib>
00087 #include <cstdio>
00088 #include <string>
00089 #include <vector>
00090 #include <cctype>
00091 #include <numeric>
00092 #include <complex>
00093 #include <iostream>
00094 #include <iterator>
00095 #include <stdexcept>
00096 #include <cmath>
00097 #include <functional>
00098 
00099 #else /*TRILINOS_NO_CONFIG_H is defined*/
00100 
00101 #  include <iterator>
00102 #  include <iostream>
00103 #  include <string>
00104 
00105 #  if defined(SGI) || defined(SGI64) || defined(SGI32) || defined(CPLANT) || defined (TFLOP)
00106 #    include <stdlib.h>
00107 #    include <stdio.h>
00108 #    include <math.h>
00109 #  else
00110 #    include <cstdlib>
00111 #    include <cstdio>
00112 #    include <cmath>
00113 #  endif
00114 
00115 #  include <vector>
00116 #  include <map>
00117 #  include <deque>
00118 #  include <algorithm>
00119 #  include <numeric>
00120 #  include <functional>
00121 
00122 #endif /*ndef TRILINOS_NO_CONFIG_H*/
00123 
00124 /* Define some macros */
00125 #define ANASAZI_MAX(x,y) (( (x) > (y) ) ? (x)  : (y) )     /* max function  */
00126 #define ANASAZI_MIN(x,y) (( (x) < (y) ) ? (x)  : (y) )     /* min function  */
00127 #define ANASAZI_SGN(x)   (( (x) < 0.0 ) ? -1.0 : 1.0 )     /* sign function */
00128 
00129 #ifdef HAVE_TEUCHOS_COMPLEX
00130 #  if defined(HAVE_COMPLEX)
00131 #    define ANSZI_CPLX_CLASS std::complex
00132 #  elif  defined(HAVE_COMPLEX_H)
00133 #    define ANSZI_CPLX_CLASS ::complex
00134 #  endif
00135 #endif
00136 
00137 #include "Anasazi_DLLExportMacro.h"
00138 
00139 /*
00140  * Anasazi_Version() method 
00141  */
00142 namespace Anasazi {
00143   ANASAZI_LIB_DLL_EXPORT std::string Anasazi_Version();
00144 }
00145 
00146 #endif /*ANASAZI_CONFIGDEFS_HPP*/
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends