public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
From: tthomas@sourceware.org
To: frysk-cvs@sourceware.org
Subject: [SCM]  master: Delete BigFloat.
Date: Thu, 17 Jan 2008 21:39:00 -0000	[thread overview]
Message-ID: <20080117213915.15492.qmail@sourceware.org> (raw)

The branch, master has been updated
       via  6de3d6b5f2a17f4db1c82ea6c217b16117a0cf8c (commit)
      from  33a27f5819580a5e4d175f908fc9ed9a18b5ec3e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 6de3d6b5f2a17f4db1c82ea6c217b16117a0cf8c
Author: Teresa <tthomas@redhat.com>
Date:   Thu Jan 17 16:36:33 2008 -0500

    Delete BigFloat.
    
    frysk-core/frysk/value/ChangeLog
    2008-01-17  Teresa Thomas  <tthomas@redhat.com>
    
    	* BigFloat.java: Delete.
    	* TestBigFloat.java: Delete.
    	* ArithmeticType.java (getBigFloat): Delete.
    	(bigFloatValue): Delete.
    	* IntegerType.java (getBigFloat): Delete.
    	(bigFloatValue): Delete.
    	* FloatingPointType.java (getBigFloat): Delete.
    	(bigFloatValue): Delete.
    	* TestIntegerType.java (testBigFloatValue): Update.
    	* TestFormat.java (checkFormat): Update.

-----------------------------------------------------------------------

Summary of changes:
 frysk-core/frysk/value/ArithmeticType.java    |   10 --
 frysk-core/frysk/value/BigFloat.java          |   98 ------------------
 frysk-core/frysk/value/ChangeLog              |   13 +++-
 frysk-core/frysk/value/FloatingPointType.java |   11 --
 frysk-core/frysk/value/IntegerType.java       |    7 --
 frysk-core/frysk/value/TestBigFloat.java      |  132 -------------------------
 frysk-core/frysk/value/TestFloatingPoint.java |    8 +-
 frysk-core/frysk/value/TestFormat.java        |    4 +-
 frysk-core/frysk/value/TestIntegerType.java   |    3 +-
 9 files changed, 20 insertions(+), 266 deletions(-)
 delete mode 100644 frysk-core/frysk/value/BigFloat.java
 delete mode 100644 frysk-core/frysk/value/TestBigFloat.java

First 500 lines of diff:
diff --git a/frysk-core/frysk/value/ArithmeticType.java b/frysk-core/frysk/value/ArithmeticType.java
index 0dadf8a..170bac7 100644
--- a/frysk-core/frysk/value/ArithmeticType.java
+++ b/frysk-core/frysk/value/ArithmeticType.java
@@ -121,11 +121,6 @@ public abstract class ArithmeticType
     abstract BigInteger getBigInteger(Location location);
     /**
      * Return the entire location, interpreting the raw bytes as a
-     * floating-point value.  This does not do type-conversion.
-     */
-    abstract BigFloat getBigFloat(Location location);
-    /**
-     * Return the entire location, interpreting the raw bytes as a
      * floating-point value.  
      */
     abstract BigFloatingPoint getBigFloatingPoint(Location location);
@@ -146,9 +141,4 @@ public abstract class ArithmeticType
      * involve truncation and/or rounding.
      */
     abstract BigInteger bigIntegerValue(Location location);
-    /**
-     * Return the arthmetic type converted to a BigFloat, this may
-     * involve truncation and/or rounding.
-     */
-    abstract BigFloat bigFloatValue(Location location);
 }
