MCPcopy Create free account
hub / github.com/numpy/numpy / npyiter_cache_values

Function npyiter_cache_values

numpy/core/src/multiarray/nditer_pywrap.c:49–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

47};
48
49static int npyiter_cache_values(NewNpyArrayIterObject *self)
50{
51 NpyIter *iter = self->iter;
52
53 /* iternext and get_multi_index functions */
54 self->iternext = NpyIter_GetIterNext(iter, NULL);
55 if (self->iternext == NULL) {
56 return -1;
57 }
58
59 if (NpyIter_HasMultiIndex(iter) && !NpyIter_HasDelayedBufAlloc(iter)) {
60 self->get_multi_index = NpyIter_GetGetMultiIndex(iter, NULL);
61 }
62 else {
63 self->get_multi_index = NULL;
64 }
65
66 /* Internal data pointers */
67 self->dataptrs = NpyIter_GetDataPtrArray(iter);
68 self->dtypes = NpyIter_GetDescrArray(iter);
69 self->operands = NpyIter_GetOperandArray(iter);
70
71 if (NpyIter_HasExternalLoop(iter)) {
72 self->innerstrides = NpyIter_GetInnerStrideArray(iter);
73 self->innerloopsizeptr = NpyIter_GetInnerLoopSizePtr(iter);
74 }
75 else {
76 self->innerstrides = NULL;
77 self->innerloopsizeptr = NULL;
78 }
79
80 /* The read/write settings */
81 NpyIter_GetReadFlags(iter, self->readflags);
82 NpyIter_GetWriteFlags(iter, self->writeflags);
83 return 0;
84}
85
86static PyObject *
87npyiter_new(PyTypeObject *subtype, PyObject *NPY_UNUSED(args),

Callers 6

npyiter_initFunction · 0.85
NpyIter_NestedItersFunction · 0.85
npyiter_copyFunction · 0.85
npyiter_remove_axisFunction · 0.85

Calls 10

NpyIter_HasMultiIndexFunction · 0.85
NpyIter_GetDataPtrArrayFunction · 0.85
NpyIter_GetDescrArrayFunction · 0.85
NpyIter_GetOperandArrayFunction · 0.85
NpyIter_HasExternalLoopFunction · 0.85
NpyIter_GetReadFlagsFunction · 0.85
NpyIter_GetWriteFlagsFunction · 0.85

Tested by

no test coverage detected