| 286 | |
| 287 | template <typename DataType> |
| 288 | inline void ConvertColumnsToTensor(const RecordBatch& batch, uint8_t* out, |
| 289 | bool row_major) { |
| 290 | using CType = typename arrow::TypeTraits<DataType>::CType; |
| 291 | auto* out_values = reinterpret_cast<CType*>(out); |
| 292 | |
| 293 | int i = 0; |
| 294 | for (const auto& column : batch.columns()) { |
| 295 | if (row_major) { |
| 296 | ConvertColumnsToTensorRowMajorVisitor<CType> visitor{out_values, *column->data(), |
| 297 | batch.num_columns(), i++}; |
| 298 | DCHECK_OK(VisitTypeInline(*column->type(), &visitor)); |
| 299 | } else { |
| 300 | ConvertColumnsToTensorVisitor<CType> visitor{out_values, *column->data()}; |
| 301 | DCHECK_OK(VisitTypeInline(*column->type(), &visitor)); |
| 302 | } |
| 303 | } |
| 304 | } |
| 305 | |
| 306 | Status RecordBatchToTensor(const RecordBatch& batch, bool null_to_nan, bool row_major, |
| 307 | MemoryPool* pool, std::shared_ptr<Tensor>* tensor) { |
nothing calls this directly
no test coverage detected