diff --git a/frysk-core/frysk/value/BigFloat.java b/frysk-core/frysk/value/BigFloat.java
deleted file mode 100644
index 6f2a424..0000000
--- a/frysk-core/frysk/value/BigFloat.java
+++ /dev/null
@@ -1,98 +0,0 @@
-// This file is part of the program FRYSK.
-//
-// Copyright 2007, Red Hat Inc.
-//
-// FRYSK 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; version 2 of the License.
-//
-// FRYSK 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 FRYSK; if not, write to the Free Software Foundation,
-// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-// 
-// In addition, as a special exception, Red Hat, Inc. gives You the
-// additional right to link the code of FRYSK with code not covered
-// under the GNU General Public License ("Non-GPL Code") and to
-// distribute linked combinations including the two, subject to the
-// limitations in this paragraph. Non-GPL Code permitted under this
-// exception must only link to the code of FRYSK through those well
-// defined interfaces identified in the file named EXCEPTION found in
-// the source code files (the "Approved Interfaces"). The files of
-// Non-GPL Code may instantiate templates or use macros or inline
-// functions from the Approved Interfaces without causing the
-// resulting work to be covered by the GNU General Public
-// License. Only Red Hat, Inc. may make changes or additions to the
-// list of Approved Interfaces. You must obey the GNU General Public
-// License in all respects for all of the FRYSK code and other code
-// used in conjunction with FRYSK except the Non-GPL Code covered by
-// this exception. If you modify this file, you may extend this
-// exception to your version of the file, but you are not obligated to
-// do so. If you do not wish to provide this exception without
-// modification, you must delete this exception statement from your
-// version and license this file solely under the GPL without
-// exception.
-
-package frysk.value;
-
-import java.math.BigInteger;
-
-/**
- * Type a "portable" floating-point type.
- *
- * This is currently implemented as a quick hack using "double".
- */
-public class BigFloat
-{
-    /**
-     * Underlying value.  Delay conversion until the target value is
-     * known so that rounding and truncation errors don't come in to
-     * play when needed.
-     */
-    private final Number value;
-    /**
-     * Create a BigFloat by converting the big-integer to
-     * floating-point; may involve rounding.
-     */
-    BigFloat(BigInteger value) {
-	this.value = value;
-    }
-    /**
-     * Create a BigFloat from the big-endian raw bytes; if the byte
-     * buffer isn't exactly 4 or 8 bytes, the value will be truncated
-     * to fit.
-     */
-    BigFloat(byte[] bytes) {
-	BigInteger b = new BigInteger(bytes);
-	if (bytes.length < 8)
-	    value = new Float(Float.intBitsToFloat(b.intValue()));
-	else
-	    value = new Double(Double.longBitsToDouble(b.longValue()));
-    }
-    BigInteger bigIntegerValue() {
-	return BigInteger.valueOf(value.longValue());
-    }
-    double doubleValue() {
-	return value.doubleValue();
-    }
-    float floatValue() {
-	return value.floatValue();
-    }
-
-    byte[] toByteArray(int size) {
-	switch (size) {
-	case 4:
-	    return BigInteger.valueOf(Float.floatToRawIntBits(value.floatValue()))
-		.toByteArray();
-	case 8:
-	    return BigInteger.valueOf(Double.doubleToRawLongBits(value.doubleValue()))
-		.toByteArray();
-	default:
-	    return new byte[0];
-	}
-    }
-}
diff --git a/frysk-core/frysk/value/ChangeLog b/frysk-core/frysk/value/ChangeLog
index 143e9fe..9a5615e 100644
--- a/frysk-core/frysk/value/ChangeLog
+++ b/frysk-core/frysk/value/ChangeLog
@@ -1,5 +1,16 @@
 2008-01-17  Teresa Thomas  <tthomas@redhat.com>
 
+	* BigFloat.java: Delete.
+	* TestBigFloat.java: Delete.
+	* ArithmeticType.java (getBigFloat): Delete.
+	(bigFloatValue): Delete.
+	* IntegerType.java (getBigFloat): Delete.
+	(bigFloatValue): Delete.
+	* FloatingPointType.java (getBigFloat): Delete.
+	(bigFloatValue): Delete.
+	* TestIntegerType.java (testBigFloatValue): Update.
+	* TestFormat.java (checkFormat): Update.	
+
 	* Value.java (asBigFloatingPoint): New.
 	(doubleValue): Use BigFloatingPoint.
 	* IntegerType.java (getBigFloatingPoint): New.
