annotate liboctave/array/MArray-i.cc @ 21229:a83e7a384ee0

create and install a subset of config.h in octave-config.h * mk-octave-config-h.sh: New file. * Makefile.am (EXTRA_DIST): Add mk-octave-config.h.sh to the list. (octinclude_HEADERS): Add octave-config.h to the list. (octave-config.h): New rule. * common.mk (do_subst_config_vals, do_subst_cross_config_vals): Don't substitute unused ENABLE options. * configure.ac: Note the reason for using oct-conf-post.in.h. Add OCTAVE_ prefix to ENABLE_BOUNDS_CHECK ENABLE_ATOMIC_REFCOUNT, ENABLE_64, ENABLE_OPENMP, and ENABLE_FLOAT_TRUNCATE in calls to AC_DEFINE. Change all uses. * oct-conf-post.in.h: Define HAVE_OCTAVE_DEPRECATED_ATTR instead of HAVE_ATTR_DEPRECATED. Likewise for HAVE_ATTR_NORETURN and HAVE_ATTR_UNUSED. Change all uses.
author John W. Eaton <jwe@octave.org>
date Mon, 08 Feb 2016 17:30:29 -0500
parents f7121e111991
children 40de9f8f23a6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1573
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
1 /*
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
2
19697
4197fc428c7d maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents: 17744
diff changeset
3 Copyright (C) 1995-2015 John W. Eaton
1573
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
4
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
5 This file is part of Octave.
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
6
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
7 Octave is free software; you can redistribute it and/or modify it
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6708
diff changeset
9 Free Software Foundation; either version 3 of the License, or (at your
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6708
diff changeset
10 option) any later version.
1573
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
11
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
12 Octave is distributed in the hope that it will be useful, but WITHOUT
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
15 for more details.
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
16
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6708
diff changeset
18 along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6708
diff changeset
19 <http://www.gnu.org/licenses/>.
1573
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
20
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
21 */
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
22
2006
95e952f72d66 [project @ 1996-03-04 00:33:32 by jwe]
jwe
parents: 1993
diff changeset
23 #ifdef HAVE_CONFIG_H
21202
f7121e111991 maint: indent #ifdef blocks in liboctave and src directories.
Rik <rik@octave.org>
parents: 21140
diff changeset
24 # include <config.h>
2006
95e952f72d66 [project @ 1996-03-04 00:33:32 by jwe]
jwe
parents: 1993
diff changeset
25 #endif
95e952f72d66 [project @ 1996-03-04 00:33:32 by jwe]
jwe
parents: 1993
diff changeset
26
4902
bd043a433918 [project @ 2004-06-14 18:46:20 by jwe]
jwe
parents: 3582
diff changeset
27 #include "oct-inttypes.h"
bd043a433918 [project @ 2004-06-14 18:46:20 by jwe]
jwe
parents: 3582
diff changeset
28
1573
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
29 // Instantiate MArrays of int values.
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
30
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
31 #include "MArray.h"
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
32 #include "MArray.cc"
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
33
6708
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
34 template class OCTAVE_API MArray<int>;
21229
a83e7a384ee0 create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents: 21202
diff changeset
35 #if defined (OCTAVE_ENABLE_64)
16313
6aafe87a3144 use int64_t for idx type if --enable-64
John W. Eaton <jwe@octave.org>
parents: 15271
diff changeset
36 template class OCTAVE_API MArray<int64_t>;
6aafe87a3144 use int64_t for idx type if --enable-64
John W. Eaton <jwe@octave.org>
parents: 15271
diff changeset
37 #endif
1989
a4b0826e240c [project @ 1996-03-02 00:33:22 by jwe]
jwe
parents: 1985
diff changeset
38
13732
f8bef53122c8 [MSVC] Explicit instantiation to avoid undefined references.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 11523
diff changeset
39 // Explicit instantiation, as this seems to be required by weird compilers
f8bef53122c8 [MSVC] Explicit instantiation to avoid undefined references.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 11523
diff changeset
40 // like MSVC. This should be harmless on other compilers.
f8bef53122c8 [MSVC] Explicit instantiation to avoid undefined references.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 11523
diff changeset
41 template int xmin<int> (int, int);
f8bef53122c8 [MSVC] Explicit instantiation to avoid undefined references.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 11523
diff changeset
42 template int xmax<int> (int, int);
f8bef53122c8 [MSVC] Explicit instantiation to avoid undefined references.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 11523
diff changeset
43 template long xmin<long> (long, long);
f8bef53122c8 [MSVC] Explicit instantiation to avoid undefined references.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 11523
diff changeset
44 template long xmax<long> (long, long);
f8bef53122c8 [MSVC] Explicit instantiation to avoid undefined references.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 11523
diff changeset
45
6708
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
46 INSTANTIATE_MARRAY_FRIENDS (int, OCTAVE_API)
21229
a83e7a384ee0 create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents: 21202
diff changeset
47 #if defined (OCTAVE_ENABLE_64)
16313
6aafe87a3144 use int64_t for idx type if --enable-64
John W. Eaton <jwe@octave.org>
parents: 15271
diff changeset
48 INSTANTIATE_MARRAY_FRIENDS (int64_t, OCTAVE_API)
6aafe87a3144 use int64_t for idx type if --enable-64
John W. Eaton <jwe@octave.org>
parents: 15271
diff changeset
49 #endif
1989
a4b0826e240c [project @ 1996-03-02 00:33:22 by jwe]
jwe
parents: 1985
diff changeset
50
6708
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
51 template class OCTAVE_API MArray<octave_int8>;
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
52 template class OCTAVE_API MArray<octave_int16>;
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
53 template class OCTAVE_API MArray<octave_int32>;
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
54 template class OCTAVE_API MArray<octave_int64>;
4902
bd043a433918 [project @ 2004-06-14 18:46:20 by jwe]
jwe
parents: 3582
diff changeset
55
6708
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
56 INSTANTIATE_MARRAY_FRIENDS (octave_int8, OCTAVE_API)
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
57 INSTANTIATE_MARRAY_FRIENDS (octave_int16, OCTAVE_API)
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
58 INSTANTIATE_MARRAY_FRIENDS (octave_int32, OCTAVE_API)
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
59 INSTANTIATE_MARRAY_FRIENDS (octave_int64, OCTAVE_API)
4902
bd043a433918 [project @ 2004-06-14 18:46:20 by jwe]
jwe
parents: 3582
diff changeset
60
6708
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
61 template class OCTAVE_API MArray<octave_uint8>;
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
62 template class OCTAVE_API MArray<octave_uint16>;
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
63 template class OCTAVE_API MArray<octave_uint32>;
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
64 template class OCTAVE_API MArray<octave_uint64>;
4902
bd043a433918 [project @ 2004-06-14 18:46:20 by jwe]
jwe
parents: 3582
diff changeset
65
6708
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
66 INSTANTIATE_MARRAY_FRIENDS (octave_uint8, OCTAVE_API)
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
67 INSTANTIATE_MARRAY_FRIENDS (octave_uint16, OCTAVE_API)
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
68 INSTANTIATE_MARRAY_FRIENDS (octave_uint32, OCTAVE_API)
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
69 INSTANTIATE_MARRAY_FRIENDS (octave_uint64, OCTAVE_API)
4902
bd043a433918 [project @ 2004-06-14 18:46:20 by jwe]
jwe
parents: 3582
diff changeset
70
1989
a4b0826e240c [project @ 1996-03-02 00:33:22 by jwe]
jwe
parents: 1985
diff changeset
71 #include "MDiagArray2.h"
a4b0826e240c [project @ 1996-03-02 00:33:22 by jwe]
jwe
parents: 1985
diff changeset
72 #include "MDiagArray2.cc"
a4b0826e240c [project @ 1996-03-02 00:33:22 by jwe]
jwe
parents: 1985
diff changeset
73
6708
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
74 template class OCTAVE_API MDiagArray2<int>;
1573
403c60daa8c7 [project @ 1995-10-19 04:34:20 by jwe]
jwe
parents:
diff changeset
75
6708
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 5307
diff changeset
76 INSTANTIATE_MDIAGARRAY2_FRIENDS (int, OCTAVE_API)