GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
op-int-concat.cc
Go to the documentation of this file.
1 /*
2 
3 Copyright (C) 2004-2017 John W. Eaton
4 
5 This file is part of Octave.
6 
7 Octave is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by the
9 Free Software Foundation; either version 3 of the License, or (at your
10 option) any later version.
11 
12 Octave is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with Octave; see the file COPYING. If not, see
19 <http://www.gnu.org/licenses/>.
20 
21 */
22 
23 #if defined (HAVE_CONFIG_H)
24 # include "config.h"
25 #endif
26 
27 #include "errwarn.h"
28 #include "ovl.h"
29 #include "ov.h"
30 #include "ov-int8.h"
31 #include "ov-int16.h"
32 #include "ov-int32.h"
33 #include "ov-int64.h"
34 #include "ov-uint8.h"
35 #include "ov-uint16.h"
36 #include "ov-uint32.h"
37 #include "ov-uint64.h"
38 #include "ov-range.h"
39 #include "ov-bool.h"
40 #include "ov-bool-mat.h"
41 #include "ov-scalar.h"
42 #include "ov-float.h"
43 #include "ov-re-mat.h"
44 #include "ov-flt-re-mat.h"
45 #include "ov-str-mat.h"
46 #include "ov-typeinfo.h"
47 #include "op-int.h"
48 #include "ops.h"
49 
50 // Concatentation of mixed integer types:
51 
55 
56 OCTAVE_CONCAT_FN2 (int8, uint8)
59 OCTAVE_CONCAT_FN2 (int8, uint64)
60 
64 
65 OCTAVE_CONCAT_FN2 (int16, uint8)
68 OCTAVE_CONCAT_FN2 (int16, uint64)
69 
71 OCTAVE_CONCAT_FN2 (int32, int16)
73 
74 OCTAVE_CONCAT_FN2 (int32, uint8)
77 OCTAVE_CONCAT_FN2 (int32, uint64)
78 
80 OCTAVE_CONCAT_FN2 (int64, int16)
81 OCTAVE_CONCAT_FN2 (int64, int32)
82 
83 OCTAVE_CONCAT_FN2 (int64, uint8)
86 OCTAVE_CONCAT_FN2 (int64, uint64)
87 
88 OCTAVE_CONCAT_FN2 (uint8, int8)
89 OCTAVE_CONCAT_FN2 (uint8, int16)
90 OCTAVE_CONCAT_FN2 (uint8, int32)
91 OCTAVE_CONCAT_FN2 (uint8, int64)
92 
95 OCTAVE_CONCAT_FN2 (uint8, uint64)
96 
98 OCTAVE_CONCAT_FN2 (uint16, int16)
99 OCTAVE_CONCAT_FN2 (uint16, int32)
100 OCTAVE_CONCAT_FN2 (uint16, int64)
101 
102 OCTAVE_CONCAT_FN2 (uint16, uint8)
104 OCTAVE_CONCAT_FN2 (uint16, uint64)
105 
107 OCTAVE_CONCAT_FN2 (uint32, int16)
108 OCTAVE_CONCAT_FN2 (uint32, int32)
109 OCTAVE_CONCAT_FN2 (uint32, int64)
110 
111 OCTAVE_CONCAT_FN2 (uint32, uint8)
112 OCTAVE_CONCAT_FN2 (uint32, uint16)
113 OCTAVE_CONCAT_FN2 (uint32, uint64)
114 
115 OCTAVE_CONCAT_FN2 (uint64, int8)
116 OCTAVE_CONCAT_FN2 (uint64, int16)
117 OCTAVE_CONCAT_FN2 (uint64, int32)
118 OCTAVE_CONCAT_FN2 (uint64, int64)
119 
120 OCTAVE_CONCAT_FN2 (uint64, uint8)
121 OCTAVE_CONCAT_FN2 (uint64, uint16)
122 OCTAVE_CONCAT_FN2 (uint64, uint32)
123 
128 
133 
138 
143 
148 
153 
158 
163 
168 
173 
178 
183 
184 void
186 {
187  OCTAVE_INSTALL_CONCAT_FN2 (int8, int16);
188  OCTAVE_INSTALL_CONCAT_FN2 (int8, int32);
189  OCTAVE_INSTALL_CONCAT_FN2 (int8, int64);
190 
191  OCTAVE_INSTALL_CONCAT_FN2 (int8, uint8);
192  OCTAVE_INSTALL_CONCAT_FN2 (int8, uint16);
193  OCTAVE_INSTALL_CONCAT_FN2 (int8, uint32);
194  OCTAVE_INSTALL_CONCAT_FN2 (int8, uint64);
195 
196  OCTAVE_INSTALL_CONCAT_FN2 (int16, int8);
197  OCTAVE_INSTALL_CONCAT_FN2 (int16, int32);
198  OCTAVE_INSTALL_CONCAT_FN2 (int16, int64);
199 
200  OCTAVE_INSTALL_CONCAT_FN2 (int16, uint8);
201  OCTAVE_INSTALL_CONCAT_FN2 (int16, uint16);
202  OCTAVE_INSTALL_CONCAT_FN2 (int16, uint32);
203  OCTAVE_INSTALL_CONCAT_FN2 (int16, uint64);
204 
205  OCTAVE_INSTALL_CONCAT_FN2 (int32, int8);
206  OCTAVE_INSTALL_CONCAT_FN2 (int32, int16);
207  OCTAVE_INSTALL_CONCAT_FN2 (int32, int64);
208 
209  OCTAVE_INSTALL_CONCAT_FN2 (int32, uint8);
210  OCTAVE_INSTALL_CONCAT_FN2 (int32, uint16);
211  OCTAVE_INSTALL_CONCAT_FN2 (int32, uint32);
212  OCTAVE_INSTALL_CONCAT_FN2 (int32, uint64);
213 
214  OCTAVE_INSTALL_CONCAT_FN2 (int64, int8);
215  OCTAVE_INSTALL_CONCAT_FN2 (int64, int16);
216  OCTAVE_INSTALL_CONCAT_FN2 (int64, int32);
217 
218  OCTAVE_INSTALL_CONCAT_FN2 (int64, uint8);
219  OCTAVE_INSTALL_CONCAT_FN2 (int64, uint16);
220  OCTAVE_INSTALL_CONCAT_FN2 (int64, uint32);
221  OCTAVE_INSTALL_CONCAT_FN2 (int64, uint64);
222 
223  OCTAVE_INSTALL_CONCAT_FN2 (uint8, int8);
224  OCTAVE_INSTALL_CONCAT_FN2 (uint8, int16);
225  OCTAVE_INSTALL_CONCAT_FN2 (uint8, int32);
226  OCTAVE_INSTALL_CONCAT_FN2 (uint8, int64);
227 
228  OCTAVE_INSTALL_CONCAT_FN2 (uint8, uint16);
229  OCTAVE_INSTALL_CONCAT_FN2 (uint8, uint32);
230  OCTAVE_INSTALL_CONCAT_FN2 (uint8, uint64);
231 
232  OCTAVE_INSTALL_CONCAT_FN2 (uint16, int8);
233  OCTAVE_INSTALL_CONCAT_FN2 (uint16, int16);
234  OCTAVE_INSTALL_CONCAT_FN2 (uint16, int32);
235  OCTAVE_INSTALL_CONCAT_FN2 (uint16, int64);
236 
237  OCTAVE_INSTALL_CONCAT_FN2 (uint16, uint8);
238  OCTAVE_INSTALL_CONCAT_FN2 (uint16, uint32);
239  OCTAVE_INSTALL_CONCAT_FN2 (uint16, uint64);
240 
241  OCTAVE_INSTALL_CONCAT_FN2 (uint32, int8);
242  OCTAVE_INSTALL_CONCAT_FN2 (uint32, int16);
243  OCTAVE_INSTALL_CONCAT_FN2 (uint32, int32);
244  OCTAVE_INSTALL_CONCAT_FN2 (uint32, int64);
245 
246  OCTAVE_INSTALL_CONCAT_FN2 (uint32, uint8);
247  OCTAVE_INSTALL_CONCAT_FN2 (uint32, uint16);
248  OCTAVE_INSTALL_CONCAT_FN2 (uint32, uint64);
249 
250  OCTAVE_INSTALL_CONCAT_FN2 (uint64, int8);
251  OCTAVE_INSTALL_CONCAT_FN2 (uint64, int16);
252  OCTAVE_INSTALL_CONCAT_FN2 (uint64, int32);
253  OCTAVE_INSTALL_CONCAT_FN2 (uint64, int64);
254 
255  OCTAVE_INSTALL_CONCAT_FN2 (uint64, uint8);
256  OCTAVE_INSTALL_CONCAT_FN2 (uint64, uint16);
257  OCTAVE_INSTALL_CONCAT_FN2 (uint64, uint32);
258 
263 
268 
273 
278 
283 
288 
293 
298 
303 
308 
313 
318 }
#define OCTAVE_INSTALL_CONCAT_FN2(T1, T2)
Definition: op-int.h:83
void install_int_concat_ops(void)
#define OCTAVE_INT_FLOAT_CONCAT_FN(TYPE)
Definition: op-int.h:125
#define OCTAVE_INSTALL_CHAR_INT_CONCAT_FN(TYPE)
Definition: op-int.h:144
OCTAVE_EXPORT octave_value_list uint16
Definition: ov.cc:1258
#define OCTAVE_DOUBLE_INT_CONCAT_FN(TYPE)
Definition: op-int.h:89
#define OCTAVE_INSTALL_DOUBLE_INT_CONCAT_FN(TYPE)
Definition: op-int.h:95
OCTAVE_EXPORT octave_value_list uint32
Definition: ov.cc:1258
OCTAVE_EXPORT octave_value_list int16
Definition: ov.cc:1302
#define OCTAVE_CONCAT_FN2(T1, T2)
Definition: op-int.h:77
OCTAVE_EXPORT octave_value_list int32
Definition: ov.cc:1258
#define OCTAVE_INT_CHAR_CONCAT_FN(TYPE)
Definition: op-int.h:150
#define OCTAVE_INT_DOUBLE_CONCAT_FN(TYPE)
Definition: op-int.h:101
#define OCTAVE_INSTALL_INT_DOUBLE_CONCAT_FN(TYPE)
Definition: op-int.h:107
#define OCTAVE_CHAR_INT_CONCAT_FN(TYPE)
Definition: op-int.h:140
OCTAVE_EXPORT octave_value_list int64
Definition: ov.cc:1258
#define OCTAVE_INSTALL_INT_FLOAT_CONCAT_FN(TYPE)
Definition: op-int.h:131
#define OCTAVE_INSTALL_INT_CHAR_CONCAT_FN(TYPE)
Definition: op-int.h:154
#define OCTAVE_INSTALL_FLOAT_INT_CONCAT_FN(TYPE)
Definition: op-int.h:119
#define OCTAVE_FLOAT_INT_CONCAT_FN(TYPE)
Definition: op-int.h:113