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 100 | #define ARMA_VERSION_MINOR 100 | |||
#define ARMA_VERSION_PATCH 1 | #define ARMA_VERSION_PATCH 2 | |||
#define ARMA_VERSION_NAME "Dirt Cruiser" | #define ARMA_VERSION_NAME "Dirt Cruiser" | |||
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 | |||
memory.hpp | memory.hpp | |||
---|---|---|---|---|
skipping to change at line 35 | skipping to change at line 35 | |||
template<typename eT> arma_inline static void mark_as_aligned(const eT*& mem); | template<typename eT> arma_inline static void mark_as_aligned(const eT*& mem); | |||
}; | }; | |||
arma_inline | arma_inline | |||
uword | uword | |||
memory::enlarge_to_mult_of_chunksize(const uword n_elem) | memory::enlarge_to_mult_of_chunksize(const uword n_elem) | |||
{ | { | |||
const uword chunksize = arma_config::spmat_chunksize; | const uword chunksize = arma_config::spmat_chunksize; | |||
// this relies on integer division | // this relies on integer division | |||
const uword n_elem_mod = (n_elem > 0) ? (((n_elem-1) / chunksize) + 1) * chunksize : chunksize; | const uword n_elem_mod = (n_elem > 0) ? (((n_elem-1) / chunksize) + 1) * chunksize : uword(0); | |||
return n_elem_mod; | return n_elem_mod; | |||
} | } | |||
template<typename eT> | template<typename eT> | |||
inline | inline | |||
arma_malloc | arma_malloc | |||
eT* | eT* | |||
memory::acquire(const uword n_elem) | memory::acquire(const uword n_elem) | |||
{ | { | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
operator_minus.hpp | operator_minus.hpp | |||
---|---|---|---|---|
skipping to change at line 156 | skipping to change at line 156 | |||
typedef typename T1::elem_type eT1; | typedef typename T1::elem_type eT1; | |||
typedef typename T2::elem_type eT2; | typedef typename T2::elem_type eT2; | |||
typedef typename promote_type<eT1,eT2>::result out_eT; | typedef typename promote_type<eT1,eT2>::result out_eT; | |||
promote_type<eT1,eT2>::check(); | promote_type<eT1,eT2>::check(); | |||
return mtGlue<out_eT, T1, T2, glue_mixed_minus>( X, Y ); | return mtGlue<out_eT, T1, T2, glue_mixed_minus>( X, Y ); | |||
} | } | |||
//! unary "-" for sparse objects | ||||
template<typename T1> | ||||
inline | ||||
typename | ||||
enable_if2 | ||||
< | ||||
is_arma_sparse_type<T1>::value && is_signed<typename T1::elem_type>::valu | ||||
e, | ||||
SpOp<T1,spop_scalar_times> | ||||
>::result | ||||
operator- | ||||
(const T1& X) | ||||
{ | ||||
arma_extra_debug_sigprint(); | ||||
typedef typename T1::elem_type eT; | ||||
return SpOp<T1,spop_scalar_times>(X, eT(-1)); | ||||
} | ||||
//! subtraction of two sparse objects | //! subtraction of two sparse objects | |||
template<typename T1, typename T2> | template<typename T1, typename T2> | |||
inline | inline | |||
typename | typename | |||
enable_if2 | enable_if2 | |||
< | < | |||
(is_arma_sparse_type<T1>::value && is_arma_sparse_type<T2>::value && is_s ame_type<typename T1::elem_type, typename T2::elem_type>::value), | (is_arma_sparse_type<T1>::value && is_arma_sparse_type<T2>::value && is_s ame_type<typename T1::elem_type, typename T2::elem_type>::value), | |||
const SpGlue<T1,T2,spglue_minus> | const SpGlue<T1,T2,spglue_minus> | |||
>::result | >::result | |||
operator- | operator- | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 20 lines changed or added | |||