Lines Matching defs:ndim

55 #define ND_SCALAR           0x008   /* scalar: ndim = 0 */
154 base->ndim = 1;
267 if (ndbuf->base.ndim == 0)
473 copy_rec(const Py_ssize_t *shape, Py_ssize_t ndim, Py_ssize_t itemsize,
480 assert(ndim >= 1);
482 if (ndim == 1) {
506 copy_rec(shape+1, ndim-1, itemsize,
520 dest->ndim != src->ndim)
523 for (i = 0; i < dest->ndim; i++) {
534 ndim and shape. Copying is atomic, the function never fails with
541 assert(dest->ndim > 0);
549 if ((dest->suboffsets && dest->suboffsets[dest->ndim-1] >= 0) ||
550 (src->suboffsets && src->suboffsets[src->ndim-1] >= 0) ||
551 dest->strides[dest->ndim-1] != dest->itemsize ||
552 src->strides[src->ndim-1] != src->itemsize) {
553 mem = PyMem_Malloc(dest->shape[dest->ndim-1] * dest->itemsize);
560 copy_rec(dest->shape, dest->ndim, dest->itemsize,
608 for ndim = 0. */
612 const Py_ssize_t *suboffsets, Py_ssize_t ndim, Py_ssize_t itemsize)
617 assert(ndim >= 0);
621 if (ndim == 0) {
644 ndim-1, itemsize);
682 assert(base->ndim <= 1);
720 base->ndim, base->itemsize);
772 | base.ndim | 1 | 1 | OK |
853 /* ndim = len <= ND_MAX_NDIM, so PyMem_New() is actually not needed. */
892 s = PyMem_Malloc(base->ndim * (sizeof *s));
900 for (i = 1; i < base->ndim; i++)
904 s[base->ndim-1] = base->itemsize;
905 for (i = base->ndim-2; i >= 0; i--)
931 Py_ssize_t ndim)
936 assert(ndim >= 0);
938 if (ndim == 0 && (offset < 0 || offset+itemsize > len))
941 for (n = 0; n < ndim; n++)
948 for (n = 0; n < ndim; n++)
953 for (n = 0; n < ndim; n++)
973 the first dimension. Requirements: ndim > 0.
1039 assert(base->ndim > 0);
1063 same as calculating -imin' for a sub-array of ndim-1. */
1065 for (n = 0; n < base->ndim; n++) {
1083 base->suboffsets = PyMem_Malloc(base->ndim * (sizeof *base->suboffsets));
1089 for (n = 1; n < base->ndim; n++)
1114 for (i = 0; i < base->ndim; i++)
1121 Py_ssize_t ndim)
1125 base->ndim = (int)ndim;
1126 if (ndim == 0) {
1129 "ndim = 0 cannot be used in conjunction with ND_PIL");
1137 base->shape = seq_as_ssize_array(shape, ndim, 1);
1143 base->strides = seq_as_ssize_array(strides, ndim, 0);
1151 base->shape, base->strides, ndim) < 0)
1181 Py_ssize_t ndim;
1185 /* ndim = len(shape) */
1187 ndim = PySequence_Fast_GET_SIZE(shape);
1188 if (ndim > ND_MAX_NDIM) {
1190 "ndim must not exceed %d", ND_MAX_NDIM);
1204 else if (PySequence_Fast_GET_SIZE(strides) != ndim) {
1222 if (ndim == 0) {
1250 if (init_structure(ndbuf, shape, strides, ndim) < 0)
1436 if (base->ndim != 0 &&
1510 view->ndim = 1;
1563 assert(base->ndim == 1 && SIMPLE_FORMAT(base->format));
1594 if (base->ndim == 0) {
1603 if (base->ndim == 1) {
1624 subview->ndim--;
1646 indices[ndim-1] * strides[ndim-1]
1652 c = start[0] * strides[0] + ... + start[ndim-1] * strides[ndim-1]
1674 to sub-arrays of ndim-1. Striding in the first dimension is done by
1692 c = start[1] * strides[1] + ... + start[ndim-1] * strides[ndim-1]
1706 sub-arrays of ndim-2:
1746 shape = PyMem_Malloc(base->ndim * (sizeof *shape));
1747 strides = PyMem_Malloc(base->ndim * (sizeof *strides));
1753 suboffsets = PyMem_Malloc(base->ndim * (sizeof *suboffsets));
1758 for (i = 0; i < base->ndim; i++) {
1786 if (base->ndim == 0) {
1882 if (dest->ndim == 0) {
1893 if (dest->ndim == 1 && PyIndex_Check(key)) {
2061 return PyLong_FromSsize_t(base->ndim);
2068 return ssize_array_as_tuple(base->shape, base->ndim);
2075 return ssize_array_as_tuple(base->strides, base->ndim);
2082 return ssize_array_as_tuple(base->suboffsets, base->ndim);
2139 { "ndim", (getter)ndarray_get_ndim, NULL, NULL, NULL},
2169 assert(src->ndim > 0);
2213 base->suboffsets = PyMem_Malloc(base->ndim * (sizeof *base->suboffsets));
2219 for (i = 0; i < base->ndim; i++)
2281 if (view->ndim > ND_MAX_NDIM) {
2283 "memoryview_from_buffer: ndim is limited to %d", ND_MAX_NDIM);
2287 memcpy(shape, view->shape, view->ndim * sizeof(Py_ssize_t));
2291 memcpy(strides, view->strides, view->ndim * sizeof(Py_ssize_t));
2295 memcpy(suboffsets, view->suboffsets, view->ndim * sizeof(Py_ssize_t));
2322 if (view.ndim > ND_MAX_NDIM) {
2324 "get_pointer(): ndim > %d", ND_MAX_NDIM);
2327 if (PySequence_Fast_GET_SIZE(seq) != view.ndim) {
2329 "get_pointer(): len(indices) != ndim");
2333 for (i = 0; i < view.ndim; i++) {
2483 Py_ssize_t ndim)
2488 for (i = 0; i < ndim; i++) {
2536 v1.ndim != v2.ndim ||
2544 if ((v1.shape && !arraycmp(v1.shape, v2.shape, NULL, v1.ndim)) ||
2545 (v1.strides && !arraycmp(v1.strides, v2.strides, v1.shape, v1.ndim)) ||
2547 v1.ndim))) {
2704 1, /* ndim */