python/pyfury/includes/libserialization.pxd (49 lines of code) (raw):

# 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. from libc.stdint cimport int32_t from libcpp cimport bool as c_bool from pyfury.includes.libutil cimport CBuffer cdef extern from "fury/type/type.h" namespace "fury" nogil: # Declare the C++ TypeId enum cdef enum class TypeId(int32_t): BOOL = 1 INT8 = 2 INT16 = 3 INT32 = 4 VAR_INT32 = 5 INT64 = 6 VAR_INT64 = 7 SLI_INT64 = 8 FLOAT16 = 9 FLOAT32 = 10 FLOAT64 = 11 STRING = 12 ENUM = 13 NAMED_ENUM = 14 STRUCT = 15 COMPATIBLE_STRUCT = 16 NAMED_STRUCT = 17 NAMED_COMPATIBLE_STRUCT = 18 EXT = 19 NAMED_EXT = 20 LIST = 21 SET = 22 MAP = 23 DURATION = 24 TIMESTAMP = 25 LOCAL_DATE = 26 DECIMAL = 27 BINARY = 28 ARRAY = 29 BOOL_ARRAY = 30 INT8_ARRAY = 31 INT16_ARRAY = 32 INT32_ARRAY = 33 INT64_ARRAY = 34 FLOAT16_ARRAY = 35 FLOAT32_ARRAY = 36 FLOAT64_ARRAY = 37 ARROW_RECORD_BATCH = 38 ARROW_TABLE = 39 BOUND = 64 cdef c_bool IsNamespacedType(int32_t type_id) cdef extern from "fury/python/pyfury.h" namespace "fury": int Fury_PyBooleanSequenceWriteToBuffer(object collection, CBuffer *buffer, Py_ssize_t start_index) int Fury_PyFloatSequenceWriteToBuffer(object collection, CBuffer *buffer, Py_ssize_t start_index)