00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef TEUCHOS_CONFIGDEFS_HPP
00032 #define TEUCHOS_CONFIGDEFS_HPP
00033
00039
00040
00041
00042
00043
00044
00045 #ifdef PACKAGE
00046 # undef PACKAGE
00047 #endif
00048
00049 #ifdef PACKAGE_NAME
00050 # undef PACKAGE_NAME
00051 #endif
00052
00053 #ifdef PACKAGE_BUGREPORT
00054 # undef PACKAGE_BUGREPORT
00055 #endif
00056
00057 #ifdef PACKAGE_STRING
00058 # undef PACKAGE_STRING
00059 #endif
00060
00061 #ifdef PACKAGE_TARNAME
00062 # undef PACKAGE_TARNAME
00063 #endif
00064
00065 #ifdef PACKAGE_VERSION
00066 # undef PACKAGE_VERSION
00067 #endif
00068
00069 #ifdef VERSION
00070 # undef VERSION
00071 #endif
00072
00073 #include "Teuchos_config.h"
00074
00075 #ifdef HAVE_TEUCHOS_DEBUG
00076 # define TEUCHOS_DEBUG
00077 # define HAVE_TEUCHOS_ARRAY_BOUNDSCHECK
00078 #endif
00079
00080 #ifdef __cplusplus
00081
00082 #if defined(_MSC_VER) || defined(__APPLE__)
00083 # define TEUCHOS_NO_ZERO_ITERATOR_CONVERSION
00084 #endif
00085
00086 #ifdef _AIX
00087 # ifndef TEMPLATE_FRIENDS_NOT_SUPPORTED
00088 # define TEMPLATE_FRIENDS_NOT_SUPPORTED
00089 # endif
00090 # ifndef TEUCHOS_PRIVIATE_DELETE_NOT_SUPPORTED
00091 # define TEUCHOS_PRIVIATE_DELETE_NOT_SUPPORTED
00092 # endif
00093 #endif
00094
00095
00096 #ifndef HAVE_COMPLEX
00097 # define HAVE_COMPLEX
00098 #endif
00099
00100 #include <cstdio>
00101 #include <cstdarg>
00102 #include <cerrno>
00103 #include <climits>
00104 #include <cstdlib>
00105 #include <string>
00106 #include <cstring>
00107 #include <cmath>
00108 #include <iostream>
00109 #include <iomanip>
00110 #include <fstream>
00111 #include <sstream>
00112 #include <stdexcept>
00113 #include <cassert>
00114 #include <complex>
00115 #include <map>
00116 #include <vector>
00117 #include <deque>
00118 #include <algorithm>
00119 #include <numeric>
00120 #include <list>
00121 #include <set>
00122 #include <typeinfo>
00123 #include <limits>
00124 #include <memory>
00125
00126 namespace Teuchos { class DummyDummyClass; }
00127
00128
00129
00130 const double Teuchos_MinDouble = 1.0E-100;
00131 const double Teuchos_MaxDouble = 1.0E+100;
00132 const double Teuchos_Overflow = 1.79E308;
00133 const double Teuchos_Underflow = 2.23E-308;
00134
00135
00136
00137
00138 #define TEUCHOS_OSTRINGSTREAM_GET_C_STR(OSS) (OSS).str().c_str()
00139 typedef std::ostringstream TeuchosOStringStream;
00140
00141 #endif
00142
00143
00144
00145 #ifdef TEUCHOS_CHK_ERR
00146 #undef TEUCHOS_CHK_ERR
00147 #endif
00148 #ifdef TEUCHOS_CHK_PTR
00149 #undef TEUCHOS_CHK_PTR
00150 #endif
00151 #ifdef TEUCHOS_CHK_REF
00152 #undef TEUCHOS_CHK_REF
00153 #endif
00154
00155
00156 typedef int Teuchos_Ordinal;
00157
00158
00159 typedef Teuchos_Ordinal Teuchos_Index;
00160
00161
00162
00163 #define TEUCHOS_CHK_ERR(a) { if (a != 0) return(a);}
00164 #define TEUCHOS_CHK_PTR(a) { return(a);}
00165 #define TEUCHOS_CHK_REF(a) { return(a);}
00166
00167 #ifdef __cplusplus
00168 const int Teuchos_DefaultTracebackMode = 1;
00169 #endif
00170
00171
00172 #define TEUCHOS_MAX(x,y) (( (x) > (y) ) ? (x) : (y) )
00173 #define TEUCHOS_MIN(x,y) (( (x) < (y) ) ? (x) : (y) )
00174 #define TEUCHOS_SGN(x) (( (x) < 0.0 ) ? -1.0 : 1.0 )
00175
00176 #ifndef HAVE_FORTRAN_SUPPORT
00177 # ifndef FORTRAN_DISABLED
00178 # define FORTRAN_DISABLED
00179 # endif
00180 #endif
00181
00182 #endif