@@ -8,7 +19,7 @@
 	(bigFloatingPointValue): New.
 	(assign): Use BigFloatingPoint.
 	* ArithmeticType.java (getBigFloatingPoint): New
-	(bigFloatingPointValue): New.
+	(bigFloatingPointValue): New. 
 	* Format.java (printFloatingPoint): Use BigFloatingPoint.
 	
 	* FloatingPointFormat.java: New.
diff --git a/frysk-core/frysk/value/FloatingPointType.java b/frysk-core/frysk/value/FloatingPointType.java
index 55123c7..88ad4df 100644
--- a/frysk-core/frysk/value/FloatingPointType.java
+++ b/frysk-core/frysk/value/FloatingPointType.java
@@ -92,14 +92,6 @@ public class FloatingPointType
     void putBigInteger(Location location, BigInteger val) {
 	location.put(order(), val.toByteArray(), 0);
     }
-
-    BigFloat getBigFloat(Location location) {
-	return new BigFloat(location.get(order()));
-    }
-
-    BigFloat bigFloatValue(Location location) {
-	return getBigFloat(location);
-    }
    
     BigFloatingPoint getBigFloatingPoint(Location location) {
     	return format.unpack(location.get(order()));
@@ -114,9 +106,6 @@ public class FloatingPointType
     }
 
     void assign(Location location, Value v) {
-//    	BigFloat f = ((ArithmeticType)v.getType())
-//    	.bigFloatValue(v.getLocation());
-//    	location.put(order(), f.toByteArray(getSize()), 0);
     	BigFloatingPoint f = ((FloatingPointType)v.getType()).bigFloatingPointValue(v.getLocation());
     	location.put(order(), format.pack(f, getSize()), 0);
     }
diff --git a/frysk-core/frysk/value/IntegerType.java b/frysk-core/frysk/value/IntegerType.java
index 37a6f97..1cf7b48 100644
--- a/frysk-core/frysk/value/IntegerType.java
+++ b/frysk-core/frysk/value/IntegerType.java
@@ -60,16 +60,9 @@ public abstract class IntegerType
 	format.print(writer, location, this);
     }
 
-    BigFloat getBigFloat(Location location) {
-	return new BigFloat(location.get(order()));
-    }
-
     BigInteger bigIntegerValue(Location location) {
 	return getBigInteger(location);
     }
