Mercurial > hg > segmenter-vamp-plugin
comparison armadillo-3.900.4/include/armadillo_bits/op_princomp_bones.hpp @ 49:1ec0e2823891
Switch to using subrepo copies of qm-dsp, nnls-chroma, vamp-plugin-sdk; update Armadillo version; assume build without external BLAS/LAPACK
author | Chris Cannam |
---|---|
date | Thu, 13 Jun 2013 10:25:24 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
48:69251e11a913 | 49:1ec0e2823891 |
---|---|
1 // Copyright (C) 2010-2012 NICTA (www.nicta.com.au) | |
2 // Copyright (C) 2010-2012 Conrad Sanderson | |
3 // Copyright (C) 2010 Dimitrios Bouzas | |
4 // | |
5 // This Source Code Form is subject to the terms of the Mozilla Public | |
6 // License, v. 2.0. If a copy of the MPL was not distributed with this | |
7 // file, You can obtain one at http://mozilla.org/MPL/2.0/. | |
8 | |
9 | |
10 //! \addtogroup op_princomp | |
11 //! @{ | |
12 | |
13 | |
14 | |
15 class op_princomp | |
16 { | |
17 public: | |
18 | |
19 // | |
20 // real element versions | |
21 | |
22 template<typename T1> | |
23 inline static bool | |
24 direct_princomp | |
25 ( | |
26 Mat<typename T1::elem_type>& coeff_out, | |
27 const Base<typename T1::elem_type, T1>& X, | |
28 const typename arma_not_cx<typename T1::elem_type>::result* junk = 0 | |
29 ); | |
30 | |
31 template<typename T1> | |
32 inline static bool | |
33 direct_princomp | |
34 ( | |
35 Mat<typename T1::elem_type>& coeff_out, | |
36 Mat<typename T1::elem_type>& score_out, | |
37 const Base<typename T1::elem_type, T1>& X, | |
38 const typename arma_not_cx<typename T1::elem_type>::result* junk = 0 | |
39 ); | |
40 | |
41 template<typename T1> | |
42 inline static bool | |
43 direct_princomp | |
44 ( | |
45 Mat<typename T1::elem_type>& coeff_out, | |
46 Mat<typename T1::elem_type>& score_out, | |
47 Col<typename T1::elem_type>& latent_out, | |
48 const Base<typename T1::elem_type, T1>& X, | |
49 const typename arma_not_cx<typename T1::elem_type>::result* junk = 0 | |
50 ); | |
51 | |
52 template<typename T1> | |
53 inline static bool | |
54 direct_princomp | |
55 ( | |
56 Mat<typename T1::elem_type>& coeff_out, | |
57 Mat<typename T1::elem_type>& score_out, | |
58 Col<typename T1::elem_type>& latent_out, | |
59 Col<typename T1::elem_type>& tsquared_out, | |
60 const Base<typename T1::elem_type, T1>& X, | |
61 const typename arma_not_cx<typename T1::elem_type>::result* junk = 0 | |
62 ); | |
63 | |
64 | |
65 // | |
66 // complex element versions | |
67 | |
68 template<typename T1> | |
69 inline static bool | |
70 direct_princomp | |
71 ( | |
72 Mat< std::complex<typename T1::pod_type> >& coeff_out, | |
73 const Base< std::complex<typename T1::pod_type>, T1 >& X, | |
74 const typename arma_cx_only<typename T1::elem_type>::result* junk = 0 | |
75 ); | |
76 | |
77 template<typename T1> | |
78 inline static bool | |
79 direct_princomp | |
80 ( | |
81 Mat< std::complex<typename T1::pod_type> >& coeff_out, | |
82 Mat< std::complex<typename T1::pod_type> >& score_out, | |
83 const Base< std::complex<typename T1::pod_type>, T1 >& X, | |
84 const typename arma_cx_only<typename T1::elem_type>::result* junk = 0 | |
85 ); | |
86 | |
87 template<typename T1> | |
88 inline static bool | |
89 direct_princomp | |
90 ( | |
91 Mat< std::complex<typename T1::pod_type> >& coeff_out, | |
92 Mat< std::complex<typename T1::pod_type> >& score_out, | |
93 Col< typename T1::pod_type >& latent_out, | |
94 const Base< std::complex<typename T1::pod_type>, T1 >& X, | |
95 const typename arma_cx_only<typename T1::elem_type>::result* junk = 0 | |
96 ); | |
97 | |
98 template<typename T1> | |
99 inline static bool | |
100 direct_princomp | |
101 ( | |
102 Mat< std::complex<typename T1::pod_type> >& coeff_out, | |
103 Mat< std::complex<typename T1::pod_type> >& score_out, | |
104 Col< typename T1::pod_type >& latent_out, | |
105 Col< std::complex<typename T1::pod_type> >& tsquared_out, | |
106 const Base< std::complex<typename T1::pod_type>, T1 >& X, | |
107 const typename arma_cx_only<typename T1::elem_type>::result* junk = 0 | |
108 ); | |
109 | |
110 | |
111 template<typename T1> | |
112 inline static void | |
113 apply(Mat<typename T1::elem_type>& out, const Op<T1,op_princomp>& in); | |
114 | |
115 }; | |
116 | |
117 | |
118 | |
119 //! @} |