]> granicus.if.org Git - python/commitdiff
Fix up the documentation of the type codes to give both the C and Python
authorFred Drake <fdrake@acm.org>
Mon, 1 Apr 2002 23:05:10 +0000 (23:05 +0000)
committerFred Drake <fdrake@acm.org>
Mon, 1 Apr 2002 23:05:10 +0000 (23:05 +0000)
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.

Doc/lib/libarray.tex

index fcd3689e9eb33272a3c1a1e7e8b04552696cfbc4..432a0f5e831bc9d5604ef963823cafe49c43dd73 100644 (file)
@@ -13,20 +13,20 @@ constrained.  The type is specified at object creation time by using a
 \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 @@ Obsolete alias for \function{array}.
 
 
 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 @@ Return the number of occurences of \var{x} in the array.
 \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}