Col_bones.hpp   Col_bones.hpp 
skipping to change at line 106 skipping to change at line 106
typedef eT* row_iterator; typedef eT* row_iterator;
typedef const eT* const_row_iterator; typedef const eT* const_row_iterator;
inline row_iterator begin_row(const uword row_num); inline row_iterator begin_row(const uword row_num);
inline const_row_iterator begin_row(const uword row_num) const; inline const_row_iterator begin_row(const uword row_num) const;
inline row_iterator end_row (const uword row_num); inline row_iterator end_row (const uword row_num);
inline const_row_iterator end_row (const uword row_num) const; inline const_row_iterator end_row (const uword row_num) const;
template<uword fixed_n_elem> template<uword fixed_n_elem> class fixed;
class fixed : public Col<eT>
{
private:
static const bool use_extra = (fixed_n_elem > arma_config::mat_prealloc protected:
);
arma_aligned eT mem_local_extra[ (use_extra) ? fixed_n_elem : 1 ];
arma_inline void change_to_row();
public:
typedef fixed<fixed_n_elem> Col_fixed_type; inline Col(const arma_fixed_indicator&, const uword in_n_elem, const eT* in_mem);
typedef eT elem_type; public:
typedef typename get_pod_type<eT>::result pod_type;
static const bool is_col = true; #ifdef ARMA_EXTRA_COL_PROTO
static const bool is_row = false; #include ARMA_INCFILE_WRAP(ARMA_EXTRA_COL_PROTO)
#endif
};
static const uword n_rows = fixed_n_elem; template<typename eT>
static const uword n_cols = 1; template<uword fixed_n_elem>
static const uword n_elem = fixed_n_elem; class Col<eT>::fixed : public Col<eT>
{
private:
arma_inline fixed(); static const bool use_extra = (fixed_n_elem > arma_config::mat_prealloc);
arma_inline fixed(const fixed<fixed_n_elem>& X);
inline fixed(const subview_cube<eT>& X);
template<typename T1> inline fixed(const Base<eT,T1>& A); arma_aligned eT mem_local_extra[ (use_extra) ? fixed_n_elem : 1 ];
template<typename T1, typename T2> inline fixed(const Base<pod_type,T1>
& A, const Base<pod_type,T2>& B);
inline fixed(const eT* aux_mem); arma_inline void change_to_row();
inline fixed(const char* text); public:
inline fixed(const std::string& text);
template<typename T1> inline const Col& operator=(const Base<eT,T1>& A) ; typedef fixed<fixed_n_elem> Col_fixed_type;
inline const Col& operator=(const eT val); typedef eT elem_type;
inline const Col& operator=(const char* text); typedef typename get_pod_type<eT>::result pod_type;
inline const Col& operator=(const std::string& text);
inline const Col& operator=(const subview_cube<eT>& X);
using Col<eT>::operator(); static const bool is_col = true;
static const bool is_row = false;
#if defined(ARMA_USE_CXX11) static const uword n_rows = fixed_n_elem;
inline fixed(const std::initializer_list<eT>& list); static const uword n_cols = 1;
inline const Col& operator=(const std::initializer_list<eT>& list); static const uword n_elem = fixed_n_elem;
#endif
arma_inline arma_warn_unused eT& operator[] (const uword i); arma_inline fixed();
arma_inline arma_warn_unused eT operator[] (const uword i) const; arma_inline fixed(const fixed<fixed_n_elem>& X);
arma_inline arma_warn_unused eT& at (const uword i); inline fixed(const subview_cube<eT>& X);
arma_inline arma_warn_unused eT at (const uword i) const;
arma_inline arma_warn_unused eT& operator() (const uword i);
arma_inline arma_warn_unused eT operator() (const uword i) const;
arma_inline arma_warn_unused eT& at (const uword in_row, const template<typename T1> inline fixed(const Base<eT,T1>& A);
uword in_col); template<typename T1, typename T2> inline fixed(const Base<pod_type,T1>&
arma_inline arma_warn_unused eT at (const uword in_row, const A, const Base<pod_type,T2>& B);
uword in_col) const;
arma_inline arma_warn_unused eT& operator() (const uword in_row, const
uword in_col);
arma_inline arma_warn_unused eT operator() (const uword in_row, const
uword in_col) const;
arma_inline arma_warn_unused eT* memptr(); inline fixed(const eT* aux_mem);
arma_inline arma_warn_unused const eT* memptr() const;
arma_hot inline const Col<eT>& fill(const eT val); inline fixed(const char* text);
arma_hot inline const Col<eT>& zeros(); inline fixed(const std::string& text);
arma_hot inline const Col<eT>& ones();
};
protected: template<typename T1> inline const Col& operator=(const Base<eT,T1>& A);
inline Col(const arma_fixed_indicator&, const uword in_n_elem, const eT* inline const Col& operator=(const eT val);
in_mem); inline const Col& operator=(const char* text);
inline const Col& operator=(const std::string& text);
inline const Col& operator=(const subview_cube<eT>& X);
public: using Col<eT>::operator();
#ifdef ARMA_EXTRA_COL_PROTO #if defined(ARMA_USE_CXX11)
#include ARMA_INCFILE_WRAP(ARMA_EXTRA_COL_PROTO) inline fixed(const std::initializer_list<eT>& list);
inline const Col& operator=(const std::initializer_list<eT>& list);
#endif #endif
arma_inline arma_warn_unused eT& operator[] (const uword i);
arma_inline arma_warn_unused eT operator[] (const uword i) const;
arma_inline arma_warn_unused eT& at (const uword i);
arma_inline arma_warn_unused eT at (const uword i) const;
arma_inline arma_warn_unused eT& operator() (const uword i);
arma_inline arma_warn_unused eT operator() (const uword i) const;
arma_inline arma_warn_unused eT& at (const uword in_row, const uw
ord in_col);
arma_inline arma_warn_unused eT at (const uword in_row, const uw
ord in_col) const;
arma_inline arma_warn_unused eT& operator() (const uword in_row, const uw
ord in_col);
arma_inline arma_warn_unused eT operator() (const uword in_row, const uw
ord in_col) const;
arma_inline arma_warn_unused eT* memptr();
arma_inline arma_warn_unused const eT* memptr() const;
arma_hot inline const Col<eT>& fill(const eT val);
arma_hot inline const Col<eT>& zeros();
arma_hot inline const Col<eT>& ones();
}; };
//! @} //! @}
 End of changes. 23 change blocks. 
