arma_version.hpp   arma_version.hpp 
skipping to change at line 12 skipping to change at line 12
// Copyright (C) 2009-2013 NICTA (www.nicta.com.au) // Copyright (C) 2009-2013 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_version //! \addtogroup arma_version
//! @{ //! @{
#define ARMA_VERSION_MAJOR 3 #define ARMA_VERSION_MAJOR 3
#define ARMA_VERSION_MINOR 909 #define ARMA_VERSION_MINOR 910
#define ARMA_VERSION_PATCH 2 #define ARMA_VERSION_PATCH 0
#define ARMA_VERSION_NAME "development version" #define ARMA_VERSION_NAME "Pyrenees"
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


 injector_bones.hpp   injector_bones.hpp 
// Copyright (C) 2010 NICTA (www.nicta.com.au)
// Copyright (C) 2010 Conrad Sanderson // Copyright (C) 2010 Conrad Sanderson
// Copyright (C) 2010 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 injector //! \addtogroup injector
//! @{ //! @{
template<typename eT> template<typename eT>
class mat_injector_row class mat_injector_row
 End of changes. 2 change blocks. 
1 lines changed or deleted 1 lines changed or added


 injector_meat.hpp   injector_meat.hpp 
// Copyright (C) 2010 NICTA (www.nicta.com.au)
// Copyright (C) 2010 Conrad Sanderson // Copyright (C) 2010 Conrad Sanderson
// Copyright (C) 2010 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 injector //! \addtogroup injector
//! @{ //! @{
template<typename eT> template<typename eT>
inline inline
 End of changes. 2 change blocks. 
1 lines changed or deleted 1 lines changed or added


 lapack_bones.hpp   lapack_bones.hpp 
// Copyright (C) 2008-2012 NICTA (www.nicta.com.au)
// Copyright (C) 2008-2012 Conrad Sanderson // Copyright (C) 2008-2012 Conrad Sanderson
// Copyright (C) 2008-2012 NICTA (www.nicta.com.au)
// Copyright (C) 2009 Edmund Highcock // Copyright (C) 2009 Edmund Highcock
// Copyright (C) 2011 James Sanders // Copyright (C) 2011 James Sanders
// Copyright (C) 2012 Eric Jon Sundstrom // Copyright (C) 2012 Eric Jon Sundstrom
// //
// 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/.
#ifdef ARMA_USE_LAPACK #ifdef ARMA_USE_LAPACK
 End of changes. 2 change blocks. 
1 lines changed or deleted 1 lines changed or added


 lapack_wrapper.hpp   lapack_wrapper.hpp 
// Copyright (C) 2008-2012 NICTA (www.nicta.com.au)
// Copyright (C) 2008-2012 Conrad Sanderson // Copyright (C) 2008-2012 Conrad Sanderson
// Copyright (C) 2008-2012 NICTA (www.nicta.com.au)
// Copyright (C) 2009 Edmund Highcock // Copyright (C) 2009 Edmund Highcock
// Copyright (C) 2011 James Sanders // Copyright (C) 2011 James Sanders
// Copyright (C) 2012 Eric Jon Sundstrom // Copyright (C) 2012 Eric Jon Sundstrom
// //
// 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/.
#ifdef ARMA_USE_LAPACK #ifdef ARMA_USE_LAPACK
 End of changes. 2 change blocks. 
1 lines changed or deleted 1 lines changed or added


 memory.hpp   memory.hpp 
