Mercurial > hg > octave-nkf
annotate liboctave/array/chNDArray.h @ 20442:a9574e3c6e9e
Deprecate Array::length() and Sparse::length() in favour of ::numel().
* liboctave/array/Array.h (Array::length): deprecate for ::numel.
* liboctave/array/Sparse.h (Sparse::length): deprecate for ::numel.
* libgui/graphics/QtHandlesUtils.cc, libgui/src/octave-qt-link.cc,
libinterp/corefcn/Cell.cc, libinterp/corefcn/__contourc__.cc,
libinterp/corefcn/__pchip_deriv__.cc, libinterp/corefcn/__qp__.cc,
libinterp/corefcn/cellfun.cc, libinterp/corefcn/daspk.cc,
libinterp/corefcn/dasrt.cc, libinterp/corefcn/dassl.cc,
libinterp/corefcn/data.cc, libinterp/corefcn/filter.cc,
libinterp/corefcn/find.cc, libinterp/corefcn/gl-render.cc,
libinterp/corefcn/gl-render.h, libinterp/corefcn/graphics.cc,
libinterp/corefcn/graphics.in.h, libinterp/corefcn/help.cc,
libinterp/corefcn/hex2num.cc, libinterp/corefcn/input.cc,
libinterp/corefcn/load-path.cc, libinterp/corefcn/load-save.cc,
libinterp/corefcn/ls-oct-ascii.h, libinterp/corefcn/lsode.cc,
libinterp/corefcn/matrix_type.cc, libinterp/corefcn/oct-hist.cc,
libinterp/corefcn/oct-map.cc, libinterp/corefcn/oct-map.h,
libinterp/corefcn/oct-obj.h, libinterp/corefcn/oct-stream.cc,
libinterp/corefcn/oct-stream.h, libinterp/corefcn/pr-output.cc,
libinterp/corefcn/quadcc.cc, libinterp/corefcn/rand.cc,
libinterp/corefcn/regexp.cc, libinterp/corefcn/strfns.cc,
libinterp/corefcn/sub2ind.cc, libinterp/corefcn/symtab.h,
libinterp/corefcn/syscalls.cc, libinterp/corefcn/tsearch.cc,
libinterp/corefcn/urlwrite.cc, libinterp/corefcn/utils.cc,
libinterp/corefcn/variables.cc, libinterp/corefcn/xdiv.cc,
libinterp/corefcn/xpow.cc, libinterp/dldfcn/__glpk__.cc,
libinterp/dldfcn/__init_fltk__.cc, libinterp/dldfcn/__magick_read__.cc,
libinterp/dldfcn/audiodevinfo.cc, libinterp/dldfcn/ccolamd.cc,
libinterp/dldfcn/colamd.cc, libinterp/octave-value/ov-cell.cc,
libinterp/octave-value/ov-class.cc, libinterp/octave-value/ov-class.h,
libinterp/octave-value/ov-fcn-inline.cc, libinterp/octave-value/ov-java.cc,
libinterp/octave-value/ov-perm.cc, libinterp/octave-value/ov-struct.cc,
libinterp/octave-value/ov-typeinfo.cc, libinterp/octave-value/ov.cc,
libinterp/operators/op-int.h, libinterp/parse-tree/pt-pr-code.cc,
liboctave/array/Array-util.cc, liboctave/array/Array.cc,
liboctave/array/CColVector.cc, liboctave/array/CDiagMatrix.cc,
liboctave/array/CMatrix.cc, liboctave/array/CRowVector.cc,
liboctave/array/DiagArray2.cc, liboctave/array/DiagArray2.h,
liboctave/array/MArray.cc, liboctave/array/PermMatrix.cc,
liboctave/array/PermMatrix.h, liboctave/array/Sparse.cc,
liboctave/array/boolMatrix.cc, liboctave/array/chMatrix.cc,
liboctave/array/chNDArray.cc, liboctave/array/dColVector.cc,
liboctave/array/dDiagMatrix.cc, liboctave/array/dMatrix.cc,
liboctave/array/dRowVector.cc, liboctave/array/fCColVector.cc,
liboctave/array/fCDiagMatrix.cc, liboctave/array/fCMatrix.cc,
liboctave/array/fCRowVector.cc, liboctave/array/fColVector.cc,
liboctave/array/fDiagMatrix.cc, liboctave/array/fMatrix.cc,
liboctave/array/fRowVector.cc, liboctave/array/idx-vector.cc,
liboctave/array/intNDArray.cc, liboctave/numeric/CmplxCHOL.cc,
liboctave/numeric/CmplxLU.cc, liboctave/numeric/CmplxQR.cc,
liboctave/numeric/DASPK.cc, liboctave/numeric/DASRT.cc,
liboctave/numeric/DASSL.cc, liboctave/numeric/LSODE.cc,
liboctave/numeric/ODES.cc, liboctave/numeric/ODES.h,
liboctave/numeric/base-dae.h, liboctave/numeric/base-lu.cc,
liboctave/numeric/dbleCHOL.cc, liboctave/numeric/dbleLU.cc,
liboctave/numeric/dbleQR.cc, liboctave/numeric/eigs-base.cc,
liboctave/numeric/fCmplxCHOL.cc, liboctave/numeric/fCmplxLU.cc,
liboctave/numeric/fCmplxQR.cc, liboctave/numeric/floatCHOL.cc,
liboctave/numeric/floatLU.cc, liboctave/numeric/floatQR.cc,
liboctave/numeric/lo-specfun.cc, liboctave/numeric/oct-rand.cc,
liboctave/numeric/oct-spparms.cc, liboctave/numeric/sparse-base-chol.cc,
liboctave/operators/mx-inlines.cc, liboctave/system/file-ops.cc,
liboctave/util/glob-match.h, liboctave/util/kpse.cc,
liboctave/util/lo-regexp.cc, liboctave/util/oct-glob.cc,
liboctave/util/pathsearch.cc, liboctave/util/str-vec.cc,
liboctave/util/str-vec.h, liboctave/util/url-transfer.cc: replace all usage
of Array::length() and Sparse::length() with ::numel().
author | Carnë Draug <carandraug@octave.org> |
---|---|
date | Sat, 30 May 2015 03:14:07 +0100 |
parents | 4197fc428c7d |
children |
rev | line source |
---|---|
4514 | 1 /* |
2 | |
19898
4197fc428c7d
maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents:
19508
diff
changeset
|
3 Copyright (C) 2003-2015 John W. Eaton |
4514 | 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 | |
7016 | 9 Free Software Foundation; either version 3 of the License, or (at your |
10 option) any later version. | |
4514 | 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 | |
7016 | 18 along with Octave; see the file COPYING. If not, see |
19 <http://www.gnu.org/licenses/>. | |
4514 | 20 |
21 */ | |
22 | |
17822
ebb3ef964372
maint: Use common #define syntax "octave_filename_h" in h_files.
Rik <rik@octave.org>
parents:
17769
diff
changeset
|
23 #if !defined (octave_chNDArray_h) |
ebb3ef964372
maint: Use common #define syntax "octave_filename_h" in h_files.
Rik <rik@octave.org>
parents:
17769
diff
changeset
|
24 #define octave_chNDArray_h 1 |
4514 | 25 |
19508
6c9ea5be96bf
Change charMatrix to subclass charNDArray rather than be another Array<char>.
Carnë Draug <carandraug@octave.org>
parents:
17822
diff
changeset
|
26 #include <string> |
6c9ea5be96bf
Change charMatrix to subclass charNDArray rather than be another Array<char>.
Carnë Draug <carandraug@octave.org>
parents:
17822
diff
changeset
|
27 |
10267
479c7df0cc96
don't instantiate MArray<char>
Jaroslav Hajek <highegg@gmail.com>
parents:
10158
diff
changeset
|
28 #include "Array.h" |
4514 | 29 |
30 #include "mx-defs.h" | |
8774
b756ce0002db
split implementation and interface in mx-op-defs and MArray-defs
Jaroslav Hajek <highegg@gmail.com>
parents:
8626
diff
changeset
|
31 #include "mx-op-decl.h" |
10107
fd262afea1d1
optimize bsxfun for chars
Jaroslav Hajek <highegg@gmail.com>
parents:
9812
diff
changeset
|
32 #include "bsxfun-decl.h" |
19508
6c9ea5be96bf
Change charMatrix to subclass charNDArray rather than be another Array<char>.
Carnë Draug <carandraug@octave.org>
parents:
17822
diff
changeset
|
33 #include "str-vec.h" |
4514 | 34 |
35 class | |
6108 | 36 OCTAVE_API |
10267
479c7df0cc96
don't instantiate MArray<char>
Jaroslav Hajek <highegg@gmail.com>
parents:
10158
diff
changeset
|
37 charNDArray : public Array<char> |
4514 | 38 { |
39 public: | |
5523 | 40 |
9656
b29504415a2e
provide NDArray->Matrix->Vector typedef mappers
Jaroslav Hajek <highegg@gmail.com>
parents:
8920
diff
changeset
|
41 typedef charMatrix matrix_type; |
b29504415a2e
provide NDArray->Matrix->Vector typedef mappers
Jaroslav Hajek <highegg@gmail.com>
parents:
8920
diff
changeset
|
42 |
10267
479c7df0cc96
don't instantiate MArray<char>
Jaroslav Hajek <highegg@gmail.com>
parents:
10158
diff
changeset
|
43 charNDArray (void) : Array<char> () { } |
4514 | 44 |
10267
479c7df0cc96
don't instantiate MArray<char>
Jaroslav Hajek <highegg@gmail.com>
parents:
10158
diff
changeset
|
45 charNDArray (const dim_vector& dv) : Array<char> (dv) { } |
4514 | 46 |
10267
479c7df0cc96
don't instantiate MArray<char>
Jaroslav Hajek <highegg@gmail.com>
parents:
10158
diff
changeset
|
47 charNDArray (const dim_vector& dv, char val) : Array<char> (dv, val) { } |
11586
12df7854fa7c
strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
48 |
10267
479c7df0cc96
don't instantiate MArray<char>
Jaroslav Hajek <highegg@gmail.com>
parents:
10158
diff
changeset
|
49 charNDArray (const charNDArray& a) : Array<char> (a) { } |
4514 | 50 |
19508
6c9ea5be96bf
Change charMatrix to subclass charNDArray rather than be another Array<char>.
Carnë Draug <carandraug@octave.org>
parents:
17822
diff
changeset
|
51 charNDArray (const Array<char>& a) : Array<char> (a) { } |
4514 | 52 |
19508
6c9ea5be96bf
Change charMatrix to subclass charNDArray rather than be another Array<char>.
Carnë Draug <carandraug@octave.org>
parents:
17822
diff
changeset
|
53 charNDArray (char c); |
4514 | 54 |
19508
6c9ea5be96bf
Change charMatrix to subclass charNDArray rather than be another Array<char>.
Carnë Draug <carandraug@octave.org>
parents:
17822
diff
changeset
|
55 charNDArray (const char *s); |
4514 | 56 |
19508
6c9ea5be96bf
Change charMatrix to subclass charNDArray rather than be another Array<char>.
Carnë Draug <carandraug@octave.org>
parents:
17822
diff
changeset
|
57 charNDArray (const std::string& s); |
4514 | 58 |
19508
6c9ea5be96bf
Change charMatrix to subclass charNDArray rather than be another Array<char>.
Carnë Draug <carandraug@octave.org>
parents:
17822
diff
changeset
|
59 charNDArray (const string_vector& s, char fill_value = '\0'); |
4514 | 60 |
61 charNDArray& operator = (const charNDArray& a) | |
17769
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
62 { |
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
63 Array<char>::operator = (a); |
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
64 return *this; |
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
65 } |
4514 | 66 |
8626
1dce30ab0e72
don't convert NaN to logical in bool expressions
John W. Eaton <jwe@octave.org>
parents:
7620
diff
changeset
|
67 bool any_element_is_nan (void) const { return false; } |
1dce30ab0e72
don't convert NaN to logical in bool expressions
John W. Eaton <jwe@octave.org>
parents:
7620
diff
changeset
|
68 |
17769
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
69 // FIXME: this is not quite the right thing. |
4514 | 70 |
4556 | 71 boolNDArray all (int dim = -1) const; |
72 boolNDArray any (int dim = -1) const; | |
17769
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
73 charNDArray concat (const charNDArray& rb, |
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
74 const Array<octave_idx_type>& ra_idx); |
5275 | 75 charNDArray concat (const NDArray& rb, const Array<octave_idx_type>& ra_idx); |
4915 | 76 |
16370
7ce21619a4b9
min Matlab compatibility issue (bug #33530)
Axel Mathéi <axel.mathei@gmail.com>
parents:
15271
diff
changeset
|
77 charNDArray max (int dim = -1) const; |
7ce21619a4b9
min Matlab compatibility issue (bug #33530)
Axel Mathéi <axel.mathei@gmail.com>
parents:
15271
diff
changeset
|
78 charNDArray max (Array<octave_idx_type>& index, int dim = -1) const; |
7ce21619a4b9
min Matlab compatibility issue (bug #33530)
Axel Mathéi <axel.mathei@gmail.com>
parents:
15271
diff
changeset
|
79 charNDArray min (int dim = -1) const; |
7ce21619a4b9
min Matlab compatibility issue (bug #33530)
Axel Mathéi <axel.mathei@gmail.com>
parents:
15271
diff
changeset
|
80 charNDArray min (Array<octave_idx_type>& index, int dim = -1) const; |
7ce21619a4b9
min Matlab compatibility issue (bug #33530)
Axel Mathéi <axel.mathei@gmail.com>
parents:
15271
diff
changeset
|
81 |
17769
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
82 charNDArray& insert (const charNDArray& a, |
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
83 octave_idx_type r, octave_idx_type c); |
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
84 charNDArray& insert (const charNDArray& a, |
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
85 const Array<octave_idx_type>& ra_idx); |
11586
12df7854fa7c
strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
86 |
9732
b4fdfee405b5
remove ArrayN<T> + fix nonhom. diag-scalar ops
Jaroslav Hajek <highegg@gmail.com>
parents:
9656
diff
changeset
|
87 charNDArray squeeze (void) const { return Array<char>::squeeze (); } |
4532 | 88 |
5275 | 89 static void increment_index (Array<octave_idx_type>& ra_idx, |
10312
cbc402e64d83
untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents:
10267
diff
changeset
|
90 const dim_vector& dimensions, |
cbc402e64d83
untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents:
10267
diff
changeset
|
91 int start_dimension = 0); |
4532 | 92 |
5275 | 93 static octave_idx_type compute_index (Array<octave_idx_type>& ra_idx, |
17769
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
94 const dim_vector& dimensions); |
4556 | 95 |
4514 | 96 // i/o |
97 | |
98 // friend std::ostream& operator << (std::ostream& os, const charNDArray& a); | |
99 // friend std::istream& operator >> (std::istream& is, charNDArray& a); | |
100 | |
7620
36594d5bbe13
Move diag function into the octave_value class
David Bateman <dbateman@free.fr>
parents:
7503
diff
changeset
|
101 charNDArray diag (octave_idx_type k = 0) const; |
36594d5bbe13
Move diag function into the octave_value class
David Bateman <dbateman@free.fr>
parents:
7503
diff
changeset
|
102 |
14557
e8e86ae3abbc
make diag (x, m, n) return a proper diagonal matrix object (bug #36099)
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
103 charNDArray diag (octave_idx_type m, octave_idx_type n) const; |
4514 | 104 }; |
105 | |
16370
7ce21619a4b9
min Matlab compatibility issue (bug #33530)
Axel Mathéi <axel.mathei@gmail.com>
parents:
15271
diff
changeset
|
106 extern OCTAVE_API charNDArray min (char d, const charNDArray& m); |
7ce21619a4b9
min Matlab compatibility issue (bug #33530)
Axel Mathéi <axel.mathei@gmail.com>
parents:
15271
diff
changeset
|
107 extern OCTAVE_API charNDArray min (const charNDArray& m, char d); |
7ce21619a4b9
min Matlab compatibility issue (bug #33530)
Axel Mathéi <axel.mathei@gmail.com>
parents:
15271
diff
changeset
|
108 extern OCTAVE_API charNDArray min (const charNDArray& a, const charNDArray& b); |
7ce21619a4b9
min Matlab compatibility issue (bug #33530)
Axel Mathéi <axel.mathei@gmail.com>
parents:
15271
diff
changeset
|
109 extern OCTAVE_API charNDArray max (char d, const charNDArray& m); |
7ce21619a4b9
min Matlab compatibility issue (bug #33530)
Axel Mathéi <axel.mathei@gmail.com>
parents:
15271
diff
changeset
|
110 extern OCTAVE_API charNDArray max (const charNDArray& m, char d); |
7ce21619a4b9
min Matlab compatibility issue (bug #33530)
Axel Mathéi <axel.mathei@gmail.com>
parents:
15271
diff
changeset
|
111 extern OCTAVE_API charNDArray max (const charNDArray& a, const charNDArray& b); |
7ce21619a4b9
min Matlab compatibility issue (bug #33530)
Axel Mathéi <axel.mathei@gmail.com>
parents:
15271
diff
changeset
|
112 |
6708 | 113 NDS_CMP_OP_DECLS (charNDArray, char, OCTAVE_API) |
114 NDS_BOOL_OP_DECLS (charNDArray, char, OCTAVE_API) | |
6456 | 115 |
6708 | 116 SND_CMP_OP_DECLS (char, charNDArray, OCTAVE_API) |
117 SND_BOOL_OP_DECLS (char, charNDArray, OCTAVE_API) | |
6456 | 118 |
6708 | 119 NDND_CMP_OP_DECLS (charNDArray, charNDArray, OCTAVE_API) |
120 NDND_BOOL_OP_DECLS (charNDArray, charNDArray, OCTAVE_API) | |
6456 | 121 |
10107
fd262afea1d1
optimize bsxfun for chars
Jaroslav Hajek <highegg@gmail.com>
parents:
9812
diff
changeset
|
122 BSXFUN_STDREL_DECLS (charNDArray, OCTAVE_API) |
fd262afea1d1
optimize bsxfun for chars
Jaroslav Hajek <highegg@gmail.com>
parents:
9812
diff
changeset
|
123 |
4514 | 124 #endif |