comparison armadillo-3.900.4/include/armadillo_bits/op_min_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) 2008-2012 NICTA (www.nicta.com.au)
2 // Copyright (C) 2008-2012 Conrad Sanderson
3 //
4 // This Source Code Form is subject to the terms of the Mozilla Public
5 // License, v. 2.0. If a copy of the MPL was not distributed with this
6 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
7
8
9 //! \addtogroup op_min
10 //! @{
11
12
13 //! Class for finding minimum values in a matrix
14 class op_min
15 {
16 public:
17
18 template<typename T1>
19 inline static void apply(Mat<typename T1::elem_type>& out, const Op<T1,op_min>& in);
20
21
22 //
23 // for non-complex numbers
24
25 template<typename eT>
26 inline static eT direct_min(const eT* const X, const uword N);
27
28 template<typename eT>
29 inline static eT direct_min(const eT* const X, const uword N, uword& index_of_min_val);
30
31 template<typename eT>
32 inline static eT direct_min(const Mat<eT>& X, const uword row);
33
34 template<typename eT>
35 inline static eT min(const subview<eT>& X);
36
37 template<typename T1>
38 inline static typename arma_not_cx<typename T1::elem_type>::result min(const Base<typename T1::elem_type, T1>& X);
39
40
41 //
42 // for complex numbers
43
44 template<typename T>
45 inline static std::complex<T> direct_min(const std::complex<T>* const X, const uword n_elem);
46
47 template<typename T>
48 inline static std::complex<T> direct_min(const std::complex<T>* const X, const uword n_elem, uword& index_of_min_val);
49
50 template<typename T>
51 inline static std::complex<T> direct_min(const Mat< std::complex<T> >& X, const uword row);
52
53 template<typename T>
54 inline static std::complex<T> min(const subview< std::complex<T> >&X);
55
56 template<typename T1>
57 inline static typename arma_cx_only<typename T1::elem_type>::result min(const Base<typename T1::elem_type, T1>& X);
58 };
59
60
61
62 //! @}