Should be possible to categorise methods based on a few criteria:
- Row-block processing vs. column-block processing vs. requires full matrix in-memory (at least under a naïve implementation)
- Endomorphic (returns matrix of same size as input) vs. returns a vector
- Other?
Can then greatly simplify codebase by writing code that handles each case and code that registers methods for each function in that category.
Furthermore, should now use DelayedArray::blockApply()/minfi:::blockApplyWithRealization()/minfi:::blockMapply()/minfi:::blockMapplyWithRealization() (moving the minfi functions over to DelayedMatrixStats, if not DelayedArray), along with minfi:::colBlock() and minfi:::rowBlock().
Should be possible to categorise methods based on a few criteria:
Can then greatly simplify codebase by writing code that handles each case and code that registers methods for each function in that category.
Furthermore, should now use
DelayedArray::blockApply()/minfi:::blockApplyWithRealization()/minfi:::blockMapply()/minfi:::blockMapplyWithRealization()(moving the minfi functions over to DelayedMatrixStats, if not DelayedArray), along withminfi:::colBlock()andminfi:::rowBlock().