annotate liboctave/operators/Sparse-op-decls.h @ 30564:796f54d4ddbf stable

update Octave Project Developers copyright for the new year In files that have the "Octave Project Developers" copyright notice, update for 2021. In all .txi and .texi files except gpl.txi and gpl.texi in the doc/liboctave and doc/interpreter directories, change the copyright to "Octave Project Developers", the same as used for other source files. Update copyright notices for 2022 (not done since 2019). For gpl.txi and gpl.texi, change the copyright notice to be "Free Software Foundation, Inc." and leave the date at 2007 only because this file only contains the text of the GPL, not anything created by the Octave Project Developers. Add Paul Thomas to contributors.in.
author John W. Eaton <jwe@octave.org>
date Tue, 28 Dec 2021 18:22:40 -0500
parents 6f07492c9c20
children 597f3ee61a48
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
1 ////////////////////////////////////////////////////////////////////////
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
2 //
30564
796f54d4ddbf update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 30508
diff changeset
3 // Copyright (C) 1998-2022 The Octave Project Developers
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
4 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
5 // See the file COPYRIGHT.md in the top-level directory of this
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
6 // distribution or <https://octave.org/copyright/>.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
7 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
8 // This file is part of Octave.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
9 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
10 // Octave is free software: you can redistribute it and/or modify it
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
11 // under the terms of the GNU General Public License as published by
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
12 // the Free Software Foundation, either version 3 of the License, or
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
13 // (at your option) any later version.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
14 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
15 // Octave is distributed in the hope that it will be useful, but
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
18 // GNU General Public License for more details.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
19 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
20 // You should have received a copy of the GNU General Public License
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
21 // along with Octave; see the file COPYING. If not, see
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
22 // <https://www.gnu.org/licenses/>.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
23 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
24 ////////////////////////////////////////////////////////////////////////
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
25
20791
f7084eae3318 maint: Use Octave coding conventions for #if statements.
Rik <rik@octave.org>
parents: 19697
diff changeset
26 #if ! defined (octave_Sparse_op_decls_h)
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
27 #define octave_Sparse_op_decls_h 1
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
28
21244
1473547f50f5 include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents: 20791
diff changeset
29 #include "octave-config.h"
1473547f50f5 include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents: 20791
diff changeset
30
30508
6f07492c9c20 Provide header file with forward declarations of matrix types (bug #59820).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29358
diff changeset
31 #include "mx-fwd.h"
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
32
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
33 #define SPARSE_BIN_OP_DECL(R, OP, X, Y, API) \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
34 extern API R OP (const X&, const Y&)
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
35
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
36 #define SPARSE_CMP_OP_DECL(OP, X, Y, API) \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
37 extern API SparseBoolMatrix OP (const X&, const Y&)
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
38
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
39 #define SPARSE_BOOL_OP_DECL(OP, X, Y, API) \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
40 extern API SparseBoolMatrix OP (const X&, const Y&)
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
41
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
42 // sparse matrix by scalar operations.
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
43
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
44 #define SPARSE_SMS_BIN_OP_DECLS(R1, R2, M, S, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
45 SPARSE_BIN_OP_DECL (R1, operator +, M, S, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
46 SPARSE_BIN_OP_DECL (R1, operator -, M, S, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
47 SPARSE_BIN_OP_DECL (R2, operator *, M, S, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
48 SPARSE_BIN_OP_DECL (R2, operator /, M, S, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
49
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
50 #define SPARSE_SMS_CMP_OP_DECLS(M, S, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
51 SPARSE_CMP_OP_DECL (mx_el_lt, M, S, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
52 SPARSE_CMP_OP_DECL (mx_el_le, M, S, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
53 SPARSE_CMP_OP_DECL (mx_el_ge, M, S, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
54 SPARSE_CMP_OP_DECL (mx_el_gt, M, S, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
55 SPARSE_CMP_OP_DECL (mx_el_eq, M, S, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
56 SPARSE_CMP_OP_DECL (mx_el_ne, M, S, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
57
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
58 #define SPARSE_SMS_EQNE_OP_DECLS(M, S, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
59 SPARSE_CMP_OP_DECL (mx_el_eq, M, S, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
60 SPARSE_CMP_OP_DECL (mx_el_ne, M, S, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
61
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
62 #define SPARSE_SMS_BOOL_OP_DECLS(M, S, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
63 SPARSE_BOOL_OP_DECL (mx_el_and, M, S, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
64 SPARSE_BOOL_OP_DECL (mx_el_or, M, S, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
65
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
66 #define SPARSE_SMS_OP_DECLS(R1, R2, M, S, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
67 SPARSE_SMS_BIN_OP_DECLS (R1, R2, M, S, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
68 SPARSE_SMS_CMP_OP_DECLS (M, S, API) \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
69 SPARSE_SMS_BOOL_OP_DECLS (M, S, API)
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
70
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
71 // scalar by sparse matrix operations.
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
72
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
73 #define SPARSE_SSM_BIN_OP_DECLS(R1, R2, S, M, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
74 SPARSE_BIN_OP_DECL (R1, operator +, S, M, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
75 SPARSE_BIN_OP_DECL (R1, operator -, S, M, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
76 SPARSE_BIN_OP_DECL (R2, operator *, S, M, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
77 SPARSE_BIN_OP_DECL (R2, operator /, S, M, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
78
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
79 #define SPARSE_SSM_CMP_OP_DECLS(S, M, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
80 SPARSE_CMP_OP_DECL (mx_el_lt, S, M, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
81 SPARSE_CMP_OP_DECL (mx_el_le, S, M, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
82 SPARSE_CMP_OP_DECL (mx_el_ge, S, M, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
83 SPARSE_CMP_OP_DECL (mx_el_gt, S, M, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
84 SPARSE_CMP_OP_DECL (mx_el_eq, S, M, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
85 SPARSE_CMP_OP_DECL (mx_el_ne, S, M, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
86
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
87 #define SPARSE_SSM_EQNE_OP_DECLS(S, M, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
88 SPARSE_CMP_OP_DECL (mx_el_eq, S, M, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
89 SPARSE_CMP_OP_DECL (mx_el_ne, S, M, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
90
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
91 #define SPARSE_SSM_BOOL_OP_DECLS(S, M, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
92 SPARSE_BOOL_OP_DECL (mx_el_and, S, M, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
93 SPARSE_BOOL_OP_DECL (mx_el_or, S, M, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
94
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
95 #define SPARSE_SSM_OP_DECLS(R1, R2, S, M, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
96 SPARSE_SSM_BIN_OP_DECLS (R1, R2, S, M, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
97 SPARSE_SSM_CMP_OP_DECLS (S, M, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
98 SPARSE_SSM_BOOL_OP_DECLS (S, M, API) \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
99
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
100 // sparse matrix by sparse matrix operations.
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
101
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
102 #define SPARSE_SMSM_BIN_OP_DECLS(R1, R2, M1, M2, API) \
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
103 SPARSE_BIN_OP_DECL (R1, operator +, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
104 SPARSE_BIN_OP_DECL (R1, operator -, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
105 SPARSE_BIN_OP_DECL (R2, product, M1, M2, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
106 SPARSE_BIN_OP_DECL (R2, quotient, M1, M2, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
107
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
108 #define SPARSE_SMSM_CMP_OP_DECLS(M1, M2, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
109 SPARSE_CMP_OP_DECL (mx_el_lt, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
110 SPARSE_CMP_OP_DECL (mx_el_le, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
111 SPARSE_CMP_OP_DECL (mx_el_ge, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
112 SPARSE_CMP_OP_DECL (mx_el_gt, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
113 SPARSE_CMP_OP_DECL (mx_el_eq, M1, M2, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
114 SPARSE_CMP_OP_DECL (mx_el_ne, M1, M2, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
115
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
116 #define SPARSE_SMSM_EQNE_OP_DECLS(M1, M2, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
117 SPARSE_CMP_OP_DECL (mx_el_eq, M1, M2, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
118 SPARSE_CMP_OP_DECL (mx_el_ne, M1, M2, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
119
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
120 #define SPARSE_SMSM_BOOL_OP_DECLS(M1, M2, API) \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
121 SPARSE_BOOL_OP_DECL (mx_el_and, M1, M2, API); \
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
122 SPARSE_BOOL_OP_DECL (mx_el_or, M1, M2, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
123
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
124 #define SPARSE_SMSM_OP_DECLS(R1, R2, M1, M2, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
125 SPARSE_SMSM_BIN_OP_DECLS (R1, R2, M1, M2, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
126 SPARSE_SMSM_CMP_OP_DECLS (M1, M2, API) \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
127 SPARSE_SMSM_BOOL_OP_DECLS (M1, M2, API)
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
128
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
129 // matrix by sparse matrix operations.
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
130
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
131 #define SPARSE_MSM_BIN_OP_DECLS(R1, R2, M1, M2, API) \
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
132 SPARSE_BIN_OP_DECL (R1, operator +, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
133 SPARSE_BIN_OP_DECL (R1, operator -, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
134 SPARSE_BIN_OP_DECL (R2, product, M1, M2, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
135 SPARSE_BIN_OP_DECL (R2, quotient, M1, M2, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
136
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
137 #define SPARSE_MSM_CMP_OP_DECLS(M1, M2, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
138 SPARSE_CMP_OP_DECL (mx_el_lt, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
139 SPARSE_CMP_OP_DECL (mx_el_le, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
140 SPARSE_CMP_OP_DECL (mx_el_ge, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
141 SPARSE_CMP_OP_DECL (mx_el_gt, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
142 SPARSE_CMP_OP_DECL (mx_el_eq, M1, M2, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
143 SPARSE_CMP_OP_DECL (mx_el_ne, M1, M2, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
144
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
145 #define SPARSE_MSM_EQNE_OP_DECLS(M1, M2, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
146 SPARSE_CMP_OP_DECL (mx_el_eq, M1, M2, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
147 SPARSE_CMP_OP_DECL (mx_el_ne, M1, M2, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
148
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
149 #define SPARSE_MSM_BOOL_OP_DECLS(M1, M2, API) \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
150 SPARSE_BOOL_OP_DECL (mx_el_and, M1, M2, API); \
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
151 SPARSE_BOOL_OP_DECL (mx_el_or, M1, M2, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
152
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
153 #define SPARSE_MSM_OP_DECLS(R1, R2, M1, M2, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
154 SPARSE_MSM_BIN_OP_DECLS (R1, R2, M1, M2, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
155 SPARSE_MSM_CMP_OP_DECLS (M1, M2, API) \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
156 SPARSE_MSM_BOOL_OP_DECLS (M1, M2, API)
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
157
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
158 // sparse matrix by matrix operations.
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
159
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
160 #define SPARSE_SMM_BIN_OP_DECLS(R1, R2, M1, M2, API) \
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
161 SPARSE_BIN_OP_DECL (R1, operator +, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
162 SPARSE_BIN_OP_DECL (R1, operator -, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
163 SPARSE_BIN_OP_DECL (R2, product, M1, M2, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
164 SPARSE_BIN_OP_DECL (R2, quotient, M1, M2, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
165
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
166 #define SPARSE_SMM_CMP_OP_DECLS(M1, M2, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
167 SPARSE_CMP_OP_DECL (mx_el_lt, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
168 SPARSE_CMP_OP_DECL (mx_el_le, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
169 SPARSE_CMP_OP_DECL (mx_el_ge, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
170 SPARSE_CMP_OP_DECL (mx_el_gt, M1, M2, API); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
171 SPARSE_CMP_OP_DECL (mx_el_eq, M1, M2, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
172 SPARSE_CMP_OP_DECL (mx_el_ne, M1, M2, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
173
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
174 #define SPARSE_SMM_EQNE_OP_DECLS(M1, M2, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
175 SPARSE_CMP_OP_DECL (mx_el_eq, M1, M2, API); \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
176 SPARSE_CMP_OP_DECL (mx_el_ne, M1, M2, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
177
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
178 #define SPARSE_SMM_BOOL_OP_DECLS(M1, M2, API) \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
179 SPARSE_BOOL_OP_DECL (mx_el_and, M1, M2, API); \
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
180 SPARSE_BOOL_OP_DECL (mx_el_or, M1, M2, API);
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
181
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
182 #define SPARSE_SMM_OP_DECLS(R1, R2, M1, M2, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
183 SPARSE_SMM_BIN_OP_DECLS (R1, R2, M1, M2, API) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
184 SPARSE_SMM_CMP_OP_DECLS (M1, M2, API) \
19269
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
185 SPARSE_SMM_BOOL_OP_DECLS (M1, M2, API)
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
186
65554f5847ac don't include oct-locbuf.h in header files unnecessarily
John W. Eaton <jwe@octave.org>
parents:
diff changeset
187 #endif