Mercurial > cpython-lru_cache-weakref
diff Doc/lib/libarray.tex @ 22759:8719866014ab legacy-trunk
Fix up the documentation of the type codes to give both the C and Python
types for each code, and give the actual C types.
Clarified the support for slice operations and note when some TypeError
exceptions are raised.
This closes SF bugs 518767 and 536469.
| author | Fred Drake <fdrake@acm.org> |
|---|---|
| date | Mon, 01 Apr 2002 23:05:10 +0000 |
| parents | 966725095854 |
| children | ac5e1d9029b7 |
line wrap: on
line diff
--- a/Doc/lib/libarray.tex Mon Apr 01 21:34:28 2002 +0000 +++ b/Doc/lib/libarray.tex Mon Apr 01 23:05:10 2002 +0000 @@ -13,20 +13,20 @@ \dfn{type code}, which is a single character. The following type codes are defined: -\begin{tableiii}{c|l|c}{code}{Type code}{C Type}{Minimum size in bytes} -\lineiii{'c'}{character}{1} -\lineiii{'b'}{signed int}{1} -\lineiii{'B'}{unsigned int}{1} -\lineiii{'u'}{Unicode character}{2} -\lineiii{'h'}{signed int}{2} -\lineiii{'H'}{unsigned int}{2} -\lineiii{'i'}{signed int}{2} -\lineiii{'I'}{unsigned int}{2} -\lineiii{'l'}{signed int}{4} -\lineiii{'L'}{unsigned int}{4} -\lineiii{'f'}{float}{4} -\lineiii{'d'}{double}{8} -\end{tableiii} +\begin{tableiv}{c|l|l|c}{code}{Type code}{C Type}{Python Type}{Minimum size in bytes} + \lineiv{'c'}{char} {character} {1} + \lineiv{'b'}{signed char} {int} {1} + \lineiv{'B'}{unsigned char} {int} {1} + \lineiv{'u'}{Py_UNICODE} {Unicode character}{2} + \lineiv{'h'}{signed short} {int} {2} + \lineiv{'H'}{unsigned short}{int} {2} + \lineiv{'i'}{signed int} {int} {2} + \lineiv{'I'}{unsigned int} {long} {2} + \lineiv{'l'}{signed long} {int} {4} + \lineiv{'L'}{unsigned long} {long} {4} + \lineiv{'f'}{float} {float} {4} + \lineiv{'d'}{double} {float} {8} +\end{tableiv} The actual representation of values is determined by the machine architecture (strictly speaking, by the C implementation). The actual @@ -53,8 +53,13 @@ Array objects support the ordinary sequence operations of -indexing, slicing, concatenation, and multiplication. The -following data items and methods are also supported: +indexing, slicing, concatenation, and multiplication. When using +slice assignment, the assigned value must be an array object with the +same type code; in all other cases, \exception{TypeError} is raised. +Array objects also implement the buffer interface, and may be used +wherever buffer objects are supported. + +The following data items and methods are also supported: \begin{memberdesc}[array]{typecode} The typecode character used to create the array. @@ -100,7 +105,9 @@ \end{methoddesc} \begin{methoddesc}[array]{extend}{a} -Append array items from \var{a} to the end of the array. +Append array items from \var{a} to the end of the array. The two +arrays must have \emph{exactly} the same type code; if not, +\exception{TypeError} will be raised. \end{methoddesc} \begin{methoddesc}[array]{fromfile}{f, n}
