GNU Octave  4.4.1
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-2018 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
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11 
12 Octave is distributed in the hope that it will be useful, but
13 WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License 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 <https://www.gnu.org/licenses/>.
20 
21 */
22 
23 #if defined (HAVE_CONFIG_H)
24 # include "config.h"
25 #endif
26 
27 #include "mx-i16nda-i8.h"
28 #include "mx-i16nda-ui8.h"
29 #include "mx-i16nda-ui16.h"
30 #include "mx-i16nda-i32.h"
31 #include "mx-i16nda-ui32.h"
32 #include "mx-i16nda-i64.h"
33 #include "mx-i16nda-ui64.h"
34 
35 #include "mx-i16nda-i8nda.h"
36 #include "mx-i16nda-ui8nda.h"
37 #include "mx-i16nda-ui16nda.h"
38 #include "mx-i16nda-i32nda.h"
39 #include "mx-i16nda-ui32nda.h"
40 #include "mx-i16nda-i64nda.h"
41 #include "mx-i16nda-ui64nda.h"
42 
43 #include "mx-i16-i8nda.h"
44 #include "mx-i16-ui8nda.h"
45 #include "mx-i16-ui16nda.h"
46 #include "mx-i16-i32nda.h"
47 #include "mx-i16-ui32nda.h"
48 #include "mx-i16-i64nda.h"
49 #include "mx-i16-ui64nda.h"
50 
51 #include "mx-i16nda-s.h"
52 #include "mx-s-i16nda.h"
53 
54 #include "mx-i16nda-nda.h"
55 #include "mx-nda-i16nda.h"
56 
57 #include "mx-i16-nda.h"
58 #include "mx-nda-i16.h"
59 
60 #include "mx-i16nda-fs.h"
61 #include "mx-fs-i16nda.h"
62 
63 #include "mx-i16nda-fnda.h"
64 #include "mx-fnda-i16nda.h"
65 
66 #include "mx-i16-fnda.h"
67 #include "mx-fnda-i16.h"
68 
69 #include "errwarn.h"
70 #include "ovl.h"
71 #include "ov.h"
72 #include "ov-int16.h"
73 #include "ov-int32.h"
74 #include "ov-int64.h"
75 #include "ov-int8.h"
76 #include "ov-uint16.h"
77 #include "ov-uint32.h"
78 #include "ov-uint64.h"
79 #include "ov-uint8.h"
80 #include "ov-scalar.h"
81 #include "ov-float.h"
82 #include "ov-complex.h"
83 #include "ov-flt-complex.h"
84 #include "ov-re-mat.h"
85 #include "ov-flt-re-mat.h"
86 #include "ov-cx-mat.h"
87 #include "ov-flt-cx-mat.h"
88 #include "ov-typeinfo.h"
89 #include "ov-null-mat.h"
90 #include "ops.h"
91 #include "xdiv.h"
92 #include "xpow.h"
93 
94 #include "op-int.h"
95 
97 
98 OCTAVE_MS_INT_ASSIGN_OPS (mi8, int16_, int8_, int8_)
99 OCTAVE_MS_INT_ASSIGN_OPS (mui8, int16_, uint8_, uint8_)
100 OCTAVE_MS_INT_ASSIGN_OPS (mui16, int16_, uint16_, uint16_)
101 OCTAVE_MS_INT_ASSIGN_OPS (mi32, int16_, int32_, int32_)
102 OCTAVE_MS_INT_ASSIGN_OPS (mui32, int16_, uint32_, uint32_)
103 OCTAVE_MS_INT_ASSIGN_OPS (mi64, int16_, int64_, int64_)
104 OCTAVE_MS_INT_ASSIGN_OPS (mui64, int16_, uint64_, uint64_)
105 
106 OCTAVE_MM_INT_ASSIGN_OPS (mmi8, int16_, int8_, int8_)
107 OCTAVE_MM_INT_ASSIGN_OPS (mmui8, int16_, uint8_, uint8_)
108 OCTAVE_MM_INT_ASSIGN_OPS (mmui16, int16_, uint16_, uint16_)
109 OCTAVE_MM_INT_ASSIGN_OPS (mmi32, int16_, int32_, int32_)
110 OCTAVE_MM_INT_ASSIGN_OPS (mmui32, int16_, uint32_, uint32_)
111 OCTAVE_MM_INT_ASSIGN_OPS (mmi64, int16_, int64_, int64_)
112 OCTAVE_MM_INT_ASSIGN_OPS (mmui64, int16_, uint64_, uint64_)
113 
121 
122 void
123 install_i16_i16_ops (octave::type_info& ti)
124 {
125  OCTAVE_INSTALL_INT_OPS (int16);
126 
127  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mi8, int16_, int8_);
128  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mui8, int16_, uint8_);
129  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mui16, int16_, uint16_);
130  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mi32, int16_, int32_);
131  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mui32, int16_, uint32_);
132  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mi64, int16_, int64_);
133  OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mui64, int16_, uint64_);
134 
135  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmi8, int16_, int8_);
136  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmui8, int16_, uint8_);
137  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmui16, int16_, uint16_);
138  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmi32, int16_, int32_);
139  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmui32, int16_, uint32_);
140  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmi64, int16_, int64_);
141  OCTAVE_INSTALL_MM_INT_ASSIGN_OPS (mmui64, int16_, uint64_);
142 
143  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, int8);
144  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, uint8);
145  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, uint16);
146  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, int32);
147  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, uint32);
148  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, int64);
149  OCTAVE_INSTALL_SM_INT_ASSIGNCONV (int16, uint64);
150 
151  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, int8);
152  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, uint8);
153  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, uint16);
154  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, int32);
155  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, uint32);
156  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, int64);
157  OCTAVE_INSTALL_MIXED_INT_CMP_OPS (int16, uint64);
158 }
#define OCTAVE_INSTALL_MM_INT_ASSIGN_OPS(PFX, TLHS, TRHS)
Definition: op-int.h:1101
#define OCTAVE_INSTALL_SM_INT_ASSIGNCONV(TLHS, TRHS)
Definition: op-int.h:1180
void install_i16_i16_ops(octave::type_info &ti)
Definition: op-i16-i16.cc:123
#define OCTAVE_INSTALL_INT_OPS(TYPE)
Definition: op-int.h:1168
#define OCTAVE_MIXED_INT_CMP_OPS(T1, T2)
Definition: op-int.h:1184
#define OCTAVE_INT_OPS(TYPE)
Definition: op-int.h:883
#define OCTAVE_MS_INT_ASSIGN_OPS(PFX, TM, TS, TE)
Definition: op-int.h:556
#define OCTAVE_MM_INT_ASSIGN_OPS(PFX, TLHS, TRHS, TE)
Definition: op-int.h:716
#define OCTAVE_INSTALL_MS_INT_ASSIGN_OPS(PFX, TLHS, TRHS)
Definition: op-int.h:1030
#define OCTAVE_INSTALL_MIXED_INT_CMP_OPS(T1, T2)
Definition: op-int.h:1190