GNU Octave  9.1.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-2024 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_INT_OPS (int16)
102 
103 OCTAVE_MS_INT_ASSIGN_OPS (mi8, int16_, int8_, int8_)
104 OCTAVE_MS_INT_ASSIGN_OPS (mui8, int16_, uint8_, uint8_)
105 OCTAVE_MS_INT_ASSIGN_OPS (mui16, int16_, uint16_, uint16_)
106 OCTAVE_MS_INT_ASSIGN_OPS (mi32, int16_, int32_, int32_)
107 OCTAVE_MS_INT_ASSIGN_OPS (mui32, int16_, uint32_, uint32_)
108 OCTAVE_MS_INT_ASSIGN_OPS (mi64, int16_, int64_, int64_)
109 OCTAVE_MS_INT_ASSIGN_OPS (mui64, int16_, uint64_, uint64_)
110 
111 OCTAVE_MM_INT_ASSIGN_OPS (mmi8, int16_, int8_, int8_)
112 OCTAVE_MM_INT_ASSIGN_OPS (mmui8, int16_, uint8_, uint8_)
113 OCTAVE_MM_INT_ASSIGN_OPS (mmui16, int16_, uint16_, uint16_)
114 OCTAVE_MM_INT_ASSIGN_OPS (mmi32, int16_, int32_, int32_)
115 OCTAVE_MM_INT_ASSIGN_OPS (mmui32, int16_, uint32_, uint32_)
116 OCTAVE_MM_INT_ASSIGN_OPS (mmi64, int16_, int64_, int64_)
117 OCTAVE_MM_INT_ASSIGN_OPS (mmui64, int16_, uint64_, uint64_)
118 
119 OCTAVE_MIXED_INT_CMP_OPS (int16, int8)
120 OCTAVE_MIXED_INT_CMP_OPS (int16, uint8)
121 OCTAVE_MIXED_INT_CMP_OPS (int16, uint16)
122 OCTAVE_MIXED_INT_CMP_OPS (int16, int32)
123 OCTAVE_MIXED_INT_CMP_OPS (int16, uint32)
124 OCTAVE_MIXED_INT_CMP_OPS (int16, int64)
125 OCTAVE_MIXED_INT_CMP_OPS (int16, uint64)
126 
127 void
128 install_i16_i16_ops (octave::type_info& ti)
129 {
130  OCTAVE_INSTALL_INT_OPS (int16);
131 
132  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mi8, int16_, int8_);
133  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mui8, int16_, uint8_);
134  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mui16, int16_, uint16_);
135  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mi32, int16_, int32_);
136  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mui32, int16_, uint32_);
137  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mi64, int16_, int64_);
138  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mui64, int16_, uint64_);
139 
140  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmi8, int16_, int8_);
141  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmui8, int16_, uint8_);
142  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmui16, int16_, uint16_);
143  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmi32, int16_, int32_);
144  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmui32, int16_, uint32_);
145  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmi64, int16_, int64_);
146  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmui64, int16_, uint64_);
147 
148  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, int8);
149  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, uint8);
150  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, uint16);
151  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, int32);
152  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, uint32);
153  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, int64);
154  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, uint64);
155 
156  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, int8);
157  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, uint8);
158  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, uint16);
159  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, int32);
160  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, uint32);
161  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, int64);
162  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, uint64);
163 }
164 
165 OCTAVE_END_NAMESPACE(octave)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
void install_i16_i16_ops(octave::type_info &ti)
Definition: op-i16-i16.cc:128
#define OCTAVE_INSTALL_MIXED_INT_CMP_OPS(T1, T2)
Definition: op-int.h:1166
#define OCTAVE_INT_OPS(TYPE)
Definition: op-int.h:859
#define OCTAVE_INSTALL_MS_INT_ASSIGN_OPS(PFX, TLHS, TRHS)
Definition: op-int.h:1006
#define OCTAVE_INSTALL_MM_INT_ASSIGN_OPS(PFX, TLHS, TRHS)
Definition: op-int.h:1077
#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:692
#define OCTAVE_INSTALL_INT_OPS(TYPE)
Definition: op-int.h:1144
#define OCTAVE_MIXED_INT_CMP_OPS(T1, T2)
Definition: op-int.h:1160
#define OCTAVE_INSTALL_SM_INT_ASSIGNCONV(TLHS, TRHS)
Definition: op-int.h:1156