]> granicus.if.org Git - python/commitdiff
Patch 543387. Document deprecation of complex %, //,and divmod().
authorRaymond Hettinger <python@rcn.com>
Tue, 21 May 2002 18:19:49 +0000 (18:19 +0000)
committerRaymond Hettinger <python@rcn.com>
Tue, 21 May 2002 18:19:49 +0000 (18:19 +0000)
Doc/lib/libfuncs.tex
Doc/lib/libstdtypes.tex
Doc/ref/ref5.tex

index c7bb5a628f86c0bdcc5604f2825aa7da9d256de6..158ea0c9c80edd90fc3e9a61c9b87c68400b8f32 100644 (file)
@@ -248,9 +248,9 @@ def my_import(name):
 \end{funcdesc}
 
 \begin{funcdesc}{divmod}{a, b}
-  Take two numbers as arguments and return a pair of numbers consisting
-  of their quotient and remainder when using long division.  With mixed
-  operand types, the rules for binary arithmetic operators apply.  For
+  Take two (non complex) numbers as arguments and return a pair of numbers
+  consisting of their quotient and remainder when using long division.  With
+  mixed operand types, the rules for binary arithmetic operators apply.  For
   plain and long integers, the result is the same as
   \code{(\var{a} / \var{b}, \var{a} \%{} \var{b})}.
   For floating point numbers the result is \code{(\var{q}, \var{a} \%{}
index f2cbe749355ea9260a7b751eb5920bbfcf20baef..143b05ae544c37f6b572f49ec57faf4d815c480f 100644 (file)
@@ -218,8 +218,8 @@ to coerce numbers to a specific type.
 \bifuncindex{float}
 \bifuncindex{complex}
 
-All numeric types support the following operations, sorted by
-ascending priority (operations in the same box have the same
+All numeric types (except complex) support the following operations,
+sorted by ascending priority (operations in the same box have the same
 priority; all numeric operations have a higher priority than
 comparison operations):
 
@@ -229,7 +229,7 @@ comparison operations):
   \hline
   \lineiii{\var{x} * \var{y}}{product of \var{x} and \var{y}}{}
   \lineiii{\var{x} / \var{y}}{quotient of \var{x} and \var{y}}{(1)}
-  \lineiii{\var{x} \%{} \var{y}}{remainder of \code{\var{x} / \var{y}}}{}
+  \lineiii{\var{x} \%{} \var{y}}{remainder of \code{\var{x} / \var{y}}}{(4)}
   \hline
   \lineiii{-\var{x}}{\var{x} negated}{}
   \lineiii{+\var{x}}{\var{x} unchanged}{}
@@ -240,7 +240,7 @@ comparison operations):
   \lineiii{float(\var{x})}{\var{x} converted to floating point}{}
   \lineiii{complex(\var{re},\var{im})}{a complex number with real part \var{re}, imaginary part \var{im}.  \var{im} defaults to zero.}{}
   \lineiii{\var{c}.conjugate()}{conjugate of the complex number \var{c}}{}
-  \lineiii{divmod(\var{x}, \var{y})}{the pair \code{(\var{x} / \var{y}, \var{x} \%{} \var{y})}}{(3)}
+  \lineiii{divmod(\var{x}, \var{y})}{the pair \code{(\var{x} / \var{y}, \var{x} \%{} \var{y})}}{(3)(4)}
   \lineiii{pow(\var{x}, \var{y})}{\var{x} to the power \var{y}}{}
   \lineiii{\var{x} ** \var{y}}{\var{x} to the power \var{y}}{}
 \end{tableiii}
@@ -273,6 +273,12 @@ for well-defined conversions.
 See section \ref{built-in-funcs}, ``Built-in Functions,'' for a full
 description.
 
+\item[(4)]
+Complex floor division operator, modulo operator, and \function{divmod()}.
+
+\deprecated{2.3}{Instead convert to float using \function{abs()}
+if appropriate.}
+
 \end{description}
 % XXXJH exceptions: overflow (when? what operations?) zerodivision
 
index 6e28fab7a42df740a01aaa8c3abf59a7fdaa6780..bcd1f262cc3a8e898e86fdae87eb51c7b7d19b6d 100644 (file)
@@ -689,7 +689,7 @@ The integer division and modulo operators are connected by the
 following identity: \code{x == (x/y)*y + (x\%y)}.  Integer division and
 modulo are also connected with the built-in function \function{divmod()}:
 \code{divmod(x, y) == (x/y, x\%y)}.  These identities don't hold for
-floating point and complex numbers; there similar identities hold
+floating point numbers; there similar identities hold
 approximately where \code{x/y} is replaced by \code{floor(x/y)}) or
 \code{floor(x/y) - 1} (for floats),\footnote{
     If x is very close to an exact integer multiple of y, it's
@@ -697,8 +697,13 @@ approximately where \code{x/y} is replaced by \code{floor(x/y)}) or
     \code{(x-x\%y)/y} due to rounding.  In such cases, Python returns
     the latter result, in order to preserve that \code{divmod(x,y)[0]
     * y + x \%{} y} be very close to \code{x}.
-} or \code{floor((x/y).real)} (for
-complex).
+}.
+
+Complex floor division operator, modulo operator, and
+\function{divmod()}.
+
+\deprecated{2.3}{Instead convert to float using \function{abs()}
+if appropriate.}
 
 The \code{+} (addition) operator yields the sum of its arguments.
 The arguments must either both be numbers or both sequences of the