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 4 | #define ARMA_VERSION_MAJOR 4 | |||
#define ARMA_VERSION_MINOR 550 | #define ARMA_VERSION_MINOR 550 | |||
#define ARMA_VERSION_PATCH 3 | #define ARMA_VERSION_PATCH 4 | |||
#define ARMA_VERSION_NAME "Singapore Sling Deluxe" | #define ARMA_VERSION_NAME "Singapore Sling Deluxe" | |||
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 | |||
op_expmat_meat.hpp | op_expmat_meat.hpp | |||
---|---|---|---|---|
skipping to change at line 49 | skipping to change at line 49 | |||
{ | { | |||
const unwrap<T1> tmp(expr.m); | const unwrap<T1> tmp(expr.m); | |||
const Mat<eT>& A = tmp.M; | const Mat<eT>& A = tmp.M; | |||
arma_debug_check( (A.is_square() == false), "expmat(): given matrix is not square sized" ); | arma_debug_check( (A.is_square() == false), "expmat(): given matrix is not square sized" ); | |||
const T norm_val = arma::norm(A, "inf"); | const T norm_val = arma::norm(A, "inf"); | |||
const T log2_val = eop_aux::log2(norm_val); | const T log2_val = eop_aux::log2(norm_val); | |||
const uword s = (std::max)(uword(0), uword(log2_val) + uword(1) + uword (1)); | const uword s = uword( (std::max)(sword(0), sword(log2_val) + sword(1) + sword(1)) ); | |||
const Mat<eT> AA = A / eT(eop_aux::pow(double(2), double(s))); | const Mat<eT> AA = A / eT(eop_aux::pow(double(2), double(s))); | |||
T c = T(0.5); | T c = T(0.5); | |||
Mat<eT> E(AA.n_rows, AA.n_rows, fill::eye); E += c * AA; | Mat<eT> E(AA.n_rows, AA.n_rows, fill::eye); E += c * AA; | |||
Mat<eT> D(AA.n_rows, AA.n_rows, fill::eye); D -= c * AA; | Mat<eT> D(AA.n_rows, AA.n_rows, fill::eye); D -= c * AA; | |||
Mat<eT> X = AA; | Mat<eT> X = AA; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||