annotate armadillo-3.900.4/include/armadillo_bits/config.hpp @ 84:55a047986812 tip

Update library URI so as not to be document-local
author Chris Cannam
date Wed, 22 Apr 2020 14:21:57 +0100
parents 1ec0e2823891
children
rev   line source
Chris@49 1 // Copyright (C) 2008-2013 NICTA (www.nicta.com.au)
Chris@49 2 // Copyright (C) 2008-2013 Conrad Sanderson
Chris@49 3 //
Chris@49 4 // This Source Code Form is subject to the terms of the Mozilla Public
Chris@49 5 // License, v. 2.0. If a copy of the MPL was not distributed with this
Chris@49 6 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
Chris@49 7
Chris@49 8
Chris@49 9
Chris@49 10 #if !defined(ARMA_USE_LAPACK)
Chris@49 11 // #define ARMA_USE_LAPACK
Chris@49 12 //// Uncomment the above line if you have LAPACK or a high-speed replacement for LAPACK,
Chris@49 13 //// such as Intel MKL, AMD ACML, or the Accelerate framework.
Chris@49 14 //// LAPACK is required for matrix decompositions (eg. SVD) and matrix inverse.
Chris@49 15 #endif
Chris@49 16
Chris@49 17 #if !defined(ARMA_USE_BLAS)
Chris@49 18 // #define ARMA_USE_BLAS
Chris@49 19 //// Uncomment the above line if you have BLAS or a high-speed replacement for BLAS,
Chris@49 20 //// such as OpenBLAS, GotoBLAS, Intel MKL, AMD ACML, or the Accelerate framework.
Chris@49 21 //// BLAS is used for matrix multiplication.
Chris@49 22 //// Without BLAS, matrix multiplication will still work, but might be slower.
Chris@49 23 #endif
Chris@49 24
Chris@49 25 // #define ARMA_USE_WRAPPER
Chris@49 26 //// Comment out the above line if you're getting linking errors when compiling your programs,
Chris@49 27 //// or if you prefer to directly link with LAPACK and/or BLAS.
Chris@49 28 //// You will then need to link your programs directly with -llapack -lblas instead of -larmadillo
Chris@49 29
Chris@49 30 // #define ARMA_BLAS_CAPITALS
Chris@49 31 //// Uncomment the above line if your BLAS and LAPACK libraries have capitalised function names (eg. ACML on 64-bit Windows)
Chris@49 32
Chris@49 33 #define ARMA_BLAS_UNDERSCORE
Chris@49 34 //// Uncomment the above line if your BLAS and LAPACK libraries have function names with a trailing underscore.
Chris@49 35 //// Conversely, comment it out if the function names don't have a trailing underscore.
Chris@49 36
Chris@49 37 // #define ARMA_BLAS_LONG
Chris@49 38 //// Uncomment the above line if your BLAS and LAPACK libraries use "long" instead of "int"
Chris@49 39
Chris@49 40 // #define ARMA_BLAS_LONG_LONG
Chris@49 41 //// Uncomment the above line if your BLAS and LAPACK libraries use "long long" instead of "int"
Chris@49 42
Chris@49 43 // #define ARMA_USE_TBB_ALLOC
Chris@49 44 //// Uncomment the above line if you want to use Intel TBB scalable_malloc() and scalable_free() instead of standard malloc() and free()
Chris@49 45
Chris@49 46 // #define ARMA_USE_MKL_ALLOC
Chris@49 47 //// Uncomment the above line if you want to use Intel MKL mkl_malloc() and mkl_free() instead of standard malloc() and free()
Chris@49 48
Chris@49 49 // #define ARMA_USE_ATLAS
Chris@49 50 // #define ARMA_ATLAS_INCLUDE_DIR /usr/include/
Chris@49 51 //// If you're using ATLAS and the compiler can't find cblas.h and/or clapack.h
Chris@49 52 //// uncomment the above define and specify the appropriate include directory.
Chris@49 53 //// Make sure the directory has a trailing /
Chris@49 54
Chris@49 55 #if !defined(ARMA_64BIT_WORD)
Chris@49 56 // #define ARMA_64BIT_WORD
Chris@49 57 //// Uncomment the above line if you require matrices/vectors capable of holding more than 4 billion elements.
Chris@49 58 //// Your machine and compiler must have support for 64 bit integers (eg. via "long" or "long long")
Chris@49 59 #endif
Chris@49 60
Chris@49 61 #if !defined(ARMA_USE_CXX11)
Chris@49 62 // #define ARMA_USE_CXX11
Chris@49 63 //// Uncomment the above line if you have a C++ compiler that supports the C++11 standard
Chris@49 64 //// This will enable additional features, such as use of initialiser lists
Chris@49 65 #endif
Chris@49 66
Chris@49 67 #if !defined(ARMA_USE_U64S64)
Chris@49 68 // #define ARMA_USE_U64S64
Chris@49 69 //// Uncomment the above line if you require u64 and s64 integer types.
Chris@49 70 //// Your machine and compiler must have support for 64 bit integers (eg. via "long" or "long long").
Chris@49 71 //// Note that ARMA_USE_U64S64 is automatically enabled when ARMA_64BIT_WORD or ARMA_USE_CXX11 are enabled
Chris@49 72 #endif
Chris@49 73
Chris@49 74 #if !defined(ARMA_USE_HDF5)
Chris@49 75 // #define ARMA_USE_HDF5
Chris@49 76 //// Uncomment the above line if you want the ability to save and load matrices stored in the HDF5 format;
Chris@49 77 //// the hdf5.h header file must be available on your system and you will need to link with the hdf5 library (eg. -lhdf5)
Chris@49 78 #endif
Chris@49 79
Chris@49 80 #if !defined(ARMA_MAT_PREALLOC)
Chris@49 81 #define ARMA_MAT_PREALLOC 16
Chris@49 82 #endif
Chris@49 83 //// This is the number of preallocated elements used by matrices and vectors;
Chris@49 84 //// it must be an integer that is at least 1.
Chris@49 85 //// If you mainly use lots of very small vectors (eg. <= 4 elements),
Chris@49 86 //// change the number to the size of your vectors.
Chris@49 87
Chris@49 88 #if !defined(ARMA_SPMAT_CHUNKSIZE)
Chris@49 89 #define ARMA_SPMAT_CHUNKSIZE 256
Chris@49 90 #endif
Chris@49 91 //// This is the minimum increase in the amount of memory (in terms of elements) allocated by a sparse matrix;
Chris@49 92 //// it must be an integer that is at least 1.
Chris@49 93 //// The minimum recommended size is 16.
Chris@49 94
Chris@49 95 // #define ARMA_NO_DEBUG
Chris@49 96 //// Uncomment the above line if you want to disable all run-time checks.
Chris@49 97 //// This will result in faster code, but you first need to make sure that your code runs correctly!
Chris@49 98 //// We strongly recommend to have the run-time checks enabled during development,
Chris@49 99 //// as this greatly aids in finding mistakes in your code, and hence speeds up development.
Chris@49 100 //// We recommend that run-time checks be disabled _only_ for the shipped version of your program.
Chris@49 101
Chris@49 102 // #define ARMA_EXTRA_DEBUG
Chris@49 103 //// Uncomment the above line if you want to see the function traces of how Armadillo evaluates expressions.
Chris@49 104 //// This is mainly useful for debugging of the library.
Chris@49 105
Chris@49 106
Chris@49 107 // #define ARMA_USE_BOOST
Chris@49 108 // #define ARMA_USE_BOOST_DATE
Chris@49 109
Chris@49 110
Chris@49 111 #if !defined(ARMA_DEFAULT_OSTREAM)
Chris@49 112 #define ARMA_DEFAULT_OSTREAM std::cout
Chris@49 113 #endif
Chris@49 114
Chris@49 115 #define ARMA_PRINT_LOGIC_ERRORS
Chris@49 116 #define ARMA_PRINT_RUNTIME_ERRORS
Chris@49 117 //#define ARMA_PRINT_HDF5_ERRORS
Chris@49 118
Chris@49 119 // #define ARMA_HAVE_STD_ISFINITE
Chris@49 120 // #define ARMA_HAVE_STD_ISINF
Chris@49 121 // #define ARMA_HAVE_STD_ISNAN
Chris@49 122 // #define ARMA_HAVE_STD_SNPRINTF
Chris@49 123
Chris@49 124 // #define ARMA_HAVE_LOG1P
Chris@49 125 // #define ARMA_HAVE_GETTIMEOFDAY
Chris@49 126
Chris@49 127
Chris@49 128
Chris@49 129 #if defined(ARMA_DONT_USE_LAPACK)
Chris@49 130 #undef ARMA_USE_LAPACK
Chris@49 131 #endif
Chris@49 132
Chris@49 133 #if defined(ARMA_DONT_USE_BLAS)
Chris@49 134 #undef ARMA_USE_BLAS
Chris@49 135 #endif
Chris@49 136
Chris@49 137 #if defined(ARMA_DONT_USE_WRAPPER)
Chris@49 138 #undef ARMA_USE_WRAPPER
Chris@49 139 #endif
Chris@49 140
Chris@49 141 #if defined(ARMA_DONT_USE_ATLAS)
Chris@49 142 #undef ARMA_USE_ATLAS
Chris@49 143 #undef ARMA_ATLAS_INCLUDE_DIR
Chris@49 144 #endif
Chris@49 145
Chris@49 146 #if defined(ARMA_DONT_USE_CXX11)
Chris@49 147 #undef ARMA_USE_CXX11
Chris@49 148 #endif
Chris@49 149
Chris@49 150 #if defined(ARMA_DONT_USE_HDF5)
Chris@49 151 #undef ARMA_USE_HDF5
Chris@49 152 #endif
Chris@49 153
Chris@49 154 #if defined(ARMA_DONT_USE_BOOST)
Chris@49 155 #undef ARMA_USE_BOOST
Chris@49 156 #undef ARMA_USE_BOOST_DATE
Chris@49 157 #endif
Chris@49 158
Chris@49 159 #if defined(ARMA_DONT_PRINT_LOGIC_ERRORS)
Chris@49 160 #undef ARMA_PRINT_LOGIC_ERRORS
Chris@49 161 #endif
Chris@49 162
Chris@49 163 #if defined(ARMA_DONT_PRINT_RUNTIME_ERRORS)
Chris@49 164 #undef ARMA_PRINT_RUNTIME_ERRORS
Chris@49 165 #endif