10#ifndef TEUCHOS_CONFIGDEFS_HPP 
   11#define TEUCHOS_CONFIGDEFS_HPP 
   18#include "TeuchosCore_config.h" 
   19#include "Teuchos_config.h" 
   21#ifdef HAVE_TEUCHOS_DEBUG 
   23#  define HAVE_TEUCHOS_ARRAY_BOUNDSCHECK 
   28#if defined(_MSC_VER) || defined(__APPLE__) 
   29#  define TEUCHOS_NO_ZERO_ITERATOR_CONVERSION 
   32#if defined(__IBMC__) || defined(__IBMCPP__) 
   33#  ifndef TEMPLATE_FRIENDS_NOT_SUPPORTED 
   34#    define TEMPLATE_FRIENDS_NOT_SUPPORTED 
   36#  ifndef TEUCHOS_PRIVIATE_DELETE_NOT_SUPPORTED 
   37#    define TEUCHOS_PRIVIATE_DELETE_NOT_SUPPORTED 
   74#if defined(__IBMCPP__) 
   75# pragma do_not_instantiate std::fpos<mbstate_t> 
   78const double Teuchos_MinDouble = 1.0E-100;
 
   79const double Teuchos_MaxDouble = 1.0E+100;
 
   80const double Teuchos_Overflow = 1.79E308; 
 
   81const double Teuchos_Underflow = 2.23E-308;
 
  107typedef TEUCHOS_ORDINAL_TYPE Teuchos_Ordinal;
 
  110namespace Teuchos { 
typedef Teuchos_Ordinal Ordinal; }
 
  114TEUCHOS_DEPRECATED 
typedef Teuchos_Ordinal Teuchos_Index;
 
  118#define TEUCHOS_CHK_ERR(a) { if (a != 0)  return(a);} 
  119#define TEUCHOS_CHK_PTR(a) { return(a);} 
  120#define TEUCHOS_CHK_REF(a) { return(a);} 
  123const int Teuchos_DefaultTracebackMode = 1; 
 
  127#define TEUCHOS_MAX(x,y) (( (x) > (y) ) ? (x)  : (y) )      
  128#define TEUCHOS_MIN(x,y) (( (x) < (y) ) ? (x)  : (y) )      
  129#define TEUCHOS_SGN(x)   (( (x) < 0.0 ) ? -1.0 : 1.0 )      
  131#ifndef HAVE_FORTRAN_SUPPORT 
  132#  ifndef FORTRAN_DISABLED 
  133#    define FORTRAN_DISABLED 
  137#include "Teuchos_DLLExportMacro.h" 
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...