00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef TVMET_H
00025 #define TVMET_H
00026
00027 #include <tvmet/config.h>
00028
00029
00030
00031
00032
00033 #if defined(__GNUC__)
00034 # include <tvmet/config/config-gcc.h>
00035 #endif
00036
00037 #if defined(__ICC)
00038 # include <tvmet/config/config-icc.h>
00039 #endif
00040
00041 #if defined(__KCC)
00042 # include <tvmet/config/config-kcc.h>
00043 #endif
00044
00045 #if defined(__PGI)
00046 # include <tvmet/config/config-pgi.h>
00047 #endif
00048
00049
00050 #if defined(_MSC_VER) && (_MSC_VER >= 1310)
00051 # include <tvmet/config/config-vc71.h>
00052 #endif
00053
00054
00055
00056 #if !defined(TVMET_HAVE_MUTABLE)
00057 # error "Your compiler doesn't support the mutable keyword! Giving up."
00058 #endif
00059
00060 #if !defined(TVMET_HAVE_TYPENAME)
00061 # error "Your compiler doesn't support the typename keyword! Giving up."
00062 #endif
00063
00064 #if !defined(TVMET_HAVE_NAMESPACES)
00065 # error "Your compiler doesn't support the namespace concept! Giving up."
00066 #endif
00067
00068 #if !defined(TVMET_HAVE_PARTIAL_SPECIALIZATION)
00069 # error "Your compiler doesn't support partial specialization! Giving up."
00070 #endif
00071
00072
00073
00074
00075
00076
00085 #if !defined(TVMET_CXX_ALWAYS_INLINE)
00086 #define TVMET_CXX_ALWAYS_INLINE
00087 #endif
00088
00089
00090
00091
00092
00093
00094
00099 #if !defined(TVMET_COMPLEXITY_DEFAULT_TRIGGER)
00100 # define TVMET_COMPLEXITY_DEFAULT_TRIGGER 1000
00101 #endif
00102
00107 #if !defined(TVMET_COMPLEXITY_M_ASSIGN_TRIGGER)
00108 # define TVMET_COMPLEXITY_M_ASSIGN_TRIGGER 8*8
00109 #endif
00110
00117 #if !defined(TVMET_COMPLEXITY_MM_TRIGGER)
00118 # define TVMET_COMPLEXITY_MM_TRIGGER 8*8
00119 #endif
00120
00125 #if !defined(TVMET_COMPLEXITY_V_ASSIGN_TRIGGER)
00126 # define TVMET_COMPLEXITY_V_ASSIGN_TRIGGER 8
00127 #endif
00128
00135 #if !defined(TVMET_COMPLEXITY_MV_TRIGGER)
00136 # define TVMET_COMPLEXITY_MV_TRIGGER 8*8
00137 #endif
00138
00139
00140
00141
00142
00143 #if defined(TVMET_HAVE_IEEE_MATH)
00144 # define _ALL_SOURCE
00145 # if !defined(_XOPEN_SOURCE)
00146 # define _XOPEN_SOURCE
00147 # endif
00148 # if !defined(_XOPEN_SOURCE_EXTENDED)
00149 # define _XOPEN_SOURCE_EXTENDED
00150 # endif
00151 #endif
00152
00153
00175 #if !defined(TVMET_OPTIMIZE)
00176 # undef TVMET_CXX_ALWAYS_INLINE
00177 # define TVMET_CXX_ALWAYS_INLINE
00178 #endif
00179
00180
00181
00182
00183
00184
00185
00217
00218
00219
00220 #if defined(TVMET_HAVE_COMPLEX)
00221 namespace std {
00222 template<class T> class complex;
00223 }
00224 #endif
00225
00226
00227
00228
00229
00230 #include <tvmet/TvmetBase.h>
00231
00232
00233 #endif // TVMET_H
00234
00235
00236
00237
00238
00239