CCfits  2.4
MSconfig.h
00001 //1
00002 //2
00003 //3
00004 //4
00027 // Use "#pragma once" instead of "ifndef MSCONFIG_H, define MSCONFIG_H,
00028 // #endif" if you know you are using a Microsoft compiler, which we are
00029 // if this file is being included. Using "pragma once" is much faster
00030 // and less error prone.
00031 #pragma once
00032 
00033 // _MSC_VER == 1300 is the first release of Microsoft Visual C++ .NET.
00034 // There are much fewer problems with this version.  So much of this
00035 // file will be skipped
00036 
00040 #define ITERATORBASE_DEFECT 1
00041 
00045 #if _MSC_VER >= 1300 
00046 #define SPEC_TEMPLATE_DECL_DEFECT 1
00047 #endif
00048 
00053 #define TEMPLATE_AMBIG7_DEFECT 1
00054 
00056 #undef SSTREAM_DEFECT
00057 
00058 # pragma warning(disable:4244)  // conversion from double to float
00059 # pragma warning(disable:4305)  // truncation from const double to const float
00060 # pragma warning(disable:4800)  // forcing value to bool (performance warning)
00061 
00062 #if _MSC_VER < 1300
00063 
00064 /* Turn off annoying warning. */
00065 
00066 # pragma warning(disable:4250)  // inherits via dominance
00067 # pragma warning(disable:4786)  // '255' characters in the debug information
00068 
00069 
00071 #ifndef M_PI
00072 #define M_PI 3.14159265358979323846
00073 #endif
00074 
00078 #define SPEC_TEMPLATE_IMP_DEFECT 1
00079 
00083 #define TEMPLATE_AMBIG_DEFECT 1
00084 
00086 #define TERMINATE_DEFECT
00087 
00092 #define BIND2ND_DEFECT 1
00093 
00100 #define CLONE_DEFECT 1
00101 
00104 #define ITERATOR_MEMBER_DEFECT 1
00105 
00109 #define ITERATORBASE_DEFECT 1
00110 
00113 #define MEMFUN1_DEFECT 1
00114 
00117 #define TRANSFORM_DEFECT 1
00118 
00121 #define VALARRAY_DEFECT 1 
00122 
00123 namespace std {
00124 
00127 template < class T >
00128 inline const T& max ( const T & a, const T & b ) 
00129 {
00130   // Break this into two lines to avoid an incorrect warning with
00131   // Cfront-based compilers.
00132   const T & retval = a < b ? b : a;
00133 
00134   return retval;
00135 }
00136 
00139 template < class T >
00140 inline const T& min ( const T & a, const T & b) 
00141 {
00142   // Break this into two lines to avoid an incorrect warning with
00143   // Cfront-based compilers.
00144   const T & retval = b < a ? b : a;
00145 
00146   return retval;
00147 }
00148 
00151 template < class T >
00152 inline const T & abs ( const T & a )
00153 {
00154     const T & retval = a < 0 ? -a : a;
00155 
00156     return retval;
00157 }
00158 
00159 } //end namespace std::
00160 
00161 #endif