summaryrefslogtreecommitdiffstats
path: root/src/arrow/python/pyarrow/includes/libgandiva.pxd
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
commite6918187568dbd01842d8d1d2c808ce16a894239 (patch)
tree64f88b554b444a49f656b6c656111a145cbbaa28 /src/arrow/python/pyarrow/includes/libgandiva.pxd
parentInitial commit. (diff)
downloadceph-e6918187568dbd01842d8d1d2c808ce16a894239.tar.xz
ceph-e6918187568dbd01842d8d1d2c808ce16a894239.zip
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/arrow/python/pyarrow/includes/libgandiva.pxd')
-rw-r--r--src/arrow/python/pyarrow/includes/libgandiva.pxd286
1 files changed, 286 insertions, 0 deletions
diff --git a/src/arrow/python/pyarrow/includes/libgandiva.pxd b/src/arrow/python/pyarrow/includes/libgandiva.pxd
new file mode 100644
index 000000000..c75977d37
--- /dev/null
+++ b/src/arrow/python/pyarrow/includes/libgandiva.pxd
@@ -0,0 +1,286 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# distutils: language = c++
+
+from libcpp.string cimport string as c_string
+from libcpp.unordered_set cimport unordered_set as c_unordered_set
+from libc.stdint cimport int64_t, int32_t, uint8_t, uintptr_t
+
+from pyarrow.includes.common cimport *
+from pyarrow.includes.libarrow cimport *
+
+cdef extern from "gandiva/node.h" namespace "gandiva" nogil:
+
+ cdef cppclass CNode" gandiva::Node":
+ c_string ToString()
+ shared_ptr[CDataType] return_type()
+
+ cdef cppclass CExpression" gandiva::Expression":
+ c_string ToString()
+ shared_ptr[CNode] root()
+ shared_ptr[CField] result()
+
+ ctypedef vector[shared_ptr[CNode]] CNodeVector" gandiva::NodeVector"
+
+ ctypedef vector[shared_ptr[CExpression]] \
+ CExpressionVector" gandiva::ExpressionVector"
+
+cdef extern from "gandiva/selection_vector.h" namespace "gandiva" nogil:
+
+ cdef cppclass CSelectionVector" gandiva::SelectionVector":
+
+ shared_ptr[CArray] ToArray()
+
+ enum CSelectionVector_Mode" gandiva::SelectionVector::Mode":
+ CSelectionVector_Mode_NONE" gandiva::SelectionVector::Mode::MODE_NONE"
+ CSelectionVector_Mode_UINT16" \
+ gandiva::SelectionVector::Mode::MODE_UINT16"
+ CSelectionVector_Mode_UINT32" \
+ gandiva::SelectionVector::Mode::MODE_UINT32"
+ CSelectionVector_Mode_UINT64" \
+ gandiva::SelectionVector::Mode::MODE_UINT64"
+
+ cdef CStatus SelectionVector_MakeInt16\
+ "gandiva::SelectionVector::MakeInt16"(
+ int64_t max_slots, CMemoryPool* pool,
+ shared_ptr[CSelectionVector]* selection_vector)
+
+ cdef CStatus SelectionVector_MakeInt32\
+ "gandiva::SelectionVector::MakeInt32"(
+ int64_t max_slots, CMemoryPool* pool,
+ shared_ptr[CSelectionVector]* selection_vector)
+
+ cdef CStatus SelectionVector_MakeInt64\
+ "gandiva::SelectionVector::MakeInt64"(
+ int64_t max_slots, CMemoryPool* pool,
+ shared_ptr[CSelectionVector]* selection_vector)
+
+cdef inline CSelectionVector_Mode _ensure_selection_mode(str name) except *:
+ uppercase = name.upper()
+ if uppercase == 'NONE':
+ return CSelectionVector_Mode_NONE
+ elif uppercase == 'UINT16':
+ return CSelectionVector_Mode_UINT16
+ elif uppercase == 'UINT32':
+ return CSelectionVector_Mode_UINT32
+ elif uppercase == 'UINT64':
+ return CSelectionVector_Mode_UINT64
+ else:
+ raise ValueError('Invalid value for Selection Mode: {!r}'.format(name))
+
+cdef inline str _selection_mode_name(CSelectionVector_Mode ctype):
+ if ctype == CSelectionVector_Mode_NONE:
+ return 'NONE'
+ elif ctype == CSelectionVector_Mode_UINT16:
+ return 'UINT16'
+ elif ctype == CSelectionVector_Mode_UINT32:
+ return 'UINT32'
+ elif ctype == CSelectionVector_Mode_UINT64:
+ return 'UINT64'
+ else:
+ raise RuntimeError('Unexpected CSelectionVector_Mode value')
+
+cdef extern from "gandiva/condition.h" namespace "gandiva" nogil:
+
+ cdef cppclass CCondition" gandiva::Condition":
+ c_string ToString()
+ shared_ptr[CNode] root()
+ shared_ptr[CField] result()
+
+cdef extern from "gandiva/arrow.h" namespace "gandiva" nogil:
+
+ ctypedef vector[shared_ptr[CArray]] CArrayVector" gandiva::ArrayVector"
+
+
+cdef extern from "gandiva/tree_expr_builder.h" namespace "gandiva" nogil:
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeBoolLiteral \
+ "gandiva::TreeExprBuilder::MakeLiteral"(c_bool value)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeUInt8Literal \
+ "gandiva::TreeExprBuilder::MakeLiteral"(uint8_t value)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeUInt16Literal \
+ "gandiva::TreeExprBuilder::MakeLiteral"(uint16_t value)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeUInt32Literal \
+ "gandiva::TreeExprBuilder::MakeLiteral"(uint32_t value)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeUInt64Literal \
+ "gandiva::TreeExprBuilder::MakeLiteral"(uint64_t value)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeInt8Literal \
+ "gandiva::TreeExprBuilder::MakeLiteral"(int8_t value)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeInt16Literal \
+ "gandiva::TreeExprBuilder::MakeLiteral"(int16_t value)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeInt32Literal \
+ "gandiva::TreeExprBuilder::MakeLiteral"(int32_t value)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeInt64Literal \
+ "gandiva::TreeExprBuilder::MakeLiteral"(int64_t value)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeFloatLiteral \
+ "gandiva::TreeExprBuilder::MakeLiteral"(float value)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeDoubleLiteral \
+ "gandiva::TreeExprBuilder::MakeLiteral"(double value)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeStringLiteral \
+ "gandiva::TreeExprBuilder::MakeStringLiteral"(const c_string& value)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeBinaryLiteral \
+ "gandiva::TreeExprBuilder::MakeBinaryLiteral"(const c_string& value)
+
+ cdef shared_ptr[CExpression] TreeExprBuilder_MakeExpression\
+ "gandiva::TreeExprBuilder::MakeExpression"(
+ shared_ptr[CNode] root_node, shared_ptr[CField] result_field)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeFunction \
+ "gandiva::TreeExprBuilder::MakeFunction"(
+ const c_string& name, const CNodeVector& children,
+ shared_ptr[CDataType] return_type)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeField \
+ "gandiva::TreeExprBuilder::MakeField"(shared_ptr[CField] field)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeIf \
+ "gandiva::TreeExprBuilder::MakeIf"(
+ shared_ptr[CNode] condition, shared_ptr[CNode] this_node,
+ shared_ptr[CNode] else_node, shared_ptr[CDataType] return_type)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeAnd \
+ "gandiva::TreeExprBuilder::MakeAnd"(const CNodeVector& children)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeOr \
+ "gandiva::TreeExprBuilder::MakeOr"(const CNodeVector& children)
+
+ cdef shared_ptr[CCondition] TreeExprBuilder_MakeCondition \
+ "gandiva::TreeExprBuilder::MakeCondition"(
+ shared_ptr[CNode] condition)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeInExpressionInt32 \
+ "gandiva::TreeExprBuilder::MakeInExpressionInt32"(
+ shared_ptr[CNode] node, const c_unordered_set[int32_t]& values)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeInExpressionInt64 \
+ "gandiva::TreeExprBuilder::MakeInExpressionInt64"(
+ shared_ptr[CNode] node, const c_unordered_set[int64_t]& values)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeInExpressionTime32 \
+ "gandiva::TreeExprBuilder::MakeInExpressionTime32"(
+ shared_ptr[CNode] node, const c_unordered_set[int32_t]& values)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeInExpressionTime64 \
+ "gandiva::TreeExprBuilder::MakeInExpressionTime64"(
+ shared_ptr[CNode] node, const c_unordered_set[int64_t]& values)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeInExpressionDate32 \
+ "gandiva::TreeExprBuilder::MakeInExpressionDate32"(
+ shared_ptr[CNode] node, const c_unordered_set[int32_t]& values)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeInExpressionDate64 \
+ "gandiva::TreeExprBuilder::MakeInExpressionDate64"(
+ shared_ptr[CNode] node, const c_unordered_set[int64_t]& values)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeInExpressionTimeStamp \
+ "gandiva::TreeExprBuilder::MakeInExpressionTimeStamp"(
+ shared_ptr[CNode] node, const c_unordered_set[int64_t]& values)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeInExpressionString \
+ "gandiva::TreeExprBuilder::MakeInExpressionString"(
+ shared_ptr[CNode] node, const c_unordered_set[c_string]& values)
+
+ cdef shared_ptr[CNode] TreeExprBuilder_MakeInExpressionBinary \
+ "gandiva::TreeExprBuilder::MakeInExpressionBinary"(
+ shared_ptr[CNode] node, const c_unordered_set[c_string]& values)
+
+cdef extern from "gandiva/projector.h" namespace "gandiva" nogil:
+
+ cdef cppclass CProjector" gandiva::Projector":
+
+ CStatus Evaluate(
+ const CRecordBatch& batch, CMemoryPool* pool,
+ const CArrayVector* output)
+
+ CStatus Evaluate(
+ const CRecordBatch& batch,
+ const CSelectionVector* selection,
+ CMemoryPool* pool,
+ const CArrayVector* output)
+
+ c_string DumpIR()
+
+ cdef CStatus Projector_Make \
+ "gandiva::Projector::Make"(
+ shared_ptr[CSchema] schema, const CExpressionVector& children,
+ shared_ptr[CProjector]* projector)
+
+ cdef CStatus Projector_Make \
+ "gandiva::Projector::Make"(
+ shared_ptr[CSchema] schema, const CExpressionVector& children,
+ CSelectionVector_Mode mode,
+ shared_ptr[CConfiguration] configuration,
+ shared_ptr[CProjector]* projector)
+
+cdef extern from "gandiva/filter.h" namespace "gandiva" nogil:
+
+ cdef cppclass CFilter" gandiva::Filter":
+
+ CStatus Evaluate(
+ const CRecordBatch& batch,
+ shared_ptr[CSelectionVector] out_selection)
+
+ c_string DumpIR()
+
+ cdef CStatus Filter_Make \
+ "gandiva::Filter::Make"(
+ shared_ptr[CSchema] schema, shared_ptr[CCondition] condition,
+ shared_ptr[CFilter]* filter)
+
+cdef extern from "gandiva/function_signature.h" namespace "gandiva" nogil:
+
+ cdef cppclass CFunctionSignature" gandiva::FunctionSignature":
+
+ CFunctionSignature(const c_string& base_name,
+ vector[shared_ptr[CDataType]] param_types,
+ shared_ptr[CDataType] ret_type)
+
+ shared_ptr[CDataType] ret_type() const
+
+ const c_string& base_name() const
+
+ vector[shared_ptr[CDataType]] param_types() const
+
+ c_string ToString() const
+
+cdef extern from "gandiva/expression_registry.h" namespace "gandiva" nogil:
+
+ cdef vector[shared_ptr[CFunctionSignature]] \
+ GetRegisteredFunctionSignatures()
+
+cdef extern from "gandiva/configuration.h" namespace "gandiva" nogil:
+
+ cdef cppclass CConfiguration" gandiva::Configuration":
+ pass
+
+ cdef cppclass CConfigurationBuilder \
+ " gandiva::ConfigurationBuilder":
+ @staticmethod
+ shared_ptr[CConfiguration] DefaultConfiguration()