Mercurial > hg > octave-nkf
comparison libinterp/octave-value/ov-base-sparse.h @ 16779:8fce0ed4894a
Specialize is_empty and numel methods for sparse matrices (debian bug #706376)
* ov-base.h (virtual bool is_empty (void) const) : Make method virtual
* ov-base-sparse.h (bool is_empty (void) const)) : Declare new method
(octave_idx_type numel (void) const): New method.
* ov-base-sparse.cc (template <class T> bool octave_base_sparse<T>:is_empty
(void) const)) : Define new method
* ov-bool-sparse.h (idx_vector index_vector (void) const): Start specialization
for sparse matrices
* lo-array-gripes.cc (void gripe_index_value (void)): Clarify error message
* data.cc : Add test to isempty
* idx-vector.cc (idx_vector::idx_vector_rep::idx_vector_rep (const
Sparse<bool>&) : Fix sparse indexing bug
* __sprand_impl__.m : Don't use randparm when there are more than sizemax() elements.
* sprand.m, sprandn.m : Add a test for large, low density matrices
author | David Bateman <dbateman@free.fr> |
---|---|
date | Thu, 20 Jun 2013 02:17:25 +0200 |
parents | 2fc554ffbc28 |
children | 617a6e5a974a |
comparison
equal
deleted
inserted
replaced
16778:e205f5ea826a | 16779:8fce0ed4894a |
---|---|
70 octave_base_sparse (const octave_base_sparse& a) : | 70 octave_base_sparse (const octave_base_sparse& a) : |
71 octave_base_value (), matrix (a.matrix), typ (a.typ) { } | 71 octave_base_value (), matrix (a.matrix), typ (a.typ) { } |
72 | 72 |
73 ~octave_base_sparse (void) { } | 73 ~octave_base_sparse (void) { } |
74 | 74 |
75 octave_idx_type numel (void) const { return dims ().safe_numel (); } | |
76 | |
75 octave_idx_type nnz (void) const { return matrix.nnz (); } | 77 octave_idx_type nnz (void) const { return matrix.nnz (); } |
76 | 78 |
77 octave_idx_type nzmax (void) const { return matrix.nzmax (); } | 79 octave_idx_type nzmax (void) const { return matrix.nzmax (); } |
78 | 80 |
79 size_t byte_size (void) const { return matrix.byte_size (); } | 81 size_t byte_size (void) const { return matrix.byte_size (); } |
135 | 137 |
136 bool is_sparse_type (void) const { return true; } | 138 bool is_sparse_type (void) const { return true; } |
137 | 139 |
138 bool is_defined (void) const { return true; } | 140 bool is_defined (void) const { return true; } |
139 | 141 |
142 bool is_empty (void) const; | |
143 | |
140 bool is_constant (void) const { return true; } | 144 bool is_constant (void) const { return true; } |
141 | 145 |
142 bool is_true (void) const; | 146 bool is_true (void) const; |
143 | 147 |
144 octave_idx_type capacity (void) const { return matrix.capacity (); } | 148 octave_idx_type capacity (void) const { return matrix.capacity (); } |