add 2float<->long encoder/decoder
authoradam <adam@megacz.com>
Fri, 28 Jan 2005 18:27:57 +0000 (18:27 +0000)
committeradam <adam@megacz.com>
Fri, 28 Jan 2005 18:27:57 +0000 (18:27 +0000)
darcs-hash:20050128182757-5007d-39cd7493312732053a246a8608247b0536b518d4.gz

src/org/ibex/util/Encode.java

index ad53c33..26522d7 100644 (file)
@@ -14,6 +14,12 @@ import java.util.zip.GZIPOutputStream;
  *  @author adam@ibex.org
  */
 public final class Encode {
+
+    public static long twoFloatsToLong(float a, float b) {
+        return ((Float.floatToIntBits(a) & 0xffffffffL) << 32) | (Float.floatToIntBits(b) & 0xffffffffL); }
+    public static float longToFloat1(long l) { return Float.intBitsToFloat((int)(l >> 32)); }
+    public static float longToFloat2(long l) { return Float.intBitsToFloat((int)(l & 0xffffffff)); }
+
     private static final char[] fn =
         new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };