Mercurial > hg > segmenter-vamp-plugin
annotate armadillo-3.900.4/include/armadillo_bits/fn_spones.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) 2012 Conrad Sanderson |
Chris@49 | 2 // |
Chris@49 | 3 // This Source Code Form is subject to the terms of the Mozilla Public |
Chris@49 | 4 // License, v. 2.0. If a copy of the MPL was not distributed with this |
Chris@49 | 5 // file, You can obtain one at http://mozilla.org/MPL/2.0/. |
Chris@49 | 6 |
Chris@49 | 7 |
Chris@49 | 8 //! \addtogroup fn_spones |
Chris@49 | 9 //! @{ |
Chris@49 | 10 |
Chris@49 | 11 |
Chris@49 | 12 |
Chris@49 | 13 //! Generate a sparse matrix with the non-zero values in the same locations as in the given sparse matrix X, |
Chris@49 | 14 //! with the non-zero values set to one |
Chris@49 | 15 template<typename T1> |
Chris@49 | 16 inline |
Chris@49 | 17 SpMat<typename T1::elem_type> |
Chris@49 | 18 spones(const SpBase<typename T1::elem_type, T1>& X) |
Chris@49 | 19 { |
Chris@49 | 20 arma_extra_debug_sigprint(); |
Chris@49 | 21 |
Chris@49 | 22 typedef typename T1::elem_type eT; |
Chris@49 | 23 |
Chris@49 | 24 SpMat<eT> out( X.get_ref() ); |
Chris@49 | 25 |
Chris@49 | 26 const uword nnz = out.n_nonzero; |
Chris@49 | 27 |
Chris@49 | 28 eT* values = access::rwp(out.values); |
Chris@49 | 29 |
Chris@49 | 30 for(uword i=0; i < nnz; ++i) |
Chris@49 | 31 { |
Chris@49 | 32 values[i] = eT(1); |
Chris@49 | 33 } |
Chris@49 | 34 |
Chris@49 | 35 return out; |
Chris@49 | 36 } |
Chris@49 | 37 |
Chris@49 | 38 |
Chris@49 | 39 |
Chris@49 | 40 //! @} |