Col_meat.hpp   Col_meat.hpp 
skipping to change at line 253 skipping to change at line 253
access::rw(X.mem) = 0; access::rw(X.mem) = 0;
} }
} }
} }
template<typename eT> template<typename eT>
inline inline
const Col<eT>& const Col<eT>&
Col<eT>::operator=(Col<eT>&& X) Col<eT>::operator=(Col<eT>&& X)
{ {
arma_extra_debug_sigprint(); arma_extra_debug_sigprint(arma_boost::format("this = %x X = %x") % th is % &X);
(*this).steal_mem(X); (*this).steal_mem(X);
if( (X.mem_state == 0) && (X.n_elem <= arma_config::mat_prealloc) ) if( (X.mem_state == 0) && (X.n_elem <= arma_config::mat_prealloc) && (t his != &X) )
{ {
access::rw(X.n_rows) = 0; access::rw(X.n_rows) = 0;
access::rw(X.n_cols) = 1; access::rw(X.n_cols) = 1;
access::rw(X.n_elem) = 0; access::rw(X.n_elem) = 0;
access::rw(X.mem) = 0; access::rw(X.mem) = 0;
} }
return *this; return *this;
} }
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 Cube_meat.hpp   Cube_meat.hpp 
skipping to change at line 144 skipping to change at line 144
{ {
arma_extra_debug_sigprint( arma_boost::format("n_rows = %d, n_cols = %d, n_slices = %d") % n_rows % n_cols % n_slices ); arma_extra_debug_sigprint( arma_boost::format("n_rows = %d, n_cols = %d, n_slices = %d") % n_rows % n_cols % n_slices );
arma_debug_check arma_debug_check
( (
( (
( (n_rows > 0x0FFF) || (n_cols > 0x0FFF) || (n_slices > 0xFF) ) ( (n_rows > 0x0FFF) || (n_cols > 0x0FFF) || (n_slices > 0xFF) )
? ( (float(n_rows) * float(n_cols) * float(n_slices)) > float(ARMA_ MAX_UWORD) ) ? ( (float(n_rows) * float(n_cols) * float(n_slices)) > float(ARMA_ MAX_UWORD) )
: false : false
), ),
"Cube::init(): requested size is too large" "Cube::init(): requested size is too large; suggest to enable ARMA_64BI T_WORD"
); );
if(n_elem <= Cube_prealloc::mem_n_elem) if(n_elem <= Cube_prealloc::mem_n_elem)
{ {
arma_extra_debug_print("Cube::init(): using local memory"); arma_extra_debug_print("Cube::init(): using local memory");
access::rw(mem) = mem_local; access::rw(mem) = mem_local;
} }
else else
{ {
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Mat_meat.hpp   Mat_meat.hpp 
skipping to change at line 142 skipping to change at line 142
// ensure that n_elem can hold the result of (n_rows * n_cols) // ensure that n_elem can hold the result of (n_rows * n_cols)
arma_debug_check arma_debug_check
( (
( (
( (n_rows > ARMA_MAX_UHWORD) || (n_cols > ARMA_MAX_UHWORD) ) ( (n_rows > ARMA_MAX_UHWORD) || (n_cols > ARMA_MAX_UHWORD) )
? ( (float(n_rows) * float(n_cols)) > float(ARMA_MAX_UWORD) ) ? ( (float(n_rows) * float(n_cols)) > float(ARMA_MAX_UWORD) )
: false : false
), ),
"Mat::init(): requested size is too large" "Mat::init(): requested size is too large; suggest to enable ARMA_64BIT _WORD"
); );
if(n_elem <= arma_config::mat_prealloc) if(n_elem <= arma_config::mat_prealloc)
{ {
arma_extra_debug_print("Mat::init(): using local memory"); arma_extra_debug_print("Mat::init(): using local memory");
access::rw(mem) = mem_local; access::rw(mem) = mem_local;
} }
else else
{ {
skipping to change at line 576 skipping to change at line 576
template<typename eT> template<typename eT>
inline inline
const Mat<eT>& const Mat<eT>&
Mat<eT>::operator=(Mat<eT>&& X) Mat<eT>::operator=(Mat<eT>&& X)
{ {
arma_extra_debug_sigprint(arma_boost::format("this = %x X = %x") % th is % &X); arma_extra_debug_sigprint(arma_boost::format("this = %x X = %x") % th is % &X);
(*this).steal_mem(X); (*this).steal_mem(X);
if( (X.mem_state == 0) && (X.n_elem <= arma_config::mat_prealloc) ) if( (X.mem_state == 0) && (X.n_elem <= arma_config::mat_prealloc) && (t his != &X) )
{ {
access::rw(X.n_rows) = 0; access::rw(X.n_rows) = 0;
access::rw(X.n_cols) = 0; access::rw(X.n_cols) = 0;
access::rw(X.n_elem) = 0; access::rw(X.n_elem) = 0;
access::rw(X.mem) = 0; access::rw(X.mem) = 0;
} }
return *this; return *this;
} }
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 Row_meat.hpp   Row_meat.hpp 
skipping to change at line 219 skipping to change at line 219
access::rw(X.mem) = 0; access::rw(X.mem) = 0;
} }
} }
} }
template<typename eT> template<typename eT>
inline inline
const Row<eT>& const Row<eT>&
Row<eT>::operator=(Row<eT>&& X) Row<eT>::operator=(Row<eT>&& X)
{ {
arma_extra_debug_sigprint(); arma_extra_debug_sigprint(arma_boost::format("this = %x X = %x") % th is % &X);
(*this).steal_mem(X); (*this).steal_mem(X);
if( (X.mem_state == 0) && (X.n_elem <= arma_config::mat_prealloc) ) if( (X.mem_state == 0) && (X.n_elem <= arma_config::mat_prealloc) && (t his != &X) )
{ {
access::rw(X.n_rows) = 1; access::rw(X.n_rows) = 1;
access::rw(X.n_cols) = 0; access::rw(X.n_cols) = 0;
access::rw(X.n_elem) = 0; access::rw(X.n_elem) = 0;
access::rw(X.mem) = 0; access::rw(X.mem) = 0;
} }
return *this; return *this;
} }
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 SpMat_meat.hpp   SpMat_meat.hpp 
skipping to change at line 3782 skipping to change at line 3782
} }
// Ensure that n_elem can hold the result of (n_rows * n_cols) // Ensure that n_elem can hold the result of (n_rows * n_cols)
arma_debug_check arma_debug_check
( (
( (
( (in_rows > ARMA_MAX_UHWORD) || (in_cols > ARMA_MAX_UHWORD) ) ( (in_rows > ARMA_MAX_UHWORD) || (in_cols > ARMA_MAX_UHWORD) )
? ( (float(in_rows) * float(in_cols)) > float(ARMA_MAX_UWORD) ) ? ( (float(in_rows) * float(in_cols)) > float(ARMA_MAX_UWORD) )
: false : false
), ),
"SpMat::init(): requested size is too large" "SpMat::init(): requested size is too large; suggest to enable ARMA_6 4BIT_WORD"
); );
// Clean out the existing memory. // Clean out the existing memory.
if (values) if (values)
{ {
memory::release(values); memory::release(values);
memory::release(row_indices); memory::release(row_indices);
} }
access::rw(values) = memory::acquire_chunked<eT> (1); access::rw(values) = memory::acquire_chunked<eT> (1);
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 arma_rng_cxx98.hpp   arma_rng_cxx98.hpp 
// Copyright (C) 2013 Conrad Sanderson // Copyright (C) 2013-2014 Conrad Sanderson
// Copyright (C) 2013 NICTA (www.nicta.com.au) // Copyright (C) 2013-2014 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 arma_rng_cxx98 //! \addtogroup arma_rng_cxx98
//! @{ //! @{
class arma_rng_cxx98 class arma_rng_cxx98
{ {
skipping to change at line 124 skipping to change at line 124
} }
} }
else else
{ {
const uword length = b - a + 1; const uword length = b - a + 1;
const double scale = double(length) / double(RAND_MAX); const double scale = double(length) / double(RAND_MAX);
for(uword i=0; i<N; ++i) for(uword i=0; i<N; ++i)
{ {
mem[i] = int( double(std::rand()) * scale ) + a; mem[i] = (std::min)( b, (int( double(std::rand()) * scale ) + a) );
} }
} }
} }
inline inline
int int
arma_rng_cxx98::randi_max_val() arma_rng_cxx98::randi_max_val()
{ {
return RAND_MAX; return RAND_MAX;
} }
 End of changes. 2 change blocks. 
