summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Belopolsky <alexander.belopolsky@gmail.com>2012-09-03 20:43:55 (GMT)
committerAlexander Belopolsky <alexander.belopolsky@gmail.com>2012-09-03 20:43:55 (GMT)
commite370c38131b3a5ebb434e17cff4e3362ddbb3f67 (patch)
treeaf4520c291fce7f6d3bc23bfb4efc3f184fa60b6
parent3561901cd9ec919454b29c6c9d81e2a558e46736 (diff)
parent397e5c98bc27416fe8a407e39e4c5aa4baf94423 (diff)
downloadcpython-e370c38131b3a5ebb434e17cff4e3362ddbb3f67.zip
cpython-e370c38131b3a5ebb434e17cff4e3362ddbb3f67.tar.gz
cpython-e370c38131b3a5ebb434e17cff4e3362ddbb3f67.tar.bz2
Issue #15855: added docstrings for memoryview methods and data descriptors (merge 3.2).
-rw-r--r--Objects/memoryobject.c51
1 files changed, 41 insertions, 10 deletions
diff --git a/Objects/memoryobject.c b/Objects/memoryobject.c
index f547983..e0f20fe 100644
--- a/Objects/memoryobject.c
+++ b/Objects/memoryobject.c
@@ -2861,27 +2861,58 @@ memory_contiguous(PyMemoryViewObject *self, PyObject *dummy)
return PyBool_FromLong(MV_ANY_CONTIGUOUS(self->flags));
}
+PyDoc_STRVAR(memory_format_doc,
+ "A string containing the format (in struct module style)\n"
+ " for each element in the view.");
+PyDoc_STRVAR(memory_itemsize_doc,
+ "The size in bytes of each element of the memoryview.");
+PyDoc_STRVAR(memory_shape_doc,
+ "A tuple of ndim integers giving the shape of the memory\n"
+ " as an N-dimensional array.");
+PyDoc_STRVAR(memory_strides_doc,
+ "A tuple of ndim integers giving the size in bytes to access\n"
+ " each element for each dimension of the array.");
+PyDoc_STRVAR(memory_suboffsets_doc,
+ "A tuple of integers used internally for PIL-style arrays.");
+PyDoc_STRVAR(memory_readonly_doc,
+ "A bool indicating whether the memory is read only.");
+PyDoc_STRVAR(memory_ndim_doc,
+ "An integer indicating how many dimensions of a multi-dimensional\n"
+ " array the memory represents.");
+
static PyGetSetDef memory_getsetlist[] = {
{"obj", (getter)memory_obj_get, NULL, NULL},
{"nbytes", (getter)memory_nbytes_get, NULL, NULL},
- {"readonly", (getter)memory_readonly_get, NULL, NULL},
- {"itemsize", (getter)memory_itemsize_get, NULL, NULL},
- {"format", (getter)memory_format_get, NULL, NULL},
- {"ndim", (getter)memory_ndim_get, NULL, NULL},
- {"shape", (getter)memory_shape_get, NULL, NULL},
- {"strides", (getter)memory_strides_get, NULL, NULL},
- {"suboffsets", (getter)memory_suboffsets_get, NULL, NULL},
+ {"readonly", (getter)memory_readonly_get, NULL, memory_readonly_doc},
+ {"itemsize", (getter)memory_itemsize_get, NULL, memory_itemsize_doc},
+ {"format", (getter)memory_format_get, NULL, memory_format_doc},
+ {"ndim", (getter)memory_ndim_get, NULL, memory_ndim_doc},
+ {"shape", (getter)memory_shape_get, NULL, memory_shape_doc},
+ {"strides", (getter)memory_strides_get, NULL, memory_strides_doc},
+ {"suboffsets", (getter)memory_suboffsets_get, NULL, memory_suboffsets_doc},
{"c_contiguous", (getter)memory_c_contiguous, NULL, NULL},
{"f_contiguous", (getter)memory_f_contiguous, NULL, NULL},
{"contiguous", (getter)memory_contiguous, NULL, NULL},
{NULL, NULL, NULL, NULL},
};
+PyDoc_STRVAR(memory_release_doc,
+"M.release() -> None\n\
+\n\
+Release the underlying buffer exposed by the memoryview object.");
+PyDoc_STRVAR(memory_tobytes_doc,
+"M.tobytes() -> bytes\n\
+\n\
+Return the data in the buffer as a byte string.");
+PyDoc_STRVAR(memory_tolist_doc,
+"M.tolist() -> list\n\
+\n\
+Return the data in the buffer as a list of elements.");
static PyMethodDef memory_methods[] = {
- {"release", (PyCFunction)memory_release, METH_NOARGS, NULL},
- {"tobytes", (PyCFunction)memory_tobytes, METH_NOARGS, NULL},
- {"tolist", (PyCFunction)memory_tolist, METH_NOARGS, NULL},
+ {"release", (PyCFunction)memory_release, METH_NOARGS, memory_release_doc},
+ {"tobytes", (PyCFunction)memory_tobytes, METH_NOARGS, memory_tobytes_doc},
+ {"tolist", (PyCFunction)memory_tolist, METH_NOARGS, memory_tolist_doc},
{"cast", (PyCFunction)memory_cast, METH_VARARGS|METH_KEYWORDS, NULL},
{"__enter__", memory_enter, METH_NOARGS, NULL},
{"__exit__", memory_exit, METH_VARARGS, NULL},