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

Function PyArray_NewFlagsObject

numpy/core/src/multiarray/flagsobject.c:27–56  ·  view source on GitHub ↗

NUMPY_API * * Get New ArrayFlagsObject */

Source from the content-addressed store, hash-verified

25 * Get New ArrayFlagsObject
26 */
27NPY_NO_EXPORT PyObject *
28PyArray_NewFlagsObject(PyObject *obj)
29{
30 PyObject *flagobj;
31 int flags;
32
33 if (obj == NULL) {
34 flags = NPY_ARRAY_C_CONTIGUOUS |
35 NPY_ARRAY_OWNDATA |
36 NPY_ARRAY_F_CONTIGUOUS |
37 NPY_ARRAY_ALIGNED;
38 }
39 else {
40 if (!PyArray_Check(obj)) {
41 PyErr_SetString(PyExc_ValueError,
42 "Need a NumPy array to create a flags object");
43 return NULL;
44 }
45
46 flags = PyArray_FLAGS((PyArrayObject *)obj);
47 }
48 flagobj = PyArrayFlags_Type.tp_alloc(&PyArrayFlags_Type, 0);
49 if (flagobj == NULL) {
50 return NULL;
51 }
52 Py_XINCREF(obj);
53 ((PyArrayFlagsObject *)flagobj)->arr = obj;
54 ((PyArrayFlagsObject *)flagobj)->flags = flags;
55 return flagobj;
56}
57
58/*NUMPY_API
59 * Update Several Flags at once.

Callers 2

array_flags_getFunction · 0.85
arrayflags_newFunction · 0.85

Calls 1

PyArray_FLAGSFunction · 0.85

Tested by

no test coverage detected