Moved all C++ libraries to the assorthead package. This uses the latest versions of the tatami framework.
Automatically attempt to use beachmat.hdf5 (if installed) when encountering the various HDF5Array classes.
Minor optimization when dealing with some known no-op matrices, e.g., WrapperArraySeed
objects from alabaster.matrix.
Map delayed type coercions from type<-
to their corresponding native representations (or no-ops).
Bugfix for initializeCpp()
to work properly with dense Matrix instances.
Soft-deprecated whichNonZero()
in favor of SparseArray's new nzwhich()
and nzvals()
functions.
Exported tatami.*
utilities for manipulating already-initialized pointers from initializeCpp()
.
This includes all of the delayed operation wrappers, some previously internal functions for extracting matrix data,
a new function for realizing the matrix into a standard R representation,
and a new function for matrix multiplication.
Added the tatami C++ library for LinkingTo from other packages.
Improve the efficiency of sparse row subsetting in non-DelayedArray rowBlockApply()
.
Avoid overhead of DelayedArray block processing when DelayedArray is pristine and the type is supported.
Migrated whichNonZero()
from scuttle.
Added toCsparse()
to make it easier to convert SparseArraySeeds to CsparseMatrixes.
Added realizeFileBackedMatrix()
to, well, realize a DelayedMatrix with file-backed components.
Added version 3 of the C++ API. This relies on DelayedArray block processing to handle the various abstractions, and provides convenient C++ abstractions for the different input types. More methods for non-zero extraction are provided for sparse algorithms, and the class hierarchy handles flexibility of the input types rather than requiring user-side templating.
Added the colBlockApply()
and rowBlockApply()
functions for more convenient and efficient column/row-block processing.
Added doxygen documentation for the C++ API.
Converted beachmat into a header-only library to simplify linking, avoid ABI incompatibilities.
Minor API change for external native support to avoid using C++ classes with C-style linkage.
Removed native support for RleMatrix and packed symmetric matrices.
Added multi-row/column getters.
Added mechanism for native support of arbitrary developer-defined matrices.
Switched to row/colGrid() for defining chunks in unsupported matrices.
Changed environment variable to BEACHMAT_RPATH for consistency with other packages.
Added native support for transposition and subsetting in DelayedMatrix objects.
Added support for chunk-by-chunk realization of otherwise unsupported matrices, including DelayedMatrix objects with other delayed operations.
Added the get_const_col_indexed() method for input matrices, especially fast for sparse representations.
Added the set_col_indexed() and set_row_indexed() methods for output matrices.
Updated vignettes and expanded the test suite.
New package beachmat, which provides a C++ API for handling various R matrix types.