| Proxy.hpp | | Proxy.hpp | |
| | | | |
| skipping to change at line 1405 | | skipping to change at line 1405 | |
| arma_inline uword get_n_elem() const { return Q.n_elem; } | | arma_inline uword get_n_elem() const { return Q.n_elem; } | |
| | | | |
| arma_inline elem_type operator[] (const uword i) const
{ return Q[i]; } | | arma_inline elem_type operator[] (const uword i) const
{ return Q[i]; } | |
| arma_inline elem_type at (const uword row, const uword col) const
{ return Q.at(row,col); } | | arma_inline elem_type at (const uword row, const uword col) const
{ return Q.at(row,col); } | |
| arma_inline elem_type at_alt (const uword i) const
{ return Q.at_alt(i); } | | arma_inline elem_type at_alt (const uword i) const
{ return Q.at_alt(i); } | |
| | | | |
| arma_inline ea_type get_ea() const { return Q.memptr(); } | | arma_inline ea_type get_ea() const { return Q.memptr(); } | |
| arma_inline aligned_ea_type get_aligned_ea() const { return Q; } | | arma_inline aligned_ea_type get_aligned_ea() const { return Q; } | |
| | | | |
| template<typename eT2> | | template<typename eT2> | |
|
| arma_inline bool is_alias(const Mat<eT2>& X) const { return false; } | | arma_inline bool is_alias(const Mat<eT2>&) const { return false; } | |
| | | | |
| arma_inline bool is_aligned() const { return memory::is_aligned(Q.memptr(
)); } | | arma_inline bool is_aligned() const { return memory::is_aligned(Q.memptr(
)); } | |
| }; | | }; | |
| | | | |
| template<typename eT> | | template<typename eT> | |
| class Proxy< xvec_htrans<eT> > | | class Proxy< xvec_htrans<eT> > | |
| { | | { | |
| public: | | public: | |
| | | | |
| typedef eT elem_type; | | typedef eT elem_type; | |
| | | | |
| skipping to change at line 1448 | | skipping to change at line 1448 | |
| arma_inline uword get_n_elem() const { return Q.n_elem; } | | arma_inline uword get_n_elem() const { return Q.n_elem; } | |
| | | | |
| arma_inline elem_type operator[] (const uword i) const
{ return Q[i]; } | | arma_inline elem_type operator[] (const uword i) const
{ return Q[i]; } | |
| arma_inline elem_type at (const uword row, const uword col) const
{ return Q.at(row,col); } | | arma_inline elem_type at (const uword row, const uword col) const
{ return Q.at(row,col); } | |
| arma_inline elem_type at_alt (const uword i) const
{ return Q.at_alt(i); } | | arma_inline elem_type at_alt (const uword i) const
{ return Q.at_alt(i); } | |
| | | | |
| arma_inline ea_type get_ea() const { return Q.memptr(); } | | arma_inline ea_type get_ea() const { return Q.memptr(); } | |
| arma_inline aligned_ea_type get_aligned_ea() const { return Q; } | | arma_inline aligned_ea_type get_aligned_ea() const { return Q; } | |
| | | | |
| template<typename eT2> | | template<typename eT2> | |
|
| arma_inline bool is_alias(const Mat<eT2>& X) const { return false; } | | arma_inline bool is_alias(const Mat<eT2>&) const { return false; } | |
| | | | |
| arma_inline bool is_aligned() const { return memory::is_aligned(Q.memptr(
)); } | | arma_inline bool is_aligned() const { return memory::is_aligned(Q.memptr(
)); } | |
| }; | | }; | |
| | | | |
| template<typename eT, typename T1> | | template<typename eT, typename T1> | |
| class Proxy< subview_elem1<eT,T1> > | | class Proxy< subview_elem1<eT,T1> > | |
| { | | { | |
| public: | | public: | |
| | | | |
| typedef eT elem_type; | | typedef eT elem_type; | |
| | | | |
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 3117 | | skipping to change at line 3117 | |
| | | | |
| case arma_binary: | | case arma_binary: | |
| save_okay = diskio::save_arma_binary(*this, name); | | save_okay = diskio::save_arma_binary(*this, name); | |
| break; | | break; | |
| | | | |
| case coord_ascii: | | case coord_ascii: | |
| save_okay = diskio::save_coord_ascii(*this, name); | | save_okay = diskio::save_coord_ascii(*this, name); | |
| break; | | break; | |
| | | | |
| default: | | default: | |
|
| arma_warn(true, "SpMat::save(): unsupported file type"); | | arma_warn(print_status, "SpMat::save(): unsupported file type"); | |
| save_okay = false; | | save_okay = false; | |
| } | | } | |
| | | | |
|
| arma_warn( (save_okay == false), "SpMat::save(): couldn't write to ", nam
e); | | arma_warn( print_status && (save_okay == false), "SpMat::save(): couldn't
write to ", name); | |
| | | | |
| return save_okay; | | return save_okay; | |
| } | | } | |
| | | | |
| //! save the matrix to a stream | | //! save the matrix to a stream | |
| template<typename eT> | | template<typename eT> | |
| inline | | inline | |
| bool | | bool | |
| SpMat<eT>::save(std::ostream& os, const file_type type, const bool print_st
atus) const | | SpMat<eT>::save(std::ostream& os, const file_type type, const bool print_st
atus) const | |
| { | | { | |
| | | | |
| skipping to change at line 3155 | | skipping to change at line 3155 | |
| | | | |
| case arma_binary: | | case arma_binary: | |
| save_okay = diskio::save_arma_binary(*this, os); | | save_okay = diskio::save_arma_binary(*this, os); | |
| break; | | break; | |
| | | | |
| case coord_ascii: | | case coord_ascii: | |
| save_okay = diskio::save_coord_ascii(*this, os); | | save_okay = diskio::save_coord_ascii(*this, os); | |
| break; | | break; | |
| | | | |
| default: | | default: | |
|
| arma_warn(true, "SpMat::save(): unsupported file type"); | | arma_warn(print_status, "SpMat::save(): unsupported file type"); | |
| save_okay = false; | | save_okay = false; | |
| } | | } | |
| | | | |
|
| arma_warn( (save_okay == false), "SpMat::save(): couldn't write to the gi
ven stream"); | | arma_warn( print_status && (save_okay == false), "SpMat::save(): couldn't
write to the given stream"); | |
| | | | |
| return save_okay; | | return save_okay; | |
| } | | } | |
| | | | |
| //! load a matrix from a file | | //! load a matrix from a file | |
| template<typename eT> | | template<typename eT> | |
| inline | | inline | |
| bool | | bool | |
| SpMat<eT>::load(const std::string name, const file_type type, const bool pr
int_status) | | SpMat<eT>::load(const std::string name, const file_type type, const bool pr
int_status) | |
| { | | { | |
| | | | |
| skipping to change at line 3198 | | skipping to change at line 3198 | |
| | | | |
| case arma_binary: | | case arma_binary: | |
| load_okay = diskio::load_arma_binary(*this, name, err_msg); | | load_okay = diskio::load_arma_binary(*this, name, err_msg); | |
| break; | | break; | |
| | | | |
| case coord_ascii: | | case coord_ascii: | |
| load_okay = diskio::load_coord_ascii(*this, name, err_msg); | | load_okay = diskio::load_coord_ascii(*this, name, err_msg); | |
| break; | | break; | |
| | | | |
| default: | | default: | |
|
| arma_warn(true, "SpMat::load(): unsupported file type"); | | arma_warn(print_status, "SpMat::load(): unsupported file type"); | |
| load_okay = false; | | load_okay = false; | |
| } | | } | |
| | | | |
| if(load_okay == false) | | if(load_okay == false) | |
| { | | { | |
| if(err_msg.length() > 0) | | if(err_msg.length() > 0) | |
| { | | { | |
|
| arma_warn(true, "SpMat::load(): ", err_msg, name); | | arma_warn(print_status, "SpMat::load(): ", err_msg, name); | |
| } | | } | |
| else | | else | |
| { | | { | |
|
| arma_warn(true, "SpMat::load(): couldn't read ", name); | | arma_warn(print_status, "SpMat::load(): couldn't read ", name); | |
| } | | } | |
| } | | } | |
| | | | |
| if(load_okay == false) | | if(load_okay == false) | |
| { | | { | |
| (*this).reset(); | | (*this).reset(); | |
| } | | } | |
| | | | |
| return load_okay; | | return load_okay; | |
| } | | } | |
| | | | |
| skipping to change at line 3256 | | skipping to change at line 3256 | |
| | | | |
| case arma_binary: | | case arma_binary: | |
| load_okay = diskio::load_arma_binary(*this, is, err_msg); | | load_okay = diskio::load_arma_binary(*this, is, err_msg); | |
| break; | | break; | |
| | | | |
| case coord_ascii: | | case coord_ascii: | |
| load_okay = diskio::load_coord_ascii(*this, is, err_msg); | | load_okay = diskio::load_coord_ascii(*this, is, err_msg); | |
| break; | | break; | |
| | | | |
| default: | | default: | |
|
| arma_warn(true, "SpMat::load(): unsupported file type"); | | arma_warn(print_status, "SpMat::load(): unsupported file type"); | |
| load_okay = false; | | load_okay = false; | |
| } | | } | |
| | | | |
| if(load_okay == false) | | if(load_okay == false) | |
| { | | { | |
| if(err_msg.length() > 0) | | if(err_msg.length() > 0) | |
| { | | { | |
|
| arma_warn(true, "SpMat::load(): ", err_msg, "the given stream"); | | arma_warn(print_status, "SpMat::load(): ", err_msg, "the given stream
"); | |
| } | | } | |
| else | | else | |
| { | | { | |
|
| arma_warn(true, "SpMat::load(): couldn't load from the given stream")
; | | arma_warn(print_status, "SpMat::load(): couldn't load from the given
stream"); | |
| } | | } | |
| } | | } | |
| | | | |
| if(load_okay == false) | | if(load_okay == false) | |
| { | | { | |
| (*this).reset(); | | (*this).reset(); | |
| } | | } | |
| | | | |
| return load_okay; | | return load_okay; | |
| } | | } | |
| | | | |
End of changes. 10 change blocks. |
| 10 lines changed or deleted | | 10 lines changed or added | |
|
| SpProxy.hpp | | SpProxy.hpp | |
| | | | |
| skipping to change at line 100 | | skipping to change at line 100 | |
| arma_inline uword get_n_nonzero() const { return Q.n_nonzero; } | | arma_inline uword get_n_nonzero() const { return Q.n_nonzero; } | |
| | | | |
| arma_inline elem_type operator[](const uword i) const
{ return Q[i]; } | | arma_inline elem_type operator[](const uword i) const
{ return Q[i]; } | |
| arma_inline elem_type at (const uword row, const uword col) const
{ return Q.at(row, col); } | | arma_inline elem_type at (const uword row, const uword col) const
{ return Q.at(row, col); } | |
| | | | |
| arma_inline const eT* get_values() const { return Q.values;
} | | arma_inline const eT* get_values() const { return Q.values;
} | |
| arma_inline const uword* get_row_indices() const { return Q.row_indices;
} | | arma_inline const uword* get_row_indices() const { return Q.row_indices;
} | |
| arma_inline const uword* get_col_ptrs() const { return Q.col_ptrs;
} | | arma_inline const uword* get_col_ptrs() const { return Q.col_ptrs;
} | |
| | | | |
| arma_inline const_iterator_type begin() co
nst { return Q.begin(); } | | arma_inline const_iterator_type begin() co
nst { return Q.begin(); } | |
|
| arma_inline const_iterator_type begin_col(const uword col_num) co
nst { return Q.begin(); } | | arma_inline const_iterator_type begin_col(const uword) co
nst { return Q.begin(); } | |
| arma_inline const_row_iterator_type begin_row(const uword row_num = 0) co
nst { return Q.begin_row(row_num); } | | arma_inline const_row_iterator_type begin_row(const uword row_num = 0) co
nst { return Q.begin_row(row_num); } | |
| | | | |
| arma_inline const_iterator_type end() const {
return Q.end(); } | | arma_inline const_iterator_type end() const {
return Q.end(); } | |
| arma_inline const_row_iterator_type end_row() const {
return Q.end_row(); } | | arma_inline const_row_iterator_type end_row() const {
return Q.end_row(); } | |
| arma_inline const_row_iterator_type end_row(const uword row_num) const {
return Q.end_row(row_num); } | | arma_inline const_row_iterator_type end_row(const uword row_num) const {
return Q.end_row(row_num); } | |
| | | | |
| template<typename eT2> | | template<typename eT2> | |
| arma_inline bool is_alias(const SpMat<eT2>& X) const { return (void_ptr(&
Q) == void_ptr(&X)); } | | arma_inline bool is_alias(const SpMat<eT2>& X) const { return (void_ptr(&
Q) == void_ptr(&X)); } | |
| }; | | }; | |
| | | | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| arma_cmath.hpp | | arma_cmath.hpp | |
| | | | |
| skipping to change at line 328 | | skipping to change at line 328 | |
| #if defined(ARMA_USE_CXX11) | | #if defined(ARMA_USE_CXX11) | |
| { | | { | |
| return std::acos(x); | | return std::acos(x); | |
| } | | } | |
| #elif defined(ARMA_HAVE_TR1) | | #elif defined(ARMA_HAVE_TR1) | |
| { | | { | |
| return std::tr1::acos(x); | | return std::tr1::acos(x); | |
| } | | } | |
| #else | | #else | |
| { | | { | |
|
| | | arma_ignore(x); | |
| arma_stop("acos(): need C++11 compiler"); | | arma_stop("acos(): need C++11 compiler"); | |
| | | | |
| return std::complex<T>(0); | | return std::complex<T>(0); | |
| } | | } | |
| #endif | | #endif | |
| } | | } | |
| | | | |
| template<typename T> | | template<typename T> | |
| arma_inline | | arma_inline | |
| std::complex<T> | | std::complex<T> | |
| | | | |
| skipping to change at line 350 | | skipping to change at line 351 | |
| #if defined(ARMA_USE_CXX11) | | #if defined(ARMA_USE_CXX11) | |
| { | | { | |
| return std::asin(x); | | return std::asin(x); | |
| } | | } | |
| #elif defined(ARMA_HAVE_TR1) | | #elif defined(ARMA_HAVE_TR1) | |
| { | | { | |
| return std::tr1::asin(x); | | return std::tr1::asin(x); | |
| } | | } | |
| #else | | #else | |
| { | | { | |
|
| | | arma_ignore(x); | |
| arma_stop("asin(): need C++11 compiler"); | | arma_stop("asin(): need C++11 compiler"); | |
| | | | |
| return std::complex<T>(0); | | return std::complex<T>(0); | |
| } | | } | |
| #endif | | #endif | |
| } | | } | |
| | | | |
| template<typename T> | | template<typename T> | |
| arma_inline | | arma_inline | |
| std::complex<T> | | std::complex<T> | |
| | | | |
| skipping to change at line 372 | | skipping to change at line 374 | |
| #if defined(ARMA_USE_CXX11) | | #if defined(ARMA_USE_CXX11) | |
| { | | { | |
| return std::atan(x); | | return std::atan(x); | |
| } | | } | |
| #elif defined(ARMA_HAVE_TR1) | | #elif defined(ARMA_HAVE_TR1) | |
| { | | { | |
| return std::tr1::atan(x); | | return std::tr1::atan(x); | |
| } | | } | |
| #else | | #else | |
| { | | { | |
|
| | | arma_ignore(x); | |
| arma_stop("atan(): need C++11 compiler"); | | arma_stop("atan(): need C++11 compiler"); | |
| | | | |
| return std::complex<T>(0); | | return std::complex<T>(0); | |
| } | | } | |
| #endif | | #endif | |
| } | | } | |
| | | | |
| template<typename eT> | | template<typename eT> | |
| arma_inline | | arma_inline | |
| eT | | eT | |
| | | | |
| skipping to change at line 485 | | skipping to change at line 488 | |
| #if defined(ARMA_USE_CXX11) | | #if defined(ARMA_USE_CXX11) | |
| { | | { | |
| return std::acosh(x); | | return std::acosh(x); | |
| } | | } | |
| #elif defined(ARMA_HAVE_TR1) | | #elif defined(ARMA_HAVE_TR1) | |
| { | | { | |
| return std::tr1::acosh(x); | | return std::tr1::acosh(x); | |
| } | | } | |
| #else | | #else | |
| { | | { | |
|
| | | arma_ignore(x); | |
| arma_stop("acosh(): need C++11 compiler"); | | arma_stop("acosh(): need C++11 compiler"); | |
| | | | |
| return std::complex<T>(0); | | return std::complex<T>(0); | |
| } | | } | |
| #endif | | #endif | |
| } | | } | |
| | | | |
| template<typename T> | | template<typename T> | |
| arma_inline | | arma_inline | |
| std::complex<T> | | std::complex<T> | |
| | | | |
| skipping to change at line 507 | | skipping to change at line 511 | |
| #if defined(ARMA_USE_CXX11) | | #if defined(ARMA_USE_CXX11) | |
| { | | { | |
| return std::asinh(x); | | return std::asinh(x); | |
| } | | } | |
| #elif defined(ARMA_HAVE_TR1) | | #elif defined(ARMA_HAVE_TR1) | |
| { | | { | |
| return std::tr1::asinh(x); | | return std::tr1::asinh(x); | |
| } | | } | |
| #else | | #else | |
| { | | { | |
|
| | | arma_ignore(x); | |
| arma_stop("asinh(): need C++11 compiler"); | | arma_stop("asinh(): need C++11 compiler"); | |
| | | | |
| return std::complex<T>(0); | | return std::complex<T>(0); | |
| } | | } | |
| #endif | | #endif | |
| } | | } | |
| | | | |
| template<typename T> | | template<typename T> | |
| arma_inline | | arma_inline | |
| std::complex<T> | | std::complex<T> | |
| | | | |
| skipping to change at line 529 | | skipping to change at line 534 | |
| #if defined(ARMA_USE_CXX11) | | #if defined(ARMA_USE_CXX11) | |
| { | | { | |
| return std::atanh(x); | | return std::atanh(x); | |
| } | | } | |
| #elif defined(ARMA_HAVE_TR1) | | #elif defined(ARMA_HAVE_TR1) | |
| { | | { | |
| return std::tr1::atanh(x); | | return std::tr1::atanh(x); | |
| } | | } | |
| #else | | #else | |
| { | | { | |
|
| | | arma_ignore(x); | |
| arma_stop("atanh(): need C++11 compiler"); | | arma_stop("atanh(): need C++11 compiler"); | |
| | | | |
| return std::complex<T>(0); | | return std::complex<T>(0); | |
| } | | } | |
| #endif | | #endif | |
| } | | } | |
| | | | |
| //! @} | | //! @} | |
| | | | |
End of changes. 6 change blocks. |
| 0 lines changed or deleted | | 6 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 650 | | #define ARMA_VERSION_MINOR 650 | |
|
| #define ARMA_VERSION_PATCH 3 | | #define ARMA_VERSION_PATCH 4 | |
| #define ARMA_VERSION_NAME "Intravenous Caffeine Injector" | | #define ARMA_VERSION_NAME "Intravenous Caffeine Injector" | |
| | | | |
| 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 | |
|
| // 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/. | |
| | | | |
| #undef arma_hot | | #undef arma_hot | |
| #undef arma_cold | | #undef arma_cold | |
| #undef arma_pure | | #undef arma_pure | |
| #undef arma_const | | #undef arma_const | |
| #undef arma_aligned | | #undef arma_aligned | |
| | | | |
| skipping to change at line 279 | | skipping to change at line 279 | |
| #if __has_attribute(__cold__) | | #if __has_attribute(__cold__) | |
| #undef arma_cold | | #undef arma_cold | |
| #define arma_cold __attribute__((__cold__)) | | #define arma_cold __attribute__((__cold__)) | |
| #endif | | #endif | |
| | | | |
| #if defined(__has_builtin) && __has_builtin(__builtin_assume_aligned) | | #if defined(__has_builtin) && __has_builtin(__builtin_assume_aligned) | |
| #undef ARMA_HAVE_GCC_ASSUME_ALIGNED | | #undef ARMA_HAVE_GCC_ASSUME_ALIGNED | |
| #define ARMA_HAVE_GCC_ASSUME_ALIGNED | | #define ARMA_HAVE_GCC_ASSUME_ALIGNED | |
| #endif | | #endif | |
| | | | |
|
| | | #if defined(__apple_build_version__) | |
| | | #undef ARMA_USE_EXTERN_CXX11_RNG | |
| | | // because Apple engineers are too lazy to implement thread_local | |
| | | #endif | |
| | | | |
| #endif | | #endif | |
| | | | |
| #if defined(__INTEL_COMPILER) | | #if defined(__INTEL_COMPILER) | |
| | | | |
| #if (__INTEL_COMPILER_BUILD_DATE < 20090623) | | #if (__INTEL_COMPILER_BUILD_DATE < 20090623) | |
| #error "*** Need a newer compiler ***" | | #error "*** Need a newer compiler ***" | |
| #endif | | #endif | |
| | | | |
| #undef ARMA_GOOD_COMPILER | | #undef ARMA_GOOD_COMPILER | |
| #undef ARMA_HAVE_TR1 | | #undef ARMA_HAVE_TR1 | |
| | | | |
End of changes. 2 change blocks. |
| 2 lines changed or deleted | | 7 lines changed or added | |
|
| diskio_meat.hpp | | diskio_meat.hpp | |
| | | | |
| skipping to change at line 2364 | | skipping to change at line 2364 | |
| } | | } | |
| | | | |
| return load_okay; | | return load_okay; | |
| } | | } | |
| | | | |
| template<typename eT> | | template<typename eT> | |
| inline | | inline | |
| bool | | bool | |
| diskio::load_coord_ascii(SpMat<eT>& x, std::istream& f, std::string& err_ms
g) | | diskio::load_coord_ascii(SpMat<eT>& x, std::istream& f, std::string& err_ms
g) | |
| { | | { | |
|
| | | arma_extra_debug_sigprint(); | |
| | | arma_ignore(err_msg); | |
| | | | |
| bool load_okay = f.good(); | | bool load_okay = f.good(); | |
| | | | |
| f.clear(); | | f.clear(); | |
| const std::fstream::pos_type pos1 = f.tellg(); | | const std::fstream::pos_type pos1 = f.tellg(); | |
| | | | |
| // | | // | |
| // work out the size | | // work out the size | |
| | | | |
| uword f_n_rows = 0; | | uword f_n_rows = 0; | |
| uword f_n_cols = 0; | | uword f_n_cols = 0; | |
| | | | |
| skipping to change at line 2579 | | skipping to change at line 2582 | |
| } | | } | |
| | | | |
| return load_okay; | | return load_okay; | |
| } | | } | |
| | | | |
| template<typename T> | | template<typename T> | |
| inline | | inline | |
| bool | | bool | |
| diskio::load_coord_ascii(SpMat< std::complex<T> >& x, std::istream& f, std:
:string& err_msg) | | diskio::load_coord_ascii(SpMat< std::complex<T> >& x, std::istream& f, std:
:string& err_msg) | |
| { | | { | |
|
| | | arma_extra_debug_sigprint(); | |
| | | arma_ignore(err_msg); | |
| | | | |
| bool load_okay = f.good(); | | bool load_okay = f.good(); | |
| | | | |
| f.clear(); | | f.clear(); | |
| const std::fstream::pos_type pos1 = f.tellg(); | | const std::fstream::pos_type pos1 = f.tellg(); | |
| | | | |
| // | | // | |
| // work out the size | | // work out the size | |
| | | | |
| uword f_n_rows = 0; | | uword f_n_rows = 0; | |
| uword f_n_cols = 0; | | uword f_n_cols = 0; | |
| | | | |
End of changes. 2 change blocks. |
| 0 lines changed or deleted | | 6 lines changed or added | |
|
| fn_all.hpp | | fn_all.hpp | |
|
| // Copyright (C) 2013 Conrad Sanderson | | // Copyright (C) 2013-2015 Conrad Sanderson | |
| // Copyright (C) 2013 NICTA (www.nicta.com.au) | | // Copyright (C) 2013-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 fn_all | | //! \addtogroup fn_all | |
| //! @{ | | //! @{ | |
| | | | |
| template<typename T1> | | template<typename T1> | |
| arma_inline | | arma_inline | |
| | | | |
| skipping to change at line 30 | | skipping to change at line 30 | |
| ) | | ) | |
| { | | { | |
| arma_extra_debug_sigprint(); | | arma_extra_debug_sigprint(); | |
| arma_ignore(junk1); | | arma_ignore(junk1); | |
| arma_ignore(junk2); | | arma_ignore(junk2); | |
| | | | |
| return mtOp<uword, T1, op_all>(X, dim, 0); | | return mtOp<uword, T1, op_all>(X, dim, 0); | |
| } | | } | |
| | | | |
| template<typename T1> | | template<typename T1> | |
|
| inline | | arma_inline | |
| arma_warn_unused | | const mtOp<uword, T1, op_all> | |
| bool | | | |
| all | | all | |
| ( | | ( | |
| const T1& X, | | const T1& X, | |
| const uword dim, | | const uword dim, | |
| const typename enable_if<resolves_to_vector<T1>::value == true>::result*
junk = 0 | | const typename enable_if<resolves_to_vector<T1>::value == true>::result*
junk = 0 | |
| ) | | ) | |
| { | | { | |
| arma_extra_debug_sigprint(); | | arma_extra_debug_sigprint(); | |
| arma_ignore(junk); | | arma_ignore(junk); | |
| | | | |
|
| return op_all::all_vec(X); | | return mtOp<uword, T1, op_all>(X, dim, 0); | |
| } | | } | |
| | | | |
| template<typename T1> | | template<typename T1> | |
| inline | | inline | |
| arma_warn_unused | | arma_warn_unused | |
| bool | | bool | |
| all | | all | |
| ( | | ( | |
| const T1& X, | | const T1& X, | |
| const arma_empty_class junk1 = arma_empty_class(), | | const arma_empty_class junk1 = arma_empty_class(), | |
| | | | |
End of changes. 3 change blocks. |
| 6 lines changed or deleted | | 5 lines changed or added | |
|
| fn_any.hpp | | fn_any.hpp | |
|
| // Copyright (C) 2013 Conrad Sanderson | | // Copyright (C) 2013-2015 Conrad Sanderson | |
| // Copyright (C) 2013 NICTA (www.nicta.com.au) | | // Copyright (C) 2013-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 fn_any | | //! \addtogroup fn_any | |
| //! @{ | | //! @{ | |
| | | | |
| template<typename T1> | | template<typename T1> | |
| arma_inline | | arma_inline | |
| | | | |
| skipping to change at line 30 | | skipping to change at line 30 | |
| ) | | ) | |
| { | | { | |
| arma_extra_debug_sigprint(); | | arma_extra_debug_sigprint(); | |
| arma_ignore(junk1); | | arma_ignore(junk1); | |
| arma_ignore(junk2); | | arma_ignore(junk2); | |
| | | | |
| return mtOp<uword, T1, op_any>(X, dim, 0); | | return mtOp<uword, T1, op_any>(X, dim, 0); | |
| } | | } | |
| | | | |
| template<typename T1> | | template<typename T1> | |
|
| inline | | arma_inline | |
| arma_warn_unused | | const mtOp<uword, T1, op_any> | |
| bool | | | |
| any | | any | |
| ( | | ( | |
| const T1& X, | | const T1& X, | |
| const uword dim, | | const uword dim, | |
| const typename enable_if<resolves_to_vector<T1>::value == true>::result*
junk = 0 | | const typename enable_if<resolves_to_vector<T1>::value == true>::result*
junk = 0 | |
| ) | | ) | |
| { | | { | |
| arma_extra_debug_sigprint(); | | arma_extra_debug_sigprint(); | |
| arma_ignore(junk); | | arma_ignore(junk); | |
| | | | |
|
| return op_any::any_vec(X); | | return mtOp<uword, T1, op_any>(X, dim, 0); | |
| } | | } | |
| | | | |
| template<typename T1> | | template<typename T1> | |
| inline | | inline | |
| arma_warn_unused | | arma_warn_unused | |
| bool | | bool | |
| any | | any | |
| ( | | ( | |
| const T1& X, | | const T1& X, | |
| const arma_empty_class junk1 = arma_empty_class(), | | const arma_empty_class junk1 = arma_empty_class(), | |
| | | | |
End of changes. 3 change blocks. |
| 6 lines changed or deleted | | 5 lines changed or added | |
|
| fn_norm_sparse.hpp | | fn_norm_sparse.hpp | |
| | | | |
| skipping to change at line 62 | | skipping to change at line 62 | |
| inline | | inline | |
| typename T1::pod_type | | typename T1::pod_type | |
| arma_mat_norm_2(const SpProxy<T1>& P, const typename arma_cx_only<typename
T1::elem_type>::result* junk = 0) | | arma_mat_norm_2(const SpProxy<T1>& P, const typename arma_cx_only<typename
T1::elem_type>::result* junk = 0) | |
| { | | { | |
| arma_extra_debug_sigprint(); | | arma_extra_debug_sigprint(); | |
| arma_ignore(junk); | | arma_ignore(junk); | |
| | | | |
| //typedef typename T1::elem_type eT; | | //typedef typename T1::elem_type eT; | |
| typedef typename T1::pod_type T; | | typedef typename T1::pod_type T; | |
| | | | |
|
| | | arma_ignore(P); | |
| arma_stop("norm(): unimplemented norm type for complex sparse matrices"); | | arma_stop("norm(): unimplemented norm type for complex sparse matrices"); | |
| | | | |
| return T(0); | | return T(0); | |
| | | | |
| // const unwrap_spmat<typename SpProxy<T1>::stored_type> tmp(P.Q); | | // const unwrap_spmat<typename SpProxy<T1>::stored_type> tmp(P.Q); | |
| // | | // | |
| // const SpMat<eT>& A = tmp.M; | | // const SpMat<eT>& A = tmp.M; | |
| // const SpMat<eT> B = trans(A); | | // const SpMat<eT> B = trans(A); | |
| // | | // | |
| // const SpMat<eT> C = (A.n_rows <= A.n_cols) ? (A*B) : (B*A); | | // const SpMat<eT> C = (A.n_rows <= A.n_cols) ? (A*B) : (B*A); | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 1 lines changed or added | |
|
| fn_randg.hpp | | fn_randg.hpp | |
| | | | |
| skipping to change at line 75 | | skipping to change at line 75 | |
| local_arma_rng_cxx11_instance.set_seed( seed_type(arma_rng::randi<see
d_type>()) ); | | local_arma_rng_cxx11_instance.set_seed( seed_type(arma_rng::randi<see
d_type>()) ); | |
| | | | |
| local_arma_rng_cxx11_instance.randg_fill(out.memptr(), out.n_elem, a,
b); | | local_arma_rng_cxx11_instance.randg_fill(out.memptr(), out.n_elem, a,
b); | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| return out; | | return out; | |
| } | | } | |
| #else | | #else | |
| { | | { | |
|
| | | arma_ignore(n_rows); | |
| | | arma_ignore(n_cols); | |
| | | arma_ignore(param); | |
| | | | |
| arma_stop("randg(): C++11 compiler required"); | | arma_stop("randg(): C++11 compiler required"); | |
| | | | |
| return obj_type(); | | return obj_type(); | |
| } | | } | |
| #endif | | #endif | |
| } | | } | |
| | | | |
| template<typename obj_type> | | template<typename obj_type> | |
| inline | | inline | |
| obj_type | | obj_type | |
| | | | |
| skipping to change at line 173 | | skipping to change at line 177 | |
| local_arma_rng_cxx11_instance.set_seed( seed_type(arma_rng::randi<see
d_type>()) ); | | local_arma_rng_cxx11_instance.set_seed( seed_type(arma_rng::randi<see
d_type>()) ); | |
| | | | |
| local_arma_rng_cxx11_instance.randg_fill(out.memptr(), out.n_elem, a,
b); | | local_arma_rng_cxx11_instance.randg_fill(out.memptr(), out.n_elem, a,
b); | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| return out; | | return out; | |
| } | | } | |
| #else | | #else | |
| { | | { | |
|
| | | arma_ignore(n_rows); | |
| | | arma_ignore(n_cols); | |
| | | arma_ignore(n_slices); | |
| | | arma_ignore(param); | |
| | | | |
| arma_stop("randg(): C++11 compiler required"); | | arma_stop("randg(): C++11 compiler required"); | |
| | | | |
| return cube_type(); | | return cube_type(); | |
| } | | } | |
| #endif | | #endif | |
| } | | } | |
| | | | |
| inline | | inline | |
| cube | | cube | |
| randg(const uword n_rows, const uword n_cols, const uword n_slices, const d
istr_param& param = distr_param()) | | randg(const uword n_rows, const uword n_cols, const uword n_slices, const d
istr_param& param = distr_param()) | |
| | | | |
End of changes. 2 change blocks. |
| 0 lines changed or deleted | | 9 lines changed or added | |
|
| gmm_diag_meat.hpp | | gmm_diag_meat.hpp | |
| | | | |
| skipping to change at line 242 | | skipping to change at line 242 | |
| | | | |
| template<typename eT> | | template<typename eT> | |
| inline | | inline | |
| bool | | bool | |
| gmm_diag<eT>::save(const std::string name) const | | gmm_diag<eT>::save(const std::string name) const | |
| { | | { | |
| arma_extra_debug_sigprint(); | | arma_extra_debug_sigprint(); | |
| | | | |
| Cube<eT> Q(means.n_rows + 1, means.n_cols, 2); | | Cube<eT> Q(means.n_rows + 1, means.n_cols, 2); | |
| | | | |
|
| Q.slice(0).row(0) = hefts; | | if(Q.n_elem > 0) | |
| Q.slice(1).row(0).zeros(); // reserved for future use | | { | |
| | | Q.slice(0).row(0) = hefts; | |
| Q.slice(0).submat(1, 0, size(means)) = means; | | Q.slice(1).row(0).zeros(); // reserved for future use | |
| Q.slice(1).submat(1, 0, size(dcovs)) = dcovs; | | | |
| | | Q.slice(0).submat(1, 0, size(means)) = means; | |
| | | Q.slice(1).submat(1, 0, size(dcovs)) = dcovs; | |
| | | } | |
| | | | |
| const bool status = Q.save(name, arma_binary); | | const bool status = Q.save(name, arma_binary); | |
| | | | |
| return status; | | return status; | |
| } | | } | |
| | | | |
| template<typename eT> | | template<typename eT> | |
| inline | | inline | |
| Col<eT> | | Col<eT> | |
| gmm_diag<eT>::generate() const | | gmm_diag<eT>::generate() const | |
| | | | |
End of changes. 1 change blocks. |
| 5 lines changed or deleted | | 8 lines changed or added | |
|
| sp_auxlib_meat.hpp | | sp_auxlib_meat.hpp | |
| | | | |
| skipping to change at line 138 | | skipping to change at line 138 | |
| } | | } | |
| | | | |
| return (info == 0); | | return (info == 0); | |
| } | | } | |
| #else | | #else | |
| { | | { | |
| arma_ignore(eigval); | | arma_ignore(eigval); | |
| arma_ignore(eigvec); | | arma_ignore(eigvec); | |
| arma_ignore(X); | | arma_ignore(X); | |
| arma_ignore(n_eigvals); | | arma_ignore(n_eigvals); | |
|
| | | arma_ignore(form_str); | |
| | | arma_ignore(default_tol); | |
| | | | |
| arma_stop("eigs_sym(): use of ARPACK needs to be enabled"); | | arma_stop("eigs_sym(): use of ARPACK needs to be enabled"); | |
| return false; | | return false; | |
| } | | } | |
| #endif | | #endif | |
| } | | } | |
| | | | |
| //! immediate eigendecomposition of non-symmetric real sparse object | | //! immediate eigendecomposition of non-symmetric real sparse object | |
| template<typename T, typename T1> | | template<typename T, typename T1> | |
| inline | | inline | |
| bool | | bool | |
| | | | |
| skipping to change at line 285 | | skipping to change at line 288 | |
| } | | } | |
| | | | |
| return (info == 0); | | return (info == 0); | |
| } | | } | |
| #else | | #else | |
| { | | { | |
| arma_ignore(eigval); | | arma_ignore(eigval); | |
| arma_ignore(eigvec); | | arma_ignore(eigvec); | |
| arma_ignore(X); | | arma_ignore(X); | |
| arma_ignore(n_eigvals); | | arma_ignore(n_eigvals); | |
|
| | | arma_ignore(form_str); | |
| | | arma_ignore(default_tol); | |
| | | | |
| arma_stop("eigs_gen(): use of ARPACK needs to be enabled"); | | arma_stop("eigs_gen(): use of ARPACK needs to be enabled"); | |
| return false; | | return false; | |
| } | | } | |
| #endif | | #endif | |
| } | | } | |
| | | | |
| //! immediate eigendecomposition of non-symmetric complex sparse object | | //! immediate eigendecomposition of non-symmetric complex sparse object | |
| template<typename T, typename T1> | | template<typename T, typename T1> | |
| inline | | inline | |
| bool | | bool | |
| | | | |
| skipping to change at line 395 | | skipping to change at line 401 | |
| } | | } | |
| | | | |
| return (info == 0); | | return (info == 0); | |
| } | | } | |
| #else | | #else | |
| { | | { | |
| arma_ignore(eigval); | | arma_ignore(eigval); | |
| arma_ignore(eigvec); | | arma_ignore(eigvec); | |
| arma_ignore(X); | | arma_ignore(X); | |
| arma_ignore(n_eigvals); | | arma_ignore(n_eigvals); | |
|
| | | arma_ignore(form_str); | |
| | | arma_ignore(default_tol); | |
| | | | |
| arma_stop("eigs_gen(): use of ARPACK needs to be enabled"); | | arma_stop("eigs_gen(): use of ARPACK needs to be enabled"); | |
| return false; | | return false; | |
| } | | } | |
| #endif | | #endif | |
| } | | } | |
| | | | |
| template<typename eT, typename T, typename T1> | | template<typename eT, typename T, typename T1> | |
| inline | | inline | |
| void | | void | |
| sp_auxlib::run_aupd | | sp_auxlib::run_aupd | |
| | | | |
| skipping to change at line 530 | | skipping to change at line 539 | |
| else | | else | |
| { | | { | |
| tmp << "eigs_gen(): ARPACK error " << info << " in naupd()"; | | tmp << "eigs_gen(): ARPACK error " << info << " in naupd()"; | |
| } | | } | |
| | | | |
| arma_debug_warn(true, tmp.str()); | | arma_debug_warn(true, tmp.str()); | |
| | | | |
| return; // Parent frame can look at the value of info. | | return; // Parent frame can look at the value of info. | |
| } | | } | |
| } | | } | |
|
| | | #else | |
| | | arma_ignore(n_eigvals); | |
| | | arma_ignore(which); | |
| | | arma_ignore(p); | |
| | | arma_ignore(sym); | |
| | | arma_ignore(n); | |
| | | arma_ignore(tol); | |
| | | arma_ignore(resid); | |
| | | arma_ignore(ncv); | |
| | | arma_ignore(v); | |
| | | arma_ignore(ldv); | |
| | | arma_ignore(iparam); | |
| | | arma_ignore(ipntr); | |
| | | arma_ignore(workd); | |
| | | arma_ignore(workl); | |
| | | arma_ignore(lworkl); | |
| | | arma_ignore(rwork); | |
| | | arma_ignore(info); | |
| #endif | | #endif | |
| } | | } | |
| | | | |
End of changes. 4 change blocks. |
| 0 lines changed or deleted | | 27 lines changed or added | |
|