65 lines changed or deleted 66 lines changed or added


 Cube_bones.hpp   Cube_bones.hpp 
skipping to change at line 268 skipping to change at line 268
inline iterator end(); inline iterator end();
inline const_iterator end() const; inline const_iterator end() const;
inline slice_iterator begin_slice(const uword slice_num); inline slice_iterator begin_slice(const uword slice_num);
inline const_slice_iterator begin_slice(const uword slice_num) const; inline const_slice_iterator begin_slice(const uword slice_num) const;
inline slice_iterator end_slice(const uword slice_num); inline slice_iterator end_slice(const uword slice_num);
inline const_slice_iterator end_slice(const uword slice_num) const; inline const_slice_iterator end_slice(const uword slice_num) const;
template<uword fixed_n_rows, uword fixed_n_cols, uword fixed_n_slices> template<uword fixed_n_rows, uword fixed_n_cols, uword fixed_n_slices> cl
class fixed : public Cube<eT> ass fixed;
{
private:
static const uword fixed_n_elem = fixed_n_rows * fixed_n_cols * fixed_n
_slices;
arma_aligned Mat<eT>* mat_ptrs_local_extra[ (fixed_n_slices > Cube_prea
lloc::mat_ptrs_size) ? fixed_n_slices : 1 ];
arma_aligned eT mem_local_extra [ (fixed_n_elem > Cube_prea
lloc::mem_n_elem) ? fixed_n_elem : 1 ];
arma_inline void mem_setup();
public:
inline fixed() { mem_setup(); }
inline const Cube& operator=(const eT val) { mem_setup(); Cube<eT>::ope
rator=(val); return *this; }
template<typename T1>
inline fixed(const BaseCube<eT,T1>& A) { mem_setup(); Cube<eT>::operato
r=(A.get_ref()); }
template<typename T1>
inline const Cube& operator=(const BaseCube<eT,T1>& A) { Cube<eT>::oper
ator=(A.get_ref()); return *this; }
template<typename T1, typename T2>
inline explicit fixed(const BaseCube<pod_type,T1>& A, const BaseCube<po
d_type,T2>& B) { mem_setup(); Cube<eT>::init(A,B); }
// using Cube<eT>::operator();
// TODO: overload operator(), operator[] and .at() to allow faster elem
ent access
};
protected: protected:
inline void init_cold(); inline void init_cold();
inline void init_warm(const uword in_rows, const uword in_cols, const uwo rd in_slices); inline void init_warm(const uword in_rows, const uword in_cols, const uwo rd in_slices);
template<typename T1, typename T2> template<typename T1, typename T2>
inline void init(const BaseCube<pod_type,T1>& A, const BaseCube<pod_type, T2>& B); inline void init(const BaseCube<pod_type,T1>& A, const BaseCube<pod_type, T2>& B);
inline void steal_mem(Cube& X); inline void steal_mem(Cube& X);
skipping to change at line 323 skipping to change at line 294
friend class op_reshape; friend class op_reshape;
friend class op_resize; friend class op_resize;
public: public:
#ifdef ARMA_EXTRA_CUBE_PROTO #ifdef ARMA_EXTRA_CUBE_PROTO
#include ARMA_INCFILE_WRAP(ARMA_EXTRA_CUBE_PROTO) #include ARMA_INCFILE_WRAP(ARMA_EXTRA_CUBE_PROTO)
#endif #endif
}; };
template<typename eT>
template<uword fixed_n_rows, uword fixed_n_cols, uword fixed_n_slices>
class Cube<eT>::fixed : public Cube<eT>
{
private:
static const uword fixed_n_elem = fixed_n_rows * fixed_n_cols * fixed_n_s
lices;
arma_aligned Mat<eT>* mat_ptrs_local_extra[ (fixed_n_slices > Cube_preall
oc::mat_ptrs_size) ? fixed_n_slices : 1 ];
arma_aligned eT mem_local_extra [ (fixed_n_elem > Cube_preall
oc::mem_n_elem) ? fixed_n_elem : 1 ];
arma_inline void mem_setup();
public:
inline fixed() { mem_setup(); }
inline const Cube& operator=(const eT val) { mem_setup(); Cube<eT>::opera
tor=(val); return *this; }
template<typename T1>
inline fixed(const BaseCube<eT,T1>& A) { mem_setup(); Cube<eT>::operator=
(A.get_ref()); }
template<typename T1>
inline const Cube& operator=(const BaseCube<eT,T1>& A) { Cube<eT>::operat
or=(A.get_ref()); return *this; }
template<typename T1, typename T2>
inline explicit fixed(const BaseCube<pod_type,T1>& A, const BaseCube<pod_
type,T2>& B) { mem_setup(); Cube<eT>::init(A,B); }
// using Cube<eT>::operator();
// TODO: overload operator(), operator[] and .at() to allow faster elemen
t access
};
class Cube_aux class Cube_aux
{ {
public: public:
template<typename eT> arma_inline static void prefix_pp(Cube<eT>& x); template<typename eT> arma_inline static void prefix_pp(Cube<eT>& x);
template<typename T> arma_inline static void prefix_pp(Cube< std::comple x<T> >& x); template<typename T> arma_inline static void prefix_pp(Cube< std::comple x<T> >& x);
template<typename eT> arma_inline static void postfix_pp(Cube<eT>& x); template<typename eT> arma_inline static void postfix_pp(Cube<eT>& x);
template<typename T> arma_inline static void postfix_pp(Cube< std::compl ex<T> >& x); template<typename T> arma_inline static void postfix_pp(Cube< std::compl ex<T> >& x);
 End of changes. 2 change blocks. 
38 lines changed or deleted 42 lines changed or added


 Mat_bones.hpp   Mat_bones.hpp 
skipping to change at line 441 skipping to change at line 441
inline row_iterator begin_row(const uword row_num); inline row_iterator begin_row(const uword row_num);
inline const_row_iterator begin_row(const uword row_num) const; inline const_row_iterator begin_row(const uword row_num) const;
inline row_iterator end_row (const uword row_num); inline row_iterator end_row (const uword row_num);
inline const_row_iterator end_row (const uword row_num) const; inline const_row_iterator end_row (const uword row_num) const;
inline void clear(); inline void clear();
inline bool empty() const; inline bool empty() const;
inline uword size() const; inline uword size() const;
template<uword fixed_n_rows, uword fixed_n_cols>
class fixed : public Mat<eT>
{
private:
static const uword fixed_n_elem = fixed_n_rows * fixed_n_cols;
static const bool use_extra = (fixed_n_elem > arma_config::mat_prea
lloc);
arma_aligned eT mem_local_extra[ (use_extra) ? fixed_n_elem : 1 ];
public:
typedef fixed<fixed_n_rows, fixed_n_cols> Mat_fixed_type;
typedef eT elem_type;
typedef typename get_pod_type<eT>::result pod_type;
static const bool is_col = (fixed_n_cols == 1) ? true : false;
static const bool is_row = (fixed_n_rows == 1) ? true : false;
static const uword n_rows = fixed_n_rows;
static const uword n_cols = fixed_n_cols;
static const uword n_elem = fixed_n_elem;
arma_inline fixed();
arma_inline fixed(const fixed<fixed_n_rows, fixed_n_cols>& X);
template<typename T1> inline fixed(const Base<eT,T1>& A);
template<typename T1, typename T2> inline fixed(const Base<pod_type,T1>
& A, const Base<pod_type,T2>& B);
inline fixed(const eT* aux_mem);
inline fixed(const char* text);
inline fixed(const std::string& text);
using Mat<eT>::operator=;
using Mat<eT>::operator();
#if defined(ARMA_USE_CXX11)
inline fixed(const std::initializer_list<eT>& list);
inline const Mat& operator=(const std::initializer_list<eT>& list);
#endif
arma_inline arma_warn_unused eT& operator[] (const uword i);
arma_inline arma_warn_unused eT operator[] (const uword i) const;
arma_inline arma_warn_unused eT& at (const uword i);
arma_inline arma_warn_unused eT at (const uword i) const;
arma_inline arma_warn_unused eT& operator() (const uword i);
arma_inline arma_warn_unused eT operator() (const uword i) const;
arma_inline arma_warn_unused eT& at (const uword in_row, const
uword in_col);
arma_inline arma_warn_unused eT at (const uword in_row, const
uword in_col) const;
arma_inline arma_warn_unused eT& operator() (const uword in_row, const
uword in_col);
arma_inline arma_warn_unused eT operator() (const uword in_row, const
uword in_col) const;
arma_inline arma_warn_unused eT* memptr();
arma_inline arma_warn_unused const eT* memptr() const;
arma_hot inline const Mat<eT>& fill(const eT val);
arma_hot inline const Mat<eT>& zeros();
arma_hot inline const Mat<eT>& ones();
};
inline void steal_mem(Mat& X); //!< don't use this unless you're writing code internal to Armadillo inline void steal_mem(Mat& X); //!< don't use this unless you're writing code internal to Armadillo
template<uword fixed_n_rows, uword fixed_n_cols> class fixed;
protected: protected:
inline void init_cold(); inline void init_cold();
inline void init_warm(uword in_rows, uword in_cols); inline void init_warm(uword in_rows, uword in_cols);
inline void init(const std::string& text); inline void init(const std::string& text);
#if defined(ARMA_USE_CXX11) #if defined(ARMA_USE_CXX11)
inline void init(const std::initializer_list<eT>& list); inline void init(const std::initializer_list<eT>& list);
#endif #endif
skipping to change at line 540 skipping to change at line 479
friend class op_htrans; friend class op_htrans;
friend class op_resize; friend class op_resize;
public: public:
#ifdef ARMA_EXTRA_MAT_PROTO #ifdef ARMA_EXTRA_MAT_PROTO
#include ARMA_INCFILE_WRAP(ARMA_EXTRA_MAT_PROTO) #include ARMA_INCFILE_WRAP(ARMA_EXTRA_MAT_PROTO)
#endif #endif
}; };
template<typename eT>
template<uword fixed_n_rows, uword fixed_n_cols>
class Mat<eT>::fixed : public Mat<eT>
{
private:
static const uword fixed_n_elem = fixed_n_rows * fixed_n_cols;
static const bool use_extra = (fixed_n_elem > arma_config::mat_preall
oc);
arma_aligned eT mem_local_extra[ (use_extra) ? fixed_n_elem : 1 ];
public:
typedef fixed<fixed_n_rows, fixed_n_cols> Mat_fixed_type;
typedef eT elem_type;
typedef typename get_pod_type<eT>::result pod_type;
static const bool is_col = (fixed_n_cols == 1) ? true : false;
static const bool is_row = (fixed_n_rows == 1) ? true : false;
static const uword n_rows = fixed_n_rows;
static const uword n_cols = fixed_n_cols;
static const uword n_elem = fixed_n_elem;
arma_inline fixed();
arma_inline fixed(const fixed<fixed_n_rows, fixed_n_cols>& X);
template<typename T1> inline fixed(const Base<eT,T1>& A);
template<typename T1, typename T2> inline fixed(const Base<pod_type,T1>&
A, const Base<pod_type,T2>& B);
inline fixed(const eT* aux_mem);
inline fixed(const char* text);
inline fixed(const std::string& text);
using Mat<eT>::operator=;
using Mat<eT>::operator();
#if defined(ARMA_USE_CXX11)
inline fixed(const std::initializer_list<eT>& list);
inline const Mat& operator=(const std::initializer_list<eT>& list);
#endif
arma_inline arma_warn_unused eT& operator[] (const uword i);
arma_inline arma_warn_unused eT operator[] (const uword i) const;
arma_inline arma_warn_unused eT& at (const uword i);
arma_inline arma_warn_unused eT at (const uword i) const;
arma_inline arma_warn_unused eT& operator() (const uword i);
arma_inline arma_warn_unused eT operator() (const uword i) const;
arma_inline arma_warn_unused eT& at (const uword in_row, const uw
ord in_col);
arma_inline arma_warn_unused eT at (const uword in_row, const uw
ord in_col) const;
arma_inline arma_warn_unused eT& operator() (const uword in_row, const uw
ord in_col);
arma_inline arma_warn_unused eT operator() (const uword in_row, const uw
ord in_col) const;
arma_inline arma_warn_unused eT* memptr();
arma_inline arma_warn_unused const eT* memptr() const;
arma_hot inline const Mat<eT>& fill(const eT val);
arma_hot inline const Mat<eT>& zeros();
arma_hot inline const Mat<eT>& ones();
};
class Mat_aux class Mat_aux
{ {
public: public:
template<typename eT> arma_inline static void prefix_pp(Mat<eT>& x); template<typename eT> arma_inline static void prefix_pp(Mat<eT>& x);
template<typename T> arma_inline static void prefix_pp(Mat< std::complex <T> >& x); template<typename T> arma_inline static void prefix_pp(Mat< std::complex <T> >& x);
template<typename eT> arma_inline static void postfix_pp(Mat<eT>& x); template<typename eT> arma_inline static void postfix_pp(Mat<eT>& x);
template<typename T> arma_inline static void postfix_pp(Mat< std::comple x<T> >& x); template<typename T> arma_inline static void postfix_pp(Mat< std::comple x<T> >& x);
 End of changes. 3 change blocks. 
69 lines changed or deleted 72 lines changed or added


 Row_bones.hpp   Row_bones.hpp 
skipping to change at line 106 skipping to change at line 106
typedef eT* row_iterator; typedef eT* row_iterator;
typedef const eT* const_row_iterator; typedef const eT* const_row_iterator;
inline row_iterator begin_row(const uword row_num); inline row_iterator begin_row(const uword row_num);
inline const_row_iterator begin_row(const uword row_num) const; inline const_row_iterator begin_row(const uword row_num) const;
inline row_iterator end_row (const uword row_num); inline row_iterator end_row (const uword row_num);
inline const_row_iterator end_row (const uword row_num) const; inline const_row_iterator end_row (const uword row_num) const;
template<uword fixed_n_elem> template<uword fixed_n_elem> class fixed;
class fixed : public Row<eT>
{
private:
static const bool use_extra = (fixed_n_elem > arma_config::mat_prealloc protected:
);
arma_aligned eT mem_local_extra[ (use_extra) ? fixed_n_elem : 1 ];
public:
typedef fixed<fixed_n_elem> Row_fixed_type;
typedef eT elem_type; inline Row(const arma_fixed_indicator&, const uword in_n_elem, const eT*
typedef typename get_pod_type<eT>::result pod_type; in_mem);
static const bool is_col = false; public:
static const bool is_row = true;
static const uword n_rows = 1; #ifdef ARMA_EXTRA_ROW_PROTO
static const uword n_cols = fixed_n_elem; #include ARMA_INCFILE_WRAP(ARMA_EXTRA_ROW_PROTO)
static const uword n_elem = fixed_n_elem; #endif
};
arma_inline fixed(); template<typename eT>
arma_inline fixed(const fixed<fixed_n_elem>& X); template<uword fixed_n_elem>
inline fixed(const subview_cube<eT>& X); class Row<eT>::fixed : public Row<eT>
{
private:
template<typename T1> inline fixed(const Base<eT,T1>& A); static const bool use_extra = (fixed_n_elem > arma_config::mat_prealloc);
template<typename T1, typename T2> inline fixed(const Base<pod_type,T1>
& A, const Base<pod_type,T2>& B);
inline fixed(const eT* aux_mem); arma_aligned eT mem_local_extra[ (use_extra) ? fixed_n_elem : 1 ];
inline fixed(const char* text); public:
inline fixed(const std::string& text);
template<typename T1> inline const Row& operator=(const Base<eT,T1>& A) ; typedef fixed<fixed_n_elem> Row_fixed_type;
inline const Row& operator=(const eT val); typedef eT elem_type;
inline const Row& operator=(const char* text); typedef typename get_pod_type<eT>::result pod_type;
inline const Row& operator=(const std::string& text);
inline const Row& operator=(const subview_cube<eT>& X);
using Row<eT>::operator(); static const bool is_col = false;
static const bool is_row = true;
#if defined(ARMA_USE_CXX11) static const uword n_rows = 1;
inline fixed(const std::initializer_list<eT>& list); static const uword n_cols = fixed_n_elem;
inline const Row& operator=(const std::initializer_list<eT>& list); static const uword n_elem = fixed_n_elem;
#endif
arma_inline arma_warn_unused eT& operator[] (const uword i); arma_inline fixed();
arma_inline arma_warn_unused eT operator[] (const uword i) const; arma_inline fixed(const fixed<fixed_n_elem>& X);
arma_inline arma_warn_unused eT& at (const uword i); inline fixed(const subview_cube<eT>& X);
arma_inline arma_warn_unused eT at (const uword i) const;
arma_inline arma_warn_unused eT& operator() (const uword i);
arma_inline arma_warn_unused eT operator() (const uword i) const;
arma_inline arma_warn_unused eT& at (const uword in_row, const template<typename T1> inline fixed(const Base<eT,T1>& A);
uword in_col); template<typename T1, typename T2> inline fixed(const Base<pod_type,T1>&
arma_inline arma_warn_unused eT at (const uword in_row, const A, const Base<pod_type,T2>& B);
uword in_col) const;
arma_inline arma_warn_unused eT& operator() (const uword in_row, const
uword in_col);
arma_inline arma_warn_unused eT operator() (const uword in_row, const
uword in_col) const;
arma_inline arma_warn_unused eT* memptr(); inline fixed(const eT* aux_mem);
arma_inline arma_warn_unused const eT* memptr() const;
arma_hot inline const Row<eT>& fill(const eT val); inline fixed(const char* text);
arma_hot inline const Row<eT>& zeros(); inline fixed(const std::string& text);
arma_hot inline const Row<eT>& ones();
};
protected: template<typename T1> inline const Row& operator=(const Base<eT,T1>& A);
inline Row(const arma_fixed_indicator&, const uword in_n_elem, const eT* inline const Row& operator=(const eT val);
in_mem); inline const Row& operator=(const char* text);
inline const Row& operator=(const std::string& text);
inline const Row& operator=(const subview_cube<eT>& X);
public: using Row<eT>::operator();
#ifdef ARMA_EXTRA_ROW_PROTO #if defined(ARMA_USE_CXX11)
#include ARMA_INCFILE_WRAP(ARMA_EXTRA_ROW_PROTO) inline fixed(const std::initializer_list<eT>& list);
inline const Row& operator=(const std::initializer_list<eT>& list);
#endif #endif
arma_inline arma_warn_unused eT& operator[] (const uword i);
arma_inline arma_warn_unused eT operator[] (const uword i) const;
arma_inline arma_warn_unused eT& at (const uword i);
arma_inline arma_warn_unused eT at (const uword i) const;
arma_inline arma_warn_unused eT& operator() (const uword i);
arma_inline arma_warn_unused eT operator() (const uword i) const;
arma_inline arma_warn_unused eT& at (const uword in_row, const uw
ord in_col);
arma_inline arma_warn_unused eT at (const uword in_row, const uw
ord in_col) const;
arma_inline arma_warn_unused eT& operator() (const uword in_row, const uw
ord in_col);
arma_inline arma_warn_unused eT operator() (const uword in_row, const uw
ord in_col) const;
arma_inline arma_warn_unused eT* memptr();
arma_inline arma_warn_unused const eT* memptr() const;
arma_hot inline const Row<eT>& fill(const eT val);
arma_hot inline const Row<eT>& zeros();
arma_hot inline const Row<eT>& ones();
}; };
//! @} //! @}
 End of changes. 22 change blocks. 