// Copyright (C) 2012-2013 NICTA (www.nicta.com.au)
// Copyright (C) 2012-2013 Conrad Sanderson // Copyright (C) 2012-2013 Conrad Sanderson
// Copyright (C) 2012-2013 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 memory //! \addtogroup memory
//! @{ //! @{
class memory class memory
{ {
 End of changes. 2 change blocks. 
1 lines changed or deleted 1 lines changed or added


 mtGlueCube_bones.hpp   mtGlueCube_bones.hpp 
// Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
// Copyright (C) 2008-2011 Conrad Sanderson // Copyright (C) 2008-2011 Conrad Sanderson
// Copyright (C) 2008-2011 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 mtGlueCube //! \addtogroup mtGlueCube
//! @{ //! @{
template<typename out_eT, typename T1, typename T2, typename glue_type> template<typename out_eT, typename T1, typename T2, typename glue_type>
class mtGlueCube : public BaseCube<out_eT, mtGlueCube<out_eT, T1, T2, glue_ type> > class mtGlueCube : public BaseCube<out_eT, mtGlueCube<out_eT, T1, T2, glue_ type> >
 End of changes. 2 change blocks. 
1 lines changed or deleted 1 lines changed or added


 mtGlueCube_meat.hpp   mtGlueCube_meat.hpp 
// Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
// Copyright (C) 2008-2011 Conrad Sanderson // Copyright (C) 2008-2011 Conrad Sanderson
// Copyright (C) 2008-2011 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 mtGlueCube //! \addtogroup mtGlueCube
//! @{ //! @{
template<typename out_eT, typename T1, typename T2, typename glue_type> template<typename out_eT, typename T1, typename T2, typename glue_type>
inline inline
 End of changes. 2 change blocks. 
1 lines changed or deleted 1 lines changed or added


 mtGlue_bones.hpp   mtGlue_bones.hpp 
// Copyright (C) 2008-2012 NICTA (www.nicta.com.au)
// Copyright (C) 2008-2012 Conrad Sanderson // Copyright (C) 2008-2012 Conrad Sanderson
// Copyright (C) 2008-2012 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 mtGlue //! \addtogroup mtGlue
//! @{ //! @{
template<typename out_eT, typename T1, typename T2, typename glue_type> template<typename out_eT, typename T1, typename T2, typename glue_type>
class mtGlue : public Base<out_eT, mtGlue<out_eT, T1, T2, glue_type> > class mtGlue : public Base<out_eT, mtGlue<out_eT, T1, T2, glue_type> >
 End of changes. 2 change blocks. 
1 lines changed or deleted 1 lines changed or added


 mtGlue_meat.hpp   mtGlue_meat.hpp 
// Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
// Copyright (C) 2008-2011 Conrad Sanderson // Copyright (C) 2008-2011 Conrad Sanderson
// Copyright (C) 2008-2011 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 mtGlue //! \addtogroup mtGlue
//! @{ //! @{
template<typename out_eT, typename T1, typename T2, typename glue_type> template<typename out_eT, typename T1, typename T2, typename glue_type>
inline inline
 End of changes. 2 change blocks. 
1 lines changed or deleted 1 lines changed or added


 mtOpCube_bones.hpp   mtOpCube_bones.hpp 
// Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
// Copyright (C) 2008-2011 Conrad Sanderson // Copyright (C) 2008-2011 Conrad Sanderson
// Copyright (C) 2008-2011 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 mtOpCube //! \addtogroup mtOpCube
//! @{ //! @{
template<typename out_eT, typename T1, typename op_type> template<typename out_eT, typename T1, typename op_type>
class mtOpCube : public BaseCube<out_eT, mtOpCube<out_eT, T1, op_type> > class mtOpCube : public BaseCube<out_eT, mtOpCube<out_eT, T1, op_type> >
 End of changes. 2 change blocks. 
1 lines changed or deleted 1 lines changed or added


 mtOpCube_meat.hpp   mtOpCube_meat.hpp 
// Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
// Copyright (C) 2008-2011 Conrad Sanderson // Copyright (C) 2008-2011 Conrad Sanderson
// Copyright (C) 2008-2011 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 mtOpCube //! \addtogroup mtOpCube
//! @{ //! @{
template<typename out_eT, typename T1, typename op_type> template<typename out_eT, typename T1, typename op_type>
inline inline
 End of changes. 2 change blocks. 
1 lines changed or deleted 1 lines changed or added


 mtOp_bones.hpp   mtOp_bones.hpp 
// Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
// Copyright (C) 2008-2011 Conrad Sanderson // Copyright (C) 2008-2011 Conrad Sanderson
// Copyright (C) 2008-2011 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 mtOp //! \addtogroup mtOp
//! @{ //! @{
template<typename out_eT, typename T1, typename op_type> template<typename out_eT, typename T1, typename op_type>
class mtOp : public Base<out_eT, mtOp<out_eT, T1, op_type> > class mtOp : public Base<out_eT, mtOp<out_eT, T1, op_type> >
 End of changes. 2 change blocks. 
1 lines changed or deleted 1 lines changed or added


 mtOp_meat.hpp   mtOp_meat.hpp 
// Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
// Copyright (C) 2008-2011 Conrad Sanderson // Copyright (C) 2008-2011 Conrad Sanderson
// Copyright (C) 2008-2011 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 mtOp //! \addtogroup mtOp
//! @{ //! @{
template<typename out_eT, typename T1, typename op_type> template<typename out_eT, typename T1, typename op_type>
inline inline
 End of changes. 2 change blocks. 
1 lines changed or deleted 1 lines changed or added


 mul_herk.hpp   mul_herk.hpp 
skipping to change at line 125 skipping to change at line 125
for(uword row_A=0; row_A < A_n_rows; ++row_A) for(uword row_A=0; row_A < A_n_rows; ++row_A)
{ {
const eT& A_rowdata = A_mem[row_A]; const eT& A_rowdata = A_mem[row_A];
for(uword k=row_A; k < A_n_rows; ++k) for(uword k=row_A; k < A_n_rows; ++k)
{ {
const eT acc = A_rowdata * std::conj( A_mem[k] ); const eT acc = A_rowdata * std::conj( A_mem[k] );
if( (use_alpha == false) && (use_beta == false) ) if( (use_alpha == false) && (use_beta == false) )
{ {
C.at(row_A, k) = acc; C.at(row_A, k) = acc;
if(row_A != k) { C.at(k, row_A) = std::conj(acc); } if(row_A != k) { C.at(k, row_A) = std::conj(acc); }
} }
else else
if( (use_alpha == true) && (use_beta == false) ) if( (use_alpha == true) && (use_beta == false) )
{ {
const eT val = alpha*acc; const eT val = alpha*acc;
C.at(row_A, k) = val; C.at(row_A, k) = val;
if(row_A != k) { C.at(k, row_A) = std::conj(val); } if(row_A != k) { C.at(k, row_A) = std::conj(val); }
} }
else else
if( (use_alpha == false) && (use_beta == true) ) if( (use_alpha == false) && (use_beta == true) )
{ {
C.at(row_A, k) = acc + beta*C.at(row_A, k); C.at(row_A, k) = acc + beta*C.at(r
ow_A, k);
if(row_A != k) { C.at(k, row_A) = std::conj(acc) + beta*C.at(k , row_A); } if(row_A != k) { C.at(k, row_A) = std::conj(acc) + beta*C.at(k , row_A); }
} }
else else
if( (use_alpha == true) && (use_beta == true) ) if( (use_alpha == true) && (use_beta == true) )
{ {
const eT val = alpha*acc; const eT val = alpha*acc;
C.at(row_A, k) = val + beta*C.at(row_A, k); C.at(row_A, k) = val + beta*C.at(r
ow_A, k);
if(row_A != k) { C.at(k, row_A) = std::conj(val) + beta*C.at(k , row_A); } if(row_A != k) { C.at(k, row_A) = std::conj(val) + beta*C.at(k , row_A); }
} }
} }
} }
} }
else else
if(do_trans_A == true) if(do_trans_A == true)
{ {
if(A_n_cols == 1) if(A_n_cols == 1)
{ {
skipping to change at line 182 skipping to change at line 178
// col_A is interpreted as row_A when storing the results in matrix C // col_A is interpreted as row_A when storing the results in matrix C
const eT A_coldata = std::conj( A_mem[col_A] ); const eT A_coldata = std::conj( A_mem[col_A] );
for(uword k=col_A; k < A_n_cols ; ++k) for(uword k=col_A; k < A_n_cols ; ++k)
{ {
const eT acc = A_coldata * A_mem[k]; const eT acc = A_coldata * A_mem[k];
if( (use_alpha == false) && (use_beta == false) ) if( (use_alpha == false) && (use_beta == false) )
{ {
C.at(col_A, k) = acc; C.at(col_A, k) = acc;
if(col_A != k) { C.at(k, col_A) = std::conj(acc); } if(col_A != k) { C.at(k, col_A) = std::conj(acc); }
} }
else else
if( (use_alpha == true ) && (use_beta == false) ) if( (use_alpha == true ) && (use_beta == false) )
{ {
const eT val = alpha*acc; const eT val = alpha*acc;
C.at(col_A, k) = val; C.at(col_A, k) = val;
if(col_A != k) { C.at(k, col_A) = std::conj(val); } if(col_A != k) { C.at(k, col_A) = std::conj(val); }
} }
else else
if( (use_alpha == false) && (use_beta == true ) ) if( (use_alpha == false) && (use_beta == true ) )
{ {
C.at(col_A, k) = acc + beta*C.at(col_A, k); C.at(col_A, k) = acc + beta*C.at(c
ol_A, k);
if(col_A != k) { C.at(k, col_A) = std::conj(acc) + beta*C.at(k , col_A); } if(col_A != k) { C.at(k, col_A) = std::conj(acc) + beta*C.at(k , col_A); }
} }
else else
if( (use_alpha == true ) && (use_beta == true ) ) if( (use_alpha == true ) && (use_beta == true ) )
{ {
const eT val = alpha*acc; const eT val = alpha*acc;
C.at(col_A, k) = val + beta*C.at(col_A, k); C.at(col_A, k) = val + beta*C.at(c
ol_A, k);
if(col_A != k) { C.at(k, col_A) = std::conj(val) + beta*C.at(k , col_A); } if(col_A != k) { C.at(k, col_A) = std::conj(val) + beta*C.at(k , col_A); }
} }
} }
} }
} }
} }
}; };
template<const bool do_trans_A=false, const bool use_alpha=false, const boo l use_beta=false> template<const bool do_trans_A=false, const bool use_alpha=false, const boo l use_beta=false>
skipping to change at line 269 skipping to change at line 261
// col_A is interpreted as row_A when storing the results in matrix C // col_A is interpreted as row_A when storing the results in matrix C
const eT* A_coldata = A.colptr(col_A); const eT* A_coldata = A.colptr(col_A);
for(uword k=col_A; k < A_n_cols ; ++k) for(uword k=col_A; k < A_n_cols ; ++k)
{ {
const eT acc = op_cdot::direct_cdot(A_n_rows, A_coldata, A.colptr (k)); const eT acc = op_cdot::direct_cdot(A_n_rows, A_coldata, A.colptr (k));
if( (use_alpha == false) && (use_beta == false) ) if( (use_alpha == false) && (use_beta == false) )
{ {
C.at(col_A, k) = acc; C.at(col_A, k) = acc;
if(col_A != k) { C.at(k, col_A) = std::conj(acc); } if(col_A != k) { C.at(k, col_A) = std::conj(acc); }
} }
else else
if( (use_alpha == true) && (use_beta == false) ) if( (use_alpha == true) && (use_beta == false) )
{ {
const eT val = alpha*acc; const eT val = alpha*acc;
C.at(col_A, k) = val; C.at(col_A, k) = val;
if(col_A != k) { C.at(k, col_A) = std::conj(val); } if(col_A != k) { C.at(k, col_A) = std::conj(val); }
} }
else else
if( (use_alpha == false) && (use_beta == true) ) if( (use_alpha == false) && (use_beta == true) )
{ {
C.at(col_A, k) = acc + beta*C.at(col_A, k); C.at(col_A, k) = acc + beta*C.at(c
ol_A, k);
if(col_A != k) { C.at(k, col_A) = std::conj(acc) + beta*C.at(k , col_A); } if(col_A != k) { C.at(k, col_A) = std::conj(acc) + beta*C.at(k , col_A); }
} }
else else
if( (use_alpha == true) && (use_beta == true) ) if( (use_alpha == true) && (use_beta == true) )
{ {
const eT val = alpha*acc; const eT val = alpha*acc;
C.at(col_A, k) = val + beta*C.at(col_A, k); C.at(col_A, k) = val + beta*C.at(c
ol_A, k);
if(col_A != k) { C.at(k, col_A) = std::conj(val) + beta*C.at(k , col_A); } if(col_A != k) { C.at(k, col_A) = std::conj(val) + beta*C.at(k , col_A); }
} }
} }
} }
} }
} }
}; };
template<const bool do_trans_A=false, const bool use_alpha=false, const boo l use_beta=false> template<const bool do_trans_A=false, const bool use_alpha=false, const boo l use_beta=false>
 End of changes. 12 change blocks. 
24 lines changed or deleted 18 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/