Return-Path: Delivered-To: apmail-commons-dev-archive@www.apache.org Received: (qmail 11939 invoked from network); 2 Dec 2010 08:42:42 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 2 Dec 2010 08:42:42 -0000 Received: (qmail 89906 invoked by uid 500); 2 Dec 2010 08:42:42 -0000 Delivered-To: apmail-commons-dev-archive@commons.apache.org Received: (qmail 89618 invoked by uid 500); 2 Dec 2010 08:42:42 -0000 Mailing-List: contact dev-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Commons Developers List" Delivered-To: mailing list dev@commons.apache.org Received: (qmail 89610 invoked by uid 99); 2 Dec 2010 08:42:41 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Dec 2010 08:42:41 +0000 X-ASF-Spam-Status: No, hits=1.5 required=10.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of ted.dunning@gmail.com designates 74.125.82.171 as permitted sender) Received: from [74.125.82.171] (HELO mail-wy0-f171.google.com) (74.125.82.171) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Dec 2010 08:42:36 +0000 Received: by wyb38 with SMTP id 38so7842440wyb.30 for ; Thu, 02 Dec 2010 00:42:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:content-type; bh=nYSYxiyxcNH7ocHukpe91oBu5/Dhm7KaVGgbJYgXs5A=; b=Ez3AhRJLZcXPu1B3+tQ7r4w8JWMZE75p5CvesvK/Li5eReKobfN5w+P2aU4jl6wfHj UDETA4ZCo9gZHSM86tZScCY+bUQRMTc5S/P192u8bEhLu8W+sKkQyN/rvHcjYAGRvTqs wF+d+FBBFDRH0PlxRbCADZyAwh3630HgOBzh4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=RWfvVcihuYAAAfPPuuUs5qIrMkVzwtxWB7obac4vhAumYVwuQSa1IQ7kewFnlwbVwI asxb4l8xIm/sRlitv1AJHf/hhYJVDRV8DPJQFPmtaxTLvOS/iz/ouAUBwMV8wPHcrX8l ZXCH9JTgrh+6d1URBV9y1heSxLf1Ov6e0boU0= Received: by 10.216.240.75 with SMTP id d53mr9061027wer.4.1291279334214; Thu, 02 Dec 2010 00:42:14 -0800 (PST) MIME-Version: 1.0 Received: by 10.216.158.68 with HTTP; Thu, 2 Dec 2010 00:41:52 -0800 (PST) In-Reply-To: <20101202004205.GB16182@dusk.harfang.homelinux.org> References: <4CF68533.50003@free.fr> <20101201193119.GK10411@dusk.harfang.homelinux.org> <4CF6B76B.6090001@free.fr> <20101202004205.GB16182@dusk.harfang.homelinux.org> From: Ted Dunning Date: Thu, 2 Dec 2010 00:41:52 -0800 Message-ID: Subject: Re: [math] max evaluations in new root solvers To: Commons Developers List Content-Type: multipart/alternative; boundary=e0cb4e3853da05af030496696683 --e0cb4e3853da05af030496696683 Content-Type: text/plain; charset=UTF-8 I think that the suggestion is to preserve the old signatures in 3.0, but have them not only be deprecated but also throw an error. This is an incompatible change that can't really be done in a point release. Simply removing the old signatures makes it harder to track down the problem. Preserving the old signatures for error trapping only allows precise error feedback of the form "We told you not to do this in 2.2, now we mean it!". I think that that suggestion to preserve the old signature for error trapping is an excellent one. It doesn't need to be done forever and removing the error throwing variants needn't be considered an API change. On Wed, Dec 1, 2010 at 4:42 PM, Gilles Sadowski < gilles@harfang.homelinux.org> wrote: > > > In order to avoid nasty surprises, what about having these "old" > > > constructors deprecated and throw a "MathUnsupportedOperationException" > in > > > 3.0 and remove them in 3.x? [This is an incompatible change but the > > > exception throwing will make it sure that nobody can actually depend on > this > > > constructor.] > > > > No, we can deprecate them as early as 2.2 and remove them in 3.0, just > > as the other changes we already did. > > But... in 2.2, the new code (contructors with 2 tolerances as parameters) > does not exist, and in 3.0, the old code (constructor with a > "maxIterations" > and tolerance parameters) does not exist. > So indeed, this former constructor should be deprecated (in 2.2) but there > is nothing to remove (in 3.0). And still, code that uses the old interface > with the new library will fail, as you described. [Or I didn't understand > what the problem is, or the proposed solution...] --e0cb4e3853da05af030496696683--