Go to the documentation of this file.
43 #ifndef BZ_HAVE_TEMPLATES
44 #error In <blitz/config.h>: A working template implementation is required by Blitz++ (you may need to rerun the compiler/bzconfig script)
47 #ifndef BZ_HAVE_MEMBER_TEMPLATES
48 #error In <blitz/config.h>: Your compiler does not support member templates. (you may need to rerun the compiler/bzconfig script)
51 #ifndef BZ_HAVE_FULL_SPECIALIZATION_SYNTAX
52 #error In <blitz/config.h>: Your compiler does not support template<> full specialization syntax. You may need to rerun the compiler/bzconfig script.
55 #ifndef BZ_HAVE_PARTIAL_ORDERING
56 #error In <blitz/config.h>: Your compiler does not support partial ordering (you may need to rerun the compiler/bzconfig script)
59 #ifndef BZ_HAVE_PARTIAL_SPECIALIZATION
60 #error In <blitz/config.h>: Your compiler does not support partial specialization (you may need to rerun the compiler/bzconfig script)
63 #ifdef BZ_HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE
64 #define BZ_USE_NUMTRAIT
67 #ifdef BZ_HAVE_DEFAULT_TEMPLATE_PARAMETERS
68 #define BZ_TEMPLATE_DEFAULT(X) = X
70 #define BZ_TEMPLATE_DEFAULT(X)
73 #ifndef BZ_HAVE_EXPLICIT
77 #ifdef BZ_HAVE_TYPENAME
78 #define _bz_typename typename
83 #ifndef BZ_HAVE_MUTABLE
87 #ifdef BZ_DISABLE_RESTRICT
88 #undef BZ_HAVE_NCEG_RESTRICT
91 #ifndef BZ_HAVE_NCEG_RESTRICT
92 #if defined(BZ_HAVE_NCEG_RESTRICT_EGCS)
93 #define restrict __restrict__
99 #if !defined(BZ_HAVE_BOOL) && !defined(BZ_NO_BOOL_KLUDGE)
105 #ifdef BZ_HAVE_ENUM_COMPUTATIONS_WITH_CAST
106 #define BZ_ENUM_CAST(X) (int)X
107 #elif defined(BZ_HAVE_ENUM_COMPUTATIONS)
108 #define BZ_ENUM_CAST(X) X
110 #error In <blitz/config.h>: Your compiler does not support enum computations. You may have to rerun compiler/bzconfig.
113 #if defined(BZ_MATH_FN_IN_NAMESPACE_STD)
114 #define BZ_MATHFN_SCOPE(x) std::x
116 #define BZ_MATHFN_SCOPE(x) ::x
119 #if defined(BZ_MATH_ABSINT_IN_NAMESPACE_STD)
125 #if defined(BZ_MATH_ABSINT_IN_NAMESPACE_STD)
126 #define BZ_MATHABSINT_SCOPE(x) std::x
128 #define BZ_MATHABSINT_SCOPE(x) ::x
131 #if defined(BZ_HAVE_COMPLEX_MATH_IN_NAMESPACE_STD)
132 #define BZ_CMATHFN_SCOPE(x) std::x
134 #define BZ_CMATHFN_SCOPE(x) ::x
137 #define BZ_IEEEMATHFN_SCOPE(x) ::x
143 #define BZ_LIKELY(x) (x)
144 #define BZ_UNLIKELY(x) (x)
146 #endif // BZ_COMPILER_H