PyAPI_FUNC(int) _PyObject_RealIsSubclass(PyObject *derived, PyObject *cls);
+/* For internal use by buffer API functions */
+PyAPI_FUNC(void) _Py_add_one_to_index_F(int nd, Py_ssize_t *index,
+ const Py_ssize_t *shape);
+PyAPI_FUNC(void) _Py_add_one_to_index_C(int nd, Py_ssize_t *index,
+ const Py_ssize_t *shape);
+
+
#ifdef __cplusplus
}
#endif
void
-_add_one_to_index_F(int nd, Py_ssize_t *index, Py_ssize_t *shape)
+_Py_add_one_to_index_F(int nd, Py_ssize_t *index, const Py_ssize_t *shape)
{
int k;
}
void
-_add_one_to_index_C(int nd, Py_ssize_t *index, Py_ssize_t *shape)
+_Py_add_one_to_index_C(int nd, Py_ssize_t *index, const Py_ssize_t *shape)
{
int k;
PyBuffer_ToContiguous(void *buf, Py_buffer *view, Py_ssize_t len, char fort)
{
int k;
- void (*addone)(int, Py_ssize_t *, Py_ssize_t *);
+ void (*addone)(int, Py_ssize_t *, const Py_ssize_t *);
Py_ssize_t *indices, elements;
char *dest, *ptr;
}
if (fort == 'F') {
- addone = _add_one_to_index_F;
+ addone = _Py_add_one_to_index_F;
}
else {
- addone = _add_one_to_index_C;
+ addone = _Py_add_one_to_index_C;
}
dest = buf;
/* XXX : This is not going to be the fastest code in the world
PyBuffer_FromContiguous(Py_buffer *view, void *buf, Py_ssize_t len, char fort)
{
int k;
- void (*addone)(int, Py_ssize_t *, Py_ssize_t *);
+ void (*addone)(int, Py_ssize_t *, const Py_ssize_t *);
Py_ssize_t *indices, elements;
char *src, *ptr;
}
if (fort == 'F') {
- addone = _add_one_to_index_F;
+ addone = _Py_add_one_to_index_F;
}
else {
- addone = _add_one_to_index_C;
+ addone = _Py_add_one_to_index_C;
}
src = buf;
/* XXX : This is not going to be the fastest code in the world
elements *= view_src.shape[k];
}
while (elements--) {
- _add_one_to_index_C(view_src.ndim, indices, view_src.shape);
+ _Py_add_one_to_index_C(view_src.ndim, indices, view_src.shape);
dptr = PyBuffer_GetPointer(&view_dest, indices);
sptr = PyBuffer_GetPointer(&view_src, indices);
memcpy(dptr, sptr, view_src.itemsize);
return;
}
-void _add_one_to_index_F(int nd, Py_ssize_t *index, Py_ssize_t *shape);
-void _add_one_to_index_C(int nd, Py_ssize_t *index, Py_ssize_t *shape);
-
static int
_indirect_copy_nd(char *dest, Py_buffer *view, char fort)
{
elements *= view->shape[k];
}
if (fort == 'F') {
- func = _add_one_to_index_F;
+ func = _Py_add_one_to_index_F;
}
else {
- func = _add_one_to_index_C;
+ func = _Py_add_one_to_index_C;
}
while (elements--) {
func(view->ndim, indices, view->shape);