|
tatami
C++ API for different matrix representations
|
Extract an element of the target dimension in sparse form without an oracle. More...
#include <Extractor.hpp>
Public Member Functions | |
| virtual SparseRange< Value_, Index_ > | fetch (Index_ i, Value_ *value_buffer, Index_ *index_buffer)=0 |
Extract an element of the target dimension in sparse form without an oracle.
| Value_ | Data value type, should be numeric. |
| Index_ | Row/column index type, should be integer. |
|
pure virtual |
value_buffer may not necessarily be filled upon extraction if a pointer can be returned to the underlying data store. This be checked by comparing the returned SparseRange::value pointer to value_buffer; if they are the same, value_buffer has been filled with SparseRange::number values. The same applies for index_buffer and the returned SparseRange::index pointer.
If Options::sparse_extract_value was set to false during construction of this instance, value_buffer is ignored and SparseRange::value is set to NULL in the output. Similarly, if Options::sparse_extract_index was set to false during construction of this instance, index_buffer is ignored and SparseRange::index is set to NULL in the output.
| i | Index of the target dimension element, i.e., the row or column index. | |
| [out] | value_buffer | Pointer to an array with enough space for at least N values, where N is defined as described for MyopicDenseExtractor::fetch(). |
| [out] | index_buffer | Pointer to an array with enough space for at least N indices, where N is defined as described for MyopicDenseExtractor::fetch(). |
SparseRange object describing the contents of the i-th dimension element.