From 91ee5fea809df423e1b60a17ec8109d036a27289 Mon Sep 17 00:00:00 2001 From: Travis Oliphant Date: Tue, 4 Mar 2008 20:06:39 +0000 Subject: Add _default_copyswapn for extended data-types. Fix recent format error. --- numpy/core/src/arrayobject.c | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'numpy/core/src/arrayobject.c') diff --git a/numpy/core/src/arrayobject.c b/numpy/core/src/arrayobject.c index d6059719c..f429a69aa 100644 --- a/numpy/core/src/arrayobject.c +++ b/numpy/core/src/arrayobject.c @@ -1530,6 +1530,24 @@ _default_nonzero(void *ip, void *arr) return FALSE; } +static void +_default_copyswapn(void *dst, npy_intp dstride, void *src, + npy_intp sstride, npy_intp n, int swap, void *arr) +{ + npy_intp i; + PyArray_CopySwapFunc *copyswap; + char *dstptr = dst; + char *srcptr = src; + + copyswap = PyArray_DESCR(arr)->f->copyswap; + + for (i=0; inonzero == NULL) { f->nonzero = _default_nonzero; } + if (f->copyswapn == NULL) { + f->copyswapn = _default_copyswapn; + } if (f->copyswap == NULL || f->getitem == NULL || - f->copyswapn == NULL || f->setitem == NULL) { - PyErr_SetString(PyExc_ValueError, "a required array function" \ + f->setitem == NULL) { + PyErr_SetString(PyExc_ValueError, "a required array function" \ " is missing."); return -1; } @@ -11004,7 +11025,7 @@ arraydescr_names_set(PyArray_Descr *self, PyObject *val) N = PyTuple_GET_SIZE(self->names); if (!PySequence_Check(val) || PyObject_Size((PyObject *)val) != N) { PyErr_Format(PyExc_ValueError, "must replace all names at once" \ - " with a sequence of length %d", N, N); + " with a sequence of length %d", N); return -1; } /* Make sure all entries are strings */ -- cgit v1.2.1