arma_version.hpp   arma_version.hpp 
skipping to change at line 17 skipping to change at line 17
// 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)
//! \addtogroup arma_version //! \addtogroup arma_version
//! @{ //! @{
#define ARMA_VERSION_MAJOR 2 #define ARMA_VERSION_MAJOR 2
#define ARMA_VERSION_MINOR 1 #define ARMA_VERSION_MINOR 2
#define ARMA_VERSION_PATCH 91 #define ARMA_VERSION_PATCH 0
#define ARMA_VERSION_NAME "2.2 beta 1" #define ARMA_VERSION_NAME "Blue Skies Debauchery"
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
std::string std::string
 End of changes. 1 change blocks. 
3 lines changed or deleted 3 lines changed or added


 fn_det.hpp   fn_det.hpp 
skipping to change at line 97 skipping to change at line 97
//! determinant of trans(A) //! determinant of trans(A)
template<typename T1> template<typename T1>
inline inline
arma_warn_unused arma_warn_unused
typename T1::elem_type typename T1::elem_type
det det
( (
const Op<T1,op_htrans>& in, const Op<T1,op_htrans>& in,
const bool slow = false, const bool slow = false,
const typename arma_blas_type_only<typename T1::elem_type>::result* junk const typename arma_blas_type_only<typename T1::elem_type>::result* junk1
= 0) = 0,
const typename arma_not_cx<typename T1::elem_type>::result* junk2
= 0
)
{ {
arma_extra_debug_sigprint(); arma_extra_debug_sigprint();
arma_ignore(junk); arma_ignore(junk1);
arma_ignore(junk2);
typedef typename T1::elem_type eT; typedef typename T1::elem_type eT;
const unwrap<T1> tmp(in.m); const unwrap<T1> tmp(in.m);
const Mat<eT>& X = tmp.M; const Mat<eT>& X = tmp.M;
return det(X, slow); return det(X, slow);
} }
//! @} //! @}
 End of changes. 2 change blocks. 
3 lines changed or deleted 7 lines changed or added


 glue_cov_meat.hpp   glue_cov_meat.hpp 
// Copyright (C) 2009-2010 NICTA (www.nicta.com.au) // Copyright (C) 2009-2011 NICTA (www.nicta.com.au)
// Copyright (C) 2009-2010 Conrad Sanderson // Copyright (C) 2009-2011 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 115 skipping to change at line 115
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_same_size(A, B, "cov()");
const u32 N = A.n_rows; const u32 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(conj(A)) * B; out = trans(A) * B; // out = strans(conj(A)) * B;
out -= (trans(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;
} }
} }
template<typename T1, typename T2> template<typename T1, typename T2>
inline inline
void void
glue_cov::apply(Mat<typename T1::elem_type>& out, const Glue<T1,T2,glue_cov >& X) glue_cov::apply(Mat<typename T1::elem_type>& out, const Glue<T1,T2,glue_cov >& X)
{ {
arma_extra_debug_sigprint(); arma_extra_debug_sigprint();
 End of changes. 2 change blocks. 
4 lines changed or deleted 5 lines changed or added


 op_cov_meat.hpp   op_cov_meat.hpp 
// Copyright (C) 2009-2010 NICTA (www.nicta.com.au) // Copyright (C) 2009-2011 NICTA (www.nicta.com.au)
// Copyright (C) 2009-2010 Conrad Sanderson // Copyright (C) 2009-2011 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 79 skipping to change at line 79
out[0] = tmp_mat[0]; out[0] = tmp_mat[0];
} }
} }
else else
{ {
const u32 N = A.n_rows; const u32 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);
const Row<eT> acc = sum(A); const Row<eT> acc = sum(A);
out = trans(conj(A)) * A; out = trans(A) * A; // out = strans(conj(A)) * A;
out -= (trans(conj(acc)) * acc)/eT(N); out -= (trans(acc) * acc)/eT(N); // out -= (strans(conj(acc)) * acc)/e
T(N);
out /= norm_val; out /= norm_val;
} }
} }
template<typename T1> template<typename T1>
inline inline
void void
op_cov::apply(Mat<typename T1::elem_type>& out, const Op<T1,op_cov>& in) op_cov::apply(Mat<typename T1::elem_type>& out, const Op<T1,op_cov>& in)
{ {
arma_extra_debug_sigprint(); arma_extra_debug_sigprint();
 End of changes. 2 change blocks. 
4 lines changed or deleted 5 lines changed or added


 running_stat_vec_meat.hpp   running_stat_vec_meat.hpp 
skipping to change at line 454 skipping to change at line 454
if(x.calc_cov == true) if(x.calc_cov == true)
{ {
Mat<eT>& tmp1 = x.tmp1; Mat<eT>& tmp1 = x.tmp1;
Mat<eT>& tmp2 = x.tmp2; Mat<eT>& tmp2 = x.tmp2;
tmp1 = sample - x.r_mean; tmp1 = sample - x.r_mean;
if(sample.n_cols == 1) if(sample.n_cols == 1)
{ {
tmp2 = conj(tmp1)*trans(tmp1); tmp2 = conj(tmp1)*strans(tmp1);
} }
else else
{ {
tmp2 = trans(conj(tmp1))*tmp1; tmp2 = trans(tmp1)*tmp1; //tmp2 = strans(conj(tmp1))*tmp1;
} }
x.r_cov *= (N_minus_1/N); x.r_cov *= (N_minus_1/N);
x.r_cov += tmp2 / N_plus_1; x.r_cov += tmp2 / N_plus_1;
} }
for(u32 i=0; i<n_elem; ++i) for(u32 i=0; i<n_elem; ++i)
{ {
const eT& val = sample_mem[i]; const eT& val = sample_mem[i];
const T val_norm = std::norm(val); const T val_norm = std::norm(val);
 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/