-    BigFloat bigFloatValue(Location location) {
-	return new BigFloat(getBigInteger(location));
-    }
     
     BigFloatingPoint getBigFloatingPoint(Location location) {
     	return new BigFloatingPoint(bigIntegerValue(location));
diff --git a/frysk-core/frysk/value/TestBigFloat.java b/frysk-core/frysk/value/TestBigFloat.java
deleted file mode 100644
index dd1bf45..0000000
--- a/frysk-core/frysk/value/TestBigFloat.java
+++ /dev/null
@@ -1,132 +0,0 @@
-// This file is part of the program FRYSK.
-//
-// Copyright 2007, Red Hat Inc.
-//
-// FRYSK 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; version 2 of the License.
-//
-// FRYSK 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 FRYSK; if not, write to the Free Software Foundation,
-// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-// 
-// In addition, as a special exception, Red Hat, Inc. gives You the
-// additional right to link the code of FRYSK with code not covered
-// under the GNU General Public License ("Non-GPL Code") and to
-// distribute linked combinations including the two, subject to the
-// limitations in this paragraph. Non-GPL Code permitted under this
-// exception must only link to the code of FRYSK through those well
-// defined interfaces identified in the file named EXCEPTION found in
-// the source code files (the "Approved Interfaces"). The files of
-// Non-GPL Code may instantiate templates or use macros or inline
-// functions from the Approved Interfaces without causing the
-// resulting work to be covered by the GNU General Public
-// License. Only Red Hat, Inc. may make changes or additions to the
-// list of Approved Interfaces. You must obey the GNU General Public
-// License in all respects for all of the FRYSK code and other code
-// used in conjunction with FRYSK except the Non-GPL Code covered by
-// this exception. If you modify this file, you may extend this
-// exception to your version of the file, but you are not obligated to
-// do so. If you do not wish to provide this exception without
-// modification, you must delete this exception statement from your
-// version and license this file solely under the GPL without
-// exception.
-
-package frysk.value;
-
-import java.math.BigInteger;
-import frysk.junit.TestCase;
-
-/**
- * Type a "portable" floating-point type.
- *
- * This is currently implemented as a quick hack using "double".
- */
-public class TestBigFloat
-    extends TestCase
-{
-    /**
-     * Pass when CORRECT is exactly (i.e., bitwize) equal to TEST.
-     */
-    static void checkEquals(String what, double correct, double test) {
-	if (Double.doubleToRawLongBits(correct)
-	    != Double.doubleToRawLongBits(test)) {
-	    fail(what
-		 + ": expected <" + correct + ">"
-		 + " got <" + test + ">");
-	}
-    }
-
-    static final byte[] FLOAT_HALF = new byte[] {
-	0x3f, 0x00, 0x00, 0x00
-    };
-    static final byte[] FLOAT_NEGATIVE_ZERO = new byte[] {
-	(byte)0x80, 0x00, 0x00, 0x00
-    };
-    static final byte[] FLOAT_POSITIVE_ZERO = new byte[] {
-	0x00, 0x00, 0x00, 0x00
-    };
-    static final byte[] FLOAT_ONE = new byte[] {
-	0x3f, (byte)0x80, 0x00, 0x00
-    };
-    static final byte[] FLOAT_TWO = new byte[] {
-	0x40, 0x00, 0x00, 0x00
-    };
-
-    static final byte[] DOUBLE_HALF = new byte[] {
-	0x3f, (byte)0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-    };
-    static final byte[] DOUBLE_NEGATIVE_ZERO = new byte[] {
-	(byte)0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-    };
-    static final byte[] DOUBLE_POSITIVE_ZERO = new byte[] {
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-    };
-    static final byte[] DOUBLE_ONE = new byte[] {
-	0x3f, (byte)0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-    };
-    static final byte[] DOUBLE_TWO = new byte[] {
-	0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-    };
-
-    public void testFromBigInt() {
-	BigFloat f = new BigFloat(new BigInteger(new byte[] { 1 }));
-	checkEquals("float", 1.0, f.doubleValue());
-    }
-
-    public void testFromBytes() {
-	checkEquals("float .5", 0.5,
-		     new BigFloat(FLOAT_HALF).doubleValue());
-	checkEquals("float -0", -0.0,
-		     new BigFloat(FLOAT_NEGATIVE_ZERO).doubleValue());
-	checkEquals("float +0", +0.0,
-		     new BigFloat(FLOAT_POSITIVE_ZERO).doubleValue());
-	checkEquals("float 1", 1.0,
-		     new BigFloat(FLOAT_ONE).doubleValue());
-	checkEquals("float 2", 2.0,
-		     new BigFloat(FLOAT_TWO).doubleValue());
-
-	checkEquals("double .5", 0.5,
-		     new BigFloat(DOUBLE_HALF).doubleValue());
-	checkEquals("double -0", -0.0,
-		     new BigFloat(DOUBLE_NEGATIVE_ZERO).doubleValue());
-	checkEquals("double +0", +0.0,
-		     new BigFloat(DOUBLE_POSITIVE_ZERO).doubleValue());
-	checkEquals("double 1", 1.0,
-		     new BigFloat(DOUBLE_ONE).doubleValue());
-	checkEquals("double 2", 2.0,
-		     new BigFloat(DOUBLE_TWO).doubleValue());
-    }
-
-    public void testToByteArray() {
-	assertEquals("float to double", DOUBLE_ONE,
-		     new BigFloat(FLOAT_ONE).toByteArray(8));
-	assertEquals("double to float", FLOAT_ONE,
-		     new BigFloat(DOUBLE_ONE).toByteArray(4));
-    }
-}
diff --git a/frysk-core/frysk/value/TestFloatingPoint.java b/frysk-core/frysk/value/TestFloatingPoint.java
index ac8a857..5bee28c 100644
--- a/frysk-core/frysk/value/TestFloatingPoint.java
+++ b/frysk-core/frysk/value/TestFloatingPoint.java
@@ -50,13 +50,13 @@ public class TestFloatingPoint
 {
     public void testBigIntegerValue() {
 	FloatingPointType t = new FloatingPointType("type", ByteOrder.BIG_ENDIAN, 4);
-	Location l = new ScratchLocation(TestBigFloat.FLOAT_ONE);
+	Location l = new ScratchLocation(TestFloatingPoint854Format.FLOAT_ONE);
 	assertEquals("float", 1, t.bigIntegerValue(l).longValue());
     }
     public void testBigFloatValue() {
 	FloatingPointType t = new FloatingPointType("type", ByteOrder.BIG_ENDIAN, 4);
-	Location l = new ScratchLocation(TestBigFloat.FLOAT_ONE);
-	TestBigFloat.checkEquals("float", 1.0,
-				 t.bigFloatValue(l).doubleValue());
+	Location l = new ScratchLocation(TestFloatingPoint854Format.FLOAT_ONE);
+	TestFloatingPoint854Format.checkEquals("float", new BigFloatingPoint("1.0"),
+			                       t.bigFloatingPointValue(l));
     }
 }
diff --git a/frysk-core/frysk/value/TestFormat.java b/frysk-core/frysk/value/TestFormat.java
index f09fda7..54030c9 100644
--- a/frysk-core/frysk/value/TestFormat.java
+++ b/frysk-core/frysk/value/TestFormat.java
@@ -91,9 +91,9 @@ public class TestFormat
 	checkInteger(format, new byte[] {
 			 (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff
 		     }, uint_t, u);
-	checkFloatingPoint(format, TestBigFloat.FLOAT_ONE,
+	checkFloatingPoint(format, TestFloatingPoint854Format.FLOAT_ONE,
 			   float_t, f);
-	checkFloatingPoint(format, TestBigFloat.DOUBLE_TWO,
+	checkFloatingPoint(format, TestFloatingPoint854Format.DOUBLE_TWO,
 			   double_t, d);
 	checkPointer(format, new byte[] {
 			 1, 2, 3, 4
diff --git a/frysk-core/frysk/value/TestIntegerType.java b/frysk-core/frysk/value/TestIntegerType.java
index 64c90e3..6db4210 100644
--- a/frysk-core/frysk/value/TestIntegerType.java
+++ b/frysk-core/frysk/value/TestIntegerType.java
@@ -192,7 +192,8 @@ public class TestIntegerType
     public void testBigFloatValue() {
 	IntegerType t = new SignedType("type", ByteOrder.BIG_ENDIAN, 1);
 	Location l = new ScratchLocation(new byte[] { 1 });
-	TestBigFloat.checkEquals("1", 1.0, t.bigFloatValue(l).doubleValue());
+	TestFloatingPoint854Format.checkEquals("1", new BigFloatingPoint("1.0"), 
+			                       t.bigFloatingPointValue(l));
     }
     public void testBigIntegerValue() {
 	IntegerType t = new SignedType("type", ByteOrder.BIG_ENDIAN, 1);


hooks/post-receive
--
frysk system monitor/debugger


                 reply	other threads:[~2008-01-17 21:39 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080117213915.15492.qmail@sourceware.org \
    --to=tthomas@sourceware.org \
    --cc=frysk-cvs@sourceware.org \
    --cc=frysk@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).