This is the mail archive of the
mauve-patches@sourceware.org
mailing list for the Mauve project.
Re: Patch: FYI: add ulp tests
- From: Andrew John Hughes <A dot Hughes at dcs dot shef dot ac dot uk>
- To: tromey at redhat dot com
- Cc: mauve-patches at sources dot redhat dot com, classpath at gnu dot org
- Date: Tue, 07 Mar 2006 08:35:12 +0000
- Subject: Re: Patch: FYI: add ulp tests
- References: <m3irqraxov.fsf@localhost.localdomain>
- Reply-to: A dot Hughes at dcs dot shef dot ac dot uk
On Mon, 2006-03-06 at 17:46 -0700, Tom Tromey wrote:
> I'm checking this in.
>
> This adds some new tests for Math.ulp. I'll check in the
> implementation of these methods shortly.
>
> Tom
>
> 2006-03-06 Tom Tromey <tromey@redhat.com>
>
> * gnu/testlet/java/lang/Math/ulp.java: New file.
>
> Index: gnu/testlet/java/lang/Math/ulp.java
> ===================================================================
> RCS file: gnu/testlet/java/lang/Math/ulp.java
> diff -N gnu/testlet/java/lang/Math/ulp.java
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ gnu/testlet/java/lang/Math/ulp.java 1 Jan 1970 00:00:00 -0000
> @@ -0,0 +1,44 @@
> +/* ulp.java -- Test the ulp method
> + Copyright (C) 2006 Red Hat, Inc.
> +This file is part of Mauve.
> +
> +Mauve is free software; you can redistribute it and/or modify
> +it under the terms of the GNU General Public License as published by
> +the Free Software Foundation; either version 2, or (at your option)
> +any later version.
> +
> +Mauve is distributed in the hope that it will be useful, but
> +WITHOUT ANY WARRANTY; without even the implied warranty of
> +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +General Public License for more details.
> +
> +You should have received a copy of the GNU General Public License
> +along with Mauve; see the file COPYING. If not, write to the
> +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> +02110-1301 USA.
> +
> +*/
> +
> +// Tags: JDK1.5
> +
> +package gnu.testlet.java.lang.Math;
> +
> +import gnu.testlet.TestHarness;
> +import gnu.testlet.Testlet;
> +
> +public class ulp implements Testlet {
> +
> + public void test(TestHarness harness) {
> + harness.check(Math.ulp(0.0), Double.MIN_VALUE);
> + harness.check(Math.ulp(Double.NaN), Double.NaN);
> + harness.check(Math.ulp(Double.MAX_VALUE), Math.pow(2.0, 971));
> + harness.check(Math.ulp(Double.NEGATIVE_INFINITY), Double.POSITIVE_INFINITY);
> + harness.check(Math.ulp(Double.MIN_VALUE), Double.MIN_VALUE);
> +
> + harness.check(Math.ulp(0.0f), Float.MIN_VALUE);
> + harness.check(Math.ulp(Float.NaN), Float.NaN);
> + harness.check(Math.ulp(Float.MAX_VALUE), Math.pow(2.0, 104));
> + harness.check(Math.ulp(Float.NEGATIVE_INFINITY), Float.POSITIVE_INFINITY);
> + harness.check(Math.ulp(Float.MIN_VALUE), Float.MIN_VALUE);
> + }
> +}
Great -- I wasn't sure how to handle ulp. BTW, do you know how we
handle the StrictMath variants of these methods? They seem to be coded
in Java; presumably they are translations of the fdlibm methods, as the
same algorithms have to be used.
Thanks,
--
Andrew :-)
Department of Computer Science
University of Sheffield
Please avoid sending me Microsoft Office (e.g. Word, PowerPoint) attachments.
See http://www.fsf.org/philosophy/no-word-attachments.html
Support OpenDocument instead. http://opendocumentfellowship.org
Escape the Java Trap with GNU Classpath!
http://www.gnu.org/philosophy/java-trap.html
public class gcj extends Freedom implements Java { ... }
"Value your freedom, or you will lose it, teaches history.
`Don't bother us with politics' respond those who don't want to learn."
-- Richard Stallman
The views expressed above are representative of my own personal
opinions, and not necessarily those of the University of Sheffield.