Mercurial > hg > octave-nkf
annotate liboctave/oct-convn.h @ 10805:8c858a1a2079
simplify Matrix::extract
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Tue, 20 Jul 2010 12:56:05 +0200 |
parents | 56116dceb1e0 |
children | fd0a3ac60b0e |
rev | line source |
---|---|
10385
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
1 /* |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
2 |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
3 Copyright (C) 2009 Jaroslav Hajek |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
4 Copyright (C) 2009 VZLU Prague |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
5 |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
6 This file is part of Octave. |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
7 |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
8 Octave is free software; you can redistribute it and/or modify it |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
9 under the terms of the GNU General Public License as published by the |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
10 Free Software Foundation; either version 3 of the License, or (at your |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
11 option) any later version. |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
12 |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
13 Octave is distributed in the hope that it will be useful, but WITHOUT |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
16 for more details. |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
17 |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
18 You should have received a copy of the GNU General Public License |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
19 along with Octave; see the file COPYING. If not, see |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
20 <http://www.gnu.org/licenses/>. |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
21 |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
22 */ |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
23 |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
24 #if !defined (octave_convn_h) |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
25 #define octave_convn_h 1 |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
26 |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
27 #include "dMatrix.h" |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
28 #include "fMatrix.h" |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
29 #include "CMatrix.h" |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
30 #include "fCMatrix.h" |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
31 |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
32 #include "dNDArray.h" |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
33 #include "fNDArray.h" |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
34 #include "CNDArray.h" |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
35 #include "fCNDArray.h" |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
36 |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
37 #include "dRowVector.h" |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
38 #include "fRowVector.h" |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
39 #include "CRowVector.h" |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
40 #include "fCRowVector.h" |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
41 |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
42 #include "dColVector.h" |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
43 #include "fColVector.h" |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
44 #include "CColVector.h" |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
45 #include "fCColVector.h" |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
46 |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
47 enum convn_type |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
48 { |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
49 convn_full, |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
50 convn_same, |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
51 convn_valid |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
52 }; |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
53 |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
54 #define CONV_DECLS(TPREF, RPREF) \ |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
55 extern OCTAVE_API TPREF ## NDArray \ |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
56 convn (const TPREF ## NDArray& a, const RPREF ## NDArray& b, convn_type ct); \ |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
57 extern OCTAVE_API TPREF ## Matrix \ |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
58 convn (const TPREF ## Matrix& a, const RPREF ## Matrix& b, convn_type ct); \ |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
59 extern OCTAVE_API TPREF ## Matrix \ |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
60 convn (const TPREF ## Matrix& a, const RPREF ## ColumnVector& c, \ |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
61 const RPREF ## RowVector& r, convn_type ct) |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
62 |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
63 CONV_DECLS ( , ); |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
64 CONV_DECLS (Complex, ); |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
65 CONV_DECLS (Complex, Complex); |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
66 CONV_DECLS (Float, Float); |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
67 CONV_DECLS (FloatComplex, Float); |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
68 CONV_DECLS (FloatComplex, FloatComplex); |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
69 |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
70 #endif |
56116dceb1e0
add omitted source from the last change
Jaroslav Hajek <highegg@gmail.com>
parents:
diff
changeset
|
71 |