44#ifndef TEUCHOS_CONFIGDEFS_HPP
45#define TEUCHOS_CONFIGDEFS_HPP
52#include "TeuchosCore_config.h"
53#include "Teuchos_config.h"
55#ifdef HAVE_TEUCHOS_DEBUG
57# define HAVE_TEUCHOS_ARRAY_BOUNDSCHECK
62#if defined(_MSC_VER) || defined(__APPLE__)
63# define TEUCHOS_NO_ZERO_ITERATOR_CONVERSION
66#if defined(__IBMC__) || defined(__IBMCPP__)
67# ifndef TEMPLATE_FRIENDS_NOT_SUPPORTED
68# define TEMPLATE_FRIENDS_NOT_SUPPORTED
70# ifndef TEUCHOS_PRIVIATE_DELETE_NOT_SUPPORTED
71# define TEUCHOS_PRIVIATE_DELETE_NOT_SUPPORTED
108#if defined(__IBMCPP__)
109# pragma do_not_instantiate std::fpos<mbstate_t>
112const double Teuchos_MinDouble = 1.0E-100;
113const double Teuchos_MaxDouble = 1.0E+100;
114const double Teuchos_Overflow = 1.79E308;
115const double Teuchos_Underflow = 2.23E-308;
125#ifdef TEUCHOS_CHK_ERR
126#undef TEUCHOS_CHK_ERR
128#ifdef TEUCHOS_CHK_PTR
129#undef TEUCHOS_CHK_PTR
131#ifdef TEUCHOS_CHK_REF
132#undef TEUCHOS_CHK_REF
141typedef TEUCHOS_ORDINAL_TYPE Teuchos_Ordinal;
144namespace Teuchos {
typedef Teuchos_Ordinal Ordinal; }
148TEUCHOS_DEPRECATED
typedef Teuchos_Ordinal Teuchos_Index;
152#define TEUCHOS_CHK_ERR(a) { if (a != 0) return(a);}
153#define TEUCHOS_CHK_PTR(a) { return(a);}
154#define TEUCHOS_CHK_REF(a) { return(a);}
157const int Teuchos_DefaultTracebackMode = 1;
161#define TEUCHOS_MAX(x,y) (( (x) > (y) ) ? (x) : (y) )
162#define TEUCHOS_MIN(x,y) (( (x) < (y) ) ? (x) : (y) )
163#define TEUCHOS_SGN(x) (( (x) < 0.0 ) ? -1.0 : 1.0 )
165#ifndef HAVE_FORTRAN_SUPPORT
166# ifndef FORTRAN_DISABLED
167# define FORTRAN_DISABLED
171#include "Teuchos_DLLExportMacro.h"
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...