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., 59 Temple Place, Suite 330, Boston, MA 02111-1307
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 
00098 #else /*TRILINOS_NO_CONFIG_H is defined*/
00099 
00100 #  include <iterator>
00101 #  include <iostream>
00102 #  include <string>
00103 
00104 #  if defined(SGI) || defined(SGI64) || defined(SGI32) || defined(CPLANT) || defined (TFLOP)
00105 #    include <stdlib.h>
00106 #    include <stdio.h>
00107 #    include <math.h>
00108 #  else
00109 #    include <cstdlib>
00110 #    include <cstdio>
00111 #    include <cmath>
00112 #  endif
00113 
00114 #  include <vector>
00115 #  include <map>
00116 #  include <deque>
00117 #  include <algorithm>
00118 #  include <numeric>
00119 
00120 #endif /*ndef TRILINOS_NO_CONFIG_H*/
00121 
00122 /* Define some macros */
00123 #define ANASAZI_MAX(x,y) (( (x) > (y) ) ? (x)  : (y) )     /* max function  */
00124 #define ANASAZI_MIN(x,y) (( (x) < (y) ) ? (x)  : (y) )     /* min function  */
00125 #define ANASAZI_SGN(x)   (( (x) < 0.0 ) ? -1.0 : 1.0 )     /* sign function */
00126 
00127 #ifdef HAVE_TEUCHOS_COMPLEX
00128 #  if defined(HAVE_COMPLEX)
00129 #    define ANSZI_CPLX_CLASS std::complex
00130 #  elif  defined(HAVE_COMPLEX_H)
00131 #    define ANSZI_CPLX_CLASS ::complex
00132 #  endif
00133 #endif
00134 
00135 #include "Anasazi_DLLExportMacro.h"
00136 
00137 /*
00138  * Anasazi_Version() method 
00139  */
00140 namespace Anasazi {
00141   ANASAZI_LIB_DLL_EXPORT std::string Anasazi_Version();
00142 }
00143 
00144 #endif /*ANASAZI_CONFIGDEFS_HPP*/
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends