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 5 | #define ARMA_VERSION_MAJOR 5 | |||
#define ARMA_VERSION_MINOR 000 | #define ARMA_VERSION_MINOR 000 | |||
#define ARMA_VERSION_PATCH 0 | #define ARMA_VERSION_PATCH 1 | |||
#define ARMA_VERSION_NAME "Ankle Biter" | #define ARMA_VERSION_NAME "Ankle Biter" | |||
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 | |||
mul_gemm.hpp | mul_gemm.hpp | |||
---|---|---|---|---|
// Copyright (C) 2008-2014 Conrad Sanderson | // Copyright (C) 2008-2015 Conrad Sanderson | |||
// Copyright (C) 2008-2014 NICTA (www.nicta.com.au) | // Copyright (C) 2008-2015 NICTA (www.nicta.com.au) | |||
// | // | |||
// 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 gemm | //! \addtogroup gemm | |||
//! @{ | //! @{ | |||
//! for tiny square matrices, size <= 4x4 | //! for tiny square matrices, size <= 4x4 | |||
template<const bool do_trans_A=false, const bool use_alpha=false, const boo l use_beta=false> | template<const bool do_trans_A=false, const bool use_alpha=false, const boo l use_beta=false> | |||
skipping to change at line 251 | skipping to change at line 251 | |||
gemm_emul_tinysq<do_trans_A, use_alpha, use_beta>::apply(C, A, BB, alpha, beta); | gemm_emul_tinysq<do_trans_A, use_alpha, use_beta>::apply(C, A, BB, alpha, beta); | |||
} | } | |||
} | } | |||
else | else | |||
{ | { | |||
#if defined(ARMA_USE_ATLAS) | #if defined(ARMA_USE_ATLAS) | |||
{ | { | |||
arma_extra_debug_print("atlas::cblas_gemm()"); | arma_extra_debug_print("atlas::cblas_gemm()"); | |||
arma_debug_assert_atlas_size(A,B); | ||||
atlas::cblas_gemm<eT> | atlas::cblas_gemm<eT> | |||
( | ( | |||
atlas::CblasColMajor, | atlas::CblasColMajor, | |||
(do_trans_A) ? ( is_cx<eT>::yes ? CblasConjTrans : atlas::CblasTr ans ) : atlas::CblasNoTrans, | (do_trans_A) ? ( is_cx<eT>::yes ? CblasConjTrans : atlas::CblasTr ans ) : atlas::CblasNoTrans, | |||
(do_trans_B) ? ( is_cx<eT>::yes ? CblasConjTrans : atlas::CblasTr ans ) : atlas::CblasNoTrans, | (do_trans_B) ? ( is_cx<eT>::yes ? CblasConjTrans : atlas::CblasTr ans ) : atlas::CblasNoTrans, | |||
C.n_rows, | C.n_rows, | |||
C.n_cols, | C.n_cols, | |||
(do_trans_A) ? A.n_rows : A.n_cols, | (do_trans_A) ? A.n_rows : A.n_cols, | |||
(use_alpha) ? alpha : eT(1), | (use_alpha) ? alpha : eT(1), | |||
A.mem, | A.mem, | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 4 lines changed or added | |||
mul_gemv.hpp | mul_gemv.hpp | |||
---|---|---|---|---|
// Copyright (C) 2008-2014 Conrad Sanderson | // Copyright (C) 2008-2015 Conrad Sanderson | |||
// Copyright (C) 2008-2014 NICTA (www.nicta.com.au) | // Copyright (C) 2008-2015 NICTA (www.nicta.com.au) | |||
// | // | |||
// 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 gemv | //! \addtogroup gemv | |||
//! @{ | //! @{ | |||
//! for tiny square matrices, size <= 4x4 | //! for tiny square matrices, size <= 4x4 | |||
template<const bool do_trans_A=false, const bool use_alpha=false, const boo l use_beta=false> | template<const bool do_trans_A=false, const bool use_alpha=false, const boo l use_beta=false> | |||
skipping to change at line 290 | skipping to change at line 290 | |||
arma_extra_debug_sigprint(); | arma_extra_debug_sigprint(); | |||
if( (A.n_rows <= 4) && (A.n_rows == A.n_cols) && (is_cx<eT>::no) ) | if( (A.n_rows <= 4) && (A.n_rows == A.n_cols) && (is_cx<eT>::no) ) | |||
{ | { | |||
gemv_emul_tinysq<do_trans_A, use_alpha, use_beta>::apply(y, A, x, alp ha, beta); | gemv_emul_tinysq<do_trans_A, use_alpha, use_beta>::apply(y, A, x, alp ha, beta); | |||
} | } | |||
else | else | |||
{ | { | |||
#if defined(ARMA_USE_ATLAS) | #if defined(ARMA_USE_ATLAS) | |||
{ | { | |||
arma_debug_assert_atlas_size(A); | ||||
if(is_cx<eT>::no) | if(is_cx<eT>::no) | |||
{ | { | |||
// use gemm() instead of gemv() to work around a speed issue in A tlas 3.8.4 | // use gemm() instead of gemv() to work around a speed issue in A tlas 3.8.4 | |||
arma_extra_debug_print("atlas::cblas_gemm()"); | arma_extra_debug_print("atlas::cblas_gemm()"); | |||
atlas::cblas_gemm<eT> | atlas::cblas_gemm<eT> | |||
( | ( | |||
atlas::CblasColMajor, | atlas::CblasColMajor, | |||
(do_trans_A) ? ( is_cx<eT>::yes ? CblasConjTrans : atlas::Cblas Trans ) : atlas::CblasNoTrans, | (do_trans_A) ? ( is_cx<eT>::yes ? CblasConjTrans : atlas::Cblas Trans ) : atlas::CblasNoTrans, | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 4 lines changed or added | |||