GNU Octave  6.2.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
op-i16-i16.cc
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 //
3 // Copyright (C) 1996-2021 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 "mx-i16nda-i8.h"
31 #include "mx-i16nda-ui8.h"
32 #include "mx-i16nda-ui16.h"
33 #include "mx-i16nda-i32.h"
34 #include "mx-i16nda-ui32.h"
35 #include "mx-i16nda-i64.h"
36 #include "mx-i16nda-ui64.h"
37 
38 #include "mx-i16nda-i8nda.h"
39 #include "mx-i16nda-ui8nda.h"
40 #include "mx-i16nda-ui16nda.h"
41 #include "mx-i16nda-i32nda.h"
42 #include "mx-i16nda-ui32nda.h"
43 #include "mx-i16nda-i64nda.h"
44 #include "mx-i16nda-ui64nda.h"
45 
46 #include "mx-i16-i8nda.h"
47 #include "mx-i16-ui8nda.h"
48 #include "mx-i16-ui16nda.h"
49 #include "mx-i16-i32nda.h"
50 #include "mx-i16-ui32nda.h"
51 #include "mx-i16-i64nda.h"
52 #include "mx-i16-ui64nda.h"
53 
54 #include "mx-i16nda-s.h"
55 #include "mx-s-i16nda.h"
56 
57 #include "mx-i16nda-nda.h"
58 #include "mx-nda-i16nda.h"
59 
60 #include "mx-i16-nda.h"
61 #include "mx-nda-i16.h"
62 
63 #include "mx-i16nda-fs.h"
64 #include "mx-fs-i16nda.h"
65 
66 #include "mx-i16nda-fnda.h"
67 #include "mx-fnda-i16nda.h"
68 
69 #include "mx-i16-fnda.h"
70 #include "mx-fnda-i16.h"
71 
72 #include "errwarn.h"
73 #include "ovl.h"
74 #include "ov.h"
75 #include "ov-int16.h"
76 #include "ov-int32.h"
77 #include "ov-int64.h"
78 #include "ov-int8.h"
79 #include "ov-uint16.h"
80 #include "ov-uint32.h"
81 #include "ov-uint64.h"
82 #include "ov-uint8.h"
83 #include "ov-scalar.h"
84 #include "ov-float.h"
85 #include "ov-complex.h"
86 #include "ov-flt-complex.h"
87 #include "ov-re-mat.h"
88 #include "ov-flt-re-mat.h"
89 #include "ov-cx-mat.h"
90 #include "ov-flt-cx-mat.h"
91 #include "ov-typeinfo.h"
92 #include "ov-null-mat.h"
93 #include "ops.h"
94 #include "xdiv.h"
95 #include "xpow.h"
96 
97 #include "op-int.h"
98 
100 
101 OCTAVE_MS_INT_ASSIGN_OPS (mi8, int16_, int8_, int8_)
102 OCTAVE_MS_INT_ASSIGN_OPS (mui8, int16_, uint8_, uint8_)
103 OCTAVE_MS_INT_ASSIGN_OPS (mui16, int16_, uint16_, uint16_)
104 OCTAVE_MS_INT_ASSIGN_OPS (mi32, int16_, int32_, int32_)
105 OCTAVE_MS_INT_ASSIGN_OPS (mui32, int16_, uint32_, uint32_)
106 OCTAVE_MS_INT_ASSIGN_OPS (mi64, int16_, int64_, int64_)
107 OCTAVE_MS_INT_ASSIGN_OPS (mui64, int16_, uint64_, uint64_)
108 
109 OCTAVE_MM_INT_ASSIGN_OPS (mmi8, int16_, int8_, int8_)
110 OCTAVE_MM_INT_ASSIGN_OPS (mmui8, int16_, uint8_, uint8_)
111 OCTAVE_MM_INT_ASSIGN_OPS (mmui16, int16_, uint16_, uint16_)
112 OCTAVE_MM_INT_ASSIGN_OPS (mmi32, int16_, int32_, int32_)
113 OCTAVE_MM_INT_ASSIGN_OPS (mmui32, int16_, uint32_, uint32_)
114 OCTAVE_MM_INT_ASSIGN_OPS (mmi64, int16_, int64_, int64_)
115 OCTAVE_MM_INT_ASSIGN_OPS (mmui64, int16_, uint64_, uint64_)
116 
124 
125 void
126 install_i16_i16_ops (octave::type_info& ti)
127 {
128  OCTAVE_INSTALL_INT_OPS (int16);
129 
130  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mi8, int16_, int8_);
131  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mui8, int16_, uint8_);
132  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mui16, int16_, uint16_);
133  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mi32, int16_, int32_);
134  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mui32, int16_, uint32_);
135  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mi64, int16_, int64_);
136  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mui64, int16_, uint64_);
137 
138  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmi8, int16_, int8_);
139  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmui8, int16_, uint8_);
140  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmui16, int16_, uint16_);
141  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmi32, int16_, int32_);
142  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmui32, int16_, uint32_);
143  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmi64, int16_, int64_);
144  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmui64, int16_, uint64_);
145 
146  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, int8);
147  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, uint8);
148  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, uint16);
149  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, int32);
150  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, uint32);
151  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, int64);
152  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, uint64);
153 
154  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, int8);
155  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, uint8);
156  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, uint16);
157  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, int32);
158  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, uint32);
159  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, int64);
160  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, uint64);
161 }
void install_i16_i16_ops(octave::type_info &ti)
Definition: op-i16-i16.cc:126
#define OCTAVE_INSTALL_MIXED_INT_CMP_OPS(T1, T2)
Definition: op-int.h:1161
#define OCTAVE_INT_OPS(TYPE)
Definition: op-int.h:854
#define OCTAVE_INSTALL_MS_INT_ASSIGN_OPS(PFX, TLHS, TRHS)
Definition: op-int.h:1001
#define OCTAVE_INSTALL_MM_INT_ASSIGN_OPS(PFX, TLHS, TRHS)
Definition: op-int.h:1072
#define OCTAVE_MS_INT_ASSIGN_OPS(PFX, TM, TS, TE)
Definition: op-int.h:527
#define OCTAVE_MM_INT_ASSIGN_OPS(PFX, TLHS, TRHS, TE)
Definition: op-int.h:687
#define OCTAVE_INSTALL_INT_OPS(TYPE)
Definition: op-int.h:1139
#define OCTAVE_MIXED_INT_CMP_OPS(T1, T2)
Definition: op-int.h:1155
#define OCTAVE_INSTALL_SM_INT_ASSIGNCONV(TLHS, TRHS)
Definition: op-int.h:1151