From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mark H Weaver Newsgroups: gmane.lisp.guile.devel Subject: Re: NEWS for 1.9.15 -> 2.0.0 Date: Tue, 15 Feb 2011 05:08:05 -0500 Message-ID: <87r5b96262.fsf@netris.org> References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1297764946 2972 80.91.229.12 (15 Feb 2011 10:15:46 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 15 Feb 2011 10:15:46 +0000 (UTC) Cc: guile-devel To: Andy Wingo Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Feb 15 11:15:41 2011 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PpHwY-0007DD-6x for guile-devel@m.gmane.org; Tue, 15 Feb 2011 11:15:38 +0100 Original-Received: from localhost ([127.0.0.1]:50129 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PpHu0-00045R-6f for guile-devel@m.gmane.org; Tue, 15 Feb 2011 05:13:00 -0500 Original-Received: from [140.186.70.92] (port=46219 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PpHpN-00025K-VT for guile-devel@gnu.org; Tue, 15 Feb 2011 05:08:16 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PpHpM-00036V-EX for guile-devel@gnu.org; Tue, 15 Feb 2011 05:08:13 -0500 Original-Received: from world.peace.net ([216.204.32.208]:58810) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PpHpM-000363-96 for guile-devel@gnu.org; Tue, 15 Feb 2011 05:08:12 -0500 Original-Received: from ip68-9-118-38.ri.ri.cox.net ([68.9.118.38] helo=freedomincluded) by world.peace.net with esmtpa (Exim 4.69) (envelope-from ) id 1PpHpG-0006DR-Td; Tue, 15 Feb 2011 05:08:07 -0500 Original-Received: from mhw by freedomincluded with local (Exim 4.69) (envelope-from ) id 1PpHpF-0001WG-5e; Tue, 15 Feb 2011 05:08:05 -0500 In-Reply-To: (Andy Wingo's message of "Tue, 15 Feb 2011 09:27:12 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 216.204.32.208 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:11633 Archived-At: Andy Wingo wrote: > I was thinking that for 2.0, the NEWS that we would post would be > cumulative: all the changes of note that a user of 1.8 will see when > upgrading to 2.0. Here is a combined NEWS entry for the new division operators. Mark ** Added new number-theoretic division operators Added six new sets of fast quotient and remainder operators with different semantics than the R5RS operators. They support not only integers, but all reals, including exact rationals and inexact floating point numbers. These procedures accept two real numbers N and D, where the divisor D must be non-zero. Each set of operators computes an integer quotient Q and a real remainder R such that N = Q*D + R and |R| < |D|. Four sets are defined in terms of the rounding mode used to choose the integer Q near N/D, and two are defined in terms of the allowable range of R. `floor-quotient' and `floor-remainder' compute Q and R, respectively, where Q has been rounded toward negative infinity. `floor/' returns both Q and R, and is more efficient than computing each separately. Note that when applied to integers, `floor-remainder' is equivalent to the R5RS integer-only `modulo' operator. `ceiling-quotient', `ceiling-remainder', and `ceiling/' are similar except that Q is rounded toward positive infinity. For `truncate-quotient', `truncate-remainder', and `truncate/', Q is rounded toward zero. Note that when applied to integers, `truncate-quotient' and `truncate-remainder' are equivalent to the R5RS integer-only operators `quotient' and `remainder'. For `round-quotient', `round-remainder', and `round/', Q is rounded to the nearest integer, with ties going to the nearest even integer. `euclidean-quotient', `euclidean-remainder', and `euclidean/' are defined by the constraint 0 <= R < |D|. They are equivalent to the R6RS operators `div', `mod', and `div-and-mod'. `centered-quotient', `centered-remainder', and `centered/' are defined by the constraint -|D/2| <= R < |D/2|. They are equivalent to the R6RS operators `div0', `mod0', and `div-and-mod0'.