add 2float<->long encoder/decoder
[org.ibex.util.git] / 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' };