max@0
|
1 // Copyright (C) 2010 NICTA (www.nicta.com.au)
|
max@0
|
2 // Copyright (C) 2010 Conrad Sanderson
|
max@0
|
3 //
|
max@0
|
4 // This file is part of the Armadillo C++ library.
|
max@0
|
5 // It is provided without any warranty of fitness
|
max@0
|
6 // for any purpose. You can redistribute this file
|
max@0
|
7 // and/or modify it under the terms of the GNU
|
max@0
|
8 // Lesser General Public License (LGPL) as published
|
max@0
|
9 // by the Free Software Foundation, either version 3
|
max@0
|
10 // of the License or (at your option) any later version.
|
max@0
|
11 // (see http://www.opensource.org/licenses for more info)
|
max@0
|
12
|
max@0
|
13
|
max@0
|
14 //! \addtogroup fn_cumsum
|
max@0
|
15 //! @{
|
max@0
|
16
|
max@0
|
17
|
max@0
|
18
|
max@0
|
19 template<typename T1>
|
max@0
|
20 arma_inline
|
max@0
|
21 const Op<T1, op_cumsum_mat>
|
max@0
|
22 cumsum(const Base<typename T1::elem_type,T1>& X, const uword dim = 0)
|
max@0
|
23 {
|
max@0
|
24 arma_extra_debug_sigprint();
|
max@0
|
25
|
max@0
|
26 return Op<T1, op_cumsum_mat>(X.get_ref(), dim, 0);
|
max@0
|
27 }
|
max@0
|
28
|
max@0
|
29
|
max@0
|
30
|
max@0
|
31 template<typename eT>
|
max@0
|
32 arma_inline
|
max@0
|
33 const Op<Row<eT>, op_cumsum_vec>
|
max@0
|
34 cumsum(const Row<eT>& A)
|
max@0
|
35 {
|
max@0
|
36 arma_extra_debug_sigprint();
|
max@0
|
37
|
max@0
|
38 return Op<Row<eT>, op_cumsum_vec>(A);
|
max@0
|
39 }
|
max@0
|
40
|
max@0
|
41
|
max@0
|
42
|
max@0
|
43 template<typename eT>
|
max@0
|
44 arma_inline
|
max@0
|
45 const Op<Col<eT>, op_cumsum_vec>
|
max@0
|
46 cumsum(const Col<eT>& A)
|
max@0
|
47 {
|
max@0
|
48 arma_extra_debug_sigprint();
|
max@0
|
49
|
max@0
|
50 return Op<Col<eT>, op_cumsum_vec>(A);
|
max@0
|
51 }
|
max@0
|
52
|
max@0
|
53
|
max@0
|
54
|
max@0
|
55 template<typename eT>
|
max@0
|
56 arma_inline
|
max@0
|
57 const Op<subview_row<eT>, op_cumsum_vec>
|
max@0
|
58 cumsum(const subview_row<eT>& A)
|
max@0
|
59 {
|
max@0
|
60 arma_extra_debug_sigprint();
|
max@0
|
61
|
max@0
|
62 return Op<subview_row<eT>, op_cumsum_vec>(A);
|
max@0
|
63 }
|
max@0
|
64
|
max@0
|
65
|
max@0
|
66
|
max@0
|
67 template<typename eT>
|
max@0
|
68 arma_inline
|
max@0
|
69 const Op<subview_col<eT>, op_cumsum_vec>
|
max@0
|
70 cumsum(const subview_col<eT>& A)
|
max@0
|
71 {
|
max@0
|
72 arma_extra_debug_sigprint();
|
max@0
|
73
|
max@0
|
74 return Op<subview_col<eT>, op_cumsum_vec>(A);
|
max@0
|
75 }
|
max@0
|
76
|
max@0
|
77
|
max@0
|
78
|
max@0
|
79 template<typename eT>
|
max@0
|
80 arma_inline
|
max@0
|
81 const Op<diagview<eT>, op_cumsum_vec>
|
max@0
|
82 cumsum(const diagview<eT>& A)
|
max@0
|
83 {
|
max@0
|
84 arma_extra_debug_sigprint();
|
max@0
|
85
|
max@0
|
86 return Op<diagview<eT>, op_cumsum_vec>(A);
|
max@0
|
87 }
|
max@0
|
88
|
max@0
|
89
|
max@0
|
90
|
max@0
|
91 template<typename eT, typename T1>
|
max@0
|
92 arma_inline
|
max@0
|
93 const Op<subview_elem1<eT,T1>, op_cumsum_vec>
|
max@0
|
94 cumsum(const subview_elem1<eT,T1>& A)
|
max@0
|
95 {
|
max@0
|
96 arma_extra_debug_sigprint();
|
max@0
|
97
|
max@0
|
98 return Op<subview_elem1<eT,T1>, op_cumsum_vec>(A);
|
max@0
|
99 }
|
max@0
|
100
|
max@0
|
101
|
max@0
|
102
|
max@0
|
103 //! @}
|