Commits


Kenta Murata authored and Antoine Pitrou committed 4c63bef8de0
ARROW-4225: [Format][C++] Add CSC sparse matrix support I'd like to add CSC sparse matrix support in format and C++ API. This pull-request changes both format and C++ API. The changes in format are below: - The new field `compressedAxis` is added to `SparseMatrixIndexCSR` table; this field used to distinguish CSR and CSC - `SparseMatrixIndexCSR` is renamed to `SparseMatrixIndexCSX` The changes in C++ API are below: - `SparseCSCIndex` class is added as a subclass of `internal::SparseCSXIndex` - `internal::SparseCSXIndex` class is added as a superclass of `SparseCSRIndex` and `SparseCSCIndex` classes - `SparseCSCMatrix` class is added as an alias to `SparseTensorImpl<SparseCSCIndex>` class - `ReadSparseTensor` supports reading `SparseCSCMatrix` class Closes #5932 from mrkn/ARROW-4225 and squashes the following commits: 013f6381e <Kenta Murata> Use enum class for SparseMatrixCompressedAxis 28307dbdf <Kenta Murata> Add shape validation in ReadSparseCSXIndex 7f1d7f8e3 <Kenta Murata> Fix comments 25edf4620 <Kenta Murata> Combine CheckSparseTensorRoundTrip for CSR and CSC 42df6b5ca <Kenta Murata> Rename TYPE_NAME to kTYPE_NAME 269640f59 <Kenta Murata> Define format_id in subclasses 25177c5d4 <Kenta Murata> Use TypeError 1c3c541e0 <Kenta Murata> Update comment 878a08ff8 <Kenta Murata> Anonymize some functions 89a7ddce7 <Kenta Murata> Remove needless return 635f8ffdc <Kenta Murata> Add IPC support 4ce999f88 <Kenta Murata> Add SparseCSCIndex and SparseCSCMatrix 60e6b2a1f <Kenta Murata> Introduce internal::SparseCSXIndex 6f85b4cef <Kenta Murata> Update flatbuffers generated files 308a0f35e <Kenta Murata> Replace SparseMatrixIndesCSR with SparseMatrixIndexCSX Authored-by: Kenta Murata <mrkn@mrkn.jp> Signed-off-by: Antoine Pitrou <antoine@python.org>