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 //! @}