max@0: // Copyright (C) 2008-2011 NICTA (www.nicta.com.au) max@0: // Copyright (C) 2008-2011 Conrad Sanderson max@0: // max@0: // This file is part of the Armadillo C++ library. max@0: // It is provided without any warranty of fitness max@0: // for any purpose. You can redistribute this file max@0: // and/or modify it under the terms of the GNU max@0: // Lesser General Public License (LGPL) as published max@0: // by the Free Software Foundation, either version 3 max@0: // of the License or (at your option) any later version. max@0: // (see http://www.opensource.org/licenses for more info) max@0: max@0: max@0: max@0: #define arma_hot max@0: #define arma_cold max@0: #define arma_pure max@0: #define arma_const max@0: #define arma_inline inline max@0: #define arma_aligned max@0: #define arma_warn_unused max@0: #define arma_deprecated max@0: #define arma_ignore(variable) ((void)(variable)) max@0: max@0: max@0: #if defined(ARMA_BLAS_UNDERSCORE) max@0: #define arma_fortran2_noprefix(function) function##_ max@0: #define arma_fortran2_prefix(function) wrapper_##function##_ max@0: #else max@0: #define arma_fortran2_prefix(function) wrapper_##function max@0: #define arma_fortran2_noprefix(function) function max@0: #endif max@0: max@0: #if defined(ARMA_USE_WRAPPER) max@0: #define arma_fortran(function) arma_fortran2_prefix(function) max@0: #define arma_atlas(function) wrapper_##function max@0: #else max@0: #define arma_fortran(function) arma_fortran2_noprefix(function) max@0: #define arma_atlas(function) function max@0: #endif max@0: max@0: #define arma_fortran_prefix(function) arma_fortran2_prefix(function) max@0: #define arma_fortran_noprefix(function) arma_fortran2_noprefix(function) max@0: max@0: max@0: #define ARMA_INCFILE_WRAP(x) max@0: max@0: max@0: #if defined(__INTEL_COMPILER) max@0: max@0: #if (__INTEL_COMPILER < 1000) max@0: #error "*** Need a newer compiler ***" max@0: #endif max@0: max@0: #define ARMA_GOOD_COMPILER max@0: #undef ARMA_HAVE_STD_TR1 max@0: max@0: #if (__INTEL_COMPILER <= 1110) max@0: #undef ARMA_HAVE_STD_ISFINITE max@0: #endif max@0: max@0: #elif defined(__GNUG__) max@0: max@0: #if (__GNUC__ < 4) max@0: #error "*** Need a newer compiler ***" max@0: #endif max@0: max@0: #define ARMA_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) max@0: max@0: #define ARMA_GOOD_COMPILER max@0: #undef ARMA_HAVE_STD_TR1 max@0: max@0: #undef arma_pure max@0: #undef arma_const max@0: #undef arma_inline max@0: #undef arma_aligned max@0: #undef arma_warn_unused max@0: #undef arma_deprecated max@0: max@0: #define arma_pure __attribute__((pure)) max@0: #define arma_const __attribute__((const)) max@0: #define arma_inline inline __attribute__((always_inline)) max@0: #define arma_aligned __attribute__((aligned)) max@0: #define arma_warn_unused __attribute__((warn_unused_result)) max@0: #define arma_deprecated __attribute__((deprecated)) max@0: max@0: #if (ARMA_GCC_VERSION >= 40200) max@0: #if defined(_GLIBCXX_USE_C99_MATH_TR1) && defined(_GLIBCXX_USE_C99_COMPLEX_TR1) max@0: #define ARMA_HAVE_STD_TR1 max@0: #endif max@0: #endif max@0: max@0: #if defined(__GXX_EXPERIMENTAL_CXX0X__) max@0: #undef ARMA_HAVE_STD_TR1 max@0: max@0: #if !defined(ARMA_USE_CXX11) max@0: #define ARMA_USE_CXX11 max@0: #endif max@0: #endif max@0: max@0: #if defined(__clang__) max@0: #undef ARMA_HAVE_STD_TR1 max@0: #endif max@0: max@0: #if (ARMA_GCC_VERSION >= 40300) max@0: #undef arma_hot max@0: #undef arma_cold max@0: max@0: #define arma_hot __attribute__((hot)) max@0: #define arma_cold __attribute__((cold)) max@0: #endif max@0: max@0: #undef ARMA_GCC_VERSION max@0: max@0: #endif max@0: max@0: max@0: #if defined(_MSC_VER) max@0: max@0: #if (_MSC_VER < 1500) max@0: #error "*** Need a newer compiler ***" max@0: #endif max@0: max@0: #undef ARMA_GOOD_COMPILER max@0: #undef ARMA_HAVE_STD_ISFINITE max@0: #undef ARMA_HAVE_STD_SNPRINTF max@0: #undef ARMA_HAVE_LOG1P max@0: #undef ARMA_HAVE_STD_ISINF max@0: #undef ARMA_HAVE_STD_ISNAN max@0: #undef ARMA_HAVE_STD_TR1 max@0: max@0: #undef arma_inline max@0: #define arma_inline inline __forceinline max@0: max@0: // #if (_MSC_VER >= 1400) max@0: // #undef arma_aligned max@0: // #define arma_aligned __declspec(align(16)) max@0: // #endif max@0: max@0: #endif max@0: max@0: max@0: #if defined(__CUDACC__) max@0: #undef ARMA_HAVE_STD_ISFINITE max@0: #undef ARMA_HAVE_STD_SNPRINTF max@0: #undef ARMA_HAVE_LOG1P max@0: #undef ARMA_HAVE_STD_ISINF max@0: #undef ARMA_HAVE_STD_ISNAN max@0: #undef ARMA_HAVE_STD_TR1 max@0: #endif max@0: max@0: max@0: #if defined(__SUNPRO_CC) max@0: #undef ARMA_HAVE_STD_ISFINITE max@0: #undef ARMA_HAVE_STD_SNPRINTF max@0: #undef ARMA_HAVE_LOG1P max@0: #undef ARMA_HAVE_STD_ISINF max@0: #undef ARMA_HAVE_STD_ISNAN max@0: #undef ARMA_HAVE_STD_TR1 max@0: #endif