GNU Octave 7.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
Array-i.cc
Go to the documentation of this file.
1////////////////////////////////////////////////////////////////////////
2//
3// Copyright (C) 1994-2022 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 "oct-inttypes-fwd.h"
31
32// Instantiate Arrays of integer values.
33
34#include "Array.h"
35#include "Array.cc"
36
37#define INLINE_ASCENDING_SORT 1
38#define INLINE_DESCENDING_SORT 1
39#include "oct-sort.cc"
40
41// Prevent implicit instantiations on some systems (Windows, others?)
42// that can lead to duplicate definitions of static data members.
43
44extern template class Array<octave::idx_vector>;
45
46template class octave_sort<signed char>;
47//template class octave_sort<short>;
48template class octave_sort<int>;
49template class octave_sort<long>;
50#if defined (OCTAVE_HAVE_LONG_LONG_INT)
51template class octave_sort<long long>;
52#endif
53
55//INSTANTIATE_ARRAY (short, OCTAVE_API);
58#if defined (OCTAVE_HAVE_LONG_LONG_INT)
59INSTANTIATE_ARRAY (long long, OCTAVE_API);
60#endif
61
62template class octave_sort<unsigned char>;
63template class octave_sort<unsigned short>;
64template class octave_sort<unsigned int>;
65template class octave_sort<unsigned long>;
66#if defined (OCTAVE_HAVE_UNSIGNED_LONG_LONG_INT)
68#endif
69
71INSTANTIATE_ARRAY (unsigned short, OCTAVE_API);
73#if defined (OCTAVE_HAVE_UNSIGNED_LONG_LONG_INT)
74INSTANTIATE_ARRAY (unsigned long long, OCTAVE_API);
75#endif
76
77template class octave_sort<octave_int8>;
78template class octave_sort<octave_int16>;
79template class octave_sort<octave_int32>;
80template class octave_sort<octave_int64>;
81
86
87template class octave_sort<octave_uint8>;
88template class octave_sort<octave_uint16>;
89template class octave_sort<octave_uint32>;
90template class octave_sort<octave_uint64>;
91
96
97#include "DiagArray2.h"
98#include "DiagArray2.cc"
99
100template class DiagArray2<int>;
#define INSTANTIATE_ARRAY(T, API)
Definition: Array.cc:2767
N Dimensional Array with copy-on-write semantics.
Definition: Array.h:129
#define OCTAVE_API
Definition: main.in.cc:55