import ctypes as ct
|
from typing import Any, assert_type
|
|
import numpy as np
|
import numpy.typing as npt
|
from numpy import ctypeslib
|
|
AR_bool: npt.NDArray[np.bool]
|
AR_ubyte: npt.NDArray[np.ubyte]
|
AR_ushort: npt.NDArray[np.ushort]
|
AR_uintc: npt.NDArray[np.uintc]
|
AR_ulong: npt.NDArray[np.ulong]
|
AR_ulonglong: npt.NDArray[np.ulonglong]
|
AR_byte: npt.NDArray[np.byte]
|
AR_short: npt.NDArray[np.short]
|
AR_intc: npt.NDArray[np.intc]
|
AR_long: npt.NDArray[np.long]
|
AR_longlong: npt.NDArray[np.longlong]
|
AR_single: npt.NDArray[np.single]
|
AR_double: npt.NDArray[np.double]
|
AR_longdouble: npt.NDArray[np.longdouble]
|
AR_void: npt.NDArray[np.void]
|
|
pointer: ct._Pointer[Any]
|
|
assert_type(np.ctypeslib.c_intp(), ctypeslib.c_intp)
|
|
assert_type(np.ctypeslib.ndpointer(), type[ctypeslib._ndptr[None]])
|
assert_type(np.ctypeslib.ndpointer(dtype=np.float64), type[ctypeslib._ndptr[np.dtype[np.float64]]])
|
assert_type(np.ctypeslib.ndpointer(dtype=float), type[ctypeslib._ndptr[np.dtype]])
|
assert_type(np.ctypeslib.ndpointer(shape=(10, 3)), type[ctypeslib._ndptr[None]])
|
assert_type(np.ctypeslib.ndpointer(np.int64, shape=(10, 3)), type[ctypeslib._concrete_ndptr[np.dtype[np.int64]]])
|
assert_type(np.ctypeslib.ndpointer(int, shape=(1,)), type[np.ctypeslib._concrete_ndptr[np.dtype]])
|
|
assert_type(np.ctypeslib.as_ctypes_type(np.bool), type[ct.c_bool])
|
assert_type(np.ctypeslib.as_ctypes_type(np.ubyte), type[ct.c_ubyte])
|
assert_type(np.ctypeslib.as_ctypes_type(np.ushort), type[ct.c_ushort])
|
assert_type(np.ctypeslib.as_ctypes_type(np.uintc), type[ct.c_uint])
|
assert_type(np.ctypeslib.as_ctypes_type(np.byte), type[ct.c_byte])
|
assert_type(np.ctypeslib.as_ctypes_type(np.short), type[ct.c_short])
|
assert_type(np.ctypeslib.as_ctypes_type(np.intc), type[ct.c_int])
|
assert_type(np.ctypeslib.as_ctypes_type(np.single), type[ct.c_float])
|
assert_type(np.ctypeslib.as_ctypes_type(np.double), type[ct.c_double])
|
assert_type(np.ctypeslib.as_ctypes_type(ct.c_double), type[ct.c_double])
|
assert_type(np.ctypeslib.as_ctypes_type("q"), type[ct.c_longlong])
|
assert_type(np.ctypeslib.as_ctypes_type([("i8", np.int64), ("f8", np.float64)]), type[Any])
|
assert_type(np.ctypeslib.as_ctypes_type("i8"), type[Any])
|
assert_type(np.ctypeslib.as_ctypes_type("f8"), type[Any])
|
|
assert_type(np.ctypeslib.as_ctypes(AR_bool.take(0)), ct.c_bool)
|
assert_type(np.ctypeslib.as_ctypes(AR_ubyte.take(0)), ct.c_ubyte)
|
assert_type(np.ctypeslib.as_ctypes(AR_ushort.take(0)), ct.c_ushort)
|
assert_type(np.ctypeslib.as_ctypes(AR_uintc.take(0)), ct.c_uint)
|
|
assert_type(np.ctypeslib.as_ctypes(AR_byte.take(0)), ct.c_byte)
|
assert_type(np.ctypeslib.as_ctypes(AR_short.take(0)), ct.c_short)
|
assert_type(np.ctypeslib.as_ctypes(AR_intc.take(0)), ct.c_int)
|
assert_type(np.ctypeslib.as_ctypes(AR_single.take(0)), ct.c_float)
|
assert_type(np.ctypeslib.as_ctypes(AR_double.take(0)), ct.c_double)
|
assert_type(np.ctypeslib.as_ctypes(AR_void.take(0)), Any)
|
assert_type(np.ctypeslib.as_ctypes(AR_bool), ct.Array[ct.c_bool])
|
assert_type(np.ctypeslib.as_ctypes(AR_ubyte), ct.Array[ct.c_ubyte])
|
assert_type(np.ctypeslib.as_ctypes(AR_ushort), ct.Array[ct.c_ushort])
|
assert_type(np.ctypeslib.as_ctypes(AR_uintc), ct.Array[ct.c_uint])
|
assert_type(np.ctypeslib.as_ctypes(AR_byte), ct.Array[ct.c_byte])
|
assert_type(np.ctypeslib.as_ctypes(AR_short), ct.Array[ct.c_short])
|
assert_type(np.ctypeslib.as_ctypes(AR_intc), ct.Array[ct.c_int])
|
assert_type(np.ctypeslib.as_ctypes(AR_single), ct.Array[ct.c_float])
|
assert_type(np.ctypeslib.as_ctypes(AR_double), ct.Array[ct.c_double])
|
assert_type(np.ctypeslib.as_ctypes(AR_void), ct.Array[Any])
|
|
assert_type(np.ctypeslib.as_array(AR_ubyte), npt.NDArray[np.ubyte])
|
assert_type(np.ctypeslib.as_array(1), npt.NDArray[Any])
|
assert_type(np.ctypeslib.as_array(pointer), npt.NDArray[Any])
|
|
assert_type(np.ctypeslib.as_ctypes_type(np.long), type[ct.c_long])
|
assert_type(np.ctypeslib.as_ctypes_type(np.ulong), type[ct.c_ulong])
|
assert_type(np.ctypeslib.as_ctypes(AR_ulong), ct.Array[ct.c_ulong])
|
assert_type(np.ctypeslib.as_ctypes(AR_long), ct.Array[ct.c_long])
|
assert_type(np.ctypeslib.as_ctypes(AR_long.take(0)), ct.c_long)
|
assert_type(np.ctypeslib.as_ctypes(AR_ulong.take(0)), ct.c_ulong)
|