3 lines changed or deleted 3 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 4 #define ARMA_VERSION_MAJOR 4
#define ARMA_VERSION_MINOR 000 #define ARMA_VERSION_MINOR 000
#define ARMA_VERSION_PATCH 0 #define ARMA_VERSION_PATCH 1
#define ARMA_VERSION_NAME "Feral Steamroller" #define ARMA_VERSION_NAME "Feral Steamroller"
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


 compiler_setup.hpp   compiler_setup.hpp 
skipping to change at line 117 skipping to change at line 117
#endif #endif
#if defined(__GNUG__) #if defined(__GNUG__)
#define ARMA_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNU C_PATCHLEVEL__) #define ARMA_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNU C_PATCHLEVEL__)
#if (ARMA_GCC_VERSION < 40200) #if (ARMA_GCC_VERSION < 40200)
#error "*** Need a newer compiler ***" #error "*** Need a newer compiler ***"
#endif #endif
#if ( (ARMA_GCC_VERSION >= 40700) && (ARMA_GCC_VERSION <= 40701) ) #if ( (ARMA_GCC_VERSION >= 40700) && (ARMA_GCC_VERSION <= 40701) ) && !de fined(__INTEL_COMPILER)
#error "gcc versions 4.7.0 and 4.7.1 are unsupported; use 4.7.2 or late r" #error "gcc versions 4.7.0 and 4.7.1 are unsupported; use 4.7.2 or late r"
// due to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53549 // due to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53549
#endif #endif
#define ARMA_GOOD_COMPILER #define ARMA_GOOD_COMPILER
#undef ARMA_HAVE_TR1 #undef ARMA_HAVE_TR1
#undef arma_pure #undef arma_pure
#undef arma_const #undef arma_const
#undef arma_aligned #undef arma_aligned
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 field_meat.hpp   field_meat.hpp 
skipping to change at line 988 skipping to change at line 988
{ {
arma_extra_debug_sigprint( arma_boost::format("n_rows_in = %d, n_cols_in = %d") % n_rows_in % n_cols_in ); arma_extra_debug_sigprint( arma_boost::format("n_rows_in = %d, n_cols_in = %d") % n_rows_in % n_cols_in );
arma_debug_check arma_debug_check
( (
( (
( (n_rows_in > ARMA_MAX_UHWORD) || (n_cols_in > ARMA_MAX_UHWORD) ) ( (n_rows_in > ARMA_MAX_UHWORD) || (n_cols_in > ARMA_MAX_UHWORD) )
? ( (float(n_rows_in) * float(n_cols_in)) > float(ARMA_MAX_UWORD) ) ? ( (float(n_rows_in) * float(n_cols_in)) > float(ARMA_MAX_UWORD) )
: false : false
), ),
"field::init(): requested size is too large" "field::init(): requested size is too large; suggest to enable ARMA_64B IT_WORD"
); );
const uword n_elem_new = n_rows_in * n_cols_in; const uword n_elem_new = n_rows_in * n_cols_in;
if(n_elem == n_elem_new) if(n_elem == n_elem_new)
{ {
// delete_objects(); // delete_objects();
// create_objects(); // create_objects();
access::rw(n_rows) = n_rows_in; access::rw(n_rows) = n_rows_in;
access::rw(n_cols) = n_cols_in; access::rw(n_cols) = n_cols_in;
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 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/