From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15761 invoked by alias); 24 May 2006 02:09:36 -0000 Received: (qmail 15232 invoked by uid 22791); 24 May 2006 02:09:34 -0000 X-Spam-Check-By: sourceware.org Received: from iron2.midco.net (HELO iron2.midco.net) (24.220.0.72) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 24 May 2006 02:09:27 +0000 Received: from host-9-198-9-69.midco.net (HELO gforge.velo.localdomain) ([69.9.198.9]) by iron2.midco.net with ESMTP; 23 May 2006 21:09:23 -0500 X-BrightmailFiltered: true X-IronPort-AV: i="4.05,163,1146459600"; d="scan'208"; a="392799100:sNHT24356885" From: Lowell Johnson To: gsl-discuss@sourceware.org Subject: Re: cvs version: make check FAIL Date: Wed, 24 May 2006 06:42:00 -0000 User-Agent: KMail/1.8.2 Cc: Giulio Bottazzi , gsl-discuss References: <20060524000329.8cb0b5c2.giulio.bottazzi@libero.it> In-Reply-To: <20060524000329.8cb0b5c2.giulio.bottazzi@libero.it> MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_PB8cEJSbCEIq3jx" Message-ID: <200605232109.19532.ldj00@sio.midco.net> Mailing-List: contact gsl-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gsl-discuss-owner@sourceware.org X-SW-Source: 2006-q2/txt/msg00063.txt.bz2 Message-ID: <20060524064200.aljWWh8pJSepEhS5nNaFvUsaEjvyj_Le7KKN3hXBfIc@z> --Boundary-00=_PB8cEJSbCEIq3jx Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 1145 On Tuesday 23 May 2006 05:03 pm, Giulio Bottazzi wrote: > Hi, > the following is obtained with make check on AMD64 > > make[2]: Entering directory `/usr/local/gsl/specfunc' > FAIL: gsl_sf_mathieu_c(0, 10.0, 0.0, &r) [2146] > expected: 0.007626517570935782 > obtained: 0.007626517570935777 1.693427080992244e-18 2.22045e-16 > fracdiff: 3.411891718287791e-16 > value/expected not consistent within reported error > 0.00762651757093577715 1.69342708099224407e-18 [snip additional Mathieu function test failures] Hi Giulio, It looks like I set the computed error tolerances too tight for cases where the absolute value of the result is less than 1. I've attached a patch to the specfunc directory that works for me. The Mathieu functions are new to the trunk, and I've only tested on AMD Athlon. Hopefully a thorough testing on multiple architectures will identify any additional issues. Thanks. Lowell -- Lowell D. Johnson Linux: Bringing stability, security, and freedom to home and business computing since 1991. www.linux.org Free and Open Source Software: Of the people, by the people, for the people. --Boundary-00=_PB8cEJSbCEIq3jx Content-Type: text/x-diff; charset="iso-8859-1"; name="mathieu.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="mathieu.patch" Content-length: 2027 Index: mathieu_angfunc.c =================================================================== RCS file: /cvs/gsl/gsl/specfunc/mathieu_angfunc.c,v retrieving revision 1.1 diff -u -r1.1 mathieu_angfunc.c --- mathieu_angfunc.c 18 Apr 2006 17:59:46 -0000 1.1 +++ mathieu_angfunc.c 24 May 2006 01:52:53 -0000 @@ -54,7 +54,9 @@ fn = cos(order*zz)/norm; result->val = fn; - result->err = GSL_DBL_EPSILON*fabs(fn); + result->err = 2.0*GSL_DBL_EPSILON; + if (fabs(fn) > 1.0) + result->err *= fabs(fn); return GSL_SUCCESS; } @@ -97,7 +99,9 @@ fn /= norm; result->val = fn; - result->err = GSL_DBL_EPSILON*fabs(fn); + result->err = 2.0*GSL_DBL_EPSILON; + if (fabs(fn) > 1.0) + result->err *= fabs(fn); return GSL_SUCCESS; } @@ -126,7 +130,9 @@ fn = sin(order*zz); result->val = fn; - result->err = GSL_DBL_EPSILON*fabs(fn); + result->err = 2.0*GSL_DBL_EPSILON; + if (fabs(fn) > 1.0) + result->err *= fabs(fn); return GSL_SUCCESS; } @@ -167,7 +173,9 @@ fn /= norm; result->val = fn; - result->err = GSL_DBL_EPSILON*fabs(fn); + result->err = 2.0*GSL_DBL_EPSILON; + if (fabs(fn) > 1.0) + result->err *= fabs(fn); return GSL_SUCCESS; } Index: mathieu_radfunc.c =================================================================== RCS file: /cvs/gsl/gsl/specfunc/mathieu_radfunc.c,v retrieving revision 1.1 diff -u -r1.1 mathieu_radfunc.c --- mathieu_radfunc.c 18 Apr 2006 17:59:46 -0000 1.1 +++ mathieu_radfunc.c 24 May 2006 01:52:54 -0000 @@ -141,7 +141,9 @@ } result->val = fn; - result->err = GSL_DBL_EPSILON*fabs(fn); + result->err = 2.0*GSL_DBL_EPSILON; + if (fabs(fn) > 1.0) + result->err *= fabs(fn); return GSL_SUCCESS; } @@ -268,7 +270,9 @@ } result->val = fn; - result->err = GSL_DBL_EPSILON*fabs(fn); + result->err = 2.0*GSL_DBL_EPSILON; + if (fabs(fn) > 1.0) + result->err *= fabs(fn); return GSL_SUCCESS; } --Boundary-00=_PB8cEJSbCEIq3jx--