|
Belos
Version of the Day
|
00001 //@HEADER 00002 // ************************************************************************ 00003 // 00004 // Belos: Block Linear Solvers Package 00005 // Copyright 2004 Sandia Corporation 00006 // 00007 // Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00008 // the U.S. Government retains certain rights in this software. 00009 // 00010 // Redistribution and use in source and binary forms, with or without 00011 // modification, are permitted provided that the following conditions are 00012 // met: 00013 // 00014 // 1. Redistributions of source code must retain the above copyright 00015 // notice, this list of conditions and the following disclaimer. 00016 // 00017 // 2. Redistributions in binary form must reproduce the above copyright 00018 // notice, this list of conditions and the following disclaimer in the 00019 // documentation and/or other materials provided with the distribution. 00020 // 00021 // 3. Neither the name of the Corporation nor the names of the 00022 // contributors may be used to endorse or promote products derived from 00023 // this software without specific prior written permission. 00024 // 00025 // THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY 00026 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00027 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00028 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE 00029 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00030 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00031 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 00032 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 00033 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 00034 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00035 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00036 // 00037 // Questions? Contact Michael A. Heroux (maherou@sandia.gov) 00038 // 00039 // ************************************************************************ 00040 //@HEADER 00041 00042 #ifndef BELOS_CONFIGDEFS_HPP 00043 #define BELOS_CONFIGDEFS_HPP 00044 00049 #ifndef __cplusplus 00050 #define __cplusplus 00051 #endif 00052 00053 #ifndef TRILINOS_NO_CONFIG_H 00054 00055 /* 00056 * The macros PACKAGE, PACKAGE_NAME, etc, get defined for each package and need to 00057 * be undef'd here to avoid warnings when this file is included from another package. 00058 * KL 11/25/02 00059 */ 00060 #ifdef PACKAGE 00061 #undef PACKAGE 00062 #endif 00063 00064 #ifdef PACKAGE_NAME 00065 #undef PACKAGE_NAME 00066 #endif 00067 00068 #ifdef PACKAGE_BUGREPORT 00069 #undef PACKAGE_BUGREPORT 00070 #endif 00071 00072 #ifdef PACKAGE_STRING 00073 #undef PACKAGE_STRING 00074 #endif 00075 00076 #ifdef PACKAGE_TARNAME 00077 #undef PACKAGE_TARNAME 00078 #endif 00079 00080 #ifdef PACKAGE_VERSION 00081 #undef PACKAGE_VERSION 00082 #endif 00083 00084 #ifdef VERSION 00085 #undef VERSION 00086 #endif 00087 00088 #include <Belos_config.h> 00089 00090 #ifdef HAVE_MPI 00091 #ifndef EPETRA_MPI 00092 #define EPETRA_MPI 00093 #endif 00094 #endif 00095 00096 #include "Teuchos_ConfigDefs.hpp" 00097 00098 #else 00099 00100 #include <iostream> 00101 #include <string> 00102 #include <stdexcept> 00103 #include <vector> 00104 00105 #if defined(SGI) || defined(SGI64) || defined(SGI32) || defined(CPLANT) || defined(TFLOP) 00106 00107 #include <stdlib.h> 00108 #include <stdio.h> 00109 #include <assert.h> 00110 #include <math.h> 00111 #include <complex.h> 00112 00113 #else 00114 00115 #include <cstdlib> 00116 #include <cstdio> 00117 #include <cassert> 00118 #include <cmath> 00119 #include <complex> 00120 00121 #endif 00122 00123 #endif /*ndef HAVE_CONFIG_H*/ 00124 00125 00126 /* Define some macros */ 00127 #define BELOS_MAX(x,y) (( (x) > (y) ) ? (x) : (y) ) /* max function */ 00128 #define BELOS_MIN(x,y) (( (x) < (y) ) ? (x) : (y) ) /* min function */ 00129 #define BELOS_SGN(x) (( (x) < 0.0 ) ? -1.0 : 1.0 ) /* sign function */ 00130 00131 namespace Belos { std::string Belos_Version(); } 00132 00133 #endif /* BELOS_CONFIGDEFS_HPP */
1.7.6.1