arma_version.hpp | arma_version.hpp | |||
---|---|---|---|---|
skipping to change at line 13 | skipping to change at line 13 | |||
// | // | |||
// This Source Code Form is subject to the terms of the Mozilla Public | // This Source Code Form is subject to the terms of the Mozilla Public | |||
// License, v. 2.0. If a copy of the MPL was not distributed with this | // License, v. 2.0. If a copy of the MPL was not distributed with this | |||
// file, You can obtain one at http://mozilla.org/MPL/2.0/. | // file, You can obtain one at http://mozilla.org/MPL/2.0/. | |||
//! \addtogroup arma_version | //! \addtogroup arma_version | |||
//! @{ | //! @{ | |||
#define ARMA_VERSION_MAJOR 3 | #define ARMA_VERSION_MAJOR 3 | |||
#define ARMA_VERSION_MINOR 930 | #define ARMA_VERSION_MINOR 930 | |||
#define ARMA_VERSION_PATCH 0 | #define ARMA_VERSION_PATCH 1 | |||
#define ARMA_VERSION_NAME "Dragon's Back" | #define ARMA_VERSION_NAME "Dragon's Back" | |||
struct arma_version | struct arma_version | |||
{ | { | |||
static const unsigned int major = ARMA_VERSION_MAJOR; | static const unsigned int major = ARMA_VERSION_MAJOR; | |||
static const unsigned int minor = ARMA_VERSION_MINOR; | static const unsigned int minor = ARMA_VERSION_MINOR; | |||
static const unsigned int patch = ARMA_VERSION_PATCH; | static const unsigned int patch = ARMA_VERSION_PATCH; | |||
static | static | |||
inline | inline | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
armadillo | armadillo | |||
---|---|---|---|---|
skipping to change at line 26 | skipping to change at line 26 | |||
#include <iostream> | #include <iostream> | |||
#include <fstream> | #include <fstream> | |||
#include <sstream> | #include <sstream> | |||
#include <stdexcept> | #include <stdexcept> | |||
#include <limits> | #include <limits> | |||
#include <algorithm> | #include <algorithm> | |||
#include <complex> | #include <complex> | |||
#include <vector> | #include <vector> | |||
#if ( defined(__unix__) || defined(__unix) || defined(_POSIX_C_SOURCE) ) && | ||||
!defined(_WIN32) | ||||
#include <unistd.h> | ||||
#endif | ||||
#include "armadillo_bits/config.hpp" | #include "armadillo_bits/config.hpp" | |||
#include "armadillo_bits/compiler_setup.hpp" | #include "armadillo_bits/compiler_setup.hpp" | |||
#include "armadillo_bits/undefine_conflicts.hpp" | #include "armadillo_bits/undefine_conflicts.hpp" | |||
#if defined(ARMA_USE_CXX11) | #if defined(ARMA_USE_CXX11) | |||
#include <initializer_list> | #include <initializer_list> | |||
#include <cstdint> | #include <cstdint> | |||
#include <chrono> | #include <chrono> | |||
#include <random> | #include <random> | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 5 lines changed or added | |||
auxlib_meat.hpp | auxlib_meat.hpp | |||
---|---|---|---|---|
skipping to change at line 2558 | skipping to change at line 2558 | |||
#endif | #endif | |||
} | } | |||
template<typename T, typename T1> | template<typename T, typename T1> | |||
inline | inline | |||
bool | bool | |||
auxlib::svd_dc(Mat< std::complex<T> >& U, Col<T>& S, Mat< std::complex<T> > & V, const Base< std::complex<T>, T1>& X) | auxlib::svd_dc(Mat< std::complex<T> >& U, Col<T>& S, Mat< std::complex<T> > & V, const Base< std::complex<T>, T1>& X) | |||
{ | { | |||
arma_extra_debug_sigprint(); | arma_extra_debug_sigprint(); | |||
#if defined(ARMA_USE_LAPACK) | #if (defined(ARMA_USE_LAPACK) && defined(ARMA_DONT_USE_CX_GESDD)) | |||
{ | ||||
arma_extra_debug_print("auxlib::svd_dc(): redirecting to auxlib::svd(), | ||||
as use of lapack::cx_gesdd() is disabled"); | ||||
return auxlib::svd(U, S, V, X); | ||||
} | ||||
#elif defined(ARMA_USE_LAPACK) | ||||
{ | { | |||
typedef std::complex<T> eT; | typedef std::complex<T> eT; | |||
Mat<eT> A(X.get_ref()); | Mat<eT> A(X.get_ref()); | |||
if(A.is_empty()) | if(A.is_empty()) | |||
{ | { | |||
U.eye(A.n_rows, A.n_rows); | U.eye(A.n_rows, A.n_rows); | |||
S.reset(); | S.reset(); | |||
V.eye(A.n_cols, A.n_cols); | V.eye(A.n_cols, A.n_cols); | |||
skipping to change at line 2684 | skipping to change at line 2690 | |||
#endif | #endif | |||
} | } | |||
template<typename T, typename T1> | template<typename T, typename T1> | |||
inline | inline | |||
bool | bool | |||
auxlib::svd_dc_econ(Mat< std::complex<T> >& U, Col<T>& S, Mat< std::complex <T> >& V, const Base< std::complex<T>, T1>& X) | auxlib::svd_dc_econ(Mat< std::complex<T> >& U, Col<T>& S, Mat< std::complex <T> >& V, const Base< std::complex<T>, T1>& X) | |||
{ | { | |||
arma_extra_debug_sigprint(); | arma_extra_debug_sigprint(); | |||
#if defined(ARMA_USE_LAPACK) | #if (defined(ARMA_USE_LAPACK) && defined(ARMA_DONT_USE_CX_GESDD)) | |||
{ | ||||
arma_extra_debug_print("auxlib::svd_dc_econ(): redirecting to auxlib::s | ||||
vd_econ(), as use of lapack::cx_gesdd() is disabled"); | ||||
return auxlib::svd_econ(U, S, V, X, 'b'); | ||||
} | ||||
#elif defined(ARMA_USE_LAPACK) | ||||
{ | { | |||
typedef std::complex<T> eT; | typedef std::complex<T> eT; | |||
Mat<eT> A(X.get_ref()); | Mat<eT> A(X.get_ref()); | |||
char jobz = 'S'; | char jobz = 'S'; | |||
blas_int m = blas_int(A.n_rows); | blas_int m = blas_int(A.n_rows); | |||
blas_int n = blas_int(A.n_cols); | blas_int n = blas_int(A.n_cols); | |||
blas_int min_mn = (std::min)(m,n); | blas_int min_mn = (std::min)(m,n); | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 16 lines changed or added | |||
compiler_setup.hpp | compiler_setup.hpp | |||
---|---|---|---|---|
skipping to change at line 42 | skipping to change at line 42 | |||
#else | #else | |||
#define arma_fortran(function) arma_fortran2_noprefix(function) | #define arma_fortran(function) arma_fortran2_noprefix(function) | |||
#define arma_atlas(function) function | #define arma_atlas(function) function | |||
#endif | #endif | |||
#define arma_fortran_prefix(function) arma_fortran2_prefix(function) | #define arma_fortran_prefix(function) arma_fortran2_prefix(function) | |||
#define arma_fortran_noprefix(function) arma_fortran2_noprefix(function) | #define arma_fortran_noprefix(function) arma_fortran2_noprefix(function) | |||
#define ARMA_INCFILE_WRAP(x) <x> | #define ARMA_INCFILE_WRAP(x) <x> | |||
#if ( ((_POSIX_C_SOURCE >= 200112L) || (_XOPEN_SOURCE >= 600)) && !defined( | // posix_memalign() is part of IEEE standard 1003.1 | |||
__MINGW32__) && !defined(__APPLE__) ) | // http://pubs.opengroup.org/onlinepubs/009696899/functions/posix_memalign. | |||
html | ||||
// http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/unistd.h.html | ||||
// http://sourceforge.net/p/predef/wiki/Standards/ | ||||
#if ( defined(_POSIX_ADVISORY_INFO) && (_POSIX_ADVISORY_INFO >= 200112L) ) | ||||
#define ARMA_HAVE_POSIX_MEMALIGN | #define ARMA_HAVE_POSIX_MEMALIGN | |||
#endif | #endif | |||
#if defined(__APPLE__) | #if defined(__APPLE__) | |||
#define ARMA_BLAS_SDOT_BUG | #define ARMA_BLAS_SDOT_BUG | |||
#undef ARMA_HAVE_POSIX_MEMALIGN | ||||
#endif | ||||
#if defined(__MINGW32__) | ||||
#undef ARMA_HAVE_POSIX_MEMALIGN | ||||
#endif | #endif | |||
#if (__cplusplus >= 201103L) | #if (__cplusplus >= 201103L) | |||
#if !defined(ARMA_USE_CXX11) | #if !defined(ARMA_USE_CXX11) | |||
#define ARMA_USE_CXX11 | #define ARMA_USE_CXX11 | |||
#endif | #endif | |||
#endif | #endif | |||
#if defined(ARMA_USE_CXX11) | #if defined(ARMA_USE_CXX11) | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 11 lines changed or added | |||