MatrixViewType split_bottom_block (MatrixViewType& A, const bool contiguous_cache_blocks) const { typedef typename MatrixViewType::ordinal_type ordinal_type; const ordinal_type nrows_bottom = strategy_.bottom_block_split_nrows (A.nrows(), ncols(), nrows_cache_block()); // split_bottom() modifies A return A.split_bottom (nrows_bottom, contiguous_cache_blocks); }
MatrixViewType split_bottom_block (MatrixViewType& A, const bool contiguous_cache_blocks) const { typedef typename MatrixViewType::ordinal_type ordinal_type; // Ignore the number of columns in A, since we want to block all // matrices using the same cache blocking strategy. const ordinal_type nrows_bottom = strategy_.bottom_block_split_nrows (A.nrows(), ncols(), nrows_cache_block()); // split_bottom() sets A to A_rest, and returns A_bot. return A.split_bottom (nrows_bottom, contiguous_cache_blocks); }