From ebfa76c6ac17c33ff2f462783b93c2c678439e15 Mon Sep 17 00:00:00 2001 From: Sarah Gilmore Date: Mon, 10 Jul 2023 11:08:08 -0400 Subject: [PATCH] Fix compiler errors --- .../src/cpp/arrow/matlab/array/proxy/array.cc | 21 ------------------- .../src/cpp/arrow/matlab/array/proxy/array.h | 4 +++- .../arrow/matlab/array/proxy/boolean_array.cc | 2 +- .../arrow/matlab/array/proxy/numeric_array.h | 2 +- .../arrow/matlab/array/proxy/string_array.cc | 3 +-- .../matlab/array/proxy/timestamp_array.cc | 2 +- 6 files changed, 7 insertions(+), 27 deletions(-) diff --git a/matlab/src/cpp/arrow/matlab/array/proxy/array.cc b/matlab/src/cpp/arrow/matlab/array/proxy/array.cc index 4339ea47097c0..8f562bb08bc28 100644 --- a/matlab/src/cpp/arrow/matlab/array/proxy/array.cc +++ b/matlab/src/cpp/arrow/matlab/array/proxy/array.cc @@ -72,25 +72,4 @@ namespace arrow::matlab::array::proxy { context.outputs[0] = valid_elements_mda; } - void Array::createDataTypeProxy(libmexclass::proxy::method::Context& context) { - const auto type = array->type(); - - const auto type_id = array->type_id(); - - if (array->null_count() == 0) { - ::matlab::data::ArrayFactory factory; - auto validity_buffer = factory.createBuffer(array_length); - auto validity_buffer_ptr = validity_buffer.get(); - std::fill(validity_buffer_ptr, validity_buffer_ptr + array_length, true); - auto valid_elements_mda = factory.createArrayFromBuffer({array_length, 1}, std::move(validity_buffer)); - context.outputs[0] = valid_elements_mda; - return; - } - - auto validity_bitmap = array->null_bitmap(); - auto valid_elements_mda = bit::unpack(validity_bitmap, array_length); - context.outputs[0] = valid_elements_mda; - - } - } diff --git a/matlab/src/cpp/arrow/matlab/array/proxy/array.h b/matlab/src/cpp/arrow/matlab/array/proxy/array.h index 13e48256bb1bd..0005c232ee98c 100644 --- a/matlab/src/cpp/arrow/matlab/array/proxy/array.h +++ b/matlab/src/cpp/arrow/matlab/array/proxy/array.h @@ -18,9 +18,12 @@ #pragma once #include "arrow/array.h" +#include "arrow/matlab/type/proxy/type.h" #include "libmexclass/proxy/Proxy.h" + + namespace arrow::matlab::array::proxy { class Array : public libmexclass::proxy::Proxy { @@ -43,7 +46,6 @@ class Array : public libmexclass::proxy::Proxy { virtual void createDataTypeProxy(libmexclass::proxy::method::Context& context) = 0; - std::shared_ptr array; }; } diff --git a/matlab/src/cpp/arrow/matlab/array/proxy/boolean_array.cc b/matlab/src/cpp/arrow/matlab/array/proxy/boolean_array.cc index 595fb4a08923d..25e64754a49b0 100644 --- a/matlab/src/cpp/arrow/matlab/array/proxy/boolean_array.cc +++ b/matlab/src/cpp/arrow/matlab/array/proxy/boolean_array.cc @@ -67,6 +67,6 @@ namespace arrow::matlab::array::proxy { auto boolean_type_proxy = std::make_shared(boolean_type); const auto id = libmexclass::proxy::ProxyManager::manageProxy(boolean_type_proxy); context.outputs[0] = factory.createScalar(id); - context.outputs[1] = factory.createScalar(type->id()); + context.outputs[1] = factory.createScalar(static_cast(type->id())); } } diff --git a/matlab/src/cpp/arrow/matlab/array/proxy/numeric_array.h b/matlab/src/cpp/arrow/matlab/array/proxy/numeric_array.h index 01638cb117b03..2dae4af86a63d 100644 --- a/matlab/src/cpp/arrow/matlab/array/proxy/numeric_array.h +++ b/matlab/src/cpp/arrow/matlab/array/proxy/numeric_array.h @@ -118,7 +118,7 @@ class NumericArray : public arrow::matlab::array::proxy::Array { auto numeric_type_proxy = std::make_shared(numeric_type); const auto id = libmexclass::proxy::ProxyManager::manageProxy(numeric_type_proxy); context.outputs[0] = factory.createScalar(id); - context.outputs[1] = factory.createScalar(type->id()); + context.outputs[1] = factory.createScalar(static_cast(type->id())); } }; diff --git a/matlab/src/cpp/arrow/matlab/array/proxy/string_array.cc b/matlab/src/cpp/arrow/matlab/array/proxy/string_array.cc index de402c9c90a97..fd3044b3c7a58 100644 --- a/matlab/src/cpp/arrow/matlab/array/proxy/string_array.cc +++ b/matlab/src/cpp/arrow/matlab/array/proxy/string_array.cc @@ -92,8 +92,7 @@ namespace arrow::matlab::array::proxy { auto string_type_proxy = std::make_shared(string_type); const auto id = libmexclass::proxy::ProxyManager::manageProxy(string_type_proxy); context.outputs[0] = factory.createScalar(id); - context.outputs[1] = factory.createScalar(type->id()); - + context.outputs[1] = factory.createScalar(static_cast(type->id())); } } diff --git a/matlab/src/cpp/arrow/matlab/array/proxy/timestamp_array.cc b/matlab/src/cpp/arrow/matlab/array/proxy/timestamp_array.cc index d881e65975ed6..5a45e698b0dba 100644 --- a/matlab/src/cpp/arrow/matlab/array/proxy/timestamp_array.cc +++ b/matlab/src/cpp/arrow/matlab/array/proxy/timestamp_array.cc @@ -106,6 +106,6 @@ namespace arrow::matlab::array::proxy { auto timestamp_type_proxy = std::make_shared(timestamp_type); const auto id = libmexclass::proxy::ProxyManager::manageProxy(timestamp_type_proxy); context.outputs[0] = factory.createScalar(id); - context.outputs[1] = factory.createScalar(type->id()); + context.outputs[1] = factory.createScalar(static_cast(type->id())); } }