GNU Octave 10.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 
Loading...
Searching...
No Matches
op-int-concat.cc
Go to the documentation of this file.
1////////////////////////////////////////////////////////////////////////
2//
3// Copyright (C) 2004-2025 The Octave Project Developers
4//
5// See the file COPYRIGHT.md in the top-level directory of this
6// distribution or <https://octave.org/copyright/>.
7//
8// This file is part of Octave.
9//
10// Octave is free software: you can redistribute it and/or modify it
11// under the terms of the GNU General Public License as published by
12// the Free Software Foundation, either version 3 of the License, or
13// (at your option) any later version.
14//
15// Octave is distributed in the hope that it will be useful, but
16// WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18// GNU General Public License for more details.
19//
20// You should have received a copy of the GNU General Public License
21// along with Octave; see the file COPYING. If not, see
22// <https://www.gnu.org/licenses/>.
23//
24////////////////////////////////////////////////////////////////////////
25
26#if defined (HAVE_CONFIG_H)
27# include "config.h"
28#endif
29
30#include "errwarn.h"
31#include "ovl.h"
32#include "ov.h"
33#include "ov-int8.h"
34#include "ov-int16.h"
35#include "ov-int32.h"
36#include "ov-int64.h"
37#include "ov-uint8.h"
38#include "ov-uint16.h"
39#include "ov-uint32.h"
40#include "ov-uint64.h"
41#include "ov-range.h"
42#include "ov-bool.h"
43#include "ov-bool-mat.h"
44#include "ov-scalar.h"
45#include "ov-float.h"
46#include "ov-re-mat.h"
47#include "ov-flt-re-mat.h"
48#include "ov-str-mat.h"
49#include "ov-typeinfo.h"
50#include "op-int.h"
51#include "ops.h"
52
54
55// Concatenation of mixed integer types:
56
57OCTAVE_CONCAT_FN2 (int8, int16)
58OCTAVE_CONCAT_FN2 (int8, int32)
59OCTAVE_CONCAT_FN2 (int8, int64)
60
61OCTAVE_CONCAT_FN2 (int8, uint8)
62OCTAVE_CONCAT_FN2 (int8, uint16)
63OCTAVE_CONCAT_FN2 (int8, uint32)
64OCTAVE_CONCAT_FN2 (int8, uint64)
65
66OCTAVE_CONCAT_FN2 (int16, int8)
67OCTAVE_CONCAT_FN2 (int16, int32)
68OCTAVE_CONCAT_FN2 (int16, int64)
69
70OCTAVE_CONCAT_FN2 (int16, uint8)
71OCTAVE_CONCAT_FN2 (int16, uint16)
72OCTAVE_CONCAT_FN2 (int16, uint32)
73OCTAVE_CONCAT_FN2 (int16, uint64)
74
75OCTAVE_CONCAT_FN2 (int32, int8)
76OCTAVE_CONCAT_FN2 (int32, int16)
77OCTAVE_CONCAT_FN2 (int32, int64)
78
79OCTAVE_CONCAT_FN2 (int32, uint8)
80OCTAVE_CONCAT_FN2 (int32, uint16)
81OCTAVE_CONCAT_FN2 (int32, uint32)
82OCTAVE_CONCAT_FN2 (int32, uint64)
83
84OCTAVE_CONCAT_FN2 (int64, int8)
85OCTAVE_CONCAT_FN2 (int64, int16)
86OCTAVE_CONCAT_FN2 (int64, int32)
87
88OCTAVE_CONCAT_FN2 (int64, uint8)
89OCTAVE_CONCAT_FN2 (int64, uint16)
90OCTAVE_CONCAT_FN2 (int64, uint32)
91OCTAVE_CONCAT_FN2 (int64, uint64)
92
93OCTAVE_CONCAT_FN2 (uint8, int8)
94OCTAVE_CONCAT_FN2 (uint8, int16)
95OCTAVE_CONCAT_FN2 (uint8, int32)
96OCTAVE_CONCAT_FN2 (uint8, int64)
97
98OCTAVE_CONCAT_FN2 (uint8, uint16)
99OCTAVE_CONCAT_FN2 (uint8, uint32)
100OCTAVE_CONCAT_FN2 (uint8, uint64)
101
102OCTAVE_CONCAT_FN2 (uint16, int8)
103OCTAVE_CONCAT_FN2 (uint16, int16)
104OCTAVE_CONCAT_FN2 (uint16, int32)
105OCTAVE_CONCAT_FN2 (uint16, int64)
106
107OCTAVE_CONCAT_FN2 (uint16, uint8)
108OCTAVE_CONCAT_FN2 (uint16, uint32)
109OCTAVE_CONCAT_FN2 (uint16, uint64)
110
111OCTAVE_CONCAT_FN2 (uint32, int8)
112OCTAVE_CONCAT_FN2 (uint32, int16)
113OCTAVE_CONCAT_FN2 (uint32, int32)
114OCTAVE_CONCAT_FN2 (uint32, int64)
115
116OCTAVE_CONCAT_FN2 (uint32, uint8)
117OCTAVE_CONCAT_FN2 (uint32, uint16)
118OCTAVE_CONCAT_FN2 (uint32, uint64)
119
120OCTAVE_CONCAT_FN2 (uint64, int8)
121OCTAVE_CONCAT_FN2 (uint64, int16)
122OCTAVE_CONCAT_FN2 (uint64, int32)
123OCTAVE_CONCAT_FN2 (uint64, int64)
124
125OCTAVE_CONCAT_FN2 (uint64, uint8)
126OCTAVE_CONCAT_FN2 (uint64, uint16)
127OCTAVE_CONCAT_FN2 (uint64, uint32)
128
133
138
143
148
153
158
163
168
173
178
183
188
189void
190install_int_concat_ops (octave::type_info& ti)
191{
192 OCTAVE_INSTALL_CONCAT_FN2 (int8, int16);
193 OCTAVE_INSTALL_CONCAT_FN2 (int8, int32);
194 OCTAVE_INSTALL_CONCAT_FN2 (int8, int64);
195
196 OCTAVE_INSTALL_CONCAT_FN2 (int8, uint8);
197 OCTAVE_INSTALL_CONCAT_FN2 (int8, uint16);
198 OCTAVE_INSTALL_CONCAT_FN2 (int8, uint32);
199 OCTAVE_INSTALL_CONCAT_FN2 (int8, uint64);
200
201 OCTAVE_INSTALL_CONCAT_FN2 (int16, int8);
202 OCTAVE_INSTALL_CONCAT_FN2 (int16, int32);
203 OCTAVE_INSTALL_CONCAT_FN2 (int16, int64);
204
205 OCTAVE_INSTALL_CONCAT_FN2 (int16, uint8);
206 OCTAVE_INSTALL_CONCAT_FN2 (int16, uint16);
207 OCTAVE_INSTALL_CONCAT_FN2 (int16, uint32);
208 OCTAVE_INSTALL_CONCAT_FN2 (int16, uint64);
209
210 OCTAVE_INSTALL_CONCAT_FN2 (int32, int8);
211 OCTAVE_INSTALL_CONCAT_FN2 (int32, int16);
212 OCTAVE_INSTALL_CONCAT_FN2 (int32, int64);
213
214 OCTAVE_INSTALL_CONCAT_FN2 (int32, uint8);
215 OCTAVE_INSTALL_CONCAT_FN2 (int32, uint16);
216 OCTAVE_INSTALL_CONCAT_FN2 (int32, uint32);
217 OCTAVE_INSTALL_CONCAT_FN2 (int32, uint64);
218
219 OCTAVE_INSTALL_CONCAT_FN2 (int64, int8);
220 OCTAVE_INSTALL_CONCAT_FN2 (int64, int16);
221 OCTAVE_INSTALL_CONCAT_FN2 (int64, int32);
222
223 OCTAVE_INSTALL_CONCAT_FN2 (int64, uint8);
224 OCTAVE_INSTALL_CONCAT_FN2 (int64, uint16);
225 OCTAVE_INSTALL_CONCAT_FN2 (int64, uint32);
226 OCTAVE_INSTALL_CONCAT_FN2 (int64, uint64);
227
228 OCTAVE_INSTALL_CONCAT_FN2 (uint8, int8);
229 OCTAVE_INSTALL_CONCAT_FN2 (uint8, int16);
230 OCTAVE_INSTALL_CONCAT_FN2 (uint8, int32);
231 OCTAVE_INSTALL_CONCAT_FN2 (uint8, int64);
232
233 OCTAVE_INSTALL_CONCAT_FN2 (uint8, uint16);
234 OCTAVE_INSTALL_CONCAT_FN2 (uint8, uint32);
235 OCTAVE_INSTALL_CONCAT_FN2 (uint8, uint64);
236
237 OCTAVE_INSTALL_CONCAT_FN2 (uint16, int8);
238 OCTAVE_INSTALL_CONCAT_FN2 (uint16, int16);
239 OCTAVE_INSTALL_CONCAT_FN2 (uint16, int32);
240 OCTAVE_INSTALL_CONCAT_FN2 (uint16, int64);
241
242 OCTAVE_INSTALL_CONCAT_FN2 (uint16, uint8);
243 OCTAVE_INSTALL_CONCAT_FN2 (uint16, uint32);
244 OCTAVE_INSTALL_CONCAT_FN2 (uint16, uint64);
245
246 OCTAVE_INSTALL_CONCAT_FN2 (uint32, int8);
247 OCTAVE_INSTALL_CONCAT_FN2 (uint32, int16);
248 OCTAVE_INSTALL_CONCAT_FN2 (uint32, int32);
249 OCTAVE_INSTALL_CONCAT_FN2 (uint32, int64);
250
251 OCTAVE_INSTALL_CONCAT_FN2 (uint32, uint8);
252 OCTAVE_INSTALL_CONCAT_FN2 (uint32, uint16);
253 OCTAVE_INSTALL_CONCAT_FN2 (uint32, uint64);
254
255 OCTAVE_INSTALL_CONCAT_FN2 (uint64, int8);
256 OCTAVE_INSTALL_CONCAT_FN2 (uint64, int16);
257 OCTAVE_INSTALL_CONCAT_FN2 (uint64, int32);
258 OCTAVE_INSTALL_CONCAT_FN2 (uint64, int64);
259
260 OCTAVE_INSTALL_CONCAT_FN2 (uint64, uint8);
261 OCTAVE_INSTALL_CONCAT_FN2 (uint64, uint16);
262 OCTAVE_INSTALL_CONCAT_FN2 (uint64, uint32);
263
268
273
278
283
288
293
298
303
308
313
318
323}
324
325OCTAVE_END_NAMESPACE(octave)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
#define OCTAVE_DOUBLE_INT_CONCAT_FN(TYPE)
Definition op-int.h:92
#define OCTAVE_INSTALL_INT_DOUBLE_CONCAT_FN(TYPE)
Definition op-int.h:110
#define OCTAVE_INT_CHAR_CONCAT_FN(TYPE)
Definition op-int.h:153
#define OCTAVE_INSTALL_DOUBLE_INT_CONCAT_FN(TYPE)
Definition op-int.h:98
#define OCTAVE_INT_DOUBLE_CONCAT_FN(TYPE)
Definition op-int.h:104
#define OCTAVE_CHAR_INT_CONCAT_FN(TYPE)
Definition op-int.h:143
#define OCTAVE_CONCAT_FN2(T1, T2)
Definition op-int.h:80
#define OCTAVE_INT_FLOAT_CONCAT_FN(TYPE)
Definition op-int.h:128
#define OCTAVE_INSTALL_INT_CHAR_CONCAT_FN(TYPE)
Definition op-int.h:157
#define OCTAVE_INSTALL_CONCAT_FN2(T1, T2)
Definition op-int.h:86
#define OCTAVE_FLOAT_INT_CONCAT_FN(TYPE)
Definition op-int.h:116
#define OCTAVE_INSTALL_FLOAT_INT_CONCAT_FN(TYPE)
Definition op-int.h:122
#define OCTAVE_INSTALL_INT_FLOAT_CONCAT_FN(TYPE)
Definition op-int.h:134
#define OCTAVE_INSTALL_CHAR_INT_CONCAT_FN(TYPE)
Definition op-int.h:147