Mercurial > hg > segmenter-vamp-plugin
annotate armadillo-3.900.4/include/armadillo_bits/strip.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) 2010-2012 NICTA (www.nicta.com.au) |
Chris@49 | 2 // Copyright (C) 2010-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 strip |
Chris@49 | 10 //! @{ |
Chris@49 | 11 |
Chris@49 | 12 |
Chris@49 | 13 |
Chris@49 | 14 template<typename T1> |
Chris@49 | 15 struct strip_diagmat |
Chris@49 | 16 { |
Chris@49 | 17 typedef T1 stored_type; |
Chris@49 | 18 |
Chris@49 | 19 arma_hot inline |
Chris@49 | 20 strip_diagmat(const T1& X) |
Chris@49 | 21 : M(X) |
Chris@49 | 22 { |
Chris@49 | 23 arma_extra_debug_sigprint(); |
Chris@49 | 24 } |
Chris@49 | 25 |
Chris@49 | 26 static const bool do_diagmat = false; |
Chris@49 | 27 |
Chris@49 | 28 const T1& M; |
Chris@49 | 29 }; |
Chris@49 | 30 |
Chris@49 | 31 |
Chris@49 | 32 |
Chris@49 | 33 template<typename T1> |
Chris@49 | 34 struct strip_diagmat< Op<T1, op_diagmat> > |
Chris@49 | 35 { |
Chris@49 | 36 typedef T1 stored_type; |
Chris@49 | 37 |
Chris@49 | 38 arma_hot inline |
Chris@49 | 39 strip_diagmat(const Op<T1, op_diagmat>& X) |
Chris@49 | 40 : M(X.m) |
Chris@49 | 41 { |
Chris@49 | 42 arma_extra_debug_sigprint(); |
Chris@49 | 43 } |
Chris@49 | 44 |
Chris@49 | 45 static const bool do_diagmat = true; |
Chris@49 | 46 |
Chris@49 | 47 const T1& M; |
Chris@49 | 48 }; |
Chris@49 | 49 |
Chris@49 | 50 |
Chris@49 | 51 |
Chris@49 | 52 template<typename T1> |
Chris@49 | 53 struct strip_inv |
Chris@49 | 54 { |
Chris@49 | 55 typedef T1 stored_type; |
Chris@49 | 56 |
Chris@49 | 57 arma_hot inline |
Chris@49 | 58 strip_inv(const T1& X) |
Chris@49 | 59 : M(X) |
Chris@49 | 60 { |
Chris@49 | 61 arma_extra_debug_sigprint(); |
Chris@49 | 62 } |
Chris@49 | 63 |
Chris@49 | 64 const T1& M; |
Chris@49 | 65 |
Chris@49 | 66 static const bool slow = false; |
Chris@49 | 67 static const bool do_inv = false; |
Chris@49 | 68 }; |
Chris@49 | 69 |
Chris@49 | 70 |
Chris@49 | 71 |
Chris@49 | 72 template<typename T1> |
Chris@49 | 73 struct strip_inv< Op<T1, op_inv> > |
Chris@49 | 74 { |
Chris@49 | 75 typedef T1 stored_type; |
Chris@49 | 76 |
Chris@49 | 77 arma_hot inline |
Chris@49 | 78 strip_inv(const Op<T1, op_inv>& X) |
Chris@49 | 79 : M(X.m) |
Chris@49 | 80 , slow(X.aux_uword_a == 1) |
Chris@49 | 81 { |
Chris@49 | 82 arma_extra_debug_sigprint(); |
Chris@49 | 83 } |
Chris@49 | 84 |
Chris@49 | 85 const T1& M; |
Chris@49 | 86 const bool slow; |
Chris@49 | 87 |
Chris@49 | 88 static const bool do_inv = true; |
Chris@49 | 89 }; |
Chris@49 | 90 |
Chris@49 | 91 |
Chris@49 | 92 |
Chris@49 | 93 //! @} |