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
MArray-i.cc
Go to the documentation of this file.
1 /*
2 
3 Copyright (C) 1995-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 "oct-inttypes.h"
28 
29 // Instantiate MArrays of int values.
30 
31 #include "MArray.h"
32 #include "MArray.cc"
33 
34 template class OCTAVE_API MArray<int>;
35 #if defined (OCTAVE_ENABLE_64)
36 template class OCTAVE_API MArray<int64_t>;
37 #endif
38 
39 #if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
40 // Explicit instantiation, as this seems to be required by weird compilers
41 // like MSVC. This should be harmless on other compilers.
42 template int xmin<int> (int, int);
43 template int xmax<int> (int, int);
44 template long xmin<long> (long, long);
45 template long xmax<long> (long, long);
46 #endif
47 
48 INSTANTIATE_MARRAY_FRIENDS (int, OCTAVE_API)
49 #if defined (OCTAVE_ENABLE_64)
50 INSTANTIATE_MARRAY_FRIENDS (int64_t, OCTAVE_API)
51 #endif
52 
53 template class OCTAVE_API MArray<octave_int8>;
54 template class OCTAVE_API MArray<octave_int16>;
55 template class OCTAVE_API MArray<octave_int32>;
56 template class OCTAVE_API MArray<octave_int64>;
57 
62 
63 template class OCTAVE_API MArray<octave_uint8>;
64 template class OCTAVE_API MArray<octave_uint16>;
65 template class OCTAVE_API MArray<octave_uint32>;
66 template class OCTAVE_API MArray<octave_uint64>;
67 
68 INSTANTIATE_MARRAY_FRIENDS (octave_uint8, OCTAVE_API)
69 INSTANTIATE_MARRAY_FRIENDS (octave_uint16, OCTAVE_API)
70 INSTANTIATE_MARRAY_FRIENDS (octave_uint32, OCTAVE_API)
71 INSTANTIATE_MARRAY_FRIENDS (octave_uint64, OCTAVE_API)
72 
73 #include "MDiagArray2.h"
74 #include "MDiagArray2.cc"
75 
76 template class OCTAVE_API MDiagArray2<int>;
77 
78 INSTANTIATE_MDIAGARRAY2_FRIENDS (int, OCTAVE_API)
#define INSTANTIATE_MARRAY_FRIENDS(T, API)
Definition: MArray.h:225
Template for N-dimensional array classes with like-type math operators.
Definition: MArray.h:32
Template for two dimensional diagonal array with math operators.
Definition: MDiagArray2.h:33
#define INSTANTIATE_MDIAGARRAY2_FRIENDS(T, API)
Definition: MArray.h:250