64 lines changed or deleted 66 lines changed or added


 arma_version.hpp   arma_version.hpp 
skipping to change at line 18 skipping to change at line 18
// Lesser General Public License (LGPL) as published // Lesser General Public License (LGPL) as published
// by the Free Software Foundation, either version 3 // by the Free Software Foundation, either version 3
// of the License or (at your option) any later version. // of the License or (at your option) any later version.
// (see http://www.opensource.org/licenses for more info) // (see http://www.opensource.org/licenses for more info)
//! \addtogroup arma_version //! \addtogroup arma_version
//! @{ //! @{
#define ARMA_VERSION_MAJOR 3 #define ARMA_VERSION_MAJOR 3
#define ARMA_VERSION_MINOR 2 #define ARMA_VERSION_MINOR 2
#define ARMA_VERSION_PATCH 2 #define ARMA_VERSION_PATCH 3
#define ARMA_VERSION_NAME "Creamfields" #define ARMA_VERSION_NAME "Creamfields"
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


 glue_cor_meat.hpp   glue_cor_meat.hpp 
// Copyright (C) 2009-2011 NICTA (www.nicta.com.au) // Copyright (C) 2009-2012 NICTA (www.nicta.com.au)
// Copyright (C) 2009-2011 Conrad Sanderson // Copyright (C) 2009-2012 Conrad Sanderson
// Copyright (C) 2009-2010 Dimitrios Bouzas // Copyright (C) 2009-2010 Dimitrios Bouzas
// //
// This file is part of the Armadillo C++ library. // This file is part of the Armadillo C++ library.
// It is provided without any warranty of fitness // It is provided without any warranty of fitness
// for any purpose. You can redistribute this file // for any purpose. You can redistribute this file
// and/or modify it under the terms of the GNU // and/or modify it under the terms of the GNU
// Lesser General Public License (LGPL) as published // Lesser General Public License (LGPL) as published
// by the Free Software Foundation, either version 3 // by the Free Software Foundation, either version 3
// of the License or (at your option) any later version. // of the License or (at your option) any later version.
// (see http://www.opensource.org/licenses for more info) // (see http://www.opensource.org/licenses for more info)
skipping to change at line 68 skipping to change at line 68
out.set_size(1,1); out.set_size(1,1);
out[0] = out_acc/norm_val; out[0] = out_acc/norm_val;
const Mat<eT> stddev_A = (A.n_rows == 1) ? Mat<eT>(stddev(trans(A))) : Mat<eT>(stddev(A)); const Mat<eT> stddev_A = (A.n_rows == 1) ? Mat<eT>(stddev(trans(A))) : Mat<eT>(stddev(A));
const Mat<eT> stddev_B = (B.n_rows == 1) ? Mat<eT>(stddev(trans(B))) : Mat<eT>(stddev(B)); const Mat<eT> stddev_B = (B.n_rows == 1) ? Mat<eT>(stddev(trans(B))) : Mat<eT>(stddev(B));
out /= stddev_A * stddev_B; out /= stddev_A * stddev_B;
} }
else else
{ {
arma_debug_assert_same_size(A, B, "cor()"); arma_debug_assert_mul_size(A, B, true, false, "cor()");
const uword N = A.n_rows; const uword N = A.n_rows;
const eT norm_val = (norm_type == 0) ? ( (N > 1) ? eT(N-1) : eT(1) ) : eT(N); const eT norm_val = (norm_type == 0) ? ( (N > 1) ? eT(N-1) : eT(1) ) : eT(N);
out = trans(A) * B; out = trans(A) * B;
out -= (trans(sum(A)) * sum(B))/eT(N); out -= (trans(sum(A)) * sum(B))/eT(N);
out /= norm_val; out /= norm_val;
out /= trans(stddev(A)) * stddev(B); out /= trans(stddev(A)) * stddev(B);
} }
} }
skipping to change at line 133 skipping to change at line 133
out.set_size(1,1); out.set_size(1,1);
out[0] = out_acc/norm_val; out[0] = out_acc/norm_val;
const Mat<T> stddev_A = (A.n_rows == 1) ? Mat<T>(stddev(trans(A))) : Ma t<T>(stddev(A)); const Mat<T> stddev_A = (A.n_rows == 1) ? Mat<T>(stddev(trans(A))) : Ma t<T>(stddev(A));
const Mat<T> stddev_B = (B.n_rows == 1) ? Mat<T>(stddev(trans(B))) : Ma t<T>(stddev(B)); const Mat<T> stddev_B = (B.n_rows == 1) ? Mat<T>(stddev(trans(B))) : Ma t<T>(stddev(B));
out /= conv_to< Mat<eT> >::from( stddev_A * stddev_B ); out /= conv_to< Mat<eT> >::from( stddev_A * stddev_B );
} }
else else
{ {
arma_debug_assert_same_size(A, B, "cor()"); arma_debug_assert_mul_size(A, B, true, false, "cor()");
const uword N = A.n_rows; const uword N = A.n_rows;
const eT norm_val = (norm_type == 0) ? ( (N > 1) ? eT(N-1) : eT(1) ) : eT(N); const eT norm_val = (norm_type == 0) ? ( (N > 1) ? eT(N-1) : eT(1) ) : eT(N);
out = trans(A) * B; // out = strans(conj(A)) * B; out = trans(A) * B; // out = strans(conj(A)) * B;
out -= (trans(sum(A)) * sum(B))/eT(N); // out -= (strans(conj(sum(A))) * sum(B))/eT(N); out -= (trans(sum(A)) * sum(B))/eT(N); // out -= (strans(conj(sum(A))) * sum(B))/eT(N);
out /= norm_val; out /= norm_val;
out /= conv_to< Mat<eT> >::from( trans(stddev(A)) * stddev(B) ); out /= conv_to< Mat<eT> >::from( trans(stddev(A)) * stddev(B) );
} }
} }
 End of changes. 3 change blocks. 
