SpMat_meat.hpp   SpMat_meat.hpp 
skipping to change at line 603 skipping to change at line 603
typedef typename T1::elem_type T; typedef typename T1::elem_type T;
// Make sure eT is complex and T is not (compile-time check). // Make sure eT is complex and T is not (compile-time check).
arma_type_check(( is_complex<eT>::value == false )); arma_type_check(( is_complex<eT>::value == false ));
arma_type_check(( is_complex< T>::value == true )); arma_type_check(( is_complex< T>::value == true ));
// Compile-time abort if types are not compatible. // Compile-time abort if types are not compatible.
arma_type_check(( is_same_type< std::complex<T>, eT >::value == false )); arma_type_check(( is_same_type< std::complex<T>, eT >::value == false ));
// Hack until Proxy supports sparse matrices: assume get_ref() is SpMat<> const unwrap_spmat<T1> tmp1(A.get_ref());
(at const unwrap_spmat<T2> tmp2(B.get_ref());
// the moment it must be).
const SpMat<T>& X = A.get_ref(); const SpMat<T>& X = tmp1.M;
const SpMat<T>& Y = B.get_ref(); const SpMat<T>& Y = tmp2.M;
arma_assert_same_size(X.n_rows, X.n_cols, Y.n_rows, Y.n_cols, "SpMat()"); arma_assert_same_size(X.n_rows, X.n_cols, Y.n_rows, Y.n_cols, "SpMat()");
const uword l_n_rows = X.n_rows; const uword l_n_rows = X.n_rows;
const uword l_n_cols = X.n_cols; const uword l_n_cols = X.n_cols;
// Set size of matrix correctly. // Set size of matrix correctly.
init(l_n_rows, l_n_cols); init(l_n_rows, l_n_cols);
mem_resize(n_unique(X, Y, op_n_unique_count())); mem_resize(n_unique(X, Y, op_n_unique_count()));
 End of changes. 1 change blocks. 
5 lines changed or deleted 5 lines changed or added


 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 810 #define ARMA_VERSION_MINOR 810
#define ARMA_VERSION_PATCH 2 #define ARMA_VERSION_PATCH 3
#define ARMA_VERSION_NAME "Newell Highway" #define ARMA_VERSION_NAME "Newell Highway"
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_dot_meat.hpp   op_dot_meat.hpp 
skipping to change at line 225 skipping to change at line 225
inline inline
typename arma_not_cx<typename T1::elem_type>::result typename arma_not_cx<typename T1::elem_type>::result
op_dot::apply_proxy(const T1& X, const T2& Y) op_dot::apply_proxy(const T1& X, const T2& Y)
{ {
arma_extra_debug_sigprint(); arma_extra_debug_sigprint();
typedef typename T1::elem_type eT; typedef typename T1::elem_type eT;
typedef typename Proxy<T1>::ea_type ea_type1; typedef typename Proxy<T1>::ea_type ea_type1;
typedef typename Proxy<T2>::ea_type ea_type2; typedef typename Proxy<T2>::ea_type ea_type2;
const bool prefer_at_accessor = (Proxy<T1>::prefer_at_accessor) && (Proxy <T2>::prefer_at_accessor); const bool prefer_at_accessor = (Proxy<T1>::prefer_at_accessor) || (Proxy <T2>::prefer_at_accessor);
if(prefer_at_accessor == false) if(prefer_at_accessor == false)
{ {
const Proxy<T1> PA(X); const Proxy<T1> PA(X);
const Proxy<T2> PB(Y); const Proxy<T2> PB(Y);
const uword N = PA.get_n_elem(); const uword N = PA.get_n_elem();
arma_debug_check( (N != PB.get_n_elem()), "dot(): objects must have the same number of elements" ); arma_debug_check( (N != PB.get_n_elem()), "dot(): objects must have the same number of elements" );
skipping to change at line 277 skipping to change at line 277
op_dot::apply_proxy(const T1& X, const T2& Y) op_dot::apply_proxy(const T1& X, const T2& Y)
{ {
arma_extra_debug_sigprint(); arma_extra_debug_sigprint();
typedef typename T1::elem_type eT; typedef typename T1::elem_type eT;
typedef typename get_pod_type<eT>::result T; typedef typename get_pod_type<eT>::result T;
typedef typename Proxy<T1>::ea_type ea_type1; typedef typename Proxy<T1>::ea_type ea_type1;
typedef typename Proxy<T2>::ea_type ea_type2; typedef typename Proxy<T2>::ea_type ea_type2;
const bool prefer_at_accessor = (Proxy<T1>::prefer_at_accessor) && (Proxy <T2>::prefer_at_accessor); const bool prefer_at_accessor = (Proxy<T1>::prefer_at_accessor) || (Proxy <T2>::prefer_at_accessor);
if(prefer_at_accessor == false) if(prefer_at_accessor == false)
{ {
const Proxy<T1> PA(X); const Proxy<T1> PA(X);
const Proxy<T2> PB(Y); const Proxy<T2> PB(Y);
const uword N = PA.get_n_elem(); const uword N = PA.get_n_elem();
arma_debug_check( (N != PB.get_n_elem()), "dot(): objects must have the same number of elements" ); arma_debug_check( (N != PB.get_n_elem()), "dot(): objects must have the same number of elements" );
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/