max@0
|
1 // Copyright (C) 2010 NICTA (www.nicta.com.au)
|
max@0
|
2 // Copyright (C) 2010 Conrad Sanderson
|
max@0
|
3 // Copyright (C) 2010 Dimitrios Bouzas
|
max@0
|
4 //
|
max@0
|
5 // This file is part of the Armadillo C++ library.
|
max@0
|
6 // It is provided without any warranty of fitness
|
max@0
|
7 // for any purpose. You can redistribute this file
|
max@0
|
8 // and/or modify it under the terms of the GNU
|
max@0
|
9 // Lesser General Public License (LGPL) as published
|
max@0
|
10 // by the Free Software Foundation, either version 3
|
max@0
|
11 // of the License or (at your option) any later version.
|
max@0
|
12 // (see http://www.opensource.org/licenses for more info)
|
max@0
|
13
|
max@0
|
14
|
max@0
|
15
|
max@0
|
16 //! \addtogroup op_find
|
max@0
|
17 //! @{
|
max@0
|
18
|
max@0
|
19
|
max@0
|
20
|
max@0
|
21 class op_find
|
max@0
|
22 {
|
max@0
|
23 public:
|
max@0
|
24
|
max@0
|
25 template<typename T1>
|
max@0
|
26 inline static uword
|
max@0
|
27 helper
|
max@0
|
28 (
|
max@0
|
29 Mat<uword>& indices,
|
max@0
|
30 const Base<typename T1::elem_type, T1>& X
|
max@0
|
31 );
|
max@0
|
32
|
max@0
|
33 template<typename T1, typename op_type>
|
max@0
|
34 inline static uword
|
max@0
|
35 helper
|
max@0
|
36 (
|
max@0
|
37 Mat<uword>& indices,
|
max@0
|
38 const mtOp<uword, T1, op_type>& X,
|
max@0
|
39 const typename arma_op_rel_only<op_type>::result junk1 = 0,
|
max@0
|
40 const typename arma_not_cx<typename T1::elem_type>::result junk2 = 0
|
max@0
|
41 );
|
max@0
|
42
|
max@0
|
43 template<typename T1, typename op_type>
|
max@0
|
44 inline static uword
|
max@0
|
45 helper
|
max@0
|
46 (
|
max@0
|
47 Mat<uword>& indices,
|
max@0
|
48 const mtOp<uword, T1, op_type>& X,
|
max@0
|
49 const typename arma_op_rel_only<op_type>::result junk1 = 0,
|
max@0
|
50 const typename arma_cx_only<typename T1::elem_type>::result junk2 = 0
|
max@0
|
51 );
|
max@0
|
52
|
max@0
|
53 template<typename T1, typename T2, typename glue_type>
|
max@0
|
54 inline static uword
|
max@0
|
55 helper
|
max@0
|
56 (
|
max@0
|
57 Mat<uword>& indices,
|
max@0
|
58 const mtGlue<uword, T1, T2, glue_type>& X,
|
max@0
|
59 const typename arma_glue_rel_only<glue_type>::result junk1 = 0,
|
max@0
|
60 const typename arma_not_cx<typename T1::elem_type>::result junk2 = 0,
|
max@0
|
61 const typename arma_not_cx<typename T2::elem_type>::result junk3 = 0
|
max@0
|
62 );
|
max@0
|
63
|
max@0
|
64 template<typename T1, typename T2, typename glue_type>
|
max@0
|
65 inline static uword
|
max@0
|
66 helper
|
max@0
|
67 (
|
max@0
|
68 Mat<uword>& indices,
|
max@0
|
69 const mtGlue<uword, T1, T2, glue_type>& X,
|
max@0
|
70 const typename arma_glue_rel_only<glue_type>::result junk1 = 0,
|
max@0
|
71 const typename arma_cx_only<typename T1::elem_type>::result junk2 = 0,
|
max@0
|
72 const typename arma_cx_only<typename T2::elem_type>::result junk3 = 0
|
max@0
|
73 );
|
max@0
|
74
|
max@0
|
75 template<typename T1>
|
max@0
|
76 inline static void apply(Mat<uword>& out, const mtOp<uword, T1, op_find>& X);
|
max@0
|
77 };
|
max@0
|
78
|
max@0
|
79
|
max@0
|
80
|
max@0
|
81 //! @}
|