4 lines changed or deleted 4 lines changed or added


 glue_cov_meat.hpp   glue_cov_meat.hpp 
// Copyright (C) 2009-2011 NICTA (www.nicta.com.au) // Copyright (C) 2009-2012 NICTA (www.nicta.com.au)
// Copyright (C) 2009-2011 Conrad Sanderson // Copyright (C) 2009-2012 Conrad Sanderson
// Copyright (C) 2009-2010 Dimitrios Bouzas // Copyright (C) 2009-2010 Dimitrios Bouzas
// //
// This file is part of the Armadillo C++ library. // This file is part of the Armadillo C++ library.
// It is provided without any warranty of fitness // It is provided without any warranty of fitness
// for any purpose. You can redistribute this file // for any purpose. You can redistribute this file
// and/or modify it under the terms of the GNU // and/or modify it under the terms of the GNU
// Lesser General Public License (LGPL) as published // Lesser General Public License (LGPL) as published
// by the Free Software Foundation, either version 3 // by the Free Software Foundation, either version 3
// of the License or (at your option) any later version. // of the License or (at your option) any later version.
// (see http://www.opensource.org/licenses for more info) // (see http://www.opensource.org/licenses for more info)
skipping to change at line 57 skipping to change at line 57
out_acc -= (A_acc * B_acc)/eT(N); out_acc -= (A_acc * B_acc)/eT(N);
const eT norm_val = (norm_type == 0) ? ( (N > 1) ? eT(N-1) : eT(1) ) : eT(N); const eT norm_val = (norm_type == 0) ? ( (N > 1) ? eT(N-1) : eT(1) ) : eT(N);
out.set_size(1,1); out.set_size(1,1);
out[0] = out_acc/norm_val; out[0] = out_acc/norm_val;
} }
else else
{ {
arma_debug_assert_same_size(A, B, "cov()"); arma_debug_assert_mul_size(A, B, true, false, "cov()");
const uword N = A.n_rows; const uword N = A.n_rows;
const eT norm_val = (norm_type == 0) ? ( (N > 1) ? eT(N-1) : eT(1) ) : eT(N); const eT norm_val = (norm_type == 0) ? ( (N > 1) ? eT(N-1) : eT(1) ) : eT(N);
out = trans(A) * B; out = trans(A) * B;
out -= (trans(sum(A)) * sum(B))/eT(N); out -= (trans(sum(A)) * sum(B))/eT(N);
out /= norm_val; out /= norm_val;
} }
} }
skipping to change at line 110 skipping to change at line 110
out_acc -= (std::conj(A_acc) * B_acc)/eT(N); out_acc -= (std::conj(A_acc) * B_acc)/eT(N);
const eT norm_val = (norm_type == 0) ? ( (N > 1) ? eT(N-1) : eT(1) ) : eT(N); const eT norm_val = (norm_type == 0) ? ( (N > 1) ? eT(N-1) : eT(1) ) : eT(N);
out.set_size(1,1); out.set_size(1,1);
out[0] = out_acc/norm_val; out[0] = out_acc/norm_val;
} }
else else
{ {
arma_debug_assert_same_size(A, B, "cov()"); arma_debug_assert_mul_size(A, B, true, false, "cov()");
const uword N = A.n_rows; const uword N = A.n_rows;
const eT norm_val = (norm_type == 0) ? ( (N > 1) ? eT(N-1) : eT(1) ) : eT(N); const eT norm_val = (norm_type == 0) ? ( (N > 1) ? eT(N-1) : eT(1) ) : eT(N);
out = trans(A) * B; // out = strans(conj(A)) * B; out = trans(A) * B; // out = strans(conj(A)) * B;
out -= (trans(sum(A)) * sum(B))/eT(N); // out -= (strans(conj(sum(A))) * sum(B))/eT(N); out -= (trans(sum(A)) * sum(B))/eT(N); // out -= (strans(conj(sum(A))) * sum(B))/eT(N);
out /= norm_val; out /= norm_val;
} }
} }
 End of changes. 3 change blocks. 
4 lines changed or deleted 4 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/