mirror of
https://github.com/kristoferssolo/School.git
synced 2025-10-21 20:10:38 +00:00
52 lines
1.0 KiB
Cython
52 lines
1.0 KiB
Cython
cimport numpy as cnp
|
|
from numpy cimport ndarray
|
|
|
|
from pandas._libs.tslibs.util cimport *
|
|
|
|
|
|
cdef extern from "numpy/ndarraytypes.h":
|
|
void PyArray_CLEARFLAGS(ndarray arr, int flags) nogil
|
|
|
|
|
|
cdef extern from "numpy/arrayobject.h":
|
|
enum:
|
|
NPY_ARRAY_C_CONTIGUOUS
|
|
NPY_ARRAY_F_CONTIGUOUS
|
|
|
|
|
|
cdef extern from "src/headers/stdint.h":
|
|
enum: UINT8_MAX
|
|
enum: UINT16_MAX
|
|
enum: UINT32_MAX
|
|
enum: UINT64_MAX
|
|
enum: INT8_MIN
|
|
enum: INT8_MAX
|
|
enum: INT16_MIN
|
|
enum: INT16_MAX
|
|
enum: INT32_MAX
|
|
enum: INT32_MIN
|
|
enum: INT64_MAX
|
|
enum: INT64_MIN
|
|
|
|
|
|
ctypedef fused numeric:
|
|
cnp.int8_t
|
|
cnp.int16_t
|
|
cnp.int32_t
|
|
cnp.int64_t
|
|
|
|
cnp.uint8_t
|
|
cnp.uint16_t
|
|
cnp.uint32_t
|
|
cnp.uint64_t
|
|
|
|
cnp.float32_t
|
|
cnp.float64_t
|
|
|
|
|
|
cdef inline void set_array_not_contiguous(ndarray ao) nogil:
|
|
# Numpy>=1.8-compliant equivalent to:
|
|
# ao->flags &= ~(NPY_ARRAY_C_CONTIGUOUS | NPY_ARRAY_F_CONTIGUOUS);
|
|
PyArray_CLEARFLAGS(ao,
|
|
(NPY_ARRAY_C_CONTIGUOUS | NPY_ARRAY_F_CONTIGUOUS))
|