annotate armadillo-3.900.4/include/armadillo_bits/fn_diagmat.hpp @ 84:55a047986812 tip

Update library URI so as not to be document-local
author Chris Cannam
date Wed, 22 Apr 2020 14:21:57 +0100
parents 1ec0e2823891
children
rev   line source
Chris@49 1 // Copyright (C) 2008-2012 NICTA (www.nicta.com.au)
Chris@49 2 // Copyright (C) 2008-2012 Conrad Sanderson
Chris@49 3 //
Chris@49 4 // This Source Code Form is subject to the terms of the Mozilla Public
Chris@49 5 // License, v. 2.0. If a copy of the MPL was not distributed with this
Chris@49 6 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
Chris@49 7
Chris@49 8
Chris@49 9 //! \addtogroup fn_diagmat
Chris@49 10 //! @{
Chris@49 11
Chris@49 12
Chris@49 13 //! interpret a matrix or a vector as a diagonal matrix (i.e. off-diagonal entries are zero)
Chris@49 14 template<typename T1>
Chris@49 15 arma_inline
Chris@49 16 typename
Chris@49 17 enable_if2
Chris@49 18 <
Chris@49 19 is_arma_type<T1>::value,
Chris@49 20 const Op<T1, op_diagmat>
Chris@49 21 >::result
Chris@49 22 diagmat(const T1& X)
Chris@49 23 {
Chris@49 24 arma_extra_debug_sigprint();
Chris@49 25
Chris@49 26 return Op<T1, op_diagmat>(X);
Chris@49 27 }
Chris@49 28
Chris@49 29
Chris@49 30
Chris@49 31 // TODO:
Chris@49 32 // create "op_diagmat2", to allow placement of vector onto a sub- or super- diagonal.
Chris@49 33 // op_diagmat2 is required, as other code assumes that op_diagmat indicates only the main diagonal)
Chris@49 34
Chris@49 35
Chris@49 36
Chris@49 37 //! @}