Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #define arma_hot
00016 #define arma_cold
00017 #define arma_pure
00018 #define arma_const
00019 #define arma_inline inline
00020 #define arma_aligned
00021 #define arma_warn_unused
00022 #define arma_deprecated
00023 #define arma_ignore(variable) ((void)(variable))
00024
00025
00026 #if defined(ARMA_BLAS_UNDERSCORE)
00027 #define arma_fortran2_noprefix(function) function##_
00028 #define arma_fortran2_prefix(function) wrapper_##function##_
00029 #else
00030 #define arma_fortran2_prefix(function) wrapper_##function
00031 #define arma_fortran2_noprefix(function) function
00032 #endif
00033
00034 #if defined(ARMA_USE_WRAPPER)
00035 #define arma_fortran(function) arma_fortran2_prefix(function)
00036 #define arma_atlas(function) wrapper_##function
00037 #else
00038 #define arma_fortran(function) arma_fortran2_noprefix(function)
00039 #define arma_atlas(function) function
00040 #endif
00041
00042 #define arma_fortran_prefix(function) arma_fortran2_prefix(function)
00043 #define arma_fortran_noprefix(function) arma_fortran2_noprefix(function)
00044
00045
00046 #define ARMA_INCFILE_WRAP(x) <x>
00047
00048
00049 #if defined(__INTEL_COMPILER)
00050
00051 #if (__INTEL_COMPILER < 1000)
00052 #error "*** Need a newer compiler ***"
00053 #endif
00054
00055 #define ARMA_GOOD_COMPILER
00056 #undef ARMA_HAVE_STD_TR1
00057
00058 #if (__INTEL_COMPILER <= 1110)
00059 #undef ARMA_HAVE_STD_ISFINITE
00060 #endif
00061
00062 #elif defined(__GNUG__)
00063
00064 #if (__GNUC__ < 4)
00065 #error "*** Need a newer compiler ***"
00066 #endif
00067
00068 #define ARMA_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
00069
00070 #define ARMA_GOOD_COMPILER
00071 #undef ARMA_HAVE_STD_TR1
00072
00073 #undef arma_pure
00074 #undef arma_const
00075 #undef arma_inline
00076 #undef arma_aligned
00077 #undef arma_warn_unused
00078 #undef arma_deprecated
00079
00080 #define arma_pure __attribute__((pure))
00081 #define arma_const __attribute__((const))
00082 #define arma_inline inline __attribute__((always_inline))
00083 #define arma_aligned __attribute__((aligned))
00084 #define arma_warn_unused __attribute__((warn_unused_result))
00085 #define arma_deprecated __attribute__((deprecated))
00086
00087 #if (ARMA_GCC_VERSION >= 40200)
00088 #if defined(_GLIBCXX_USE_C99_MATH_TR1) && defined(_GLIBCXX_USE_C99_COMPLEX_TR1)
00089 #define ARMA_HAVE_STD_TR1
00090 #endif
00091 #endif
00092
00093 #if defined(__GXX_EXPERIMENTAL_CXX0X__)
00094 #undef ARMA_HAVE_STD_TR1
00095
00096 #if !defined(ARMA_USE_CXX11)
00097 #define ARMA_USE_CXX11
00098 #endif
00099 #endif
00100
00101 #if defined(__clang__)
00102 #undef ARMA_HAVE_STD_TR1
00103 #endif
00104
00105 #if (ARMA_GCC_VERSION >= 40300)
00106 #undef arma_hot
00107 #undef arma_cold
00108
00109 #define arma_hot __attribute__((hot))
00110 #define arma_cold __attribute__((cold))
00111 #endif
00112
00113 #undef ARMA_GCC_VERSION
00114
00115 #endif
00116
00117
00118 #if defined(_MSC_VER)
00119
00120 #if (_MSC_VER < 1500)
00121 #error "*** Need a newer compiler ***"
00122 #endif
00123
00124 #undef ARMA_GOOD_COMPILER
00125 #undef ARMA_HAVE_STD_ISFINITE
00126 #undef ARMA_HAVE_STD_SNPRINTF
00127 #undef ARMA_HAVE_LOG1P
00128 #undef ARMA_HAVE_STD_ISINF
00129 #undef ARMA_HAVE_STD_ISNAN
00130 #undef ARMA_HAVE_STD_TR1
00131
00132 #undef arma_inline
00133 #define arma_inline inline __forceinline
00134
00135
00136
00137
00138
00139
00140 #endif
00141
00142
00143 #if defined(__CUDACC__)
00144 #undef ARMA_HAVE_STD_ISFINITE
00145 #undef ARMA_HAVE_STD_SNPRINTF
00146 #undef ARMA_HAVE_LOG1P
00147 #undef ARMA_HAVE_STD_ISINF
00148 #undef ARMA_HAVE_STD_ISNAN
00149 #undef ARMA_HAVE_STD_TR1
00150 #endif
00151
00152
00153 #if defined(__SUNPRO_CC)
00154 #undef ARMA_HAVE_STD_ISFINITE
00155 #undef ARMA_HAVE_STD_SNPRINTF
00156 #undef ARMA_HAVE_LOG1P
00157 #undef ARMA_HAVE_STD_ISINF
00158 #undef ARMA_HAVE_STD_ISNAN
00159 #undef ARMA_HAVE_STD_TR1
00160 #endif