Lines Matching defs:flags

50 /* User configurable flags for the ndarray */
52 /* User configurable flags for each base buffer */
60 /* Internal flags for the base buffer */
68 /* ndbuf->flags properties */
69 #define ND_C_CONTIGUOUS(flags) (!!(flags&(ND_SCALAR|ND_C)))
70 #define ND_FORTRAN_CONTIGUOUS(flags) (!!(flags&(ND_SCALAR|ND_FORTRAN)))
71 #define ND_ANY_CONTIGUOUS(flags) (!!(flags&(ND_SCALAR|ND_C|ND_FORTRAN)))
74 #define REQ_INDIRECT(flags) ((flags&PyBUF_INDIRECT) == PyBUF_INDIRECT)
75 #define REQ_C_CONTIGUOUS(flags) ((flags&PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS)
76 #define REQ_F_CONTIGUOUS(flags) ((flags&PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS)
77 #define REQ_ANY_CONTIGUOUS(flags) ((flags&PyBUF_ANY_CONTIGUOUS) == PyBUF_ANY_CONTIGUOUS)
78 #define REQ_STRIDES(flags) ((flags&PyBUF_STRIDES) == PyBUF_STRIDES)
79 #define REQ_SHAPE(flags) ((flags&PyBUF_ND) == PyBUF_ND)
80 #define REQ_WRITABLE(flags) (flags&PyBUF_WRITABLE)
81 #define REQ_FORMAT(flags) (flags&PyBUF_FORMAT)
95 int flags; /* capabilities of the base buffer */
102 int flags; /* ndarray flags */
109 ndbuf_new(Py_ssize_t nitems, Py_ssize_t itemsize, Py_ssize_t offset, int flags)
144 ndbuf->flags = flags;
216 nd->flags = 0;
227 if (self->head->flags & ND_OWN_ARRAYS) {
243 ndarray_init_staticbuf(PyObject *exporter, NDArrayObject *nd, int flags)
247 if (PyObject_GetBuffer(exporter, base, flags) < 0)
258 nd->head->flags = base->readonly ? 0 : ND_WRITABLE;
268 ndbuf->flags |= ND_SCALAR;
270 ndbuf->flags |= ND_PIL;
272 ndbuf->flags |= ND_C;
274 ndbuf->flags |= ND_FORTRAN;
282 static Py_ssize_t *strides_from_shape(const ndbuf_t *, int flags);
680 assert(ND_C_CONTIGUOUS(nd->head->flags));
689 assert(ND_C_CONTIGUOUS(nd->head->flags));
756 | flags | user | user | OK |
838 base->readonly = !(ndbuf->flags & ND_WRITABLE);
887 strides_from_shape(const ndbuf_t *ndbuf, int flags)
898 if (flags & ND_FORTRAN) {
1103 ndbuf->flags &= ~(ND_C|ND_FORTRAN);
1127 if (ndbuf->flags & ND_PIL) {
1132 ndbuf->flags |= (ND_SCALAR|ND_C|ND_FORTRAN);
1146 base->strides = strides_from_shape(ndbuf, ndbuf->flags);
1160 /* ndbuf->flags */
1162 ndbuf->flags |= ND_C;
1164 ndbuf->flags |= ND_FORTRAN;
1168 if (ndbuf->flags & ND_PIL) {
1178 Py_ssize_t offset, PyObject *format, int flags)
1199 else if (flags & ND_FORTRAN) {
1241 ndbuf = ndbuf_new(nitems, itemsize, offset, flags);
1266 Py_ssize_t offset, PyObject *format, int flags)
1270 ndbuf = init_ndbuf(items, shape, strides, offset, format, flags);
1284 "obj", "shape", "strides", "offset", "format", "flags", "getbuf", NULL
1291 int flags = ND_DEFAULT; /* base buffer and ndarray flags */
1293 int getbuf = PyBUF_UNUSED; /* re-exporter: getbuffer request flags */
1297 &v, &shape, &strides, &offset, &format, &flags, &getbuf))
1303 !(flags == ND_DEFAULT || flags == ND_REDIRECT)) {
1306 "and 'flags' arguments");
1316 nd->head->flags |= flags;
1335 if (flags & ND_VAREXPORT) {
1336 nd->flags |= ND_VAREXPORT;
1337 flags &= ~ND_VAREXPORT;
1341 return ndarray_push_base(nd, v, shape, strides, offset, format, flags);
1350 "items", "shape", "strides", "offset", "format", "flags", NULL
1357 int flags = ND_DEFAULT; /* base buffer flags */
1360 &items, &shape, &strides, &offset, &format, &flags))
1363 if (flags & ND_VAREXPORT) {
1373 if (!(nd->flags&ND_VAREXPORT) && nd->head->exports > 0) {
1381 offset, format, flags) < 0)
1417 ndarray_getbuf(NDArrayObject *self, Py_buffer *view, int flags)
1421 int baseflags = ndbuf->flags;
1425 return PyObject_GetBuffer(base->obj, view, flags);
1437 ((REQ_SHAPE(flags) && base->shape == NULL) ||
1438 (REQ_STRIDES(flags) && base->strides == NULL))) {
1455 if (REQ_WRITABLE(flags) && base->readonly) {
1460 if (!REQ_FORMAT(flags)) {
1469 if (REQ_C_CONTIGUOUS(flags) && !ND_C_CONTIGUOUS(baseflags)) {
1474 if (REQ_F_CONTIGUOUS(flags) && !ND_FORTRAN_CONTIGUOUS(baseflags)) {
1479 if (REQ_ANY_CONTIGUOUS(flags) && !ND_ANY_CONTIGUOUS(baseflags)) {
1484 if (!REQ_INDIRECT(flags) && (baseflags & ND_PIL)) {
1489 if (!REQ_STRIDES(flags)) {
1497 if (!REQ_SHAPE(flags)) {
1823 ndbuf->flags |= ND_OWN_ARRAYS;
2006 return PyLong_FromLong(self->head->flags);
2091 if (ret != ND_C_CONTIGUOUS(nd->head->flags)) {
2093 "results from PyBuffer_IsContiguous() and flags differ");
2105 if (ret != ND_FORTRAN_CONTIGUOUS(nd->head->flags)) {
2107 "results from PyBuffer_IsContiguous() and flags differ");
2119 if (ret != ND_ANY_CONTIGUOUS(nd->head->flags)) {
2121 "results from PyBuffer_IsContiguous() and flags differ");
2131 { "flags", (getter)ndarray_get_flags, NULL, NULL, NULL},
2164 if (ND_C_CONTIGUOUS(ndbuf->flags))
2222 nd->head->flags &= ~(ND_C|ND_FORTRAN);
2433 int flags;
2438 if (!PyArg_ParseTuple(args, "OOi", &obj, &order, &flags)) {
2442 if (PyObject_GetBuffer(obj, &view, flags) < 0) {
2743 staticarray_getbuf(StaticArrayObject *self, Py_buffer *view, int flags)