context=dict(context, BUF_MAX_NDIMS=Options.buffer_max_dims),
requires=[memviewslice_declare_code,
Buffer.acquire_utility_code,
- atomic_utility,
- Buffer.typeinfo_compare_code],
+ atomic_utility],
)
memviewslice_index_helpers = load_memview_c_utility("MemviewSliceIndex")
return result
@cname('__pyx_memoryview_check')
-cdef bint memoryview_check(object o):
+cdef inline bint memoryview_check(object o):
return isinstance(o, memoryview)
cdef tuple _unellipsify(object index, int ndim):
#define __Pyx_IS_C_CONTIG 1
#define __Pyx_IS_F_CONTIG 2
-static int __Pyx_ValidateAndInit_memviewslice(
- int *axes_specs,
- int c_or_f_flag,
- int buf_flags,
- int ndim,
- __Pyx_TypeInfo *dtype,
- __Pyx_BufFmt_StackElem stack[],
- __Pyx_memviewslice *memviewslice,
- PyObject *original_obj);
-
static int __Pyx_init_memviewslice(
struct __pyx_memoryview_obj *memview,
int ndim,
/////////////// ObjectToMemviewSlice ///////////////
+//@requires: MemviewSliceValidateAndInit
static CYTHON_INLINE {{memviewslice_name}} {{funcname}}(PyObject *obj) {
{{memviewslice_name}} result = {{memslice_init}};
}
-////////// MemviewSliceInit //////////
+/////////////// MemviewSliceValidateAndInit.proto ///////////////
+
+static int __Pyx_ValidateAndInit_memviewslice(
+ int *axes_specs,
+ int c_or_f_flag,
+ int buf_flags,
+ int ndim,
+ __Pyx_TypeInfo *dtype,
+ __Pyx_BufFmt_StackElem stack[],
+ __Pyx_memviewslice *memviewslice,
+ PyObject *original_obj);
+
+/////////////// MemviewSliceValidateAndInit ///////////////
+//@requires: Buffer.c::TypeInfoCompare
static int
__pyx_check_strides(Py_buffer *buf, int dim, int ndim, int spec)
return retval;
}
+
+////////// MemviewSliceInit //////////
+
static int
__Pyx_init_memviewslice(struct __pyx_memoryview_obj *memview,
int ndim,