reformat benchmark source codes to meet the requirements of the annotation generation.
authoryeom <yeom>
Mon, 13 Aug 2012 02:07:08 +0000 (02:07 +0000)
committeryeom <yeom>
Mon, 13 Aug 2012 02:07:08 +0000 (02:07 +0000)
67 files changed:
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/BitReserve.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/Bitstream.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/BitstreamErrors.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/BitstreamException.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/Crc16.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/DataParse.java [deleted file]
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/Decoder.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/DecoderErrors.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/DecoderException.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/Equalizer.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/FrameDecoder.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/Header.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/HuffData.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/InputStreamSource.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/JavaLayerError.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/JavaLayerErrors.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/JavaLayerException.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/JavaLayerHook.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/JavaLayerUtils.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/LATTICE.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/LayerIDecoder.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/LayerIIDecoder.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/LayerIIIDecoder.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/METHODDEFAULT.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/Manager.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/Obuffer.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/OutputChannels.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/Player.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/SampleBuffer.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/SampleBufferWrapper.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/SideInfoBuffer.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/Source.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/Subband.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/SynthesisFilter.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/huffcodetab.java
Robust/src/Benchmarks/SSJava/MP3DecoderInfer/infer/makefile [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/BufferedInputStream.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/ByteArrayInputStream.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/Character.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/Cloneable.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/Double.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/Enumeration.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/Exception.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/File.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/FileDescriptor.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/FileInputStream.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/FileOutputStream.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/FilterInputStream.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/FilterOutputStream.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/Float.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/IOException.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/InputStream.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/Integer.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/Long.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/Math.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/Number.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/Object.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/OutputStream.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/PrintStream.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/PushbackInputStream.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/Random.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/SSJAVA.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/String.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/StringBuffer.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/System.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/Throwable.java [new file with mode: 0644]
Robust/src/ClassLibrary/SSJavaInfer/Vector.java [new file with mode: 0644]

index eb54d96..49d62af 100644 (file)
@@ -38,7 +38,6 @@
 // REVIEW: there is no range checking, so buffer underflow or overflow\r
 // can silently occur.\r
 \r
-\r
 final class BitReserve {\r
   /**\r
    * Size of the internal buffer to store the reserved bits. Must be a power of\r
@@ -52,16 +51,12 @@ final class BitReserve {
    */\r
   private static final int BUFSIZE_MASK = BUFSIZE - 1;\r
 \r
-  \r
   private int offset;\r
 \r
-  \r
   public int totbit;\r
 \r
-  \r
   public int buf_byte_idx;\r
 \r
-  \r
   private final int[] buf;\r
 \r
   BitReserve() {\r
@@ -74,7 +69,7 @@ final class BitReserve {
   /**\r
    * Return totbit Field.\r
    */\r
-  \r
+\r
   public int hsstell() {\r
     return (totbit);\r
   }\r
@@ -85,13 +80,13 @@ final class BitReserve {
    * @param N\r
    *          the number of\r
    */\r
-  public int hgetbits( int N) {\r
+  public int hgetbits(int N) {\r
 \r
     totbit += N;\r
 \r
-     int val = 0;\r
+    int val = 0;\r
 \r
-     int pos = buf_byte_idx;\r
+    int pos = buf_byte_idx;\r
     if (pos + N < BUFSIZE) {\r
       TERMINATE: while (N-- > 0) {\r
         val <<= 1;\r
@@ -116,10 +111,10 @@ final class BitReserve {
    * \r
    * @returns 0 if next bit is reset, or 1 if next bit is set.\r
    */\r
-  \r
+\r
   public int hget1bit() {\r
     totbit++;\r
-     int val = buf[buf_byte_idx];\r
+    int val = buf[buf_byte_idx];\r
     buf_byte_idx = (buf_byte_idx + 1) & BUFSIZE_MASK;\r
     return val;\r
   }\r
@@ -127,9 +122,9 @@ final class BitReserve {
   /**\r
    * Write 8 bits into the bit stream.\r
    */\r
-  \r
-  public void hputbuf( int val) {\r
-     int ofs = offset;\r
+\r
+  public void hputbuf(int val) {\r
+    int ofs = offset;\r
     buf[ofs++] = val & 0x80;\r
     buf[ofs++] = val & 0x40;\r
     buf[ofs++] = val & 0x20;\r
@@ -149,7 +144,7 @@ final class BitReserve {
   /**\r
    * Rewind N bits in Stream.\r
    */\r
-  public void rewindNbits( int N) {\r
+  public void rewindNbits(int N) {\r
     totbit -= N;\r
     buf_byte_idx -= N;\r
     if (buf_byte_idx < 0)\r
@@ -159,9 +154,9 @@ final class BitReserve {
   /**\r
    * Rewind N bytes in Stream.\r
    */\r
-  \r
-  public void rewindNbytes( int N) {\r
-     int bits = (N << 3);\r
+\r
+  public void rewindNbytes(int N) {\r
+    int bits = (N << 3);\r
     totbit -= bits;\r
     buf_byte_idx -= bits;\r
     if (buf_byte_idx < 0)\r
index 5bb23eb..ce88b15 100644 (file)
  * This should be moved into this class and associated inner classes.
  */
 
-
 public final class Bitstream implements BitstreamErrors {
   /**
    * Synchronization control constant for the initial synchronization to the
    * start of a frame.
    */
-  
+
   static byte INITIAL_SYNC = 0;
 
   /**
    * Synchronization control constant for non-initial frame synchronizations.
    */
 
-  
   static byte STRICT_SYNC = 1;
 
   // max. 1730 bytes per frame: 144 * 384kbit/s / 32000 Hz + 2 Bytes CRC
   /**
    * Maximum size of the frame buffer.
    */
-  
+
   private static final int BUFFER_INT_SIZE = 433;
 
   /**
    * The frame buffer that holds the data for the current frame.
    */
-  
+
   private final int[] framebuffer = new int[BUFFER_INT_SIZE];
 
   /**
    * Number of valid bytes in the frame buffer.
    */
-  
+
   private int framesize;
 
   /**
    * The bytes read from the stream.
    */
-  
+
   private byte[] frame_bytes = new byte[BUFFER_INT_SIZE * 4];
 
   /**
    * Index into <code>framebuffer</code> where the next bits are retrieved.
    */
-  
+
   private int wordpointer;
 
   /**
    * Number (0-31, from MSB to LSB) of next bit for get_bits()
    */
-  
+
   private int bitindex;
 
   /**
    * The current specified syncword
    */
-  
+
   private int syncword;
 
   /**
    * Audio header position in stream.
    */
-  
+
   private int header_pos = 0;
 
   /**
       *
       */
-  
+
   private boolean single_ch_mode;
   // private int current_frame_number;
   // private int last_frame_number;
 
-  
-  private final int bitmask[] = {
-      0, // dummy
-      0x00000001, 0x00000003, 0x00000007, 0x0000000F, 0x0000001F, 0x0000003F, 0x0000007F,
-      0x000000FF, 0x000001FF, 0x000003FF, 0x000007FF, 0x00000FFF, 0x00001FFF, 0x00003FFF,
-      0x00007FFF, 0x0000FFFF, 0x0001FFFF };
+  private final int bitmask[] = { 0, // dummy
+  0x00000001, 0x00000003, 0x00000007, 0x0000000F, 0x0000001F, 0x0000003F, 0x0000007F, 0x000000FF, 0x000001FF, 0x000003FF, 0x000007FF, 0x00000FFF, 0x00001FFF, 0x00003FFF, 0x00007FFF, 0x0000FFFF, 0x0001FFFF };
 
-  
   private final PushbackInputStream source;
 
-  
   private final Header header = new Header();
 
-  
   private final byte syncbuf[] = new byte[4];
 
-  
   private Crc16[] crc = new Crc16[1];
 
-  
   private byte[] rawid3v2 = null;
 
-  
   private boolean firstframe = true;
 
   private BitReserve br;
@@ -226,8 +214,7 @@ public final class Bitstream implements BitstreamErrors {
       int majorVersion = id3header[0];
       int revision = id3header[1];
       in.read(id3header, 0, 4);
-      size =
-          (int) (id3header[0] << 21) + (id3header[1] << 14) + (id3header[2] << 7) + (id3header[3]);
+      size = (int) (id3header[0] << 21) + (id3header[1] << 14) + (id3header[2] << 7) + (id3header[3]);
     }
     return (size + 10);
   }
@@ -364,9 +351,7 @@ public final class Bitstream implements BitstreamErrors {
    */
   public boolean isSyncCurrentPosition(int syncmode) throws BitstreamException {
     int read = readBytes(syncbuf, 0, 4);
-    int headerstring =
-        ((syncbuf[0] << 24) & 0xFF000000) | ((syncbuf[1] << 16) & 0x00FF0000)
-            | ((syncbuf[2] << 8) & 0x0000FF00) | ((syncbuf[3] << 0) & 0x000000FF);
+    int headerstring = ((syncbuf[0] << 24) & 0xFF000000) | ((syncbuf[1] << 16) & 0x00FF0000) | ((syncbuf[2] << 8) & 0x0000FF00) | ((syncbuf[3] << 0) & 0x000000FF);
 
     try {
       source.unread(syncbuf, 0, read);
@@ -462,9 +447,7 @@ public final class Bitstream implements BitstreamErrors {
     if (bytesRead != 3)
       throw newBitstreamException(STREAM_EOF, null);
 
-    headerstring =
-        ((syncbuf[0] << 16) & 0x00FF0000) | ((syncbuf[1] << 8) & 0x0000FF00)
-            | ((syncbuf[2] << 0) & 0x000000FF);
+    headerstring = ((syncbuf[0] << 16) & 0x00FF0000) | ((syncbuf[1] << 8) & 0x0000FF00) | ((syncbuf[2] << 0) & 0x000000FF);
 
     do {
       headerstring <<= 8;
@@ -494,9 +477,7 @@ public final class Bitstream implements BitstreamErrors {
       // sync = ((headerstring & 0xFFF00000) == 0xFFF00000);
       sync = ((headerstring & 0xFFE00000) == 0xFFE00000); // SZD: MPEG 2.5
     } else {
-      sync =
-          ((headerstring & 0xFFF80C00) == word)
-              && (((headerstring & 0x000000C0) == 0x000000C0) == single_ch_mode);
+      sync = ((headerstring & 0xFFF80C00) == word) && (((headerstring & 0x000000C0) == 0x000000C0) == single_ch_mode);
     }
 
     // filter out invalid sample rate
@@ -528,12 +509,12 @@ public final class Bitstream implements BitstreamErrors {
   /**
    * Parses the data previously read with read_frame_data().
    */
-  
+
   void parse_frame() throws BitstreamException {
     // Convert Bytes read to int
-     int b = 0;
-     byte[] byteread = frame_bytes;
-     int bytesize = framesize;
+    int b = 0;
+    byte[] byteread = frame_bytes;
+    int bytesize = framesize;
 
     // Check ID3v1 TAG (True only if last frame).
     // for (int t=0;t<(byteread.length)-2;t++)
@@ -545,12 +526,12 @@ public final class Bitstream implements BitstreamErrors {
     // }
     // }
 
-    for ( int k = 0; k < bytesize; k = k + 4) {
-       int convert = 0;
-       byte b0 = 0;
-       byte b1 = 0;
-       byte b2 = 0;
-       byte b3 = 0;
+    for (int k = 0; k < bytesize; k = k + 4) {
+      int convert = 0;
+      byte b0 = 0;
+      byte b1 = 0;
+      byte b2 = 0;
+      byte b3 = 0;
       b0 = byteread[k];
       if (k + 1 < bytesize)
         b1 = byteread[k + 1];
@@ -558,9 +539,7 @@ public final class Bitstream implements BitstreamErrors {
         b2 = byteread[k + 2];
       if (k + 3 < bytesize)
         b3 = byteread[k + 3];
-      framebuffer[b++] =
-          ((b0 << 24) & 0xFF000000) | ((b1 << 16) & 0x00FF0000) | ((b2 << 8) & 0x0000FF00)
-              | (b3 & 0x000000FF);
+      framebuffer[b++] = ((b0 << 24) & 0xFF000000) | ((b1 << 16) & 0x00FF0000) | ((b2 << 8) & 0x0000FF00) | (b3 & 0x000000FF);
     }
     wordpointer = 0;
     bitindex = 0;
@@ -570,11 +549,11 @@ public final class Bitstream implements BitstreamErrors {
    * Read bits from buffer into the lower bits of an unsigned int. The LSB
    * contains the latest read bit of the stream. (1 <= number_of_bits <= 16)
    */
-  
-  public int get_bits( int number_of_bits) {
 
-     int returnvalue = 0;
-     int sum = bitindex + number_of_bits;
+  public int get_bits(int number_of_bits) {
+
+    int returnvalue = 0;
+    int sum = bitindex + number_of_bits;
 
     // E.B
     // There is a problem here, wordpointer could be -1 ?!
@@ -597,9 +576,9 @@ public final class Bitstream implements BitstreamErrors {
     // ((short[])&returnvalue)[0] = ((short[])wordpointer + 1)[0];
     // wordpointer++; // Added by me!
     // ((short[])&returnvalue + 1)[0] = ((short[])wordpointer)[0];
-     int Right = (framebuffer[wordpointer] & 0x0000FFFF);
+    int Right = (framebuffer[wordpointer] & 0x0000FFFF);
     wordpointer++;
-     int Left = (framebuffer[wordpointer] & 0xFFFF0000);
+    int Left = (framebuffer[wordpointer] & 0xFFFF0000);
     returnvalue = ((Right << 16) & 0xFFFF0000) | ((Left >>> 16) & 0x0000FFFF);
 
     returnvalue >>>= 48 - sum; // returnvalue >>= 16 - (number_of_bits - (32 -
@@ -612,7 +591,7 @@ public final class Bitstream implements BitstreamErrors {
   /**
    * Set the word we want to sync the header to. In Big-Endian byte order
    */
-  void set_syncword( int syncword0) {
+  void set_syncword(int syncword0) {
     syncword = syncword0 & 0xFFFFFF3F;
     single_ch_mode = ((syncword0 & 0x000000C0) == 0x000000C0);
   }
@@ -632,14 +611,12 @@ public final class Bitstream implements BitstreamErrors {
    *              is thrown if the specified number of bytes could not be read
    *              from the stream.
    */
-  
-  
-  private int readFully( byte[] b,  int offs,  int len)
-      throws BitstreamException {
-     int nRead = 0;
+
+  private int readFully(byte[] b, int offs, int len) throws BitstreamException {
+    int nRead = 0;
     try {
       while (len > 0) {
-         int bytesread = source.read(b, offs, len);
+        int bytesread = source.read(b, offs, len);
         if (bytesread == -1) {
           while (len-- > 0) {
             b[offs++] = 0;
@@ -660,14 +637,12 @@ public final class Bitstream implements BitstreamErrors {
   /**
    * Simlar to readFully, but doesn't throw exception when EOF is reached.
    */
-  
-  
-  private int readBytes( byte[] b,  int offs,  int len)
-      throws BitstreamException {
-     int totalBytesRead = 0;
+
+  private int readBytes(byte[] b, int offs, int len) throws BitstreamException {
+    int totalBytesRead = 0;
     try {
       while (len > 0) {
-         int bytesread = source.read(b, offs, len);
+        int bytesread = source.read(b, offs, len);
         if (bytesread == -1) {
           break;
         }
index 07114db..452711a 100644 (file)
  */\r
 \r
 /**\r
- * This interface describes all error codes that can be thrown \r
- * in <code>BistreamException</code>s.\r
+ * This interface describes all error codes that can be thrown in\r
+ * <code>BistreamException</code>s.\r
  * \r
  * @see BitstreamException\r
  * \r
- * @author     MDM             12/12/99\r
- * @since      0.0.6\r
+ * @author MDM 12/12/99\r
+ * @since 0.0.6\r
  */\r
 \r
-public interface BitstreamErrors extends JavaLayerErrors\r
-{\r
-       \r
-       /**\r
-        * An undeterminable error occurred. \r
-        */\r
-       static public final int UNKNOWN_ERROR = BITSTREAM_ERROR + 0;\r
-       \r
-       /**\r
-        * The header describes an unknown sample rate.\r
-        */\r
-       static public final int UNKNOWN_SAMPLE_RATE = BITSTREAM_ERROR + 1;\r
+public interface BitstreamErrors extends JavaLayerErrors {\r
 \r
-       /**\r
-        * A problem occurred reading from the stream.\r
-        */\r
-       static public final int STREAM_ERROR = BITSTREAM_ERROR + 2;\r
-       \r
-       /**\r
-        * The end of the stream was reached prematurely. \r
-        */\r
-       static public final int UNEXPECTED_EOF = BITSTREAM_ERROR + 3;\r
-       \r
-       /**\r
-        * The end of the stream was reached. \r
-        */\r
-       static public final int STREAM_EOF = BITSTREAM_ERROR + 4;\r
-       \r
-       /**\r
-        * Frame data are missing. \r
-        */\r
-       static public final int INVALIDFRAME = BITSTREAM_ERROR + 5;\r
+  /**\r
+   * An undeterminable error occurred.\r
+   */\r
+  static public final int UNKNOWN_ERROR = BITSTREAM_ERROR + 0;\r
 \r
-       /**\r
+  /**\r
+   * The header describes an unknown sample rate.\r
+   */\r
+  static public final int UNKNOWN_SAMPLE_RATE = BITSTREAM_ERROR + 1;\r
+\r
+  /**\r
+   * A problem occurred reading from the stream.\r
+   */\r
+  static public final int STREAM_ERROR = BITSTREAM_ERROR + 2;\r
+\r
+  /**\r
+   * The end of the stream was reached prematurely.\r
+   */\r
+  static public final int UNEXPECTED_EOF = BITSTREAM_ERROR + 3;\r
+\r
+  /**\r
+   * The end of the stream was reached.\r
+   */\r
+  static public final int STREAM_EOF = BITSTREAM_ERROR + 4;\r
+\r
+  /**\r
+   * Frame data are missing.\r
+   */\r
+  static public final int INVALIDFRAME = BITSTREAM_ERROR + 5;\r
+\r
+  /**\r
         * \r
         */\r
-       static public final int BITSTREAM_LAST = 0x1ff;\r
-       \r
+  static public final int BITSTREAM_LAST = 0x1ff;\r
+\r
 }\r
index 1889add..9d88622 100644 (file)
  */\r
 \r
 /**\r
- * Instances of <code>BitstreamException</code> are thrown \r
- * when operations on a <code>Bitstream</code> fail. \r
+ * Instances of <code>BitstreamException</code> are thrown when operations on a\r
+ * <code>Bitstream</code> fail.\r
  * <p>\r
- * The exception provides details of the exception condition \r
- * in two ways:\r
- * <ol><li>\r
- *             as an error-code describing the nature of the error\r
- * </li><br></br><li>\r
- *             as the <code>Throwable</code> instance, if any, that was thrown\r
- *             indicating that an exceptional condition has occurred. \r
- * </li></ol></p>\r
+ * The exception provides details of the exception condition in two ways:\r
+ * <ol>\r
+ * <li>\r
+ * as an error-code describing the nature of the error</li><br>\r
+ * </br>\r
+ * <li>\r
+ * as the <code>Throwable</code> instance, if any, that was thrown indicating\r
+ * that an exceptional condition has occurred.</li>\r
+ * </ol>\r
+ * </p>\r
  * \r
  * @since 0.0.6\r
- * @author MDM 12/12/99\r
+ * @author MDM 12/12/99\r
  */\r
 \r
-public class BitstreamException extends JavaLayerException\r
-       implements BitstreamErrors\r
-{      \r
-        private int errorcode = UNKNOWN_ERROR;\r
-       \r
-       public BitstreamException(String msg, Throwable t)\r
-       {\r
-               super(msg, t);  \r
-       }\r
-       \r
-       public BitstreamException(int errorcode, Throwable t)\r
-       {\r
-               this(getErrorString(errorcode), t);\r
-               this.errorcode = errorcode;\r
-       }\r
-       \r
-       public int getErrorCode()\r
-       {\r
-               return errorcode;       \r
-       }\r
-       \r
-       \r
-       static public String getErrorString(int errorcode)\r
-       {\r
-               // REVIEW: use resource bundle to map error codes\r
-               // to locale-sensitive strings.\r
-               \r
-//             return "Bitstream errorcode "+Integer.toHexString(errorcode);\r
-               return "Bitstream errorcode "+errorcode;\r
-       }\r
-       \r
-       \r
+public class BitstreamException extends JavaLayerException implements BitstreamErrors {\r
+  private int errorcode = UNKNOWN_ERROR;\r
+\r
+  public BitstreamException(String msg, Throwable t) {\r
+    super(msg, t);\r
+  }\r
+\r
+  public BitstreamException(int errorcode, Throwable t) {\r
+    this(getErrorString(errorcode), t);\r
+    this.errorcode = errorcode;\r
+  }\r
+\r
+  public int getErrorCode() {\r
+    return errorcode;\r
+  }\r
+\r
+  static public String getErrorString(int errorcode) {\r
+    // REVIEW: use resource bundle to map error codes\r
+    // to locale-sensitive strings.\r
+\r
+    // return "Bitstream errorcode "+Integer.toHexString(errorcode);\r
+    return "Bitstream errorcode " + errorcode;\r
+  }\r
+\r
 }\r
index 90351d1..f822adf 100644 (file)
  * 16-Bit CRC checksum\r
  */\r
 \r
-\r
-public final class Crc16\r
-{\r
-   private static      short polynomial=(short)0x8005;\r
-   private                     short crc;\r
+public final class Crc16 {\r
+  private static short polynomial = (short) 0x8005;\r
+  private short crc;\r
 \r
   /**\r
    * Dummy Constructor\r
    */\r
-  public Crc16()\r
-  { \r
-       crc = (short) 0xFFFF;\r
+  public Crc16() {\r
+    crc = (short) 0xFFFF;\r
   }\r
 \r
   /**\r
    * Feed a bitstring to the crc calculation (0 < length <= 32).\r
    */\r
-  //ssjava\r
\r
-  public void add_bits ( int bitstring,  int length)\r
-  {\r
-     int bitmask = 1 << (length - 1);\r
-    do{\r
-      if (((crc & 0x8000) == 0) ^ ((bitstring & bitmask) == 0 ))\r
-      {\r
+  // ssjava\r
+\r
+  public void add_bits(int bitstring, int length) {\r
+    int bitmask = 1 << (length - 1);\r
+    do {\r
+      if (((crc & 0x8000) == 0) ^ ((bitstring & bitmask) == 0)) {\r
         crc <<= 1;\r
         crc ^= polynomial;\r
-      }\r
-      else{\r
+      } else {\r
         crc <<= 1;\r
       }\r
-    }while ((bitmask >>>= 1) != 0);\r
+    } while ((bitmask >>>= 1) != 0);\r
   }\r
 \r
   /**\r
-   * Return the calculated checksum.\r
-   * Erase it for next calls to add_bits().\r
+   * Return the calculated checksum. Erase it for next calls to add_bits().\r
    */\r
-  \r
-  public short checksum()\r
-  {\r
-     short sum = crc;\r
+\r
+  public short checksum() {\r
+    short sum = crc;\r
     crc = (short) 0xFFFF;\r
     return sum;\r
   }\r
diff --git a/Robust/src/Benchmarks/SSJava/MP3DecoderInfer/DataParse.java b/Robust/src/Benchmarks/SSJava/MP3DecoderInfer/DataParse.java
deleted file mode 100644 (file)
index a6b30b0..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-import java.io.*;
-import java.util.*;
-
-public class DataParse {
-
-  public static void main(String args[]) {
-
-    try {
-
-      FileWriter fout = new FileWriter("out.csv");
-      BufferedWriter out = new BufferedWriter(fout);
-
-      FileInputStream fin = new FileInputStream("errinj-history-5001.txt");
-      DataInputStream in = new DataInputStream(fin);
-      BufferedReader br = new BufferedReader(new InputStreamReader(in));
-      String inLine;
-      String value;
-      while ((inLine = br.readLine()) != null) {
-        // System.out.println(inLine);
-        if (inLine.startsWith("idx")) {
-          value = inLine.substring(4, inLine.length());
-          out.write("\n" + value);
-        } else if (inLine.startsWith("inj")) {
-          if (inLine.length() > 3) {
-            value = inLine.substring(4, inLine.length());
-            if (value.length() > 0) {
-              StringTokenizer st = new StringTokenizer(value, " ");
-              if (st.hasMoreTokens()) {
-                out.write("," + st.nextToken());
-              }
-            }
-          }
-        } else if (inLine.startsWith("NO DIFF")) {
-          // do nothing
-        } else {
-          out.write("," + inLine);
-        }
-      }
-      in.close();
-      out.close();
-
-    } catch (Exception e) {
-      System.out.println(e);
-    }
-
-  }
-
-}
\ No newline at end of file
index d7754bb..b453a6c 100644 (file)
@@ -27,7 +27,6 @@
  * @since 0.0.5\r
  */\r
 \r
-\r
 public class Decoder implements DecoderErrors {\r
 \r
   static private final Params DEFAULT_PARAMS = new Params();\r
@@ -35,49 +34,45 @@ public class Decoder implements DecoderErrors {
   /**\r
    * The Bistream from which the MPEG audio frames are read.\r
    */\r
-  // \r
+  //\r
   // private Bitstream stream;\r
 \r
   /**\r
    * The Obuffer instance that will receive the decoded PCM samples.\r
    */\r
-  // \r
+  //\r
   // private Obuffer output;\r
 \r
   /**\r
    * Synthesis filter for the left channel.\r
    */\r
-  // \r
+  //\r
   // private SynthesisFilter filter1;\r
 \r
   /**\r
    * Sythesis filter for the right channel.\r
    */\r
-  // \r
+  //\r
   // private SynthesisFilter filter2;\r
 \r
   /**\r
    * The decoder used to decode layer III frames.\r
    */\r
-  \r
+\r
   private LayerIIIDecoder l3decoder;\r
-  // \r
+  //\r
   // private LayerIIDecoder l2decoder;\r
-  // \r
+  //\r
   // private LayerIDecoder l1decoder;\r
 \r
-  \r
   private int outputFrequency;\r
-  \r
+\r
   private int outputChannels;\r
 \r
-  \r
   private Equalizer equalizer = new Equalizer();\r
 \r
-  \r
   private Params params;\r
 \r
-  \r
   private boolean initialized;\r
 \r
   /**\r
@@ -127,25 +122,24 @@ public class Decoder implements DecoderErrors {
   // if (filter2 != null)\r
   // filter2.setEQ(factors);\r
   // }\r
-  \r
-  public void init(  Header header) {\r
-     float scalefactor = 32700.0f;\r
 \r
-     int mode = header.mode();\r
-     int layer = header.layer();\r
-     int channels = mode == Header.SINGLE_CHANNEL ? 1 : 2;\r
+  public void init(Header header) {\r
+    float scalefactor = 32700.0f;\r
+\r
+    int mode = header.mode();\r
+    int layer = header.layer();\r
+    int channels = mode == Header.SINGLE_CHANNEL ? 1 : 2;\r
 \r
     // set up output buffer if not set up by client.\r
     // if (output == null)\r
     // output = new SampleBuffer(header.frequency(), channels);\r
     SampleBufferWrapper.init(header.frequency(), channels);\r
 \r
-     float[] factors = equalizer.getBandFactors();\r
-     SynthesisFilter filter1 =\r
-        new SynthesisFilter(0, scalefactor, factors);\r
+    float[] factors = equalizer.getBandFactors();\r
+    SynthesisFilter filter1 = new SynthesisFilter(0, scalefactor, factors);\r
 \r
     // REVIEW: allow mono output for stereo\r
-     SynthesisFilter filter2 = null;\r
+    SynthesisFilter filter2 = null;\r
     if (channels == 2) {\r
       filter2 = new SynthesisFilter(1, scalefactor, factors);\r
     }\r
@@ -153,7 +147,7 @@ public class Decoder implements DecoderErrors {
     outputChannels = channels;\r
     outputFrequency = header.frequency();\r
 \r
-    l3decoder = new LayerIIIDecoder(header,filter1, filter2, OutputChannels.BOTH_CHANNELS);\r
+    l3decoder = new LayerIIIDecoder(header, filter1, filter2, OutputChannels.BOTH_CHANNELS);\r
 \r
   }\r
 \r
@@ -167,8 +161,8 @@ public class Decoder implements DecoderErrors {
    * \r
    * @return A SampleBuffer containing the decoded samples.\r
    */\r
-  \r
-  public void decodeFrame( Header header) throws DecoderException {\r
+\r
+  public void decodeFrame(Header header) throws DecoderException {\r
 \r
     SampleBufferWrapper.clear_buffer();\r
     l3decoder.decode(header);\r
@@ -234,67 +228,63 @@ public class Decoder implements DecoderErrors {
   }\r
 }\r
 \r
+/**\r
+ * The <code>Params</code> class presents the customizable aspects of the\r
+ * decoder.\r
+ * <p>\r
+ * Instances of this class are not thread safe.\r
+ */\r
+public class Params implements Cloneable {\r
 \r
+  // private OutputChannels outputChannels = OutputChannels.BOTH;\r
+  private OutputChannels outputChannels = new OutputChannels(0);\r
 \r
+  private Equalizer equalizer = new Equalizer();\r
 \r
+  public Params() {\r
+  }\r
 \r
-  /**\r
-   * The <code>Params</code> class presents the customizable aspects of the\r
-   * decoder.\r
-   * <p>\r
-   * Instances of this class are not thread safe.\r
-   */\r
-  public class Params implements Cloneable {\r
-\r
-    // private OutputChannels outputChannels = OutputChannels.BOTH;\r
-    private OutputChannels outputChannels = new OutputChannels(0);\r
-\r
-    private Equalizer equalizer = new Equalizer();\r
-\r
-    public Params() {\r
-    }\r
-\r
-    public Object clone() {\r
-      // TODO: need to have better clone method\r
-      Params clone = new Params();\r
-      clone.outputChannels = new OutputChannels(outputChannels.getChannelsOutputCode());\r
-      clone.equalizer = new Equalizer();\r
-      return clone;\r
-      // try\r
-      // {\r
-      // return super.clone();\r
-      // }\r
-      // catch (CloneNotSupportedException ex)\r
-      // {\r
-      // throw new InternalError(this+": "+ex);\r
-      // }\r
-    }\r
+  public Object clone() {\r
+    // TODO: need to have better clone method\r
+    Params clone = new Params();\r
+    clone.outputChannels = new OutputChannels(outputChannels.getChannelsOutputCode());\r
+    clone.equalizer = new Equalizer();\r
+    return clone;\r
+    // try\r
+    // {\r
+    // return super.clone();\r
+    // }\r
+    // catch (CloneNotSupportedException ex)\r
+    // {\r
+    // throw new InternalError(this+": "+ex);\r
+    // }\r
+  }\r
 \r
-    public void setOutputChannels(OutputChannels out) {\r
-      if (out == null)\r
-        throw new NullPointerException("out");\r
+  public void setOutputChannels(OutputChannels out) {\r
+    if (out == null)\r
+      throw new NullPointerException("out");\r
 \r
-      outputChannels = out;\r
-    }\r
+    outputChannels = out;\r
+  }\r
 \r
-    public OutputChannels getOutputChannels() {\r
-      return outputChannels;\r
-    }\r
+  public OutputChannels getOutputChannels() {\r
+    return outputChannels;\r
+  }\r
 \r
-    /**\r
-     * Retrieves the equalizer settings that the decoder's equalizer will be\r
-     * initialized from.\r
-     * <p>\r
-     * The <code>Equalizer</code> instance returned cannot be changed in real\r
-     * time to affect the decoder output as it is used only to initialize the\r
-     * decoders EQ settings. To affect the decoder's output in realtime, use the\r
-     * Equalizer returned from the getEqualizer() method on the decoder.\r
-     \r
-     * @return The <code>Equalizer</code> used to initialize the EQ settings of\r
-     *         the decoder.\r
-     */\r
-    public Equalizer getInitialEqualizerSettings() {\r
-      return equalizer;\r
-    }\r
+  /**\r
+   * Retrieves the equalizer settings that the decoder's equalizer will be\r
+   * initialized from.\r
+   * <p>\r
+   * The <code>Equalizer</code> instance returned cannot be changed in real time\r
+   * to affect the decoder output as it is used only to initialize the decoders\r
+   * EQ settings. To affect the decoder's output in realtime, use the Equalizer\r
+   * returned from the getEqualizer() method on the decoder.\r
+   * \r
+   * @return The <code>Equalizer</code> used to initialize the EQ settings of\r
+   *         the decoder.\r
+   */\r
+  public Equalizer getInitialEqualizerSettings() {\r
+    return equalizer;\r
+  }\r
 \r
-  }
\ No newline at end of file
+}
\ No newline at end of file
index ef3552a..f329fe4 100644 (file)
  *----------------------------------------------------------------------\r
  */\r
 \r
-\r
 /**\r
- * This interface provides constants describing the error\r
- * codes used by the Decoder to indicate errors. \r
+ * This interface provides constants describing the error codes used by the\r
+ * Decoder to indicate errors.\r
  * \r
- * @author     MDM\r
+ * @author MDM\r
  */\r
-public interface DecoderErrors extends JavaLayerErrors\r
-{\r
-       \r
-       static public final int UNKNOWN_ERROR = DECODER_ERROR + 0;\r
-       \r
-       /**\r
-        * Layer not supported by the decoder. \r
-        */\r
-       static public final int UNSUPPORTED_LAYER = DECODER_ERROR + 1;\r
+public interface DecoderErrors extends JavaLayerErrors {\r
+\r
+  static public final int UNKNOWN_ERROR = DECODER_ERROR + 0;\r
+\r
+  /**\r
+   * Layer not supported by the decoder.\r
+   */\r
+  static public final int UNSUPPORTED_LAYER = DECODER_ERROR + 1;\r
 \r
-    /**\r
-        * Illegal allocation in subband layer. Indicates a corrupt stream.\r
-        */\r
-       static public final int ILLEGAL_SUBBAND_ALLOCATION = DECODER_ERROR + 2;\r
+  /**\r
+   * Illegal allocation in subband layer. Indicates a corrupt stream.\r
+   */\r
+  static public final int ILLEGAL_SUBBAND_ALLOCATION = DECODER_ERROR + 2;\r
 \r
 }\r
index d33b0f0..aaeec8e 100644 (file)
  *----------------------------------------------------------------------\r
  */\r
 \r
-\r
 /**\r
- * The <code>DecoderException</code> represents the class of\r
- * errors that can occur when decoding MPEG audio. \r
+ * The <code>DecoderException</code> represents the class of errors that can\r
+ * occur when decoding MPEG audio.\r
  * \r
  * @author MDM\r
  */\r
-public class DecoderException extends JavaLayerException\r
-       implements DecoderErrors\r
-{      \r
-       private int             errorcode = UNKNOWN_ERROR;\r
-       \r
-       public DecoderException(String msg, Throwable t)\r
-       {\r
-               super(msg, t);  \r
-       }\r
-       \r
-       public DecoderException(int errorcode, Throwable t)\r
-       {\r
-               this(getErrorString(errorcode), t);\r
-               this.errorcode = errorcode;\r
-       }\r
-       \r
-       public int getErrorCode()\r
-       {\r
-               return errorcode;       \r
-       }\r
-       \r
-       \r
-       static public String getErrorString(int errorcode)\r
-       {\r
-               // REVIEW: use resource file to map error codes\r
-               // to locale-sensitive strings. \r
-               \r
-//             return "Decoder errorcode "+Integer.toHexString(errorcode);\r
-         return "Decoder errorcode  "+errorcode;\r
-       }\r
-       \r
-       \r
-}\r
+public class DecoderException extends JavaLayerException implements DecoderErrors {\r
+  private int errorcode = UNKNOWN_ERROR;\r
+\r
+  public DecoderException(String msg, Throwable t) {\r
+    super(msg, t);\r
+  }\r
+\r
+  public DecoderException(int errorcode, Throwable t) {\r
+    this(getErrorString(errorcode), t);\r
+    this.errorcode = errorcode;\r
+  }\r
 \r
+  public int getErrorCode() {\r
+    return errorcode;\r
+  }\r
+\r
+  static public String getErrorString(int errorcode) {\r
+    // REVIEW: use resource file to map error codes\r
+    // to locale-sensitive strings.\r
+\r
+    // return "Decoder errorcode "+Integer.toHexString(errorcode);\r
+    return "Decoder errorcode  " + errorcode;\r
+  }\r
+\r
+}\r
index 1fe7fb9..b8d4ad4 100644 (file)
  * @author MDM\r
  */\r
 \r
-\r
 public final class Equalizer {\r
   /**\r
    * Equalizer setting to denote that a given band will not be present in the\r
    * output signal.\r
    */\r
-  \r
+\r
   static public final float BAND_NOT_PRESENT = Float.NEGATIVE_INFINITY;\r
 \r
-  \r
   static public final Equalizer PASS_THRU_EQ = new Equalizer();\r
 \r
-  \r
   private static final int BANDS = 32;\r
 \r
-  \r
   private final float[] settings = new float[BANDS];\r
 \r
   /**\r
@@ -154,12 +150,11 @@ public final class Equalizer {
    * \r
    * @return an array of factors that can be applied to the subbands.\r
    */\r
-  \r
-  \r
+\r
   float[] getBandFactors() {\r
-     float[] factors = new float[BANDS];\r
-     int maxCount = BANDS;\r
-    for ( int i = 0; i < maxCount; i++) {\r
+    float[] factors = new float[BANDS];\r
+    int maxCount = BANDS;\r
+    for (int i = 0; i < maxCount; i++) {\r
       factors[i] = getBandFactor(settings[i]);\r
     }\r
 \r
@@ -172,12 +167,12 @@ public final class Equalizer {
    * the range [-1.0,1.0].\r
    * \r
    */\r
-  \r
-  float getBandFactor( float eq) {\r
+\r
+  float getBandFactor(float eq) {\r
     if (eq == BAND_NOT_PRESENT)\r
       return 0.0f;\r
 \r
-     float f = (float) Math.pow(2.0, eq);\r
+    float f = (float) Math.pow(2.0, eq);\r
     return f;\r
   }\r
 \r
index 9c7029d..777a1d3 100644 (file)
  *----------------------------------------------------------------------\r
  */\r
 \r
-\r
 /**\r
- * Implementations of FrameDecoder are responsible for decoding\r
- * an MPEG audio frame.\r
- *  \r
+ * Implementations of FrameDecoder are responsible for decoding an MPEG audio\r
+ * frame.\r
+ * \r
  */\r
-//REVIEW: the interface currently is too thin. There should be\r
+// REVIEW: the interface currently is too thin. There should be\r
 // methods to specify the output buffer, the synthesis filters and\r
-// possibly other objects used by the decoder. \r
-public interface FrameDecoder\r
-{\r
-       /**\r
-        * Decodes one frame of MPEG audio. \r
-        */\r
-       public void decodeFrame() throws DecoderException;\r
-               \r
+// possibly other objects used by the decoder.\r
+public interface FrameDecoder {\r
+  /**\r
+   * Decodes one frame of MPEG audio.\r
+   */\r
+  public void decodeFrame() throws DecoderException;\r
+\r
 }\r
index 55bf5ed..b4ccc69 100644 (file)
  * Class for extracting information from a frame header.
  */
 
-
 public final class Header {
 
-  public static final int[][] frequencies = { { 22050, 24000, 16000, 1 },
-      { 44100, 48000, 32000, 1 }, { 11025, 12000, 8000, 1 } }; // SZD: MPEG25
+  public static final int[][] frequencies = { { 22050, 24000, 16000, 1 }, { 44100, 48000, 32000, 1 }, { 11025, 12000, 8000, 1 } }; // SZD:
+                                                                                                                                   // MPEG25
 
   /**
    * Constant for MPEG-2 LSF version
@@ -59,73 +58,66 @@ public final class Header {
   public static final int FOURTYEIGHT = 1;
   public static final int THIRTYTWO = 2;
 
-  
   private int h_layer;
-  
+
   private int h_protection_bit;
-  
+
   private int h_bitrate_index;
-  
+
   private int h_padding_bit;
-  
+
   private int h_mode_extension;
-  
+
   private int h_version;
-  
+
   private int h_mode;
-  
+
   private int h_sample_frequency;
-  
+
   private int h_number_of_subbands;
-  
+
   private int h_intensity_stereo_bound;
-  
+
   private boolean h_copyright;
-  
+
   private boolean h_original;
   // VBR support added by E.B
-  
+
   private double[] h_vbr_time_per_frame = { -1.0, 384.0, 1152.0, 1152.0 };
-  
+
   private boolean h_vbr;
-  
+
   private int h_vbr_frames;
-  
+
   private int h_vbr_scale;
-  
+
   private int h_vbr_bytes;
-  
+
   private byte[] h_vbr_toc;
 
-  
   private byte syncmode = Bitstream.INITIAL_SYNC;
-  
+
   private Crc16 crc;
 
-  
   public short checksum;
-  
+
   public int framesize;
-  
+
   public int nSlots;
 
-  
   private int _headerstring = -1; // E.B
 
-  
   private SideInfoBuffer sib;
-  
+
   private BitReserve br;
 
-  
   private int idx;
 
   Header() {
   }
 
-  
   public String toString() {
-     StringBuffer buffer = new StringBuffer(200);
+    StringBuffer buffer = new StringBuffer(200);
     buffer.append("Layer ");
     buffer.append(layer_string());
     buffer.append(" frame ");
@@ -141,7 +133,7 @@ public final class Header {
     buffer.append(' ');
     buffer.append(bitrate_string());
 
-     String s = buffer.toString();
+    String s = buffer.toString();
     return s;
   }
 
@@ -199,8 +191,7 @@ public final class Header {
             h_number_of_subbands = 12;
           else
             h_number_of_subbands = 8;
-        else if ((h_sample_frequency == FOURTYEIGHT)
-            || ((channel_bitrate >= 3) && (channel_bitrate <= 5)))
+        else if ((h_sample_frequency == FOURTYEIGHT) || ((channel_bitrate >= 3) && (channel_bitrate <= 5)))
           h_number_of_subbands = 27;
         else
           h_number_of_subbands = 30;
@@ -290,17 +281,13 @@ public final class Header {
         // Read number of frames (if available).
         if ((flags[3] & (byte) (1 << 0)) != 0) {
           System.arraycopy(firstframe, offset + length, tmp, 0, tmp.length);
-          h_vbr_frames =
-              (tmp[0] << 24) & 0xFF000000 | (tmp[1] << 16) & 0x00FF0000 | (tmp[2] << 8)
-                  & 0x0000FF00 | tmp[3] & 0x000000FF;
+          h_vbr_frames = (tmp[0] << 24) & 0xFF000000 | (tmp[1] << 16) & 0x00FF0000 | (tmp[2] << 8) & 0x0000FF00 | tmp[3] & 0x000000FF;
           length += 4;
         }
         // Read size (if available).
         if ((flags[3] & (byte) (1 << 1)) != 0) {
           System.arraycopy(firstframe, offset + length, tmp, 0, tmp.length);
-          h_vbr_bytes =
-              (tmp[0] << 24) & 0xFF000000 | (tmp[1] << 16) & 0x00FF0000 | (tmp[2] << 8)
-                  & 0x0000FF00 | tmp[3] & 0x000000FF;
+          h_vbr_bytes = (tmp[0] << 24) & 0xFF000000 | (tmp[1] << 16) & 0x00FF0000 | (tmp[2] << 8) & 0x0000FF00 | tmp[3] & 0x000000FF;
           length += 4;
         }
         // Read TOC (if available).
@@ -311,9 +298,7 @@ public final class Header {
         // Read scale (if available).
         if ((flags[3] & (byte) (1 << 3)) != 0) {
           System.arraycopy(firstframe, offset + length, tmp, 0, tmp.length);
-          h_vbr_scale =
-              (tmp[0] << 24) & 0xFF000000 | (tmp[1] << 16) & 0x00FF0000 | (tmp[2] << 8)
-                  & 0x0000FF00 | tmp[3] & 0x000000FF;
+          h_vbr_scale = (tmp[0] << 24) & 0xFF000000 | (tmp[1] << 16) & 0x00FF0000 | (tmp[2] << 8) & 0x0000FF00 | tmp[3] & 0x000000FF;
           length += 4;
         }
         // System.out.println("VBR:"+xing+" Frames:"+ h_vbr_frames
@@ -339,15 +324,11 @@ public final class Header {
         // Bytes.
         int length = 4 + 6;
         System.arraycopy(firstframe, offset + length, tmp, 0, tmp.length);
-        h_vbr_bytes =
-            (tmp[0] << 24) & 0xFF000000 | (tmp[1] << 16) & 0x00FF0000 | (tmp[2] << 8) & 0x0000FF00
-                | tmp[3] & 0x000000FF;
+        h_vbr_bytes = (tmp[0] << 24) & 0xFF000000 | (tmp[1] << 16) & 0x00FF0000 | (tmp[2] << 8) & 0x0000FF00 | tmp[3] & 0x000000FF;
         length += 4;
         // Frames.
         System.arraycopy(firstframe, offset + length, tmp, 0, tmp.length);
-        h_vbr_frames =
-            (tmp[0] << 24) & 0xFF000000 | (tmp[1] << 16) & 0x00FF0000 | (tmp[2] << 8) & 0x0000FF00
-                | tmp[3] & 0x000000FF;
+        h_vbr_frames = (tmp[0] << 24) & 0xFF000000 | (tmp[1] << 16) & 0x00FF0000 | (tmp[2] << 8) & 0x0000FF00 | tmp[3] & 0x000000FF;
         length += 4;
         // System.out.println("VBR:"+vbri+" Frames:"+ h_vbr_frames
         // +" Size:"+h_vbr_bytes);
@@ -363,7 +344,7 @@ public final class Header {
   /**
    * Returns version.
    */
-  
+
   public int version() {
     return h_version;
   }
@@ -371,7 +352,7 @@ public final class Header {
   /**
    * Returns Layer ID.
    */
-  
+
   public int layer() {
     return h_layer;
   }
@@ -386,7 +367,7 @@ public final class Header {
   /**
    * Returns Sample Frequency.
    */
-  
+
   public int sample_frequency() {
     return h_sample_frequency;
   }
@@ -394,7 +375,7 @@ public final class Header {
   /**
    * Returns Frequency.
    */
-  
+
   public int frequency() {
     return frequencies[h_version][h_sample_frequency];
   }
@@ -402,7 +383,7 @@ public final class Header {
   /**
    * Returns Mode.
    */
-  
+
   public int mode() {
     return h_mode;
   }
@@ -410,7 +391,7 @@ public final class Header {
   /**
    * Returns Protection bit.
    */
-  
+
   public boolean checksums() {
     if (h_protection_bit == 0)
       return true;
@@ -462,7 +443,7 @@ public final class Header {
   /**
    * Returns Checksum flag. Compares computed checksum with stream checksum.
    */
-  
+
   public boolean checksum_ok() {
     return (checksum == crc.checksum());
   }
@@ -481,7 +462,7 @@ public final class Header {
   /**
    * Returns Slots.
    */
-  
+
   public int slots() {
     return nSlots;
   }
@@ -489,36 +470,35 @@ public final class Header {
   /**
    * Returns Mode Extension.
    */
-  
+
   public int mode_extension() {
     return h_mode_extension;
   }
 
   // E.B -> private to public
-  public static final int bitrates[][][] = {
-      {
-          { 0 /* free format */, 32000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 144000,
-              160000, 176000, 192000, 224000, 256000, 0 },
-          { 0 /* free format */, 8000, 16000, 24000, 32000, 40000, 48000, 56000, 64000, 80000,
-              96000, 112000, 128000, 144000, 160000, 0 },
-          { 0 /* free format */, 8000, 16000, 24000, 32000, 40000, 48000, 56000, 64000, 80000,
-              96000, 112000, 128000, 144000, 160000, 0 } },
-
-      {
-          { 0 /* free format */, 32000, 64000, 96000, 128000, 160000, 192000, 224000, 256000,
-              288000, 320000, 352000, 384000, 416000, 448000, 0 },
-          { 0 /* free format */, 32000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000,
-              192000, 224000, 256000, 320000, 384000, 0 },
-          { 0 /* free format */, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000,
-              160000, 192000, 224000, 256000, 320000, 0 } },
+  public static final int bitrates[][][] = { { { 0 /* free format */, 32000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 144000, 160000, 176000, 192000, 224000, 256000, 0 }, { 0 /*
+                                                                                                                                                                                          * free
+                                                                                                                                                                                          * format
+                                                                                                                                                                                          */, 8000, 16000, 24000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 144000, 160000, 0 }, { 0 /*
+                                                                                                                                                                                                                                                                                                             * free
+                                                                                                                                                                                                                                                                                                             * format
+                                                                                                                                                                                                                                                                                                             */, 8000, 16000, 24000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 144000, 160000, 0 } },
+
+  { { 0 /* free format */, 32000, 64000, 96000, 128000, 160000, 192000, 224000, 256000, 288000, 320000, 352000, 384000, 416000, 448000, 0 }, { 0 /*
+                                                                                                                                                  * free
+                                                                                                                                                  * format
+                                                                                                                                                  */, 32000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000, 192000, 224000, 256000, 320000, 384000, 0 }, { 0 /*
+                                                                                                                                                                                                                                                                          * free
+                                                                                                                                                                                                                                                                          * format
+                                                                                                                                                                                                                                                                          */, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000, 192000, 224000, 256000, 320000, 0 } },
       // SZD: MPEG2.5
-      {
-          { 0 /* free format */, 32000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 144000,
-              160000, 176000, 192000, 224000, 256000, 0 },
-          { 0 /* free format */, 8000, 16000, 24000, 32000, 40000, 48000, 56000, 64000, 80000,
-              96000, 112000, 128000, 144000, 160000, 0 },
-          { 0 /* free format */, 8000, 16000, 24000, 32000, 40000, 48000, 56000, 64000, 80000,
-              96000, 112000, 128000, 144000, 160000, 0 } },
+  { { 0 /* free format */, 32000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 144000, 160000, 176000, 192000, 224000, 256000, 0 }, { 0 /*
+                                                                                                                                               * free
+                                                                                                                                               * format
+                                                                                                                                               */, 8000, 16000, 24000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 144000, 160000, 0 }, { 0 /*
+                                                                                                                                                                                                                                                                  * free
+                                                                                                                                                                                                                                                                  * format
+                                                                                                                                                                                                                                                                  */, 8000, 16000, 24000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 144000, 160000, 0 } },
 
   };
 
@@ -529,17 +509,13 @@ public final class Header {
   public int calculate_framesize() {
 
     if (h_layer == 1) {
-      framesize =
-          (12 * bitrates[h_version][0][h_bitrate_index])
-              / frequencies[h_version][h_sample_frequency];
+      framesize = (12 * bitrates[h_version][0][h_bitrate_index]) / frequencies[h_version][h_sample_frequency];
       if (h_padding_bit != 0)
         framesize++;
       framesize <<= 2; // one slot is 4 bytes long
       nSlots = 0;
     } else {
-      framesize =
-          (144 * bitrates[h_version][h_layer - 1][h_bitrate_index])
-              / frequencies[h_version][h_sample_frequency];
+      framesize = (144 * bitrates[h_version][h_layer - 1][h_bitrate_index]) / frequencies[h_version][h_sample_frequency];
       if (h_version == MPEG2_LSF || h_version == MPEG25_LSF)
         framesize >>= 1; // SZD
       if (h_padding_bit != 0)
@@ -608,17 +584,16 @@ public final class Header {
    * 
    * @return milliseconds per frame
    */
-  
+
   public float ms_per_frame() // E.B
   {
     if (h_vbr == true) {
-       double tpf = h_vbr_time_per_frame[layer()] / frequency();
+      double tpf = h_vbr_time_per_frame[layer()] / frequency();
       if ((h_version == MPEG2_LSF) || (h_version == MPEG25_LSF))
         tpf /= 2;
       return ((float) (tpf * 1000));
     } else {
-       float ms_per_frame_array[][] =
-          { { 8.707483f, 8.0f, 12.0f }, { 26.12245f, 24.0f, 36.0f }, { 26.12245f, 24.0f, 36.0f } };
+      float ms_per_frame_array[][] = { { 8.707483f, 8.0f, 12.0f }, { 26.12245f, 24.0f, 36.0f }, { 26.12245f, 24.0f, 36.0f } };
       return (ms_per_frame_array[h_layer - 1][h_sample_frequency]);
     }
   }
@@ -646,7 +621,7 @@ public final class Header {
   /**
    * Return Layer version.
    */
-  
+
   public String layer_string() {
     switch (h_layer) {
     case 1:
@@ -660,39 +635,11 @@ public final class Header {
   }
 
   // E.B -> private to public
-  public static final String bitrate_str[][][] = {
-      {
-          { "free format", "32 kbit/s", "48 kbit/s", "56 kbit/s", "64 kbit/s", "80 kbit/s",
-              "96 kbit/s", "112 kbit/s", "128 kbit/s", "144 kbit/s", "160 kbit/s", "176 kbit/s",
-              "192 kbit/s", "224 kbit/s", "256 kbit/s", "forbidden" },
-          { "free format", "8 kbit/s", "16 kbit/s", "24 kbit/s", "32 kbit/s", "40 kbit/s",
-              "48 kbit/s", "56 kbit/s", "64 kbit/s", "80 kbit/s", "96 kbit/s", "112 kbit/s",
-              "128 kbit/s", "144 kbit/s", "160 kbit/s", "forbidden" },
-          { "free format", "8 kbit/s", "16 kbit/s", "24 kbit/s", "32 kbit/s", "40 kbit/s",
-              "48 kbit/s", "56 kbit/s", "64 kbit/s", "80 kbit/s", "96 kbit/s", "112 kbit/s",
-              "128 kbit/s", "144 kbit/s", "160 kbit/s", "forbidden" } },
-
-      {
-          { "free format", "32 kbit/s", "64 kbit/s", "96 kbit/s", "128 kbit/s", "160 kbit/s",
-              "192 kbit/s", "224 kbit/s", "256 kbit/s", "288 kbit/s", "320 kbit/s", "352 kbit/s",
-              "384 kbit/s", "416 kbit/s", "448 kbit/s", "forbidden" },
-          { "free format", "32 kbit/s", "48 kbit/s", "56 kbit/s", "64 kbit/s", "80 kbit/s",
-              "96 kbit/s", "112 kbit/s", "128 kbit/s", "160 kbit/s", "192 kbit/s", "224 kbit/s",
-              "256 kbit/s", "320 kbit/s", "384 kbit/s", "forbidden" },
-          { "free format", "32 kbit/s", "40 kbit/s", "48 kbit/s", "56 kbit/s", "64 kbit/s",
-              "80 kbit/s", "96 kbit/s", "112 kbit/s", "128 kbit/s", "160 kbit/s", "192 kbit/s",
-              "224 kbit/s", "256 kbit/s", "320 kbit/s", "forbidden" } },
+  public static final String bitrate_str[][][] = { { { "free format", "32 kbit/s", "48 kbit/s", "56 kbit/s", "64 kbit/s", "80 kbit/s", "96 kbit/s", "112 kbit/s", "128 kbit/s", "144 kbit/s", "160 kbit/s", "176 kbit/s", "192 kbit/s", "224 kbit/s", "256 kbit/s", "forbidden" }, { "free format", "8 kbit/s", "16 kbit/s", "24 kbit/s", "32 kbit/s", "40 kbit/s", "48 kbit/s", "56 kbit/s", "64 kbit/s", "80 kbit/s", "96 kbit/s", "112 kbit/s", "128 kbit/s", "144 kbit/s", "160 kbit/s", "forbidden" }, { "free format", "8 kbit/s", "16 kbit/s", "24 kbit/s", "32 kbit/s", "40 kbit/s", "48 kbit/s", "56 kbit/s", "64 kbit/s", "80 kbit/s", "96 kbit/s", "112 kbit/s", "128 kbit/s", "144 kbit/s", "160 kbit/s", "forbidden" } },
+
+  { { "free format", "32 kbit/s", "64 kbit/s", "96 kbit/s", "128 kbit/s", "160 kbit/s", "192 kbit/s", "224 kbit/s", "256 kbit/s", "288 kbit/s", "320 kbit/s", "352 kbit/s", "384 kbit/s", "416 kbit/s", "448 kbit/s", "forbidden" }, { "free format", "32 kbit/s", "48 kbit/s", "56 kbit/s", "64 kbit/s", "80 kbit/s", "96 kbit/s", "112 kbit/s", "128 kbit/s", "160 kbit/s", "192 kbit/s", "224 kbit/s", "256 kbit/s", "320 kbit/s", "384 kbit/s", "forbidden" }, { "free format", "32 kbit/s", "40 kbit/s", "48 kbit/s", "56 kbit/s", "64 kbit/s", "80 kbit/s", "96 kbit/s", "112 kbit/s", "128 kbit/s", "160 kbit/s", "192 kbit/s", "224 kbit/s", "256 kbit/s", "320 kbit/s", "forbidden" } },
       // SZD: MPEG2.5
-      {
-          { "free format", "32 kbit/s", "48 kbit/s", "56 kbit/s", "64 kbit/s", "80 kbit/s",
-              "96 kbit/s", "112 kbit/s", "128 kbit/s", "144 kbit/s", "160 kbit/s", "176 kbit/s",
-              "192 kbit/s", "224 kbit/s", "256 kbit/s", "forbidden" },
-          { "free format", "8 kbit/s", "16 kbit/s", "24 kbit/s", "32 kbit/s", "40 kbit/s",
-              "48 kbit/s", "56 kbit/s", "64 kbit/s", "80 kbit/s", "96 kbit/s", "112 kbit/s",
-              "128 kbit/s", "144 kbit/s", "160 kbit/s", "forbidden" },
-          { "free format", "8 kbit/s", "16 kbit/s", "24 kbit/s", "32 kbit/s", "40 kbit/s",
-              "48 kbit/s", "56 kbit/s", "64 kbit/s", "80 kbit/s", "96 kbit/s", "112 kbit/s",
-              "128 kbit/s", "144 kbit/s", "160 kbit/s", "forbidden" } }, };
+  { { "free format", "32 kbit/s", "48 kbit/s", "56 kbit/s", "64 kbit/s", "80 kbit/s", "96 kbit/s", "112 kbit/s", "128 kbit/s", "144 kbit/s", "160 kbit/s", "176 kbit/s", "192 kbit/s", "224 kbit/s", "256 kbit/s", "forbidden" }, { "free format", "8 kbit/s", "16 kbit/s", "24 kbit/s", "32 kbit/s", "40 kbit/s", "48 kbit/s", "56 kbit/s", "64 kbit/s", "80 kbit/s", "96 kbit/s", "112 kbit/s", "128 kbit/s", "144 kbit/s", "160 kbit/s", "forbidden" }, { "free format", "8 kbit/s", "16 kbit/s", "24 kbit/s", "32 kbit/s", "40 kbit/s", "48 kbit/s", "56 kbit/s", "64 kbit/s", "80 kbit/s", "96 kbit/s", "112 kbit/s", "128 kbit/s", "144 kbit/s", "160 kbit/s", "forbidden" } }, };
 
   /**
    * Return Bitrate.
@@ -700,9 +647,8 @@ public final class Header {
    * @return bitrate in bps
    */
 
-  
   public String bitrate_string() {
-     String kbs = " kb/s";
+    String kbs = " kb/s";
     if (h_vbr == true) {
       return Integer.toString(bitrate() / 1000) + kbs;
     } else {
@@ -715,7 +661,7 @@ public final class Header {
    * 
    * @return bitrate in bps and average bitrate for VBR header
    */
-  
+
   public int bitrate() {
     if (h_vbr == true) {
       return ((int) ((h_vbr_bytes * 8) / (ms_per_frame() * h_vbr_frames))) * 1000;
@@ -738,7 +684,7 @@ public final class Header {
    * 
    * @return frequency string in kHz
    */
-  
+
   public String sample_frequency_string() {
     switch (h_sample_frequency) {
     case THIRTYTWO:
@@ -772,7 +718,7 @@ public final class Header {
   /**
    * Returns Mode.
    */
-  
+
   public String mode_string() {
     switch (h_mode) {
     case STEREO:
@@ -792,7 +738,7 @@ public final class Header {
    * 
    * @return MPEG-1 or MPEG-2 LSF or MPEG-2.5 LSF
    */
-  
+
   public String version_string() {
     switch (h_version) {
     case MPEG1:
@@ -833,17 +779,14 @@ public final class Header {
     this.br = br;
   }
 
-  
   public SideInfoBuffer getSideInfoBuffer() {
     return sib;
   }
 
-  
   public BitReserve getBitReserve() {
     return br;
   }
 
-  
   public int getIdx() {
     return idx;
   }
index fd77b64..d32ee1a 100644 (file)
@@ -2,11 +2,11 @@
 
 public class HuffData {
 
-   public int x;
-   public int y;
-   public int w;
-   public int v;
-   public BitReserve br;
+  public int x;
+  public int y;
+  public int w;
+  public int v;
+  public BitReserve br;
 
   public HuffData(int x, int y, int w, int v, BitReserve br) {
     this.x = x;
index 3945c3d..079a5c8 100644 (file)
@@ -26,53 +26,44 @@ import java.io.InputStream;
  * \r
  * An instance of <code>InputStreamSource</code> implements a\r
  * <code>Source</code> that provides data from an <code>InputStream\r
- * </code>. Seeking functionality is not supported. \r
+ * </code>. Seeking functionality is not supported.\r
  * \r
  * @author MDM\r
  */\r
-public class InputStreamSource implements Source\r
-{\r
-       private final InputStream               in;\r
-       \r
-       public InputStreamSource(InputStream in)\r
-       {\r
-               if (in==null)\r
-                       throw new NullPointerException("in");\r
-               \r
-               this.in = in;           \r
-       }\r
-       \r
-       public int read(byte[] b, int offs, int len)\r
-               throws IOException\r
-       {\r
-               int read = in.read(b, offs, len);\r
-               return read;\r
-       }\r
-       \r
-       public boolean willReadBlock()\r
-       {\r
-               return true;\r
-               //boolean block = (in.available()==0);\r
-               //return block;\r
-       }\r
-       \r
-       public boolean isSeekable()\r
-       {\r
-               return false;   \r
-       }\r
-       \r
-       public long     tell()\r
-       {\r
-               return -1;      \r
-       }\r
-       \r
-       public long     seek(long to)\r
-       {\r
-               return -1;      \r
-       }\r
-       \r
-       public long length()\r
-       {\r
-               return -1;\r
-       }\r
+public class InputStreamSource implements Source {\r
+  private final InputStream in;\r
+\r
+  public InputStreamSource(InputStream in) {\r
+    if (in == null)\r
+      throw new NullPointerException("in");\r
+\r
+    this.in = in;\r
+  }\r
+\r
+  public int read(byte[] b, int offs, int len) throws IOException {\r
+    int read = in.read(b, offs, len);\r
+    return read;\r
+  }\r
+\r
+  public boolean willReadBlock() {\r
+    return true;\r
+    // boolean block = (in.available()==0);\r
+    // return block;\r
+  }\r
+\r
+  public boolean isSeekable() {\r
+    return false;\r
+  }\r
+\r
+  public long tell() {\r
+    return -1;\r
+  }\r
+\r
+  public long seek(long to) {\r
+    return -1;\r
+  }\r
+\r
+  public long length() {\r
+    return -1;\r
+  }\r
 }\r
index cc8dde7..502c0bd 100644 (file)
@@ -21,9 +21,8 @@
 /**\r
  * Work in progress.\r
  * \r
- * API usage errors may be handled by throwing an instance of this\r
- * class, as per JMF 2.0. \r
+ * API usage errors may be handled by throwing an instance of this class, as per\r
+ * JMF 2.0.\r
  */\r
-public class JavaLayerError extends Error\r
-{      \r
+public class JavaLayerError extends Error {\r
 }\r
index 4d11270..e8f455a 100644 (file)
  *----------------------------------------------------------------------\r
  */\r
 \r
-\r
 /**\r
  * Exception erorr codes for components of the JavaLayer API.\r
  */\r
-public interface JavaLayerErrors\r
-{\r
-       /**\r
-        * The first bitstream error code. See the {@link DecoderErrors DecoderErrors}\r
-        * interface for other bitstream error codes.\r
-        */\r
-       static public final int BITSTREAM_ERROR = 0x100;\r
+public interface JavaLayerErrors {\r
+  /**\r
+   * The first bitstream error code. See the {@link DecoderErrors DecoderErrors}\r
+   * interface for other bitstream error codes.\r
+   */\r
+  static public final int BITSTREAM_ERROR = 0x100;\r
 \r
-       /**\r
-        * The first decoder error code. See the {@link DecoderErrors DecoderErrors}\r
-        * interface for other decoder error codes.\r
-        */\r
-       static public final int DECODER_ERROR = 0x200;\r
+  /**\r
+   * The first decoder error code. See the {@link DecoderErrors DecoderErrors}\r
+   * interface for other decoder error codes.\r
+   */\r
+  static public final int DECODER_ERROR = 0x200;\r
 \r
 }\r
index 2759a9a..b324415 100644 (file)
  *----------------------------------------------------------------------
  */
 
-
 //import java.io.PrintStream;
 
-
 /**
- * The JavaLayerException is the base class for all API-level
- * exceptions thrown by JavaLayer. To facilitate conversion and 
- * common handling of exceptions from other domains, the class 
- * can delegate some functionality to a contained Throwable instance. 
- * <p> 
+ * The JavaLayerException is the base class for all API-level exceptions thrown
+ * by JavaLayer. To facilitate conversion and common handling of exceptions from
+ * other domains, the class can delegate some functionality to a contained
+ * Throwable instance.
+ * <p>
  * 
  * @author MDM
  */
-public class JavaLayerException extends Exception
-{
-     
-     private Throwable        exception;
-     
-     
-     public JavaLayerException()
-     {
-     }
-     
-     public JavaLayerException(String msg)
-     {
-          super(msg);
-     }
-     
-     public JavaLayerException(String msg, Throwable t)
-     {
-          super(msg);
-          exception = t;
-     }
-     
-     public Throwable getException()
-     {
-          return exception;   
-     }
-     
-     
-     public void printStackTrace()
-     {
-//          printStackTrace(System.err);  
-     }
-     
-     public void printStackTrace(PrintStream ps)
-     {
-//          if (this.exception==null)
-//          {
-//               super.printStackTrace(ps);    
-//          }
-//          else
-//          {
-//               exception.printStackTrace();
-//          }
-     }
-     
-     
+public class JavaLayerException extends Exception {
+
+  private Throwable exception;
+
+  public JavaLayerException() {
+  }
+
+  public JavaLayerException(String msg) {
+    super(msg);
+  }
+
+  public JavaLayerException(String msg, Throwable t) {
+    super(msg);
+    exception = t;
+  }
+
+  public Throwable getException() {
+    return exception;
+  }
+
+  public void printStackTrace() {
+    // printStackTrace(System.err);
+  }
+
+  public void printStackTrace(PrintStream ps) {
+    // if (this.exception==null)
+    // {
+    // super.printStackTrace(ps);
+    // }
+    // else
+    // {
+    // exception.printStackTrace();
+    // }
+  }
+
 }
index eda09de..fc719e6 100644 (file)
  *----------------------------------------------------------------------\r
  */\r
 \r
-\r
 //import java.io.InputStream;\r
 \r
 /**\r
- * The <code>JavaLayerHooks</code> class allows developers to change\r
- * the way the JavaLayer library uses Resources. \r
+ * The <code>JavaLayerHooks</code> class allows developers to change the way the\r
+ * JavaLayer library uses Resources.\r
  */\r
 \r
-public interface JavaLayerHook\r
-{\r
-       /**\r
-        * Retrieves the named resource. This allows resources to be\r
-        * obtained without specifying how they are retrieved. \r
-        */\r
-       public InputStream getResourceAsStream(String name);\r
+public interface JavaLayerHook {\r
+  /**\r
+   * Retrieves the named resource. This allows resources to be obtained without\r
+   * specifying how they are retrieved.\r
+   */\r
+  public InputStream getResourceAsStream(String name);\r
 }\r
index 13f2ac0..54aae48 100644 (file)
@@ -18,7 +18,6 @@
  *----------------------------------------------------------------------\r
  */\r
 \r
-\r
 //import java.io.IOException;\r
 //import java.io.InputStream;\r
 //import java.io.InvalidClassException;\r
 //import java.lang.reflect.Array;\r
 \r
 /**\r
- * The JavaLayerUtils class is not strictly part of the JavaLayer API.\r
- * It serves to provide useful methods and system-wide hooks.\r
+ * The JavaLayerUtils class is not strictly part of the JavaLayer API. It serves\r
+ * to provide useful methods and system-wide hooks.\r
  * \r
  * @author MDM\r
  */\r
-public class JavaLayerUtils\r
-{\r
-       static private JavaLayerHook    hook = null;\r
-       \r
-       /**\r
-        * Deserializes the object contained in the given input stream.\r
-        * @param in    The input stream to deserialize an object from.\r
-        * @param cls   The expected class of the deserialized object. \r
-        */\r
-//     static public Object deserialize(InputStream in, Class cls)\r
-       static public Object deserialize(InputStream in)\r
-               throws IOException\r
-       {\r
-//             if (cls==null)\r
-//                     throw new NullPointerException("cls");\r
-               \r
-//             Object obj = deserialize(in, cls);\r
-            Object obj = deserialize(in);\r
-//             if (!cls.isInstance(obj))\r
-//             {\r
-//                     throw new InvalidObjectException("type of deserialized instance not of required class.");\r
-//             }\r
-               \r
-               return obj;\r
-       }\r
-       \r
-       /**\r
-        * Deserializes an object from the given <code>InputStream</code>.\r
-        * The deserialization is delegated to an <code>\r
-        * ObjectInputStream</code> instance. \r
-        * \r
-        * @param in    The <code>InputStream</code> to deserialize an object\r
-        *                              from.\r
-        * \r
-        * @return The object deserialized from the stream. \r
-        * @exception IOException is thrown if there was a problem reading\r
-        *              the underlying stream, or an object could not be deserialized\r
-        *              from the stream.\r
-        * \r
-        * @see java.io.ObjectInputStream\r
-        */\r
-       static public Object deserialize(InputStream in)\r
-               throws IOException\r
-       {\r
-               if (in==null)\r
-                       throw new NullPointerException("in");\r
-               \r
-               //TODO : need to enable after having objectinputstream\r
-               /*\r
-               ObjectInputStream objIn = new ObjectInputStream(in);\r
-               \r
-               Object obj;\r
-               \r
-               try\r
-               {\r
-                       obj = objIn.readObject();\r
-               }\r
-               catch (ClassNotFoundException ex)\r
-               {\r
-                       throw new InvalidClassException(ex.toString());\r
-               }\r
-               \r
-               return obj;\r
-               */\r
-               return null;\r
-       }\r
-\r
-       /**\r
-        * Deserializes an array from a given <code>InputStream</code>.\r
-        * \r
-        * @param in            The <code>InputStream</code> to \r
-        *                                      deserialize an object from.\r
-        *                              \r
-        * @param elemType      The class denoting the type of the array\r
-        *                                      elements.\r
-        * @param length        The expected length of the array, or -1 if\r
-        *                                      any length is expected.\r
-        */\r
-           static public Object deserializeArray(InputStream in, int length)\r
-         throws IOException\r
-    {\r
-         if (length<-1)\r
-              throw new IllegalArgumentException("length");\r
-         \r
-         Object obj = deserialize(in);\r
-         \r
-         return obj;\r
+public class JavaLayerUtils {\r
+  static private JavaLayerHook hook = null;\r
+\r
+  /**\r
+   * Deserializes the object contained in the given input stream.\r
+   * \r
+   * @param in\r
+   *          The input stream to deserialize an object from.\r
+   * @param cls\r
+   *          The expected class of the deserialized object.\r
+   */\r
+  // static public Object deserialize(InputStream in, Class cls)\r
+  static public Object deserialize(InputStream in) throws IOException {\r
+    // if (cls==null)\r
+    // throw new NullPointerException("cls");\r
+\r
+    // Object obj = deserialize(in, cls);\r
+    Object obj = deserialize(in);\r
+    // if (!cls.isInstance(obj))\r
+    // {\r
+    // throw new\r
+    // InvalidObjectException("type of deserialized instance not of required class.");\r
+    // }\r
+\r
+    return obj;\r
+  }\r
+\r
+  /**\r
+   * Deserializes an object from the given <code>InputStream</code>. The\r
+   * deserialization is delegated to an <code>\r
+   * ObjectInputStream</code> instance.\r
+   * \r
+   * @param in\r
+   *          The <code>InputStream</code> to deserialize an object from.\r
+   * \r
+   * @return The object deserialized from the stream.\r
+   * @exception IOException\r
+   *              is thrown if there was a problem reading the underlying\r
+   *              stream, or an object could not be deserialized from the\r
+   *              stream.\r
+   * \r
+   * @see java.io.ObjectInputStream\r
+   */\r
+  static public Object deserialize(InputStream in) throws IOException {\r
+    if (in == null)\r
+      throw new NullPointerException("in");\r
+\r
+    // TODO : need to enable after having objectinputstream\r
+    /*\r
+     * ObjectInputStream objIn = new ObjectInputStream(in);\r
+     * \r
+     * Object obj;\r
+     * \r
+     * try { obj = objIn.readObject(); } catch (ClassNotFoundException ex) {\r
+     * throw new InvalidClassException(ex.toString()); }\r
+     * \r
+     * return obj;\r
+     */\r
+    return null;\r
+  }\r
+\r
+  /**\r
+   * Deserializes an array from a given <code>InputStream</code>.\r
+   * \r
+   * @param in\r
+   *          The <code>InputStream</code> to deserialize an object from.\r
+   * \r
+   * @param elemType\r
+   *          The class denoting the type of the array elements.\r
+   * @param length\r
+   *          The expected length of the array, or -1 if any length is expected.\r
+   */\r
+  static public Object deserializeArray(InputStream in, int length) throws IOException {\r
+    if (length < -1)\r
+      throw new IllegalArgumentException("length");\r
+\r
+    Object obj = deserialize(in);\r
+\r
+    return obj;\r
+  }\r
+\r
+  // static public Object deserializeArray(InputStream in, Class elemType, int\r
+  // length)\r
+  // throws IOException\r
+  // {\r
+  // if (elemType==null)\r
+  // throw new NullPointerException("elemType");\r
+  //\r
+  // if (length<-1)\r
+  // throw new IllegalArgumentException("length");\r
+  //\r
+  // Object obj = deserialize(in);\r
+  //\r
+  // //SSJava will never throw exceptions as it is so this code is meaningless\r
+  // /*\r
+  // Class cls = obj.getClass();\r
+  //\r
+  // if (!cls.isArray())\r
+  // throw new InvalidObjectException("object is not an array");\r
+  //\r
+  // Class arrayElemType = cls.getComponentType();\r
+  // if (arrayElemType!=elemType)\r
+  // throw new InvalidObjectException("unexpected array component type");\r
+  //\r
+  // if (length != -1)\r
+  // {\r
+  // int arrayLength = Array.getLength(obj);\r
+  // if (arrayLength!=length)\r
+  // throw new InvalidObjectException("array length mismatch");\r
+  // }\r
+  // */\r
+  // return obj;\r
+  // }\r
+\r
+  // static public Object deserializeArrayResource(String name, Class elemType,\r
+  // int length)\r
+  static public Object deserializeArrayResource(String name, int length) throws IOException {\r
+    InputStream str = getResourceAsStream(name);\r
+    if (str == null)\r
+      throw new IOException("unable to load resource '" + name + "'");\r
+\r
+    // Object obj = deserializeArray(str, elemType, length);\r
+    Object obj = deserializeArray(str, length);\r
+\r
+    return obj;\r
+  }\r
+\r
+  static public void serialize(OutputStream out, Object obj) throws IOException {\r
+    // TODO : need to enable after having objectinputstream\r
+    // if (out==null)\r
+    // throw new NullPointerException("out");\r
+    //\r
+    // if (obj==null)\r
+    // throw new NullPointerException("obj");\r
+    //\r
+    // ObjectOutputStream objOut = new ObjectOutputStream(out);\r
+    // objOut.writeObject(obj);\r
+\r
+  }\r
+\r
+  /**\r
+   * Sets the system-wide JavaLayer hook.\r
+   */\r
+  static synchronized public void setHook(JavaLayerHook hook0) {\r
+    hook = hook0;\r
+  }\r
+\r
+  static synchronized public JavaLayerHook getHook() {\r
+    return hook;\r
+  }\r
+\r
+  /**\r
+   * Retrieves an InputStream for a named resource.\r
+   * \r
+   * @param name\r
+   *          The name of the resource. This must be a simple name, and not a\r
+   *          qualified package name.\r
+   * \r
+   * @return The InputStream for the named resource, or null if the resource has\r
+   *         not been found. If a hook has been provided, its\r
+   *         getResourceAsStream() method is called to retrieve the resource.\r
+   */\r
+  static synchronized public InputStream getResourceAsStream(String name) {\r
+    InputStream is = null;\r
+\r
+    if (hook != null) {\r
+      is = hook.getResourceAsStream(name);\r
     }\r
-//     static public Object deserializeArray(InputStream in, Class elemType, int length)\r
-//             throws IOException\r
-//     {\r
-//             if (elemType==null)\r
-//                     throw new NullPointerException("elemType");\r
-//             \r
-//             if (length<-1)\r
-//                     throw new IllegalArgumentException("length");\r
-//             \r
-//             Object obj = deserialize(in);\r
-//             \r
-//             //SSJava will never throw exceptions as it is so this code is meaningless\r
-//             /*\r
-//             Class cls = obj.getClass();\r
-//             \r
-//             if (!cls.isArray())\r
-//                     throw new InvalidObjectException("object is not an array");\r
-//             \r
-//             Class arrayElemType = cls.getComponentType();\r
-//             if (arrayElemType!=elemType)\r
-//                     throw new InvalidObjectException("unexpected array component type");\r
-//                             \r
-//             if (length != -1)\r
-//             {\r
-//                     int arrayLength = Array.getLength(obj);\r
-//                     if (arrayLength!=length)\r
-//                             throw new InvalidObjectException("array length mismatch");\r
-//             }\r
-//             */\r
-//             return obj;\r
-//     }\r
-\r
-//     static public Object deserializeArrayResource(String name, Class elemType, int length)\r
-           static public Object deserializeArrayResource(String name, int length)\r
-               throws IOException\r
-       {               \r
-               InputStream str = getResourceAsStream(name);\r
-               if (str==null)\r
-                       throw new IOException("unable to load resource '"+name+"'");\r
-               \r
-//             Object obj = deserializeArray(str, elemType, length);\r
-               Object obj = deserializeArray(str, length);\r
-               \r
-               return obj;\r
-       }       \r
-       \r
-       static public void serialize(OutputStream out, Object obj)\r
-               throws IOException\r
-       {\r
-       //TODO : need to enable after having objectinputstream\r
-//             if (out==null)\r
-//                     throw new NullPointerException("out");\r
-//             \r
-//             if (obj==null)\r
-//                     throw new NullPointerException("obj");\r
-//             \r
-//             ObjectOutputStream objOut = new ObjectOutputStream(out);\r
-//             objOut.writeObject(obj);\r
-                               \r
-       }\r
-\r
-       /**\r
-        * Sets the system-wide JavaLayer hook.\r
-        */\r
-       static synchronized public void setHook(JavaLayerHook hook0)            \r
-       {\r
-               hook = hook0;\r
-       }\r
-       \r
-       static synchronized public JavaLayerHook getHook()\r
-       {\r
-               return hook;    \r
-       }\r
-       \r
-       /**\r
-        * Retrieves an InputStream for a named resource. \r
-        * \r
-        * @param name  The name of the resource. This must be a simple\r
-        *                              name, and not a qualified package name.\r
-        * \r
-        * @return              The InputStream for the named resource, or null if\r
-        *                              the resource has not been found. If a hook has been \r
-        *                              provided, its getResourceAsStream() method is called\r
-        *                              to retrieve the resource. \r
-        */\r
-       static synchronized public InputStream getResourceAsStream(String name)\r
-       {\r
-               InputStream is = null;\r
-               \r
-               if (hook!=null)\r
-               {\r
-                       is = hook.getResourceAsStream(name);    \r
-               }\r
-               //TODO java reflection\r
-//             else\r
-//             {\r
-//                     Class cls = JavaLayerUtils.class;\r
-//                     is = cls.getResourceAsStream(name);\r
-//             }\r
-               \r
-               return is;              \r
-       }\r
+    // TODO java reflection\r
+    // else\r
+    // {\r
+    // Class cls = JavaLayerUtils.class;\r
+    // is = cls.getResourceAsStream(name);\r
+    // }\r
+\r
+    return is;\r
+  }\r
 }\r
index 3dc53b8..3cb4b1d 100644 (file)
@@ -1,3 +1,3 @@
-public @interface LATTICE{
-    String value();
+public @interface LATTICE {
+  String value();
 }
index 2b28d2d..6802e54 100644 (file)
  * Implements decoding of MPEG Audio Layer I frames.
  */
 
-
 class LayerIDecoder implements FrameDecoder {
 
-  
   protected Bitstream stream;
-  
+
   protected Header header;
-  
+
   protected SynthesisFilter filter1;
-  
+
   protected SynthesisFilter filter2;
-  
+
   protected Obuffer buffer;
-  
+
   protected int which_channels;
-  
+
   protected int mode;
 
-  
   protected int num_subbands;
-  
+
   protected Subband[] subbands;
 
-  
   protected Crc16 crc = null; // new Crc16[1] to enable CRC checking.
 
   public LayerIDecoder() {
     crc = new Crc16();
   }
 
-  public void create( Bitstream stream0,  Header header0,
-       SynthesisFilter filtera,  SynthesisFilter filterb,
-       Obuffer buffer0,  int which_ch0) {
+  public void create(Bitstream stream0, Header header0, SynthesisFilter filtera, SynthesisFilter filterb, Obuffer buffer0, int which_ch0) {
     stream = stream0;
     header = header0;
     filter1 = filtera;
@@ -90,7 +84,7 @@ class LayerIDecoder implements FrameDecoder {
   }
 
   protected void createSubbands() {
-     int i;
+    int i;
     if (mode == Header.SINGLE_CHANNEL) {
       for (i = 0; i < num_subbands; ++i) {
         subbands[i] = new SubbandLayer1(i);
@@ -111,7 +105,7 @@ class LayerIDecoder implements FrameDecoder {
 
   protected void readAllocation() throws DecoderException {
     // start to read audio data:
-    for ( int i = 0; i < num_subbands; ++i)
+    for (int i = 0; i < num_subbands; ++i)
       subbands[i].read_allocation(stream, header, crc);
 
   }
@@ -121,20 +115,19 @@ class LayerIDecoder implements FrameDecoder {
   }
 
   protected void readScaleFactors() {
-    for ( int i = 0; i < num_subbands; ++i)
+    for (int i = 0; i < num_subbands; ++i)
       subbands[i].read_scalefactor(stream, header);
   }
 
-  
   protected void readSampleData() {
 
-     boolean read_ready = false;
-     boolean write_ready = false;
+    boolean read_ready = false;
+    boolean write_ready = false;
 
-     int mode = header.mode(); // header.mode() will return
-                                           // DELTA(THIS)
+    int mode = header.mode(); // header.mode() will return
+                              // DELTA(THIS)
 
-     int i;
+    int i;
     do {
 
       for (i = 0; i < num_subbands; ++i) {
@@ -161,53 +154,34 @@ class LayerIDecoder implements FrameDecoder {
    * Class for layer I subbands in single channel mode. Used for single channel
    * mode and in derived class for intensity stereo mode
    */
-  
-  
+
   static class SubbandLayer1 extends Subband {
 
     // Factors and offsets for sample requantization
-    public static final float table_factor[] = { 0.0f, (1.0f / 2.0f) * (4.0f / 3.0f),
-        (1.0f / 4.0f) * (8.0f / 7.0f), (1.0f / 8.0f) * (16.0f / 15.0f),
-        (1.0f / 16.0f) * (32.0f / 31.0f), (1.0f / 32.0f) * (64.0f / 63.0f),
-        (1.0f / 64.0f) * (128.0f / 127.0f), (1.0f / 128.0f) * (256.0f / 255.0f),
-        (1.0f / 256.0f) * (512.0f / 511.0f), (1.0f / 512.0f) * (1024.0f / 1023.0f),
-        (1.0f / 1024.0f) * (2048.0f / 2047.0f), (1.0f / 2048.0f) * (4096.0f / 4095.0f),
-        (1.0f / 4096.0f) * (8192.0f / 8191.0f), (1.0f / 8192.0f) * (16384.0f / 16383.0f),
-        (1.0f / 16384.0f) * (32768.0f / 32767.0f) };
-
-    public static final float table_offset[] = { 0.0f, ((1.0f / 2.0f) - 1.0f) * (4.0f / 3.0f),
-        ((1.0f / 4.0f) - 1.0f) * (8.0f / 7.0f), ((1.0f / 8.0f) - 1.0f) * (16.0f / 15.0f),
-        ((1.0f / 16.0f) - 1.0f) * (32.0f / 31.0f), ((1.0f / 32.0f) - 1.0f) * (64.0f / 63.0f),
-        ((1.0f / 64.0f) - 1.0f) * (128.0f / 127.0f), ((1.0f / 128.0f) - 1.0f) * (256.0f / 255.0f),
-        ((1.0f / 256.0f) - 1.0f) * (512.0f / 511.0f),
-        ((1.0f / 512.0f) - 1.0f) * (1024.0f / 1023.0f),
-        ((1.0f / 1024.0f) - 1.0f) * (2048.0f / 2047.0f),
-        ((1.0f / 2048.0f) - 1.0f) * (4096.0f / 4095.0f),
-        ((1.0f / 4096.0f) - 1.0f) * (8192.0f / 8191.0f),
-        ((1.0f / 8192.0f) - 1.0f) * (16384.0f / 16383.0f),
-        ((1.0f / 16384.0f) - 1.0f) * (32768.0f / 32767.0f) };
-
-    
+    public static final float table_factor[] = { 0.0f, (1.0f / 2.0f) * (4.0f / 3.0f), (1.0f / 4.0f) * (8.0f / 7.0f), (1.0f / 8.0f) * (16.0f / 15.0f), (1.0f / 16.0f) * (32.0f / 31.0f), (1.0f / 32.0f) * (64.0f / 63.0f), (1.0f / 64.0f) * (128.0f / 127.0f), (1.0f / 128.0f) * (256.0f / 255.0f), (1.0f / 256.0f) * (512.0f / 511.0f), (1.0f / 512.0f) * (1024.0f / 1023.0f), (1.0f / 1024.0f) * (2048.0f / 2047.0f), (1.0f / 2048.0f) * (4096.0f / 4095.0f), (1.0f / 4096.0f) * (8192.0f / 8191.0f), (1.0f / 8192.0f) * (16384.0f / 16383.0f), (1.0f / 16384.0f) * (32768.0f / 32767.0f) };
+
+    public static final float table_offset[] = { 0.0f, ((1.0f / 2.0f) - 1.0f) * (4.0f / 3.0f), ((1.0f / 4.0f) - 1.0f) * (8.0f / 7.0f), ((1.0f / 8.0f) - 1.0f) * (16.0f / 15.0f), ((1.0f / 16.0f) - 1.0f) * (32.0f / 31.0f), ((1.0f / 32.0f) - 1.0f) * (64.0f / 63.0f), ((1.0f / 64.0f) - 1.0f) * (128.0f / 127.0f), ((1.0f / 128.0f) - 1.0f) * (256.0f / 255.0f), ((1.0f / 256.0f) - 1.0f) * (512.0f / 511.0f), ((1.0f / 512.0f) - 1.0f) * (1024.0f / 1023.0f), ((1.0f / 1024.0f) - 1.0f) * (2048.0f / 2047.0f), ((1.0f / 2048.0f) - 1.0f) * (4096.0f / 4095.0f), ((1.0f / 4096.0f) - 1.0f) * (8192.0f / 8191.0f), ((1.0f / 8192.0f) - 1.0f) * (16384.0f / 16383.0f), ((1.0f / 16384.0f) - 1.0f) * (32768.0f / 32767.0f) };
+
     protected int subbandnumber;
-    
+
     protected int samplenumber;
-    
+
     protected int allocation;
-    
+
     protected float scalefactor;
-    
+
     protected int samplelength;
-    
+
     protected float sample;
-    
+
     protected float factor;
-    
+
     protected float offset;
 
     /**
      * Construtor.
      */
-    public SubbandLayer1( int subbandnumber) {
+    public SubbandLayer1(int subbandnumber) {
       this.subbandnumber = subbandnumber;
       samplenumber = 0;
     }
@@ -215,11 +189,9 @@ class LayerIDecoder implements FrameDecoder {
     /**
           *
           */
-    // 
-    
-    public void read_allocation( Bitstream stream,
-         Header header,  Crc16 crc)
-        throws DecoderException {
+    //
+
+    public void read_allocation(Bitstream stream, Header header, Crc16 crc) throws DecoderException {
 
       if ((allocation = stream.get_bits(4)) == 15) {
         // CGJ: catch this condition and throw appropriate exception
@@ -242,15 +214,14 @@ class LayerIDecoder implements FrameDecoder {
     /**
           *
           */
-    public void read_scalefactor( Bitstream stream,  Header header) {
+    public void read_scalefactor(Bitstream stream, Header header) {
       if (allocation != 0)
         scalefactor = scalefactors[stream.get_bits(6)];
     }
 
     // ssjava
-    
-    
-    public boolean read_sampledata( Bitstream stream) {
+
+    public boolean read_sampledata(Bitstream stream) {
       if (allocation != 0) {
         sample = (float) (stream.get_bits(samplelength));
       }
@@ -261,14 +232,11 @@ class LayerIDecoder implements FrameDecoder {
       return false;
     }
 
-    // 
-    
-    public boolean put_next_sample( int channels,
-         SynthesisFilter filter1,
-         SynthesisFilter filter2) {
+    //
+
+    public boolean put_next_sample(int channels, SynthesisFilter filter1, SynthesisFilter filter2) {
       if ((allocation != 0) && (channels != OutputChannels.RIGHT_CHANNEL)) {
-         float scaled_sample =
-            (sample * factor + offset) * scalefactor;
+        float scaled_sample = (sample * factor + offset) * scalefactor;
         filter1.input_sample(scaled_sample, subbandnumber);
       }
       return true;
@@ -278,56 +246,53 @@ class LayerIDecoder implements FrameDecoder {
   /**
    * Class for layer I subbands in joint stereo mode.
    */
-  
-  
+
   static class SubbandLayer1IntensityStereo extends SubbandLayer1 {
-    
+
     protected float channel2_scalefactor;
 
     /**
      * Constructor
      */
-    public SubbandLayer1IntensityStereo( int subbandnumber) {
+    public SubbandLayer1IntensityStereo(int subbandnumber) {
       super(subbandnumber);
     }
 
     /**
           *
           */
-    
-    public void read_allocation( Bitstream stream,  Header header,
-         Crc16 crc) throws DecoderException {
+
+    public void read_allocation(Bitstream stream, Header header, Crc16 crc) throws DecoderException {
       super.read_allocation(stream, header, crc);
     }
 
     /**
           *
           */
-    public void read_scalefactor( Bitstream stream,  Header header) {
+    public void read_scalefactor(Bitstream stream, Header header) {
       if (allocation != 0) {
         scalefactor = scalefactors[stream.get_bits(6)];
         channel2_scalefactor = scalefactors[stream.get_bits(6)];
       }
     }
 
-    public boolean read_sampledata( Bitstream stream) {
+    public boolean read_sampledata(Bitstream stream) {
       return super.read_sampledata(stream);
     }
 
-    public boolean put_next_sample( int channels,  SynthesisFilter filter1,
-         SynthesisFilter filter2) {
+    public boolean put_next_sample(int channels, SynthesisFilter filter1, SynthesisFilter filter2) {
       if (allocation != 0) {
         sample = sample * factor + offset; // requantization
         if (channels == OutputChannels.BOTH_CHANNELS) {
-           float sample1 = sample * scalefactor;
-           float sample2 = sample * channel2_scalefactor;
+          float sample1 = sample * scalefactor;
+          float sample2 = sample * channel2_scalefactor;
           filter1.input_sample(sample1, subbandnumber);
           filter2.input_sample(sample2, subbandnumber);
         } else if (channels == OutputChannels.LEFT_CHANNEL) {
-           float sample1 = sample * scalefactor;
+          float sample1 = sample * scalefactor;
           filter1.input_sample(sample1, subbandnumber);
         } else {
-           float sample2 = sample * channel2_scalefactor;
+          float sample2 = sample * channel2_scalefactor;
           filter1.input_sample(sample2, subbandnumber);
         }
       }
@@ -338,26 +303,25 @@ class LayerIDecoder implements FrameDecoder {
   /**
    * Class for layer I subbands in stereo mode.
    */
-  
-  
+
   static class SubbandLayer1Stereo extends SubbandLayer1 {
-    
+
     protected int channel2_allocation;
-    
+
     protected float channel2_scalefactor;
-    
+
     protected int channel2_samplelength;
-    
+
     protected float channel2_sample;
-    
+
     protected float channel2_factor;
-    
+
     protected float channel2_offset;
 
     /**
      * Constructor
      */
-    public SubbandLayer1Stereo( int subbandnumber) {
+    public SubbandLayer1Stereo(int subbandnumber) {
       super(subbandnumber);
     }
 
@@ -365,9 +329,7 @@ class LayerIDecoder implements FrameDecoder {
           *
           */
     // ssjava
-    public void read_allocation( Bitstream stream,
-         Header header,  Crc16 crc)
-        throws DecoderException {
+    public void read_allocation(Bitstream stream, Header header, Crc16 crc) throws DecoderException {
       allocation = stream.get_bits(4);
       channel2_allocation = stream.get_bits(4);
       if (crc != null) {
@@ -389,7 +351,7 @@ class LayerIDecoder implements FrameDecoder {
     /**
           *
           */
-    public void read_scalefactor( Bitstream stream,  Header header) {
+    public void read_scalefactor(Bitstream stream, Header header) {
       if (allocation != 0)
         scalefactor = scalefactors[stream.get_bits(6)];
       if (channel2_allocation != 0)
@@ -399,10 +361,9 @@ class LayerIDecoder implements FrameDecoder {
     /**
           *
           */
-    
-    public boolean read_sampledata( Bitstream stream) {
-       boolean returnvalue =
-          super.read_sampledata(stream);
+
+    public boolean read_sampledata(Bitstream stream) {
+      boolean returnvalue = super.read_sampledata(stream);
       if (channel2_allocation != 0) {
         channel2_sample = (float) (stream.get_bits(channel2_samplelength));
       }
@@ -412,13 +373,11 @@ class LayerIDecoder implements FrameDecoder {
     /**
           *
           */
-    
-    public boolean put_next_sample( int channels,  SynthesisFilter filter1,
-         SynthesisFilter filter2) {
+
+    public boolean put_next_sample(int channels, SynthesisFilter filter1, SynthesisFilter filter2) {
       super.put_next_sample(channels, filter1, filter2);
       if ((channel2_allocation != 0) && (channels != OutputChannels.LEFT_CHANNEL)) {
-         float sample2 =
-            (channel2_sample * channel2_factor + channel2_offset) * channel2_scalefactor;
+        float sample2 = (channel2_sample * channel2_factor + channel2_offset) * channel2_scalefactor;
         if (channels == OutputChannels.BOTH_CHANNELS)
           filter2.input_sample(sample2, subbandnumber);
         else
index d9af8f4..0ab4e20 100644 (file)
  * Implements decoding of MPEG Audio Layer II frames.
  */
 
-
 class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
 
   public LayerIIDecoder() {
   }
 
   protected void createSubbands() {
-     int i;
+    int i;
     if (mode == Header.SINGLE_CHANNEL)
       for (i = 0; i < num_subbands; ++i)
         subbands[i] = new SubbandLayer2(i);
@@ -57,7 +56,7 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
   protected void readScaleFactorSelection() {
     // eom note: num_subbands is defined in LayerIDecoder so it has (THIS,
     // LayerIDecoder) Loc
-    for ( int i = 0; i < num_subbands; ++i) {
+    for (int i = 0; i < num_subbands; ++i) {
       ((SubbandLayer2) subbands[i]).read_scalefactor_selection(stream, crc);
     }
   }
@@ -65,510 +64,105 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
   /**
    * Class for layer II subbands in single channel mode.
    */
-  
-  
+
   static class SubbandLayer2 extends Subband {
     // this table contains 3 requantized samples for each legal codeword
     // when grouped in 5 bits, i.e. 3 quantizationsteps per sample
-    public static final float grouping_5bits[] = new float[] { -2.0f / 3.0f, -2.0f / 3.0f,
-        -2.0f / 3.0f, 0.0f, -2.0f / 3.0f, -2.0f / 3.0f, 2.0f / 3.0f, -2.0f / 3.0f, -2.0f / 3.0f,
-        -2.0f / 3.0f, 0.0f, -2.0f / 3.0f, 0.0f, 0.0f, -2.0f / 3.0f, 2.0f / 3.0f, 0.0f,
-        -2.0f / 3.0f, -2.0f / 3.0f, 2.0f / 3.0f, -2.0f / 3.0f, 0.0f, 2.0f / 3.0f, -2.0f / 3.0f,
-        2.0f / 3.0f, 2.0f / 3.0f, -2.0f / 3.0f, -2.0f / 3.0f, -2.0f / 3.0f, 0.0f, 0.0f,
-        -2.0f / 3.0f, 0.0f, 2.0f / 3.0f, -2.0f / 3.0f, 0.0f, -2.0f / 3.0f, 0.0f, 0.0f, 0.0f, 0.0f,
-        0.0f, 2.0f / 3.0f, 0.0f, 0.0f, -2.0f / 3.0f, 2.0f / 3.0f, 0.0f, 0.0f, 2.0f / 3.0f, 0.0f,
-        2.0f / 3.0f, 2.0f / 3.0f, 0.0f, -2.0f / 3.0f, -2.0f / 3.0f, 2.0f / 3.0f, 0.0f,
-        -2.0f / 3.0f, 2.0f / 3.0f, 2.0f / 3.0f, -2.0f / 3.0f, 2.0f / 3.0f, -2.0f / 3.0f, 0.0f,
-        2.0f / 3.0f, 0.0f, 0.0f, 2.0f / 3.0f, 2.0f / 3.0f, 0.0f, 2.0f / 3.0f, -2.0f / 3.0f,
-        2.0f / 3.0f, 2.0f / 3.0f, 0.0f, 2.0f / 3.0f, 2.0f / 3.0f, 2.0f / 3.0f, 2.0f / 3.0f,
-        2.0f / 3.0f };
+    public static final float grouping_5bits[] = new float[] { -2.0f / 3.0f, -2.0f / 3.0f, -2.0f / 3.0f, 0.0f, -2.0f / 3.0f, -2.0f / 3.0f, 2.0f / 3.0f, -2.0f / 3.0f, -2.0f / 3.0f, -2.0f / 3.0f, 0.0f, -2.0f / 3.0f, 0.0f, 0.0f, -2.0f / 3.0f, 2.0f / 3.0f, 0.0f, -2.0f / 3.0f, -2.0f / 3.0f, 2.0f / 3.0f, -2.0f / 3.0f, 0.0f, 2.0f / 3.0f, -2.0f / 3.0f, 2.0f / 3.0f, 2.0f / 3.0f, -2.0f / 3.0f, -2.0f / 3.0f, -2.0f / 3.0f, 0.0f, 0.0f, -2.0f / 3.0f, 0.0f, 2.0f / 3.0f, -2.0f / 3.0f, 0.0f, -2.0f / 3.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f / 3.0f, 0.0f, 0.0f, -2.0f / 3.0f, 2.0f / 3.0f, 0.0f, 0.0f, 2.0f / 3.0f, 0.0f, 2.0f / 3.0f, 2.0f / 3.0f, 0.0f, -2.0f / 3.0f, -2.0f / 3.0f, 2.0f / 3.0f, 0.0f, -2.0f / 3.0f, 2.0f / 3.0f, 2.0f / 3.0f, -2.0f / 3.0f, 2.0f / 3.0f, -2.0f / 3.0f, 0.0f, 2.0f / 3.0f, 0.0f, 0.0f, 2.0f / 3.0f, 2.0f / 3.0f, 0.0f, 2.0f / 3.0f, -2.0f / 3.0f, 2.0f / 3.0f, 2.0f / 3.0f, 0.0f, 2.0f / 3.0f, 2.0f / 3.0f, 2.0f / 3.0f, 2.0f / 3.0f, 2.0f / 3.0f };
 
     // this table contains 3 requantized samples for each legal codeword
     // when grouped in 7 bits, i.e. 5 quantizationsteps per sample
-    public static final float grouping_7bits[] = new float[] { -0.8f, -0.8f, -0.8f, -0.4f, -0.8f,
-        -0.8f, 0.0f, -0.8f, -0.8f, 0.4f, -0.8f, -0.8f, 0.8f, -0.8f, -0.8f, -0.8f, -0.4f, -0.8f,
-        -0.4f, -0.4f, -0.8f, 0.0f, -0.4f, -0.8f, 0.4f, -0.4f, -0.8f, 0.8f, -0.4f, -0.8f, -0.8f,
-        0.0f, -0.8f, -0.4f, 0.0f, -0.8f, 0.0f, 0.0f, -0.8f, 0.4f, 0.0f, -0.8f, 0.8f, 0.0f, -0.8f,
-        -0.8f, 0.4f, -0.8f, -0.4f, 0.4f, -0.8f, 0.0f, 0.4f, -0.8f, 0.4f, 0.4f, -0.8f, 0.8f, 0.4f,
-        -0.8f, -0.8f, 0.8f, -0.8f, -0.4f, 0.8f, -0.8f, 0.0f, 0.8f, -0.8f, 0.4f, 0.8f, -0.8f, 0.8f,
-        0.8f, -0.8f, -0.8f, -0.8f, -0.4f, -0.4f, -0.8f, -0.4f, 0.0f, -0.8f, -0.4f, 0.4f, -0.8f,
-        -0.4f, 0.8f, -0.8f, -0.4f, -0.8f, -0.4f, -0.4f, -0.4f, -0.4f, -0.4f, 0.0f, -0.4f, -0.4f,
-        0.4f, -0.4f, -0.4f, 0.8f, -0.4f, -0.4f, -0.8f, 0.0f, -0.4f, -0.4f, 0.0f, -0.4f, 0.0f, 0.0f,
-        -0.4f, 0.4f, 0.0f, -0.4f, 0.8f, 0.0f, -0.4f, -0.8f, 0.4f, -0.4f, -0.4f, 0.4f, -0.4f, 0.0f,
-        0.4f, -0.4f, 0.4f, 0.4f, -0.4f, 0.8f, 0.4f, -0.4f, -0.8f, 0.8f, -0.4f, -0.4f, 0.8f, -0.4f,
-        0.0f, 0.8f, -0.4f, 0.4f, 0.8f, -0.4f, 0.8f, 0.8f, -0.4f, -0.8f, -0.8f, 0.0f, -0.4f, -0.8f,
-        0.0f, 0.0f, -0.8f, 0.0f, 0.4f, -0.8f, 0.0f, 0.8f, -0.8f, 0.0f, -0.8f, -0.4f, 0.0f, -0.4f,
-        -0.4f, 0.0f, 0.0f, -0.4f, 0.0f, 0.4f, -0.4f, 0.0f, 0.8f, -0.4f, 0.0f, -0.8f, 0.0f, 0.0f,
-        -0.4f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.4f, 0.0f, 0.0f, 0.8f, 0.0f, 0.0f, -0.8f, 0.4f, 0.0f,
-        -0.4f, 0.4f, 0.0f, 0.0f, 0.4f, 0.0f, 0.4f, 0.4f, 0.0f, 0.8f, 0.4f, 0.0f, -0.8f, 0.8f, 0.0f,
-        -0.4f, 0.8f, 0.0f, 0.0f, 0.8f, 0.0f, 0.4f, 0.8f, 0.0f, 0.8f, 0.8f, 0.0f, -0.8f, -0.8f,
-        0.4f, -0.4f, -0.8f, 0.4f, 0.0f, -0.8f, 0.4f, 0.4f, -0.8f, 0.4f, 0.8f, -0.8f, 0.4f, -0.8f,
-        -0.4f, 0.4f, -0.4f, -0.4f, 0.4f, 0.0f, -0.4f, 0.4f, 0.4f, -0.4f, 0.4f, 0.8f, -0.4f, 0.4f,
-        -0.8f, 0.0f, 0.4f, -0.4f, 0.0f, 0.4f, 0.0f, 0.0f, 0.4f, 0.4f, 0.0f, 0.4f, 0.8f, 0.0f, 0.4f,
-        -0.8f, 0.4f, 0.4f, -0.4f, 0.4f, 0.4f, 0.0f, 0.4f, 0.4f, 0.4f, 0.4f, 0.4f, 0.8f, 0.4f, 0.4f,
-        -0.8f, 0.8f, 0.4f, -0.4f, 0.8f, 0.4f, 0.0f, 0.8f, 0.4f, 0.4f, 0.8f, 0.4f, 0.8f, 0.8f, 0.4f,
-        -0.8f, -0.8f, 0.8f, -0.4f, -0.8f, 0.8f, 0.0f, -0.8f, 0.8f, 0.4f, -0.8f, 0.8f, 0.8f, -0.8f,
-        0.8f, -0.8f, -0.4f, 0.8f, -0.4f, -0.4f, 0.8f, 0.0f, -0.4f, 0.8f, 0.4f, -0.4f, 0.8f, 0.8f,
-        -0.4f, 0.8f, -0.8f, 0.0f, 0.8f, -0.4f, 0.0f, 0.8f, 0.0f, 0.0f, 0.8f, 0.4f, 0.0f, 0.8f,
-        0.8f, 0.0f, 0.8f, -0.8f, 0.4f, 0.8f, -0.4f, 0.4f, 0.8f, 0.0f, 0.4f, 0.8f, 0.4f, 0.4f, 0.8f,
-        0.8f, 0.4f, 0.8f, -0.8f, 0.8f, 0.8f, -0.4f, 0.8f, 0.8f, 0.0f, 0.8f, 0.8f, 0.4f, 0.8f, 0.8f,
-        0.8f, 0.8f, 0.8f };
+    public static final float grouping_7bits[] = new float[] { -0.8f, -0.8f, -0.8f, -0.4f, -0.8f, -0.8f, 0.0f, -0.8f, -0.8f, 0.4f, -0.8f, -0.8f, 0.8f, -0.8f, -0.8f, -0.8f, -0.4f, -0.8f, -0.4f, -0.4f, -0.8f, 0.0f, -0.4f, -0.8f, 0.4f, -0.4f, -0.8f, 0.8f, -0.4f, -0.8f, -0.8f, 0.0f, -0.8f, -0.4f, 0.0f, -0.8f, 0.0f, 0.0f, -0.8f, 0.4f, 0.0f, -0.8f, 0.8f, 0.0f, -0.8f, -0.8f, 0.4f, -0.8f, -0.4f, 0.4f, -0.8f, 0.0f, 0.4f, -0.8f, 0.4f, 0.4f, -0.8f, 0.8f, 0.4f, -0.8f, -0.8f, 0.8f, -0.8f, -0.4f, 0.8f, -0.8f, 0.0f, 0.8f, -0.8f, 0.4f, 0.8f, -0.8f, 0.8f, 0.8f, -0.8f, -0.8f, -0.8f, -0.4f, -0.4f, -0.8f, -0.4f, 0.0f, -0.8f, -0.4f, 0.4f, -0.8f, -0.4f, 0.8f, -0.8f, -0.4f, -0.8f, -0.4f, -0.4f, -0.4f, -0.4f, -0.4f, 0.0f, -0.4f, -0.4f, 0.4f, -0.4f, -0.4f, 0.8f, -0.4f, -0.4f, -0.8f, 0.0f, -0.4f, -0.4f, 0.0f, -0.4f, 0.0f, 0.0f, -0.4f, 0.4f, 0.0f, -0.4f, 0.8f, 0.0f, -0.4f, -0.8f, 0.4f, -0.4f, -0.4f, 0.4f, -0.4f, 0.0f, 0.4f, -0.4f, 0.4f, 0.4f, -0.4f, 0.8f, 0.4f, -0.4f, -0.8f, 0.8f, -0.4f, -0.4f, 0.8f, -0.4f, 0.0f, 0.8f, -0.4f, 0.4f, 0.8f, -0.4f, 0.8f, 0.8f, -0.4f, -0.8f, -0.8f, 0.0f, -0.4f, -0.8f, 0.0f, 0.0f, -0.8f, 0.0f, 0.4f, -0.8f, 0.0f, 0.8f, -0.8f, 0.0f, -0.8f, -0.4f, 0.0f, -0.4f, -0.4f, 0.0f, 0.0f, -0.4f, 0.0f, 0.4f, -0.4f, 0.0f, 0.8f, -0.4f, 0.0f, -0.8f, 0.0f, 0.0f, -0.4f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.4f, 0.0f, 0.0f, 0.8f, 0.0f, 0.0f, -0.8f, 0.4f, 0.0f, -0.4f, 0.4f, 0.0f, 0.0f, 0.4f, 0.0f, 0.4f, 0.4f, 0.0f, 0.8f, 0.4f, 0.0f, -0.8f, 0.8f, 0.0f, -0.4f, 0.8f, 0.0f, 0.0f, 0.8f, 0.0f, 0.4f, 0.8f, 0.0f, 0.8f, 0.8f, 0.0f, -0.8f, -0.8f, 0.4f, -0.4f, -0.8f, 0.4f, 0.0f, -0.8f, 0.4f, 0.4f, -0.8f, 0.4f, 0.8f, -0.8f, 0.4f, -0.8f, -0.4f, 0.4f, -0.4f, -0.4f, 0.4f, 0.0f, -0.4f, 0.4f, 0.4f, -0.4f, 0.4f, 0.8f, -0.4f, 0.4f, -0.8f, 0.0f, 0.4f, -0.4f, 0.0f, 0.4f, 0.0f, 0.0f, 0.4f, 0.4f, 0.0f, 0.4f, 0.8f, 0.0f, 0.4f, -0.8f, 0.4f, 0.4f, -0.4f, 0.4f, 0.4f, 0.0f, 0.4f, 0.4f, 0.4f, 0.4f, 0.4f, 0.8f, 0.4f, 0.4f, -0.8f, 0.8f, 0.4f, -0.4f, 0.8f, 0.4f, 0.0f, 0.8f, 0.4f, 0.4f, 0.8f, 0.4f, 0.8f, 0.8f, 0.4f, -0.8f, -0.8f, 0.8f, -0.4f, -0.8f, 0.8f, 0.0f, -0.8f, 0.8f, 0.4f, -0.8f, 0.8f, 0.8f, -0.8f, 0.8f, -0.8f, -0.4f, 0.8f, -0.4f, -0.4f, 0.8f, 0.0f, -0.4f, 0.8f, 0.4f, -0.4f, 0.8f, 0.8f, -0.4f, 0.8f, -0.8f, 0.0f, 0.8f, -0.4f, 0.0f, 0.8f, 0.0f, 0.0f, 0.8f, 0.4f, 0.0f, 0.8f, 0.8f, 0.0f, 0.8f, -0.8f, 0.4f, 0.8f, -0.4f, 0.4f, 0.8f, 0.0f, 0.4f, 0.8f, 0.4f, 0.4f, 0.8f, 0.8f, 0.4f, 0.8f, -0.8f, 0.8f, 0.8f, -0.4f, 0.8f, 0.8f, 0.0f, 0.8f, 0.8f, 0.4f, 0.8f, 0.8f, 0.8f, 0.8f, 0.8f };
 
     // this table contains 3 requantized samples for each legal codeword
     // when grouped in 10 bits, i.e. 9 quantizationsteps per sample
-    public static final float grouping_10bits[] = { -8.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f,
-        -6.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f,
-        -2.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 0.0f, -8.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f,
-        -8.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f,
-        -8.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f,
-        -6.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f,
-        -6.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 0.0f, -6.0f / 9.0f,
-        -8.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f,
-        -8.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f,
-        -8.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f,
-        -8.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f,
-        -8.0f / 9.0f, 0.0f, -4.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f,
-        4.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f,
-        8.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f,
-        -6.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f,
-        -2.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 0.0f, -2.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f,
-        -2.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f,
-        -2.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 0.0f,
-        -8.0f / 9.0f, -6.0f / 9.0f, 0.0f, -8.0f / 9.0f, -4.0f / 9.0f, 0.0f, -8.0f / 9.0f,
-        -2.0f / 9.0f, 0.0f, -8.0f / 9.0f, 0.0f, 0.0f, -8.0f / 9.0f, 2.0f / 9.0f, 0.0f,
-        -8.0f / 9.0f, 4.0f / 9.0f, 0.0f, -8.0f / 9.0f, 6.0f / 9.0f, 0.0f, -8.0f / 9.0f,
-        8.0f / 9.0f, 0.0f, -8.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f,
-        2.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f,
-        2.0f / 9.0f, -8.0f / 9.0f, 0.0f, 2.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f,
-        -8.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f,
-        -8.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f,
-        -8.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f,
-        -8.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 0.0f, 4.0f / 9.0f, -8.0f / 9.0f,
-        2.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f,
-        6.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f,
-        -8.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f,
-        -4.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 0.0f,
-        6.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f,
-        6.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f,
-        6.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f,
-        8.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f,
-        8.0f / 9.0f, -8.0f / 9.0f, 0.0f, 8.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f,
-        -8.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f,
-        -8.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f,
-        -6.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f,
-        -6.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 0.0f, -8.0f / 9.0f, -6.0f / 9.0f,
-        2.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f,
-        6.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f,
-        -8.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f,
-        -4.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 0.0f,
-        -6.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f,
-        -6.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f,
-        -6.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f,
-        -4.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f,
-        -4.0f / 9.0f, -6.0f / 9.0f, 0.0f, -4.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f,
-        -6.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f,
-        -6.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f,
-        -6.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f,
-        -6.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 0.0f, -2.0f / 9.0f, -6.0f / 9.0f,
-        2.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f,
-        6.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f,
-        -8.0f / 9.0f, 0.0f, -6.0f / 9.0f, -6.0f / 9.0f, 0.0f, -6.0f / 9.0f, -4.0f / 9.0f, 0.0f,
-        -6.0f / 9.0f, -2.0f / 9.0f, 0.0f, -6.0f / 9.0f, 0.0f, 0.0f, -6.0f / 9.0f, 2.0f / 9.0f,
-        0.0f, -6.0f / 9.0f, 4.0f / 9.0f, 0.0f, -6.0f / 9.0f, 6.0f / 9.0f, 0.0f, -6.0f / 9.0f,
-        8.0f / 9.0f, 0.0f, -6.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f,
-        2.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f,
-        2.0f / 9.0f, -6.0f / 9.0f, 0.0f, 2.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f,
-        -6.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f,
-        -6.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f,
-        -6.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f,
-        -6.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, 0.0f, 4.0f / 9.0f, -6.0f / 9.0f,
-        2.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f,
-        6.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f,
-        -8.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f,
-        -4.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 0.0f,
-        6.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f,
-        6.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f,
-        6.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f,
-        8.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f,
-        8.0f / 9.0f, -6.0f / 9.0f, 0.0f, 8.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f,
-        -6.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f,
-        -6.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f,
-        -4.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f,
-        -4.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 0.0f, -8.0f / 9.0f, -4.0f / 9.0f,
-        2.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f,
-        6.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f,
-        -8.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f,
-        -4.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 0.0f,
-        -6.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f,
-        -6.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f,
-        -6.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f,
-        -4.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f,
-        -4.0f / 9.0f, -4.0f / 9.0f, 0.0f, -4.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f,
-        -4.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f,
-        -4.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f,
-        -4.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f,
-        -4.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 0.0f, -2.0f / 9.0f, -4.0f / 9.0f,
-        2.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f,
-        6.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f,
-        -8.0f / 9.0f, 0.0f, -4.0f / 9.0f, -6.0f / 9.0f, 0.0f, -4.0f / 9.0f, -4.0f / 9.0f, 0.0f,
-        -4.0f / 9.0f, -2.0f / 9.0f, 0.0f, -4.0f / 9.0f, 0.0f, 0.0f, -4.0f / 9.0f, 2.0f / 9.0f,
-        0.0f, -4.0f / 9.0f, 4.0f / 9.0f, 0.0f, -4.0f / 9.0f, 6.0f / 9.0f, 0.0f, -4.0f / 9.0f,
-        8.0f / 9.0f, 0.0f, -4.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f,
-        2.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f,
-        2.0f / 9.0f, -4.0f / 9.0f, 0.0f, 2.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f,
-        -4.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f,
-        -4.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f,
-        -4.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f,
-        -4.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 0.0f, 4.0f / 9.0f, -4.0f / 9.0f,
-        2.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f,
-        6.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f,
-        -8.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f,
-        -4.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 0.0f,
-        6.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f,
-        6.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f,
-        6.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f,
-        8.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f,
-        8.0f / 9.0f, -4.0f / 9.0f, 0.0f, 8.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f,
-        -4.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f,
-        -4.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f,
-        -2.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f,
-        -2.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 0.0f, -8.0f / 9.0f, -2.0f / 9.0f,
-        2.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f,
-        6.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f,
-        -8.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f,
-        -4.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 0.0f,
-        -6.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f,
-        -6.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f,
-        -6.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f,
-        -4.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f,
-        -4.0f / 9.0f, -2.0f / 9.0f, 0.0f, -4.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f,
-        -2.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f,
-        -2.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f,
-        -2.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f,
-        -2.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 0.0f, -2.0f / 9.0f, -2.0f / 9.0f,
-        2.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f,
-        6.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f,
-        -8.0f / 9.0f, 0.0f, -2.0f / 9.0f, -6.0f / 9.0f, 0.0f, -2.0f / 9.0f, -4.0f / 9.0f, 0.0f,
-        -2.0f / 9.0f, -2.0f / 9.0f, 0.0f, -2.0f / 9.0f, 0.0f, 0.0f, -2.0f / 9.0f, 2.0f / 9.0f,
-        0.0f, -2.0f / 9.0f, 4.0f / 9.0f, 0.0f, -2.0f / 9.0f, 6.0f / 9.0f, 0.0f, -2.0f / 9.0f,
-        8.0f / 9.0f, 0.0f, -2.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f,
-        2.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f,
-        2.0f / 9.0f, -2.0f / 9.0f, 0.0f, 2.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f,
-        -2.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f,
-        -2.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f,
-        -2.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f,
-        -2.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 0.0f, 4.0f / 9.0f, -2.0f / 9.0f,
-        2.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f,
-        6.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f,
-        -8.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f,
-        -4.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 0.0f,
-        6.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f,
-        6.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f,
-        6.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f,
-        8.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f,
-        8.0f / 9.0f, -2.0f / 9.0f, 0.0f, 8.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f,
-        -2.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f,
-        -2.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 0.0f,
-        -6.0f / 9.0f, -8.0f / 9.0f, 0.0f, -4.0f / 9.0f, -8.0f / 9.0f, 0.0f, -2.0f / 9.0f,
-        -8.0f / 9.0f, 0.0f, 0.0f, -8.0f / 9.0f, 0.0f, 2.0f / 9.0f, -8.0f / 9.0f, 0.0f, 4.0f / 9.0f,
-        -8.0f / 9.0f, 0.0f, 6.0f / 9.0f, -8.0f / 9.0f, 0.0f, 8.0f / 9.0f, -8.0f / 9.0f, 0.0f,
-        -8.0f / 9.0f, -6.0f / 9.0f, 0.0f, -6.0f / 9.0f, -6.0f / 9.0f, 0.0f, -4.0f / 9.0f,
-        -6.0f / 9.0f, 0.0f, -2.0f / 9.0f, -6.0f / 9.0f, 0.0f, 0.0f, -6.0f / 9.0f, 0.0f,
-        2.0f / 9.0f, -6.0f / 9.0f, 0.0f, 4.0f / 9.0f, -6.0f / 9.0f, 0.0f, 6.0f / 9.0f,
-        -6.0f / 9.0f, 0.0f, 8.0f / 9.0f, -6.0f / 9.0f, 0.0f, -8.0f / 9.0f, -4.0f / 9.0f, 0.0f,
-        -6.0f / 9.0f, -4.0f / 9.0f, 0.0f, -4.0f / 9.0f, -4.0f / 9.0f, 0.0f, -2.0f / 9.0f,
-        -4.0f / 9.0f, 0.0f, 0.0f, -4.0f / 9.0f, 0.0f, 2.0f / 9.0f, -4.0f / 9.0f, 0.0f, 4.0f / 9.0f,
-        -4.0f / 9.0f, 0.0f, 6.0f / 9.0f, -4.0f / 9.0f, 0.0f, 8.0f / 9.0f, -4.0f / 9.0f, 0.0f,
-        -8.0f / 9.0f, -2.0f / 9.0f, 0.0f, -6.0f / 9.0f, -2.0f / 9.0f, 0.0f, -4.0f / 9.0f,
-        -2.0f / 9.0f, 0.0f, -2.0f / 9.0f, -2.0f / 9.0f, 0.0f, 0.0f, -2.0f / 9.0f, 0.0f,
-        2.0f / 9.0f, -2.0f / 9.0f, 0.0f, 4.0f / 9.0f, -2.0f / 9.0f, 0.0f, 6.0f / 9.0f,
-        -2.0f / 9.0f, 0.0f, 8.0f / 9.0f, -2.0f / 9.0f, 0.0f, -8.0f / 9.0f, 0.0f, 0.0f,
-        -6.0f / 9.0f, 0.0f, 0.0f, -4.0f / 9.0f, 0.0f, 0.0f, -2.0f / 9.0f, 0.0f, 0.0f, 0.0f, 0.0f,
-        0.0f, 2.0f / 9.0f, 0.0f, 0.0f, 4.0f / 9.0f, 0.0f, 0.0f, 6.0f / 9.0f, 0.0f, 0.0f,
-        8.0f / 9.0f, 0.0f, 0.0f, -8.0f / 9.0f, 2.0f / 9.0f, 0.0f, -6.0f / 9.0f, 2.0f / 9.0f, 0.0f,
-        -4.0f / 9.0f, 2.0f / 9.0f, 0.0f, -2.0f / 9.0f, 2.0f / 9.0f, 0.0f, 0.0f, 2.0f / 9.0f, 0.0f,
-        2.0f / 9.0f, 2.0f / 9.0f, 0.0f, 4.0f / 9.0f, 2.0f / 9.0f, 0.0f, 6.0f / 9.0f, 2.0f / 9.0f,
-        0.0f, 8.0f / 9.0f, 2.0f / 9.0f, 0.0f, -8.0f / 9.0f, 4.0f / 9.0f, 0.0f, -6.0f / 9.0f,
-        4.0f / 9.0f, 0.0f, -4.0f / 9.0f, 4.0f / 9.0f, 0.0f, -2.0f / 9.0f, 4.0f / 9.0f, 0.0f, 0.0f,
-        4.0f / 9.0f, 0.0f, 2.0f / 9.0f, 4.0f / 9.0f, 0.0f, 4.0f / 9.0f, 4.0f / 9.0f, 0.0f,
-        6.0f / 9.0f, 4.0f / 9.0f, 0.0f, 8.0f / 9.0f, 4.0f / 9.0f, 0.0f, -8.0f / 9.0f, 6.0f / 9.0f,
-        0.0f, -6.0f / 9.0f, 6.0f / 9.0f, 0.0f, -4.0f / 9.0f, 6.0f / 9.0f, 0.0f, -2.0f / 9.0f,
-        6.0f / 9.0f, 0.0f, 0.0f, 6.0f / 9.0f, 0.0f, 2.0f / 9.0f, 6.0f / 9.0f, 0.0f, 4.0f / 9.0f,
-        6.0f / 9.0f, 0.0f, 6.0f / 9.0f, 6.0f / 9.0f, 0.0f, 8.0f / 9.0f, 6.0f / 9.0f, 0.0f,
-        -8.0f / 9.0f, 8.0f / 9.0f, 0.0f, -6.0f / 9.0f, 8.0f / 9.0f, 0.0f, -4.0f / 9.0f,
-        8.0f / 9.0f, 0.0f, -2.0f / 9.0f, 8.0f / 9.0f, 0.0f, 0.0f, 8.0f / 9.0f, 0.0f, 2.0f / 9.0f,
-        8.0f / 9.0f, 0.0f, 4.0f / 9.0f, 8.0f / 9.0f, 0.0f, 6.0f / 9.0f, 8.0f / 9.0f, 0.0f,
-        8.0f / 9.0f, 8.0f / 9.0f, 0.0f, -8.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f,
-        -8.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f,
-        -8.0f / 9.0f, 2.0f / 9.0f, 0.0f, -8.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f,
-        2.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f,
-        2.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f,
-        2.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f,
-        2.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 0.0f, -6.0f / 9.0f, 2.0f / 9.0f,
-        2.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f,
-        6.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f,
-        -8.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f,
-        -4.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 0.0f,
-        -4.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f,
-        -4.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f,
-        -4.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f,
-        -2.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f,
-        -2.0f / 9.0f, 2.0f / 9.0f, 0.0f, -2.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f,
-        2.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f,
-        2.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, 0.0f, 2.0f / 9.0f,
-        -6.0f / 9.0f, 0.0f, 2.0f / 9.0f, -4.0f / 9.0f, 0.0f, 2.0f / 9.0f, -2.0f / 9.0f, 0.0f,
-        2.0f / 9.0f, 0.0f, 0.0f, 2.0f / 9.0f, 2.0f / 9.0f, 0.0f, 2.0f / 9.0f, 4.0f / 9.0f, 0.0f,
-        2.0f / 9.0f, 6.0f / 9.0f, 0.0f, 2.0f / 9.0f, 8.0f / 9.0f, 0.0f, 2.0f / 9.0f, -8.0f / 9.0f,
-        2.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f,
-        2.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 0.0f, 2.0f / 9.0f,
-        2.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f,
-        6.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f,
-        4.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f,
-        4.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 0.0f, 4.0f / 9.0f,
-        2.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f,
-        6.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f,
-        6.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f,
-        6.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 0.0f, 6.0f / 9.0f,
-        2.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f,
-        6.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f,
-        8.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f,
-        8.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 0.0f, 8.0f / 9.0f,
-        2.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f,
-        6.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f,
-        -8.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f,
-        -8.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 0.0f, -8.0f / 9.0f,
-        4.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f,
-        4.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f,
-        4.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f,
-        4.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f,
-        4.0f / 9.0f, 0.0f, -6.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f,
-        4.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f,
-        8.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f,
-        -6.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f,
-        -2.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 0.0f, -4.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f,
-        -4.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f,
-        -4.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f,
-        -2.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f,
-        -2.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 0.0f, -2.0f / 9.0f,
-        4.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f,
-        4.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f,
-        4.0f / 9.0f, -8.0f / 9.0f, 0.0f, 4.0f / 9.0f, -6.0f / 9.0f, 0.0f, 4.0f / 9.0f,
-        -4.0f / 9.0f, 0.0f, 4.0f / 9.0f, -2.0f / 9.0f, 0.0f, 4.0f / 9.0f, 0.0f, 0.0f, 4.0f / 9.0f,
-        2.0f / 9.0f, 0.0f, 4.0f / 9.0f, 4.0f / 9.0f, 0.0f, 4.0f / 9.0f, 6.0f / 9.0f, 0.0f,
-        4.0f / 9.0f, 8.0f / 9.0f, 0.0f, 4.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f,
-        -6.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f,
-        -2.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 0.0f, 2.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f,
-        2.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f,
-        4.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f,
-        -6.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f,
-        -2.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 0.0f, 4.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f,
-        4.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f,
-        4.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f,
-        -6.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f,
-        -2.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 0.0f, 6.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f,
-        6.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f,
-        4.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f,
-        -6.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f,
-        -2.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 0.0f, 8.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f,
-        8.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f,
-        4.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f,
-        6.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f,
-        6.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 0.0f, -8.0f / 9.0f, 6.0f / 9.0f,
-        2.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f,
-        6.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f,
-        -8.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f,
-        -4.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 0.0f,
-        -6.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f,
-        -6.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f,
-        -6.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f,
-        -4.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f,
-        -4.0f / 9.0f, 6.0f / 9.0f, 0.0f, -4.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f,
-        6.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f,
-        6.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f,
-        6.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f,
-        6.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 0.0f, -2.0f / 9.0f, 6.0f / 9.0f,
-        2.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f,
-        6.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f,
-        -8.0f / 9.0f, 0.0f, 6.0f / 9.0f, -6.0f / 9.0f, 0.0f, 6.0f / 9.0f, -4.0f / 9.0f, 0.0f,
-        6.0f / 9.0f, -2.0f / 9.0f, 0.0f, 6.0f / 9.0f, 0.0f, 0.0f, 6.0f / 9.0f, 2.0f / 9.0f, 0.0f,
-        6.0f / 9.0f, 4.0f / 9.0f, 0.0f, 6.0f / 9.0f, 6.0f / 9.0f, 0.0f, 6.0f / 9.0f, 8.0f / 9.0f,
-        0.0f, 6.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f,
-        6.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f,
-        6.0f / 9.0f, 0.0f, 2.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f,
-        4.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f,
-        2.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f,
-        4.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f,
-        4.0f / 9.0f, 6.0f / 9.0f, 0.0f, 4.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f,
-        6.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f,
-        8.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f,
-        -6.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f,
-        -2.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 0.0f, 6.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f,
-        6.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f,
-        6.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f,
-        -6.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f,
-        -2.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 0.0f, 8.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f,
-        8.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f,
-        6.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f,
-        8.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f,
-        8.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 0.0f, -8.0f / 9.0f, 8.0f / 9.0f,
-        2.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f,
-        6.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f,
-        -8.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f,
-        -4.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 0.0f,
-        -6.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f,
-        -6.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f,
-        -6.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f,
-        -4.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f,
-        -4.0f / 9.0f, 8.0f / 9.0f, 0.0f, -4.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f,
-        8.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f,
-        8.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f,
-        8.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f,
-        8.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 0.0f, -2.0f / 9.0f, 8.0f / 9.0f,
-        2.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f,
-        6.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f,
-        -8.0f / 9.0f, 0.0f, 8.0f / 9.0f, -6.0f / 9.0f, 0.0f, 8.0f / 9.0f, -4.0f / 9.0f, 0.0f,
-        8.0f / 9.0f, -2.0f / 9.0f, 0.0f, 8.0f / 9.0f, 0.0f, 0.0f, 8.0f / 9.0f, 2.0f / 9.0f, 0.0f,
-        8.0f / 9.0f, 4.0f / 9.0f, 0.0f, 8.0f / 9.0f, 6.0f / 9.0f, 0.0f, 8.0f / 9.0f, 8.0f / 9.0f,
-        0.0f, 8.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f,
-        8.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f,
-        8.0f / 9.0f, 0.0f, 2.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f,
-        4.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f,
-        2.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f,
-        4.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f,
-        4.0f / 9.0f, 8.0f / 9.0f, 0.0f, 4.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f,
-        8.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f,
-        8.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f,
-        -6.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f,
-        -2.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, 0.0f, 6.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f,
-        6.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f,
-        8.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f,
-        -6.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f,
-        -2.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 0.0f, 8.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f,
-        8.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f,
-        8.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f };
+    public static final float grouping_10bits[] = { -8.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 0.0f, -8.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 0.0f, -6.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, 0.0f, -4.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 0.0f, -2.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 0.0f, -8.0f / 9.0f, -6.0f / 9.0f, 0.0f, -8.0f / 9.0f, -4.0f / 9.0f, 0.0f, -8.0f / 9.0f, -2.0f / 9.0f, 0.0f, -8.0f / 9.0f, 0.0f, 0.0f, -8.0f / 9.0f, 2.0f / 9.0f, 0.0f, -8.0f / 9.0f, 4.0f / 9.0f, 0.0f, -8.0f / 9.0f, 6.0f / 9.0f, 0.0f, -8.0f / 9.0f, 8.0f / 9.0f, 0.0f, -8.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, 0.0f, 2.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 0.0f, 4.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 0.0f, 6.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 0.0f, 8.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 0.0f, -8.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 0.0f, -6.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, 0.0f, -4.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 0.0f, -2.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 0.0f, -6.0f / 9.0f, -6.0f / 9.0f, 0.0f, -6.0f / 9.0f, -4.0f / 9.0f, 0.0f, -6.0f / 9.0f, -2.0f / 9.0f, 0.0f, -6.0f / 9.0f, 0.0f, 0.0f, -6.0f / 9.0f, 2.0f / 9.0f, 0.0f, -6.0f / 9.0f, 4.0f / 9.0f, 0.0f, -6.0f / 9.0f, 6.0f / 9.0f, 0.0f, -6.0f / 9.0f, 8.0f / 9.0f, 0.0f, -6.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 0.0f, 2.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, 0.0f, 4.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 0.0f, 6.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, 0.0f, 8.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 0.0f, -8.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 0.0f, -6.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 0.0f, -4.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 0.0f, -2.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, 0.0f, -4.0f / 9.0f, -6.0f / 9.0f, 0.0f, -4.0f / 9.0f, -4.0f / 9.0f, 0.0f, -4.0f / 9.0f, -2.0f / 9.0f, 0.0f, -4.0f / 9.0f, 0.0f, 0.0f, -4.0f / 9.0f, 2.0f / 9.0f, 0.0f, -4.0f / 9.0f, 4.0f / 9.0f, 0.0f, -4.0f / 9.0f, 6.0f / 9.0f, 0.0f, -4.0f / 9.0f, 8.0f / 9.0f, 0.0f, -4.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, 0.0f, 2.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 0.0f, 4.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 0.0f, 6.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 0.0f, 8.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 0.0f, -8.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 0.0f, -6.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, 0.0f, -4.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 0.0f, -2.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 0.0f, -2.0f / 9.0f, -6.0f / 9.0f, 0.0f, -2.0f / 9.0f, -4.0f / 9.0f, 0.0f, -2.0f / 9.0f, -2.0f / 9.0f, 0.0f, -2.0f / 9.0f, 0.0f, 0.0f, -2.0f / 9.0f, 2.0f / 9.0f, 0.0f, -2.0f / 9.0f, 4.0f / 9.0f, 0.0f, -2.0f / 9.0f, 6.0f / 9.0f, 0.0f, -2.0f / 9.0f, 8.0f / 9.0f, 0.0f, -2.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 0.0f, 2.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 0.0f, 4.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 0.0f, 6.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 0.0f, 8.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 0.0f, -6.0f / 9.0f, -8.0f / 9.0f, 0.0f, -4.0f / 9.0f, -8.0f / 9.0f, 0.0f, -2.0f / 9.0f, -8.0f / 9.0f, 0.0f, 0.0f, -8.0f / 9.0f, 0.0f, 2.0f / 9.0f, -8.0f / 9.0f, 0.0f, 4.0f / 9.0f, -8.0f / 9.0f, 0.0f, 6.0f / 9.0f, -8.0f / 9.0f, 0.0f, 8.0f / 9.0f, -8.0f / 9.0f, 0.0f, -8.0f / 9.0f, -6.0f / 9.0f, 0.0f, -6.0f / 9.0f, -6.0f / 9.0f, 0.0f, -4.0f / 9.0f, -6.0f / 9.0f, 0.0f, -2.0f / 9.0f, -6.0f / 9.0f, 0.0f, 0.0f, -6.0f / 9.0f, 0.0f, 2.0f / 9.0f, -6.0f / 9.0f, 0.0f, 4.0f / 9.0f, -6.0f / 9.0f, 0.0f, 6.0f / 9.0f, -6.0f / 9.0f, 0.0f, 8.0f / 9.0f, -6.0f / 9.0f, 0.0f, -8.0f / 9.0f, -4.0f / 9.0f, 0.0f, -6.0f / 9.0f, -4.0f / 9.0f, 0.0f, -4.0f / 9.0f, -4.0f / 9.0f, 0.0f, -2.0f / 9.0f, -4.0f / 9.0f, 0.0f, 0.0f, -4.0f / 9.0f, 0.0f, 2.0f / 9.0f, -4.0f / 9.0f, 0.0f, 4.0f / 9.0f, -4.0f / 9.0f, 0.0f, 6.0f / 9.0f, -4.0f / 9.0f, 0.0f, 8.0f / 9.0f, -4.0f / 9.0f, 0.0f, -8.0f / 9.0f, -2.0f / 9.0f, 0.0f, -6.0f / 9.0f, -2.0f / 9.0f, 0.0f, -4.0f / 9.0f, -2.0f / 9.0f, 0.0f, -2.0f / 9.0f, -2.0f / 9.0f, 0.0f, 0.0f, -2.0f / 9.0f, 0.0f, 2.0f / 9.0f, -2.0f / 9.0f, 0.0f, 4.0f / 9.0f, -2.0f / 9.0f, 0.0f, 6.0f / 9.0f, -2.0f / 9.0f, 0.0f, 8.0f / 9.0f, -2.0f / 9.0f, 0.0f, -8.0f / 9.0f, 0.0f, 0.0f, -6.0f / 9.0f, 0.0f, 0.0f, -4.0f / 9.0f, 0.0f, 0.0f, -2.0f / 9.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f / 9.0f, 0.0f, 0.0f, 4.0f / 9.0f, 0.0f, 0.0f, 6.0f / 9.0f, 0.0f, 0.0f, 8.0f / 9.0f, 0.0f, 0.0f, -8.0f / 9.0f, 2.0f / 9.0f, 0.0f, -6.0f / 9.0f, 2.0f / 9.0f, 0.0f, -4.0f / 9.0f, 2.0f / 9.0f, 0.0f, -2.0f / 9.0f, 2.0f / 9.0f, 0.0f, 0.0f, 2.0f / 9.0f, 0.0f, 2.0f / 9.0f, 2.0f / 9.0f, 0.0f, 4.0f / 9.0f, 2.0f / 9.0f, 0.0f, 6.0f / 9.0f, 2.0f / 9.0f, 0.0f, 8.0f / 9.0f, 2.0f / 9.0f, 0.0f, -8.0f / 9.0f, 4.0f / 9.0f, 0.0f, -6.0f / 9.0f, 4.0f / 9.0f, 0.0f, -4.0f / 9.0f, 4.0f / 9.0f, 0.0f, -2.0f / 9.0f, 4.0f / 9.0f, 0.0f, 0.0f, 4.0f / 9.0f, 0.0f, 2.0f / 9.0f, 4.0f / 9.0f, 0.0f, 4.0f / 9.0f, 4.0f / 9.0f, 0.0f, 6.0f / 9.0f, 4.0f / 9.0f, 0.0f, 8.0f / 9.0f, 4.0f / 9.0f, 0.0f, -8.0f / 9.0f, 6.0f / 9.0f, 0.0f, -6.0f / 9.0f, 6.0f / 9.0f, 0.0f, -4.0f / 9.0f, 6.0f / 9.0f, 0.0f, -2.0f / 9.0f, 6.0f / 9.0f, 0.0f, 0.0f, 6.0f / 9.0f, 0.0f, 2.0f / 9.0f, 6.0f / 9.0f, 0.0f, 4.0f / 9.0f, 6.0f / 9.0f, 0.0f, 6.0f / 9.0f, 6.0f / 9.0f, 0.0f, 8.0f / 9.0f, 6.0f / 9.0f, 0.0f, -8.0f / 9.0f, 8.0f / 9.0f, 0.0f, -6.0f / 9.0f, 8.0f / 9.0f, 0.0f, -4.0f / 9.0f, 8.0f / 9.0f, 0.0f, -2.0f / 9.0f, 8.0f / 9.0f, 0.0f, 0.0f, 8.0f / 9.0f, 0.0f, 2.0f / 9.0f, 8.0f / 9.0f, 0.0f, 4.0f / 9.0f, 8.0f / 9.0f, 0.0f, 6.0f / 9.0f, 8.0f / 9.0f, 0.0f, 8.0f / 9.0f, 8.0f / 9.0f, 0.0f, -8.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 0.0f, -8.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 0.0f, -6.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 0.0f, -4.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 0.0f, -2.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, 0.0f, 2.0f / 9.0f, -6.0f / 9.0f, 0.0f, 2.0f / 9.0f, -4.0f / 9.0f, 0.0f, 2.0f / 9.0f, -2.0f / 9.0f, 0.0f, 2.0f / 9.0f, 0.0f, 0.0f, 2.0f / 9.0f, 2.0f / 9.0f, 0.0f, 2.0f / 9.0f, 4.0f / 9.0f, 0.0f, 2.0f / 9.0f, 6.0f / 9.0f, 0.0f, 2.0f / 9.0f, 8.0f / 9.0f, 0.0f, 2.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 0.0f, 2.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 0.0f, 4.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 0.0f, 6.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 0.0f, 8.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 0.0f, -8.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, 0.0f, -6.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 0.0f, -4.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 0.0f, -2.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 0.0f, 4.0f / 9.0f, -6.0f / 9.0f, 0.0f, 4.0f / 9.0f, -4.0f / 9.0f, 0.0f, 4.0f / 9.0f, -2.0f / 9.0f, 0.0f, 4.0f / 9.0f, 0.0f, 0.0f, 4.0f / 9.0f, 2.0f / 9.0f, 0.0f, 4.0f / 9.0f, 4.0f / 9.0f, 0.0f, 4.0f / 9.0f, 6.0f / 9.0f, 0.0f, 4.0f / 9.0f, 8.0f / 9.0f, 0.0f, 4.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 0.0f, 2.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 0.0f, 4.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 0.0f, 6.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 0.0f, 8.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 0.0f, -8.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 0.0f, -6.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 0.0f, -4.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 0.0f, -2.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 0.0f, 6.0f / 9.0f, -6.0f / 9.0f, 0.0f, 6.0f / 9.0f, -4.0f / 9.0f, 0.0f, 6.0f / 9.0f, -2.0f / 9.0f, 0.0f, 6.0f / 9.0f, 0.0f, 0.0f, 6.0f / 9.0f, 2.0f / 9.0f, 0.0f, 6.0f / 9.0f, 4.0f / 9.0f, 0.0f, 6.0f / 9.0f, 6.0f / 9.0f, 0.0f, 6.0f / 9.0f, 8.0f / 9.0f, 0.0f, 6.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, 0.0f, 2.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 0.0f, 4.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 0.0f, 6.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 0.0f, 8.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 0.0f, -8.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 0.0f, -6.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 0.0f, -4.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 0.0f, -2.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 0.0f, 8.0f / 9.0f, -6.0f / 9.0f, 0.0f, 8.0f / 9.0f, -4.0f / 9.0f, 0.0f, 8.0f / 9.0f, -2.0f / 9.0f, 0.0f, 8.0f / 9.0f, 0.0f, 0.0f, 8.0f / 9.0f, 2.0f / 9.0f, 0.0f, 8.0f / 9.0f, 4.0f / 9.0f, 0.0f, 8.0f / 9.0f, 6.0f / 9.0f, 0.0f, 8.0f / 9.0f, 8.0f / 9.0f, 0.0f, 8.0f / 9.0f, -8.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 0.0f, 2.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 0.0f, 4.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, 0.0f, 6.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, -8.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -6.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -4.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, -2.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 0.0f, 8.0f / 9.0f, 8.0f / 9.0f, 2.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 4.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 6.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f, 8.0f / 9.0f };
 
     // data taken from ISO/IEC DIS 11172, Annexes 3-B.2[abcd] and 3-B.4:
 
     // subbands 0-2 in tables 3-B.2a and 2b: (index is allocation)
     public static final int table_ab1_codelength[] =
     // bits per codeword
-        { 0, 5, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
+    { 0, 5, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
 
     public static final float table_ab1_groupingtables[][] =
     // pointer to sample grouping table, or NULL-pointer if ungrouped
-        { null, grouping_5bits, null, null, null, null, null, null, null, null, null, null, null,
-            null, null, null };
+    { null, grouping_5bits, null, null, null, null, null, null, null, null, null, null, null, null, null, null };
 
     public static final float table_ab1_factor[] =
     // factor for requantization: (real)sample * factor - 1.0 gives requantized
     // sample
-        { 0.0f, 1.0f / 2.0f, 1.0f / 4.0f, 1.0f / 8.0f, 1.0f / 16.0f, 1.0f / 32.0f, 1.0f / 64.0f,
-            1.0f / 128.0f, 1.0f / 256.0f, 1.0f / 512.0f, 1.0f / 1024.0f, 1.0f / 2048.0f,
-            1.0f / 4096.0f, 1.0f / 8192.0f, 1.0f / 16384.0f, 1.0f / 32768.0f };
+    { 0.0f, 1.0f / 2.0f, 1.0f / 4.0f, 1.0f / 8.0f, 1.0f / 16.0f, 1.0f / 32.0f, 1.0f / 64.0f, 1.0f / 128.0f, 1.0f / 256.0f, 1.0f / 512.0f, 1.0f / 1024.0f, 1.0f / 2048.0f, 1.0f / 4096.0f, 1.0f / 8192.0f, 1.0f / 16384.0f, 1.0f / 32768.0f };
 
     public static final float table_ab1_c[] =
     // factor c for requantization from table 3-B.4
-        { 0.0f, 1.33333333333f, 1.14285714286f, 1.06666666666f, 1.03225806452f, 1.01587301587f,
-            1.00787401575f, 1.00392156863f, 1.00195694716f, 1.00097751711f, 1.00048851979f,
-            1.00024420024f, 1.00012208522f, 1.00006103888f, 1.00003051851f, 1.00001525902f };
+    { 0.0f, 1.33333333333f, 1.14285714286f, 1.06666666666f, 1.03225806452f, 1.01587301587f, 1.00787401575f, 1.00392156863f, 1.00195694716f, 1.00097751711f, 1.00048851979f, 1.00024420024f, 1.00012208522f, 1.00006103888f, 1.00003051851f, 1.00001525902f };
 
     public static final float table_ab1_d[] =
     // addend d for requantization from table 3-B.4
-        { 0.0f, 0.50000000000f, 0.25000000000f, 0.12500000000f, 0.06250000000f, 0.03125000000f,
-            0.01562500000f, 0.00781250000f, 0.00390625000f, 0.00195312500f, 0.00097656250f,
-            0.00048828125f, 0.00024414063f, 0.00012207031f, 0.00006103516f, 0.00003051758f };
+    { 0.0f, 0.50000000000f, 0.25000000000f, 0.12500000000f, 0.06250000000f, 0.03125000000f, 0.01562500000f, 0.00781250000f, 0.00390625000f, 0.00195312500f, 0.00097656250f, 0.00048828125f, 0.00024414063f, 0.00012207031f, 0.00006103516f, 0.00003051758f };
 
     // subbands 3-... tables 3-B.2a and 2b:
-    public static final float[] table_ab234_groupingtables[] = { null, grouping_5bits,
-        grouping_7bits, null, grouping_10bits, null, null, null, null, null, null, null, null,
-        null, null, null };
+    public static final float[] table_ab234_groupingtables[] = { null, grouping_5bits, grouping_7bits, null, grouping_10bits, null, null, null, null, null, null, null, null, null, null, null };
 
     // subbands 3-10 in tables 3-B.2a and 2b:
-    public static final int table_ab2_codelength[] = { 0, 5, 7, 3, 10, 4, 5, 6, 7, 8, 9, 10, 11,
-        12, 13, 16 };
-    public static final float table_ab2_factor[] = { 0.0f, 1.0f / 2.0f, 1.0f / 4.0f, 1.0f / 4.0f,
-        1.0f / 8.0f, 1.0f / 8.0f, 1.0f / 16.0f, 1.0f / 32.0f, 1.0f / 64.0f, 1.0f / 128.0f,
-        1.0f / 256.0f, 1.0f / 512.0f, 1.0f / 1024.0f, 1.0f / 2048.0f, 1.0f / 4096.0f,
-        1.0f / 32768.0f };
-    public static final float table_ab2_c[] = { 0.0f, 1.33333333333f, 1.60000000000f,
-        1.14285714286f, 1.77777777777f, 1.06666666666f, 1.03225806452f, 1.01587301587f,
-        1.00787401575f, 1.00392156863f, 1.00195694716f, 1.00097751711f, 1.00048851979f,
-        1.00024420024f, 1.00012208522f, 1.00001525902f };
-    public static final float table_ab2_d[] = { 0.0f, 0.50000000000f, 0.50000000000f,
-        0.25000000000f, 0.50000000000f, 0.12500000000f, 0.06250000000f, 0.03125000000f,
-        0.01562500000f, 0.00781250000f, 0.00390625000f, 0.00195312500f, 0.00097656250f,
-        0.00048828125f, 0.00024414063f, 0.00003051758f };
+    public static final int table_ab2_codelength[] = { 0, 5, 7, 3, 10, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16 };
+    public static final float table_ab2_factor[] = { 0.0f, 1.0f / 2.0f, 1.0f / 4.0f, 1.0f / 4.0f, 1.0f / 8.0f, 1.0f / 8.0f, 1.0f / 16.0f, 1.0f / 32.0f, 1.0f / 64.0f, 1.0f / 128.0f, 1.0f / 256.0f, 1.0f / 512.0f, 1.0f / 1024.0f, 1.0f / 2048.0f, 1.0f / 4096.0f, 1.0f / 32768.0f };
+    public static final float table_ab2_c[] = { 0.0f, 1.33333333333f, 1.60000000000f, 1.14285714286f, 1.77777777777f, 1.06666666666f, 1.03225806452f, 1.01587301587f, 1.00787401575f, 1.00392156863f, 1.00195694716f, 1.00097751711f, 1.00048851979f, 1.00024420024f, 1.00012208522f, 1.00001525902f };
+    public static final float table_ab2_d[] = { 0.0f, 0.50000000000f, 0.50000000000f, 0.25000000000f, 0.50000000000f, 0.12500000000f, 0.06250000000f, 0.03125000000f, 0.01562500000f, 0.00781250000f, 0.00390625000f, 0.00195312500f, 0.00097656250f, 0.00048828125f, 0.00024414063f, 0.00003051758f };
 
     // subbands 11-22 in tables 3-B.2a and 2b:
     public static final int table_ab3_codelength[] = { 0, 5, 7, 3, 10, 4, 5, 16 };
-    public static final float table_ab3_factor[] = { 0.0f, 1.0f / 2.0f, 1.0f / 4.0f, 1.0f / 4.0f,
-        1.0f / 8.0f, 1.0f / 8.0f, 1.0f / 16.0f, 1.0f / 32768.0f };
-    public static final float table_ab3_c[] = { 0.0f, 1.33333333333f, 1.60000000000f,
-        1.14285714286f, 1.77777777777f, 1.06666666666f, 1.03225806452f, 1.00001525902f };
-    public static final float table_ab3_d[] = { 0.0f, 0.50000000000f, 0.50000000000f,
-        0.25000000000f, 0.50000000000f, 0.12500000000f, 0.06250000000f, 0.00003051758f };
+    public static final float table_ab3_factor[] = { 0.0f, 1.0f / 2.0f, 1.0f / 4.0f, 1.0f / 4.0f, 1.0f / 8.0f, 1.0f / 8.0f, 1.0f / 16.0f, 1.0f / 32768.0f };
+    public static final float table_ab3_c[] = { 0.0f, 1.33333333333f, 1.60000000000f, 1.14285714286f, 1.77777777777f, 1.06666666666f, 1.03225806452f, 1.00001525902f };
+    public static final float table_ab3_d[] = { 0.0f, 0.50000000000f, 0.50000000000f, 0.25000000000f, 0.50000000000f, 0.12500000000f, 0.06250000000f, 0.00003051758f };
 
     // subbands 23-... in tables 3-B.2a and 2b:
     public static final int table_ab4_codelength[] = { 0, 5, 7, 16 };
-    public static final float table_ab4_factor[] = { 0.0f, 1.0f / 2.0f, 1.0f / 4.0f,
-        1.0f / 32768.0f };
-    public static final float table_ab4_c[] = { 0.0f, 1.33333333333f, 1.60000000000f,
-        1.00001525902f };
-    public static final float table_ab4_d[] = { 0.0f, 0.50000000000f, 0.50000000000f,
-        0.00003051758f };
+    public static final float table_ab4_factor[] = { 0.0f, 1.0f / 2.0f, 1.0f / 4.0f, 1.0f / 32768.0f };
+    public static final float table_ab4_c[] = { 0.0f, 1.33333333333f, 1.60000000000f, 1.00001525902f };
+    public static final float table_ab4_d[] = { 0.0f, 0.50000000000f, 0.50000000000f, 0.00003051758f };
 
     // subbands in tables 3-B.2c and 2d:
-    public static final int table_cd_codelength[] = { 0, 5, 7, 10, 4, 5, 6, 7, 8, 9, 10, 11, 12,
-        13, 14, 15 };
-    public static final float table_cd_groupingtables[][] = { null, grouping_5bits, grouping_7bits,
-        grouping_10bits, null, null, null, null, null, null, null, null, null, null, null, null };
-    public static final float table_cd_factor[] = { 0.0f, 1.0f / 2.0f, 1.0f / 4.0f, 1.0f / 8.0f,
-        1.0f / 8.0f, 1.0f / 16.0f, 1.0f / 32.0f, 1.0f / 64.0f, 1.0f / 128.0f, 1.0f / 256.0f,
-        1.0f / 512.0f, 1.0f / 1024.0f, 1.0f / 2048.0f, 1.0f / 4096.0f, 1.0f / 8192.0f,
-        1.0f / 16384.0f };
-    public static final float table_cd_c[] = { 0.0f, 1.33333333333f, 1.60000000000f,
-        1.77777777777f, 1.06666666666f, 1.03225806452f, 1.01587301587f, 1.00787401575f,
-        1.00392156863f, 1.00195694716f, 1.00097751711f, 1.00048851979f, 1.00024420024f,
-        1.00012208522f, 1.00006103888f, 1.00003051851f };
-    public static final float table_cd_d[] = { 0.0f, 0.50000000000f, 0.50000000000f,
-        0.50000000000f, 0.12500000000f, 0.06250000000f, 0.03125000000f, 0.01562500000f,
-        0.00781250000f, 0.00390625000f, 0.00195312500f, 0.00097656250f, 0.00048828125f,
-        0.00024414063f, 0.00012207031f, 0.00006103516f };
-
-    
+    public static final int table_cd_codelength[] = { 0, 5, 7, 10, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
+    public static final float table_cd_groupingtables[][] = { null, grouping_5bits, grouping_7bits, grouping_10bits, null, null, null, null, null, null, null, null, null, null, null, null };
+    public static final float table_cd_factor[] = { 0.0f, 1.0f / 2.0f, 1.0f / 4.0f, 1.0f / 8.0f, 1.0f / 8.0f, 1.0f / 16.0f, 1.0f / 32.0f, 1.0f / 64.0f, 1.0f / 128.0f, 1.0f / 256.0f, 1.0f / 512.0f, 1.0f / 1024.0f, 1.0f / 2048.0f, 1.0f / 4096.0f, 1.0f / 8192.0f, 1.0f / 16384.0f };
+    public static final float table_cd_c[] = { 0.0f, 1.33333333333f, 1.60000000000f, 1.77777777777f, 1.06666666666f, 1.03225806452f, 1.01587301587f, 1.00787401575f, 1.00392156863f, 1.00195694716f, 1.00097751711f, 1.00048851979f, 1.00024420024f, 1.00012208522f, 1.00006103888f, 1.00003051851f };
+    public static final float table_cd_d[] = { 0.0f, 0.50000000000f, 0.50000000000f, 0.50000000000f, 0.12500000000f, 0.06250000000f, 0.03125000000f, 0.01562500000f, 0.00781250000f, 0.00390625000f, 0.00195312500f, 0.00097656250f, 0.00048828125f, 0.00024414063f, 0.00012207031f, 0.00006103516f };
+
     protected int subbandnumber;
-    
+
     protected int allocation;
-    
+
     protected int scfsi;
-    
+
     protected float scalefactor1;
-    
+
     protected float scalefactor2;
-    
+
     protected float scalefactor3;
-    
+
     protected int[] codelength = { 0 };
-    
+
     protected float groupingtable[][] = new float[2][];
     // protected float[][] groupingtable = {{0},{0}} ;
-    
+
     protected float[] factor = { 0.0f };
-    
+
     protected int groupnumber;
-    
+
     protected int samplenumber;
-    
+
     protected float[] samples = new float[3];
-    
+
     protected float[] c = { 0.0f };
-    
+
     protected float[] d = { 0.0f };
 
     /**
      * Constructor
      */
-    public SubbandLayer2( int subbandnumber) {
+    public SubbandLayer2(int subbandnumber) {
       this.subbandnumber = subbandnumber;
       groupnumber = samplenumber = 0;
     }
@@ -576,11 +170,11 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
     /**
           *
           */
-    protected int get_allocationlength( Header header) {
+    protected int get_allocationlength(Header header) {
 
       if (header.version() == Header.MPEG1) {
 
-         int channel_bitrate = header.bitrate_index();
+        int channel_bitrate = header.bitrate_index();
 
         // calculate bitrate per channel:
         if (header.mode() != Header.SINGLE_CHANNEL)
@@ -618,15 +212,13 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
     /**
           *
           */
-    
-    protected void prepare_sample_reading( Header header,
-         int allocation,
-        // float[][] groupingtable,
-         int channel,  float[] factor,  int[] codelength,
-         float[] c,  float[] d) {
+
+    protected void prepare_sample_reading(Header header, int allocation,
+    // float[][] groupingtable,
+    int channel, float[] factor, int[] codelength, float[] c, float[] d) {
 
       // header.bitrate_index() will generate at most DELTA(THIS,SH*)
-       int channel_bitrate = header.bitrate_index();
+      int channel_bitrate = header.bitrate_index();
 
       // calculate bitrate per channel:
       if (header.mode() != Header.SINGLE_CHANNEL) {
@@ -677,13 +269,11 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
     /**
           *
           */
-    
+
     // ssjava
-    public void read_allocation( Bitstream stream,
-         Header header,
-         Crc16 crc) {
+    public void read_allocation(Bitstream stream, Header header, Crc16 crc) {
 
-       int length = get_allocationlength(header);
+      int length = get_allocationlength(header);
 
       allocation = stream.get_bits(length);
       if (crc != null) {
@@ -694,8 +284,7 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
     /**
           *
           */
-    public void read_scalefactor_selection( Bitstream stream,
-         Crc16 crc) {
+    public void read_scalefactor_selection(Bitstream stream, Crc16 crc) {
       if (allocation != 0) {
         scfsi = stream.get_bits(2);
         if (crc != null)
@@ -706,7 +295,7 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
     /**
           *
           */
-    public void read_scalefactor( Bitstream stream,  Header header) {
+    public void read_scalefactor(Bitstream stream, Header header) {
       if (allocation != 0) {
         switch (scfsi) {
         case 0:
@@ -734,12 +323,11 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
           *
           */
     // ssjava
-    public boolean read_sampledata( Bitstream stream) {
+    public boolean read_sampledata(Bitstream stream) {
       if (allocation != 0) {
         if (groupingtable[0] != null) {
 
-           int samplecode =
-              stream.get_bits(codelength[0]);
+          int samplecode = stream.get_bits(codelength[0]);
           // create requantized samples:
           samplecode += samplecode << 1;
           // float[] target = samples; //subbed in variable to reduce areas
@@ -751,8 +339,8 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
            * target[tmp] = source[samplecode + temp];
            */
           // Bugfix:
-           int tmp = 0;
-           int temp = samplecode;
+          int tmp = 0;
+          int temp = samplecode;
 
           // if(temp > source.length - 3) temp = source.length - 3;
           if (temp > groupingtable[0].length - 3) {
@@ -782,12 +370,11 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
     }
 
     // ssjava
-    public boolean put_next_sample( int channels,  SynthesisFilter filter1,
-         SynthesisFilter filter2) {
+    public boolean put_next_sample(int channels, SynthesisFilter filter1, SynthesisFilter filter2) {
 
       if ((allocation != 0) && (channels != OutputChannels.RIGHT_CHANNEL)) {
 
-         float sample = samples[samplenumber];
+        float sample = samples[samplenumber];
 
         if (groupingtable[0] == null) {
           sample = (sample + d[0]) * c[0];
@@ -812,39 +399,36 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
   /**
    * Class for layer II subbands in joint stereo mode.
    */
-  
-  
+
   static class SubbandLayer2IntensityStereo extends SubbandLayer2 {
-    
+
     protected int channel2_scfsi;
-    
+
     protected float channel2_scalefactor1;
-    
+
     protected float channel2_scalefactor2;
-    
+
     protected float channel2_scalefactor3;
 
     /**
      * Constructor
      */
-    public SubbandLayer2IntensityStereo( int subbandnumber) {
+    public SubbandLayer2IntensityStereo(int subbandnumber) {
       super(subbandnumber);
     }
 
     /**
           *
           */
-    
-    public void read_allocation( Bitstream stream,  Header header,
-         Crc16 crc) {
+
+    public void read_allocation(Bitstream stream, Header header, Crc16 crc) {
       super.read_allocation(stream, header, crc);
     }
 
     /**
           *
           */
-    public void read_scalefactor_selection( Bitstream stream,
-         Crc16 crc) {
+    public void read_scalefactor_selection(Bitstream stream, Crc16 crc) {
       if (allocation != 0) {
         scfsi = stream.get_bits(2);
         channel2_scfsi = stream.get_bits(2);
@@ -858,7 +442,7 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
     /**
           *
           */
-    public void read_scalefactor( Bitstream stream,  Header header) {
+    public void read_scalefactor(Bitstream stream, Header header) {
       if (allocation != 0) {
         super.read_scalefactor(stream, header);
         switch (channel2_scfsi) {
@@ -893,24 +477,22 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
     /**
           *
           */
-    public boolean read_sampledata( Bitstream stream) {
+    public boolean read_sampledata(Bitstream stream) {
       return super.read_sampledata(stream);
     }
 
     /**
           *
           */
-    
-    
-    public boolean put_next_sample( int channels,  SynthesisFilter filter1,
-         SynthesisFilter filter2) {
+
+    public boolean put_next_sample(int channels, SynthesisFilter filter1, SynthesisFilter filter2) {
       if (allocation != 0) {
-         float sample = samples[samplenumber];
+        float sample = samples[samplenumber];
 
         if (groupingtable[0] == null)
           sample = (sample + d[0]) * c[0];
         if (channels == OutputChannels.BOTH_CHANNELS) {
-           float sample2 = sample;
+          float sample2 = sample;
           if (groupnumber <= 4) {
             sample *= scalefactor1;
             sample2 *= channel2_scalefactor1;
@@ -952,36 +534,35 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
   /**
    * Class for layer II subbands in stereo mode.
    */
-  
-  
+
   static class SubbandLayer2Stereo extends SubbandLayer2 {
-    
+
     protected int channel2_allocation;
-    
+
     protected int channel2_scfsi;
-    
+
     protected float channel2_scalefactor1;
-    
+
     protected float channel2_scalefactor2;
-    
+
     protected float channel2_scalefactor3;
     // protected boolean channel2_grouping; ???? Never used!
-    
+
     protected int[] channel2_codelength = { 0 };
     // protected float[][] channel2_groupingtable = {{0},{0}};
-    
+
     protected float[] channel2_factor = { 0.0f };
-    
+
     protected float[] channel2_samples;
-    
+
     protected float[] channel2_c = { 0.0f };
-    
+
     protected float[] channel2_d = { 0.0f };
 
     /**
      * Constructor
      */
-    public SubbandLayer2Stereo( int subbandnumber) {
+    public SubbandLayer2Stereo(int subbandnumber) {
       super(subbandnumber);
       channel2_samples = new float[3];
     }
@@ -989,14 +570,11 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
     /**
           *
           */
-    
+
     // ssjava
-    public void read_allocation(
-         Bitstream stream,
-         Header header,
-         Crc16 crc) {
+    public void read_allocation(Bitstream stream, Header header, Crc16 crc) {
 
-       int length = get_allocationlength(header);
+      int length = get_allocationlength(header);
       allocation = stream.get_bits(length);
       channel2_allocation = stream.get_bits(length);
       if (crc != null) {
@@ -1009,8 +587,7 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
     /**
           *
           */
-    public void read_scalefactor_selection( Bitstream stream,
-         Crc16 crc) {
+    public void read_scalefactor_selection(Bitstream stream, Crc16 crc) {
       if (allocation != 0) {
         scfsi = stream.get_bits(2);
         if (crc != null)
@@ -1026,7 +603,7 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
     /**
           *
           */
-    public void read_scalefactor( Bitstream stream,  Header header) {
+    public void read_scalefactor(Bitstream stream, Header header) {
       super.read_scalefactor(stream, header);
       if (channel2_allocation != 0) {
         switch (channel2_scfsi) {
@@ -1042,8 +619,8 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
           break;
 
         case 2:
-          channel2_scalefactor1 =
-              channel2_scalefactor2 = channel2_scalefactor3 = scalefactors[stream.get_bits(6)];
+          channel2_scalefactor1 = channel2_scalefactor2 = channel2_scalefactor3 = scalefactors[stream
+              .get_bits(6)];
           break;
 
         case 3:
@@ -1060,19 +637,17 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
           *
           */
     // ssjava
-    public boolean read_sampledata(
-         Bitstream stream) {
-       boolean returnvalue = super.read_sampledata(stream);
+    public boolean read_sampledata(Bitstream stream) {
+      boolean returnvalue = super.read_sampledata(stream);
 
       if (channel2_allocation != 0)
         if (groupingtable[1] != null) {
-           int samplecode =
-              stream.get_bits(channel2_codelength[0]);
+          int samplecode = stream.get_bits(channel2_codelength[0]);
           // create requantized samples:
           samplecode += samplecode << 1;
 
-           int tmp = 0;
-           int temp = samplecode;
+          int tmp = 0;
+          int temp = samplecode;
 
           channel2_samples[tmp] = groupingtable[1][temp];
           temp++;
@@ -1083,26 +658,21 @@ class LayerIIDecoder extends LayerIDecoder implements FrameDecoder {
           channel2_samples[tmp] = groupingtable[1][temp];
 
         } else {
-          channel2_samples[0] =
-              (float) ((stream.get_bits(channel2_codelength[0])) * channel2_factor[0] - 1.0);
-          channel2_samples[1] =
-              (float) ((stream.get_bits(channel2_codelength[0])) * channel2_factor[0] - 1.0);
-          channel2_samples[2] =
-              (float) ((stream.get_bits(channel2_codelength[0])) * channel2_factor[0] - 1.0);
+          channel2_samples[0] = (float) ((stream.get_bits(channel2_codelength[0])) * channel2_factor[0] - 1.0);
+          channel2_samples[1] = (float) ((stream.get_bits(channel2_codelength[0])) * channel2_factor[0] - 1.0);
+          channel2_samples[2] = (float) ((stream.get_bits(channel2_codelength[0])) * channel2_factor[0] - 1.0);
         }
       return returnvalue;
     }
 
     // ssjava
-    public boolean put_next_sample( int channels,  SynthesisFilter filter1,
-         SynthesisFilter filter2) {
+    public boolean put_next_sample(int channels, SynthesisFilter filter1, SynthesisFilter filter2) {
 
-       boolean returnvalue = super.put_next_sample(channels, filter1, filter2);
+      boolean returnvalue = super.put_next_sample(channels, filter1, filter2);
 
       if ((channel2_allocation != 0) && (channels != OutputChannels.LEFT_CHANNEL)) {
 
-         float sample =
-            channel2_samples[samplenumber - 1];
+        float sample = channel2_samples[samplenumber - 1];
 
         if (groupingtable[1] == null) {
           sample = (sample + channel2_d[0]) * channel2_c[0];
index ebbf8ec..d0f217d 100644 (file)
@@ -37,7 +37,7 @@
  * 
  * @since 0.0
  */
-// 
+//
 // 4th line added for hybrid.
 // 5th added for stereo
 // 6th added for reorder method
 // 9th added for get_LSF_scale_factors
 // 10th added for get_scale_factors
 // llth added for decode
-// 
-
+//
 
 final class LayerIIIDecoder implements FrameDecoder {
   static final double d43 = (4.0 / 3.0);
-  
+
   public int[] scalefac_buffer;
 
   // MDM: removed, as this wasn't being used.
   // private float CheckSumOut1d = 0.0f;
-  
+
   private int CheckSumHuff = 0;
-  
+
   private int[] is_1d;
-  
+
   private float[][][] ro;
-  
+
   private float[][][] lr;
-  
+
   private float[] inter; // 576 samples
-  
+
   private float[] out_1d; // 576 samples
-  
+
   private float[][] prevblck;
 
-  
   private float[][] k;
-  
+
   private int[] nonzero;
-  
+
   private SynthesisFilter filter1;
-  
+
   private SynthesisFilter filter2;
-  // 
+  //
   // private Obuffer buffer; // output buffer
-  
+
   private int which_channels;
-  
+
   private BitReserve br;
-  
+
   private III_side_info_t si;
 
-  //  private temporaire2[] III_scalefac_t;
-  
+  // private temporaire2[] III_scalefac_t;
+
   private final temporaire2[] scalefac;
   // private III_scalefac_t scalefac;
 
-  
   private int max_gr;
-  
+
   private int frame_start;
-  //  private int part2_start;
-  
+  // private int part2_start;
+
   private final int channels;
-  
+
   private int first_channel;
-  
+
   private int last_channel;
-  
+
   private int sfreq;
 
-  
   private int part2_start;
 
-  
   private boolean initialized = false;
 
-  
   float[][] raw_full; // 18 left shfited since it will be copied into prevblck!
 
   // constructor for the linear type system
-  public LayerIIIDecoder(Header h, @DELEGATE  SynthesisFilter filtera,
-      @DELEGATE  SynthesisFilter filterb,  int which_ch0) {
+  public LayerIIIDecoder(Header h, @DELEGATE SynthesisFilter filtera,
+      @DELEGATE SynthesisFilter filterb, int which_ch0) {
 
     filter_pos = 11;
     raw_full = new float[2][SBLIMIT * SSLIMIT];
@@ -150,44 +144,26 @@ final class LayerIIIDecoder implements FrameDecoder {
     // L3TABLE INIT
 
     sfBandIndex = new SBI[9]; // SZD: MPEG2.5 +3 indices
-     int[] l0 =
-        { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396,
-            464, 522, 576 };
-     int[] s0 = { 0, 4, 8, 12, 18, 24, 32, 42, 56, 74, 100, 132, 174, 192 };
-     int[] l1 =
-        { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 114, 136, 162, 194, 232, 278, 330, 394,
-            464, 540, 576 };
-     int[] s1 = { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 136, 180, 192 };
-     int[] l2 =
-        { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396,
-            464, 522, 576 };
-     int[] s2 = { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192 };
-
-     int[] l3 =
-        { 0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 52, 62, 74, 90, 110, 134, 162, 196, 238, 288, 342,
-            418, 576 };
-     int[] s3 = { 0, 4, 8, 12, 16, 22, 30, 40, 52, 66, 84, 106, 136, 192 };
-     int[] l4 =
-        { 0, 4, 8, 12, 16, 20, 24, 30, 36, 42, 50, 60, 72, 88, 106, 128, 156, 190, 230, 276, 330,
-            384, 576 };
-     int[] s4 = { 0, 4, 8, 12, 16, 22, 28, 38, 50, 64, 80, 100, 126, 192 };
-     int[] l5 =
-        { 0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 54, 66, 82, 102, 126, 156, 194, 240, 296, 364, 448,
-            550, 576 };
-     int[] s5 = { 0, 4, 8, 12, 16, 22, 30, 42, 58, 78, 104, 138, 180, 192 };
+    int[] l0 = { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576 };
+    int[] s0 = { 0, 4, 8, 12, 18, 24, 32, 42, 56, 74, 100, 132, 174, 192 };
+    int[] l1 = { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 114, 136, 162, 194, 232, 278, 330, 394, 464, 540, 576 };
+    int[] s1 = { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 136, 180, 192 };
+    int[] l2 = { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576 };
+    int[] s2 = { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192 };
+
+    int[] l3 = { 0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 52, 62, 74, 90, 110, 134, 162, 196, 238, 288, 342, 418, 576 };
+    int[] s3 = { 0, 4, 8, 12, 16, 22, 30, 40, 52, 66, 84, 106, 136, 192 };
+    int[] l4 = { 0, 4, 8, 12, 16, 20, 24, 30, 36, 42, 50, 60, 72, 88, 106, 128, 156, 190, 230, 276, 330, 384, 576 };
+    int[] s4 = { 0, 4, 8, 12, 16, 22, 28, 38, 50, 64, 80, 100, 126, 192 };
+    int[] l5 = { 0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 54, 66, 82, 102, 126, 156, 194, 240, 296, 364, 448, 550, 576 };
+    int[] s5 = { 0, 4, 8, 12, 16, 22, 30, 42, 58, 78, 104, 138, 180, 192 };
     // SZD: MPEG2.5
-     int[] l6 =
-        { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396,
-            464, 522, 576 };
-     int[] s6 = { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192 };
-     int[] l7 =
-        { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396,
-            464, 522, 576 };
-     int[] s7 = { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192 };
-     int[] l8 =
-        { 0, 12, 24, 36, 48, 60, 72, 88, 108, 132, 160, 192, 232, 280, 336, 400, 476, 566, 568,
-            570, 572, 574, 576 };
-     int[] s8 = { 0, 8, 16, 24, 36, 52, 72, 96, 124, 160, 162, 164, 166, 192 };
+    int[] l6 = { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576 };
+    int[] s6 = { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192 };
+    int[] l7 = { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576 };
+    int[] s7 = { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192 };
+    int[] l8 = { 0, 12, 24, 36, 48, 60, 72, 88, 108, 132, 160, 192, 232, 280, 336, 400, 476, 566, 568, 570, 572, 574, 576 };
+    int[] s8 = { 0, 8, 16, 24, 36, 52, 72, 96, 124, 160, 162, 164, 166, 192 };
 
     sfBandIndex[0] = new SBI(l0, s0);
     sfBandIndex[1] = new SBI(l1, s1);
@@ -204,7 +180,7 @@ final class LayerIIIDecoder implements FrameDecoder {
 
     if (reorder_table == null) { // SZD: generate LUT
       reorder_table = new int[9][];
-      for ( int i = 0; i < 9; i++)
+      for (int i = 0; i < 9; i++)
         reorder_table[i] = reorder(sfBandIndex[i].s);
     }
 
@@ -215,17 +191,14 @@ final class LayerIIIDecoder implements FrameDecoder {
     init(h);
   }
 
-  
-  private void init( Header header) {
+  private void init(Header header) {
 
     frame_start = 0;
     channels = (header.mode() == Header.SINGLE_CHANNEL) ? 1 : 2;
     max_gr = (header.version() == Header.MPEG1) ? 2 : 1;
 
-    sfreq =
-        header.sample_frequency()
-            + ((header.version() == Header.MPEG1) ? 3 : (header.version() == Header.MPEG25_LSF) ? 6
-                : 0); // SZD
+    sfreq = header.sample_frequency() + ((header.version() == Header.MPEG1) ? 3
+        : (header.version() == Header.MPEG25_LSF) ? 6 : 0); // SZD
 
     if (channels == 2) {
       switch (which_channels) {
@@ -248,8 +221,8 @@ final class LayerIIIDecoder implements FrameDecoder {
       first_channel = last_channel = 0;
     }
 
-    for ( int ch = 0; ch < 2; ch++)
-      for ( int j = 0; j < 576; j++)
+    for (int ch = 0; ch < 2; ch++)
+      for (int j = 0; j < 576; j++)
         prevblck[ch][j] = 0.0f;
 
     nonzero[0] = nonzero[1] = 576;
@@ -265,10 +238,10 @@ final class LayerIIIDecoder implements FrameDecoder {
    */
   // REVIEW: these constructor arguments should be moved to the
   // decodeFrame() method, where possible, so that one
-  // 
-  // public LayerIIIDecoder( Header header0, 
+  //
+  // public LayerIIIDecoder( Header header0,
   // SynthesisFilter filtera,
-  //  SynthesisFilter filterb,  int which_ch0) {
+  // SynthesisFilter filterb, int which_ch0) {
   //
   // huffcodetab.inithuff();
   // is_1d = new int[SBLIMIT * SSLIMIT + 4];
@@ -293,61 +266,61 @@ final class LayerIIIDecoder implements FrameDecoder {
   // // L3TABLE INIT
   //
   // sfBandIndex = new SBI[9]; // SZD: MPEG2.5 +3 indices
-  //  int[] l0 =
+  // int[] l0 =
   // { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238,
   // 284, 336, 396,
   // 464, 522, 576 };
-  //  int[] s0 = { 0, 4, 8, 12, 18, 24, 32, 42, 56, 74, 100, 132,
+  // int[] s0 = { 0, 4, 8, 12, 18, 24, 32, 42, 56, 74, 100, 132,
   // 174, 192 };
-  //  int[] l1 =
+  // int[] l1 =
   // { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 114, 136, 162, 194, 232,
   // 278, 330, 394,
   // 464, 540, 576 };
-  //  int[] s1 = { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 136,
+  // int[] s1 = { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 136,
   // 180, 192 };
-  //  int[] l2 =
+  // int[] l2 =
   // { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238,
   // 284, 336, 396,
   // 464, 522, 576 };
-  //  int[] s2 = { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134,
+  // int[] s2 = { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134,
   // 174, 192 };
   //
-  //  int[] l3 =
+  // int[] l3 =
   // { 0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 52, 62, 74, 90, 110, 134, 162, 196,
   // 238, 288, 342,
   // 418, 576 };
-  //  int[] s3 = { 0, 4, 8, 12, 16, 22, 30, 40, 52, 66, 84, 106, 136,
+  // int[] s3 = { 0, 4, 8, 12, 16, 22, 30, 40, 52, 66, 84, 106, 136,
   // 192 };
-  //  int[] l4 =
+  // int[] l4 =
   // { 0, 4, 8, 12, 16, 20, 24, 30, 36, 42, 50, 60, 72, 88, 106, 128, 156, 190,
   // 230, 276, 330,
   // 384, 576 };
-  //  int[] s4 = { 0, 4, 8, 12, 16, 22, 28, 38, 50, 64, 80, 100, 126,
+  // int[] s4 = { 0, 4, 8, 12, 16, 22, 28, 38, 50, 64, 80, 100, 126,
   // 192 };
-  //  int[] l5 =
+  // int[] l5 =
   // { 0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 54, 66, 82, 102, 126, 156, 194, 240,
   // 296, 364, 448,
   // 550, 576 };
-  //  int[] s5 = { 0, 4, 8, 12, 16, 22, 30, 42, 58, 78, 104, 138,
+  // int[] s5 = { 0, 4, 8, 12, 16, 22, 30, 42, 58, 78, 104, 138,
   // 180, 192 };
   // // SZD: MPEG2.5
-  //  int[] l6 =
+  // int[] l6 =
   // { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238,
   // 284, 336, 396,
   // 464, 522, 576 };
-  //  int[] s6 = { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134,
+  // int[] s6 = { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134,
   // 174, 192 };
-  //  int[] l7 =
+  // int[] l7 =
   // { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238,
   // 284, 336, 396,
   // 464, 522, 576 };
-  //  int[] s7 = { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134,
+  // int[] s7 = { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134,
   // 174, 192 };
-  //  int[] l8 =
+  // int[] l8 =
   // { 0, 12, 24, 36, 48, 60, 72, 88, 108, 132, 160, 192, 232, 280, 336, 400,
   // 476, 566, 568,
   // 570, 572, 574, 576 };
-  //  int[] s8 = { 0, 8, 16, 24, 36, 52, 72, 96, 124, 160, 162, 164,
+  // int[] s8 = { 0, 8, 16, 24, 36, 52, 72, 96, 124, 160, 162, 164,
   // 166, 192 };
   //
   // sfBandIndex[0] = new SBI(l0, s0);
@@ -370,8 +343,8 @@ final class LayerIIIDecoder implements FrameDecoder {
   // }
   //
   // // Sftable
-  //  int[] ll0 = { 0, 6, 11, 16, 21 };
-  //  int[] ss0 = { 0, 6, 12 };
+  // int[] ll0 = { 0, 6, 11, 16, 21 };
+  // int[] ss0 = { 0, 6, 12 };
   // sftable = new Sftable(ll0, ss0);
   // // END OF Sftable
   //
@@ -429,16 +402,16 @@ final class LayerIIIDecoder implements FrameDecoder {
   /**
    * Notify decoder that a seek is being made.
    */
-  
+
   public void seek_notify() {
     frame_start = 0;
-    for ( int ch = 0; ch < 2; ch++)
-      for ( int j = 0; j < 576; j++)
+    for (int ch = 0; ch < 2; ch++)
+      for (int j = 0; j < 576; j++)
         prevblck[ch][j] = 0.0f;
     br = new BitReserve();
   }
 
-  public void decodeFrame( Header header) {
+  public void decodeFrame(Header header) {
     decode(header);
   }
 
@@ -448,11 +421,11 @@ final class LayerIIIDecoder implements FrameDecoder {
 
   // subband samples are buffered and passed to the
   // SynthesisFilter in one go.
-  
+
   private float[] samples1 = new float[32];
-  
+
   private float[] samples2 = new float[32];
-  
+
   private int filter_pos;
 
   /*
@@ -462,9 +435,9 @@ final class LayerIIIDecoder implements FrameDecoder {
    * {part2_start} {sb18, ss} {out_1d}* {sb}* {samples1,sample2}
    * {filter1,filter2}
    */
-  // 
-  
-  public void decode( Header header) {
+  //
+
+  public void decode(Header header) {
 
     // if (!initialized) {
     // init(header);
@@ -493,26 +466,26 @@ final class LayerIIIDecoder implements FrameDecoder {
     si = new III_side_info_t();
     //
 
-     int nSlots = header.slots();
+    int nSlots = header.slots();
 
-     int gr;
-     int ch;
+    int gr;
+    int ch;
 
-     int ss;
-     int sb;
-     int sb18;
+    int ss;
+    int sb;
+    int sb18;
 
-     int main_data_end;
-     int flush_main;
+    int main_data_end;
+    int flush_main;
 
-     int bytes_to_discard;
-     int i;
+    int bytes_to_discard;
+    int i;
 
     // modifications for linear type
     get_side_info(header);
     br = header.getBitReserve();
 
-     int version = header.version();
+    int version = header.version();
 
     // additional codes for the definitely written property
     filter_pos = (header.getIdx() * 4) & 0xf;
@@ -528,7 +501,7 @@ final class LayerIIIDecoder implements FrameDecoder {
       // 'ch', 'channels' should be higher than all locs in the below body
       for (ch = 0; ch < channels; ch++) {
         // part2_start = br.hsstell();
-         int part2_start_local = br.hsstell();
+        int part2_start_local = br.hsstell();
 
         // grab scale factors from the main data.
         // following the scale factors is the actual compressed data
@@ -567,7 +540,7 @@ final class LayerIIIDecoder implements FrameDecoder {
         // }
         // System.out.println("CheckSumOut1d = "+CheckSumOut1d);
 
-        for ( int index = 0; index < 576; index++) {
+        for (int index = 0; index < 576; index++) {
           out_1d[index] = inter[index];
         }
 
@@ -669,15 +642,14 @@ final class LayerIIIDecoder implements FrameDecoder {
    * Reads the side info from the stream, assuming the entire. frame has been
    * read already. Mono : 136 bits (= 17 bytes) Stereo : 256 bits (= 32 bytes)
    */
-  
-  private boolean get_side_info( Header header) {
 
-     SideInfoBuffer sib =
-        header.getSideInfoBuffer();
-     int version = header.version();
+  private boolean get_side_info(Header header) {
 
-     int ch;
-     int gr;
+    SideInfoBuffer sib = header.getSideInfoBuffer();
+    int version = header.version();
+
+    int ch;
+    int gr;
     // System.out.println("#get_side_info");
     if (version == Header.MPEG1) {
 
@@ -704,7 +676,7 @@ final class LayerIIIDecoder implements FrameDecoder {
           si.ch[ch].gr[gr].big_values = sib.get_bits(9);
           si.ch[ch].gr[gr].global_gain = sib.get_bits(8);
           si.ch[ch].gr[gr].scalefac_compress = sib.get_bits(4);
-           int cond = sib.get_bits(1);
+          int cond = sib.get_bits(1);
           // si.ch[ch].gr[gr].window_switching_flag = sib.get_bits(1);
           // if ((si.ch[ch].gr[gr].window_switching_flag) != 0) {
           if (cond != 0) {
@@ -762,7 +734,7 @@ final class LayerIIIDecoder implements FrameDecoder {
         si.ch[ch].gr[0].global_gain = sib.get_bits(8);
         si.ch[ch].gr[0].scalefac_compress = sib.get_bits(9);
 
-         int cond = sib.get_bits(1);
+        int cond = sib.get_bits(1);
         // si.ch[ch].gr[0].window_switching_flag = sib.get_bits(1);
         // if ((si.ch[ch].gr[0].window_switching_flag) != 0) {
         if (cond != 0) {
@@ -811,17 +783,16 @@ final class LayerIIIDecoder implements FrameDecoder {
   /**
         *
         */
-  
-  private void get_scale_factors( Header header,
-       int ch,  int gr) {
+
+  private void get_scale_factors(Header header, int ch, int gr) {
 
     // gr_info_s gr_info = (si.ch[ch].gr[gr]); remove alias
 
-     int sfb;
-     int window;
-     int scale_comp = si.ch[ch].gr[gr].scalefac_compress;
-     int length0 = slen[0][scale_comp];
-     int length1 = slen[1][scale_comp];
+    int sfb;
+    int window;
+    int scale_comp = si.ch[ch].gr[gr].scalefac_compress;
+    int length0 = slen[0][scale_comp];
+    int length1 = slen[1][scale_comp];
 
     if ((si.ch[ch].gr[gr].window_switching_flag != 0) && (si.ch[ch].gr[gr].block_type == 2)) {
       if ((si.ch[ch].gr[gr].mixed_block_flag) != 0) { // MIXED
@@ -921,26 +892,23 @@ final class LayerIIIDecoder implements FrameDecoder {
         */
   // MDM: new_slen is fully initialized before use, no need
   // to reallocate array.
-  
+
   private int[] new_slen = new int[4];
 
   // ssjava
-  
-  private void get_LSF_scale_data( Header header,
-       int ch,  int gr) {
 
-     int mode_ext = header.mode_extension();
-    //  gr_info_s gr_info =
+  private void get_LSF_scale_data(Header header, int ch, int gr) {
+
+    int mode_ext = header.mode_extension();
+    // gr_info_s gr_info =
     // (si.ch[ch].gr[gr]); // remove alias
 
-     int scalefac_comp =
-        si.ch[ch].gr[gr].scalefac_compress;
-     int blocktypenumber;
+    int scalefac_comp = si.ch[ch].gr[gr].scalefac_compress;
+    int blocktypenumber;
 
-     int int_scalefac_comp;
-     int m;
-     int blocknumber =
-        0;
+    int int_scalefac_comp;
+    int m;
+    int blocknumber = 0;
 
     if (si.ch[ch].gr[gr].block_type == 2) {
       if (si.ch[ch].gr[gr].mixed_block_flag == 0) {
@@ -1017,9 +985,9 @@ final class LayerIIIDecoder implements FrameDecoder {
     // scalefac_buffer[x] = 0;
 
     m = 0;
-    for ( int i = 0; i < 4; i++) {
-       int jmax = nr_of_sfb_block[blocknumber][blocktypenumber][i];
-      for ( int j = 0; j < jmax; j++) {
+    for (int i = 0; i < 4; i++) {
+      int jmax = nr_of_sfb_block[blocknumber][blocktypenumber][i];
+      for (int j = 0; j < jmax; j++) {
         scalefac_buffer[m] = (new_slen[i] == 0) ? 0 : br.hgetbits(new_slen[i]);
         m++;
 
@@ -1030,13 +998,12 @@ final class LayerIIIDecoder implements FrameDecoder {
   /**
         *
         */
-  
-  private void get_LSF_scale_factors( Header header,
-       int ch,  int gr) {
 
-     int sfb;
-     int m = 0;
-     int window;
+  private void get_LSF_scale_factors(Header header, int ch, int gr) {
+
+    int sfb;
+    int m = 0;
+    int window;
     // gr_info_s gr_info = (si.ch[ch].gr[gr]); // remove alias
 
     get_LSF_scale_data(header, ch, gr);
@@ -1082,41 +1049,38 @@ final class LayerIIIDecoder implements FrameDecoder {
   /**
         *
         */
-  // 
+  //
   // int[] x = { 0 };
-  // 
+  //
   // int[] y = { 0 };
-  // 
+  //
   // int[] v = { 0 };
-  // 
+  //
   // int[] w = { 0 };
-  // 
+  //
   // int x[] = { 0 };
-  // 
+  //
   // int y[] = { 0 };
-  // 
+  //
   // int v[] = { 0 };
-  // 
+  //
   // int w[] = { 0 };
 
-  
-  private void huffman_decode( int part2_start_local,
-       int ch,  int gr) {
+  private void huffman_decode(int part2_start_local, int ch, int gr) {
 
-     int x[] = new int[1];
-     int y[] = new int[1];
-     int v[] = new int[1];
-     int w[] = new int[1];
+    int x[] = new int[1];
+    int y[] = new int[1];
+    int v[] = new int[1];
+    int w[] = new int[1];
 
-     int part2_3_end =
-        part2_start_local + si.ch[ch].gr[gr].part2_3_length;
-     int num_bits;
-     int region1Start;
-     int region2Start;
-     int index;
+    int part2_3_end = part2_start_local + si.ch[ch].gr[gr].part2_3_length;
+    int num_bits;
+    int region1Start;
+    int region2Start;
+    int index;
 
-     int buf;
-     int buf1;
+    int buf;
+    int buf1;
 
     // Find region boundary for short block case
 
@@ -1142,10 +1106,9 @@ final class LayerIIIDecoder implements FrameDecoder {
 
     index = 0;
     // Read bigvalues area
-    TERMINATE: for ( int i = 0; i < (si.ch[ch].gr[gr].big_values << 1); i +=
-        2) {
+    TERMINATE: for (int i = 0; i < (si.ch[ch].gr[gr].big_values << 1); i += 2) {
 
-       int htIdx;
+      int htIdx;
       if (i < region1Start) {
         htIdx = si.ch[ch].gr[gr].table_select[0];
         // h = huffcodetab.ht[si.ch[ch].gr[gr].table_select[0]];
@@ -1170,7 +1133,7 @@ final class LayerIIIDecoder implements FrameDecoder {
 
     // Read count1 area
 
-     int htIdx = si.ch[ch].gr[gr].count1table_select + 32;
+    int htIdx = si.ch[ch].gr[gr].count1table_select + 32;
     // h = huffcodetab.ht[si.ch[ch].gr[gr].count1table_select + 32];
     num_bits = br.hsstell();
 
@@ -1214,8 +1177,7 @@ final class LayerIIIDecoder implements FrameDecoder {
       is_1d[index] = 0;
   }
 
-  
-  private int huffcodetab_huffman_decoder( int h) {
+  private int huffcodetab_huffman_decoder(int h) {
     // TODO need to move huffmancodetab implementation here
     return 0;
   }
@@ -1223,8 +1185,7 @@ final class LayerIIIDecoder implements FrameDecoder {
   /**
         *
         */
-  private void i_stereo_k_values( int is_pos,
-       int io_type,  int i) {
+  private void i_stereo_k_values(int is_pos, int io_type, int i) {
     if (is_pos == 0) {
       k[0][i] = 1.0f;
       k[1][i] = 1.0f;
@@ -1240,24 +1201,23 @@ final class LayerIIIDecoder implements FrameDecoder {
   /**
         *
         */
-  // 
-  
+  //
+
   // ssjava
   private void dequantize_sample(
-  /*  float xr[][], */ int ch,
-       int gr) {
+  /* float xr[][], */int ch, int gr) {
 
-    //  gr_info_s gr_info = (si.ch[ch].gr[gr]); remove alias!
-     int cb = 0;
+    // gr_info_s gr_info = (si.ch[ch].gr[gr]); remove alias!
+    int cb = 0;
 
-     int next_cb_boundary;
-     int cb_begin = 0;
-     int cb_width = 0;
-     float g_gain;
+    int next_cb_boundary;
+    int cb_begin = 0;
+    int cb_width = 0;
+    float g_gain;
 
-     int index = 0;
-     int t_index;
-     int j;
+    int index = 0;
+    int t_index;
+    int j;
 
     // float[][] xr_1d = xr;//substituted xr for instances of xr_1d to decrease
     // number of areas
@@ -1282,12 +1242,12 @@ final class LayerIIIDecoder implements FrameDecoder {
 
     for (j = 0; j < nonzero[ch]; j++) {
       // Modif E.B 02/22/99
-       int reste = j % SSLIMIT;
-       int quotien = (int) ((j - reste) / SSLIMIT);
+      int reste = j % SSLIMIT;
+      int quotien = (int) ((j - reste) / SSLIMIT);
       if (is_1d[j] == 0) {
         ro[ch][quotien][reste] = 0.0f;
       } else {
-         int abv = is_1d[j];
+        int abv = is_1d[j];
         // Pow Array fix (11/17/04)
         if (abv < t_43.length) {
           if (is_1d[j] > 0)
@@ -1310,8 +1270,8 @@ final class LayerIIIDecoder implements FrameDecoder {
     // apply formula per block type
     for (j = 0; j < nonzero[ch]; j++) {
       // Modif E.B 02/22/99
-       int reste = j % SSLIMIT;
-       int quotien = (int) ((j - reste) / SSLIMIT);
+      int reste = j % SSLIMIT;
+      int quotien = (int) ((j - reste) / SSLIMIT);
 
       if (index == next_cb_boundary) { /* Adjust critical band boundary */
         if ((si.ch[ch].gr[gr].window_switching_flag != 0) && (si.ch[ch].gr[gr].block_type == 2)) {
@@ -1359,17 +1319,14 @@ final class LayerIIIDecoder implements FrameDecoder {
 
       // Do long/short dependent scaling operations
 
-      if ((si.ch[ch].gr[gr].window_switching_flag != 0)
-          && (((si.ch[ch].gr[gr].block_type == 2) && (si.ch[ch].gr[gr].mixed_block_flag == 0)) || ((si.ch[ch].gr[gr].block_type == 2)
-              && (si.ch[ch].gr[gr].mixed_block_flag != 0) && (j >= 36)))) {
+      if ((si.ch[ch].gr[gr].window_switching_flag != 0) && (((si.ch[ch].gr[gr].block_type == 2) && (si.ch[ch].gr[gr].mixed_block_flag == 0)) || ((si.ch[ch].gr[gr].block_type == 2) && (si.ch[ch].gr[gr].mixed_block_flag != 0) && (j >= 36)))) {
 
         t_index = (index - cb_begin) / cb_width;
         /*
          * xr[sb][ss] *= pow(2.0, ((-2.0 * gr_info.subblock_gain[t_index]) -(0.5
          * * (1.0 + gr_info.scalefac_scale) scalefac[ch].s[t_index][cb])));
          */
-         int idx =
-            scalefac[ch].s[t_index][cb] << si.ch[ch].gr[gr].scalefac_scale;
+        int idx = scalefac[ch].s[t_index][cb] << si.ch[ch].gr[gr].scalefac_scale;
         idx += (si.ch[ch].gr[gr].subblock_gain[t_index] << 2);
 
         ro[ch][quotien][reste] *= two_to_negative_half_pow[idx];
@@ -1379,7 +1336,7 @@ final class LayerIIIDecoder implements FrameDecoder {
          * xr[sb][ss] *= pow(2.0, -0.5 * (1.0+gr_info.scalefac_scale)
          * (scalefac[ch].l[cb] + gr_info.preflag * pretab[cb]));
          */
-         int idx = scalefac[ch].l[cb];
+        int idx = scalefac[ch].l[cb];
 
         if (si.ch[ch].gr[gr].preflag != 0)
           idx += pretab[cb];
@@ -1392,8 +1349,8 @@ final class LayerIIIDecoder implements FrameDecoder {
 
     for (j = nonzero[ch]; j < 576; j++) {
       // Modif E.B 02/22/99
-       int reste = j % SSLIMIT;
-       int quotien = (int) ((j - reste) / SSLIMIT);
+      int reste = j % SSLIMIT;
+      int quotien = (int) ((j - reste) / SSLIMIT);
       if (reste < 0)
         reste = 0;
       if (quotien < 0)
@@ -1408,10 +1365,9 @@ final class LayerIIIDecoder implements FrameDecoder {
         *
         */
   // ssjava
-  // 
-  
-  private void reorder(/*  float xr[][], */ int ch,
-       int gr) {
+  //
+
+  private void reorder(/* float xr[][], */int ch, int gr) {
     // the purpose of reordering: move 'short samples' back to their original
     // position
     // after reorder, the samples are no long ordered by frequency
@@ -1422,15 +1378,15 @@ final class LayerIIIDecoder implements FrameDecoder {
 
     // gr_info_s gr_info = (si.ch[ch].gr[gr]); //remove alias
 
-     int index;
+    int index;
 
-     int freq;
-     int freq3;
-     int sfb;
-     int sfb_start;
-     int sfb_lines;
-     int src_line;
-     int des_line;
+    int freq;
+    int freq3;
+    int sfb;
+    int sfb_start;
+    int sfb_lines;
+    int src_line;
+    int des_line;
     // float[][] xr_1d = xr; subbed in xr for xr_1d so as not to create extra
     // areas
 
@@ -1444,8 +1400,8 @@ final class LayerIIIDecoder implements FrameDecoder {
         // NO REORDER FOR LOW 2 SUBBANDS
         for (index = 0; index < 36; index++) {
           // Modif E.B 02/22/99
-           int reste = index % SSLIMIT;
-           int quotien = (int) ((index - reste) / SSLIMIT);
+          int reste = index % SSLIMIT;
+          int quotien = (int) ((index - reste) / SSLIMIT);
           inter[index] = lr[ch][quotien][reste];
         }
         // REORDERING FOR REST SWITCHED SHORT
@@ -1460,15 +1416,15 @@ final class LayerIIIDecoder implements FrameDecoder {
           sfb_start = sfBandIndex[sfreq].s[sfb];
           sfb_lines = sfBandIndex[sfreq].s[sfb + 1] - sfb_start;
 
-           int sfb_start3 = (sfb_start << 2) - sfb_start;
+          int sfb_start3 = (sfb_start << 2) - sfb_start;
 
           for (freq = 0, freq3 = 0; freq < sfb_lines; freq++, freq3 += 3) {
 
             src_line = sfb_start3 + freq;
             des_line = sfb_start3 + freq3;
             // Modif E.B 02/22/99
-             int reste = src_line % SSLIMIT;
-             int quotien = (int) ((src_line - reste) / SSLIMIT);
+            int reste = src_line % SSLIMIT;
+            int quotien = (int) ((src_line - reste) / SSLIMIT);
 
             inter[des_line] = lr[ch][quotien][reste];
             src_line += sfb_lines;
@@ -1490,17 +1446,17 @@ final class LayerIIIDecoder implements FrameDecoder {
 
       } else { // pure short
         for (index = 0; index < 576; index++) {
-           int j = reorder_table[sfreq][index];
-           int reste = j % SSLIMIT;
-           int quotien = (int) ((j - reste) / SSLIMIT);
+          int j = reorder_table[sfreq][index];
+          int reste = j % SSLIMIT;
+          int quotien = (int) ((j - reste) / SSLIMIT);
           inter[index] = lr[ch][quotien][reste];
         }
       }
     } else { // long blocks
       for (index = 0; index < 576; index++) {
         // Modif E.B 02/22/99
-         int reste = index % SSLIMIT;
-         int quotien = (int) ((index - reste) / SSLIMIT);
+        int reste = index % SSLIMIT;
+        int quotien = (int) ((index - reste) / SSLIMIT);
         inter[index] = lr[ch][quotien][reste];
       }
     }
@@ -1510,17 +1466,15 @@ final class LayerIIIDecoder implements FrameDecoder {
         *
         */
 
-  
   int[] is_pos = new int[576];
-  
+
   float[] is_ratio = new float[576];
 
   // ssjava
-  
-  private void stereo( Header header,
-       int gr) {
-     int sb;
-     int ss;
+
+  private void stereo(Header header, int gr) {
+    int sb;
+    int ss;
 
     if (channels == 1) { // mono , bypass xr[0][][] to lr[0][][]
 
@@ -1534,22 +1488,19 @@ final class LayerIIIDecoder implements FrameDecoder {
     } else {
 
       // gr_info_s gr_info = (si.ch[0].gr[gr]); remove alias
-       int mode_ext = header.mode_extension();
+      int mode_ext = header.mode_extension();
 
-       int sfb;
-       int i;
-       int lines;
-       int temp;
-       int temp2;
+      int sfb;
+      int i;
+      int lines;
+      int temp;
+      int temp2;
 
-       boolean ms_stereo =
-          ((header.mode() == Header.JOINT_STEREO) && ((mode_ext & 0x2) != 0));
-       boolean i_stereo =
-          ((header.mode() == Header.JOINT_STEREO) && ((mode_ext & 0x1) != 0));
-       boolean lsf =
-          ((header.version() == Header.MPEG2_LSF || header.version() == Header.MPEG25_LSF)); // SZD
+      boolean ms_stereo = ((header.mode() == Header.JOINT_STEREO) && ((mode_ext & 0x2) != 0));
+      boolean i_stereo = ((header.mode() == Header.JOINT_STEREO) && ((mode_ext & 0x1) != 0));
+      boolean lsf = ((header.version() == Header.MPEG2_LSF || header.version() == Header.MPEG25_LSF)); // SZD
 
-       int io_type = (si.ch[0].gr[gr].scalefac_compress & 1);
+      int io_type = (si.ch[0].gr[gr].scalefac_compress & 1);
 
       // initialization
       // for (i = 0; i < 576; i++) {
@@ -1561,10 +1512,10 @@ final class LayerIIIDecoder implements FrameDecoder {
         if ((si.ch[0].gr[gr].window_switching_flag != 0) && (si.ch[0].gr[gr].block_type == 2)) {
           if (si.ch[0].gr[gr].mixed_block_flag != 0) {
 
-             int max_sfb = 0;
+            int max_sfb = 0;
 
-            for ( int j = 0; j < 3; j++) {
-               int sfbcnt;
+            for (int j = 0; j < 3; j++) {
+              int sfbcnt;
               sfbcnt = 2;
               TERMINATE: for (sfb = 12; sfb >= 3; sfb--) {
                 i = sfBandIndex[sfreq].s[sfb];
@@ -1661,8 +1612,8 @@ final class LayerIIIDecoder implements FrameDecoder {
               } // for (; sfb<8 ...
             } // for (j=0 ...
           } else { // if (gr_info.mixed_block_flag)
-            for ( int j = 0; j < 3; j++) {
-               int sfbcnt;
+            for (int j = 0; j < 3; j++) {
+              int sfbcnt;
               sfbcnt = -1;
               TERMINATE: for (sfb = 12; sfb >= 0; sfb--) {
                 temp = sfBandIndex[sfreq].s[sfb];
@@ -1801,27 +1752,24 @@ final class LayerIIIDecoder implements FrameDecoder {
   /**
         *
         */
-  // 
-  
-  private void antialias( int ch,
-       int gr) {
+  //
+
+  private void antialias(int ch, int gr) {
 
-     int sb18;
-     int ss;
-     int sb18lim;
+    int sb18;
+    int ss;
+    int sb18lim;
 
-    // 
+    //
     // gr_info_s gr_info =
     // (si.ch[ch].gr[gr]);
     // 31 alias-reduction operations between each pair of sub-bands
     // with 8 butterflies between each pair
 
-    if ((si.ch[ch].gr[gr].window_switching_flag != 0) && (si.ch[ch].gr[gr].block_type == 2)
-        && !(si.ch[ch].gr[gr].mixed_block_flag != 0))
+    if ((si.ch[ch].gr[gr].window_switching_flag != 0) && (si.ch[ch].gr[gr].block_type == 2) && !(si.ch[ch].gr[gr].mixed_block_flag != 0))
       return;
 
-    if ((si.ch[ch].gr[gr].window_switching_flag != 0) && (si.ch[ch].gr[gr].mixed_block_flag != 0)
-        && (si.ch[ch].gr[gr].block_type == 2)) {
+    if ((si.ch[ch].gr[gr].window_switching_flag != 0) && (si.ch[ch].gr[gr].mixed_block_flag != 0) && (si.ch[ch].gr[gr].block_type == 2)) {
       sb18lim = 18;
     } else {
       sb18lim = 558;
@@ -1829,10 +1777,10 @@ final class LayerIIIDecoder implements FrameDecoder {
 
     for (sb18 = 0; sb18 < sb18lim; sb18 += 18) {
       for (ss = 0; ss < 8; ss++) {
-         int src_idx1 = sb18 + 17 - ss;
-         int src_idx2 = sb18 + 18 + ss;
-         float bu = inter[src_idx1];
-         float bd = inter[src_idx2];
+        int src_idx1 = sb18 + 17 - ss;
+        int src_idx2 = sb18 + 18 + ss;
+        float bu = inter[src_idx1];
+        float bd = inter[src_idx2];
         inter[src_idx1] = (bu * cs[ss]) - (bd * ca[ss]);
         inter[src_idx2] = (bd * cs[ss]) + (bu * ca[ss]);
       }
@@ -1845,24 +1793,22 @@ final class LayerIIIDecoder implements FrameDecoder {
 
   // MDM: tsOutCopy and rawout do not need initializing, so the arrays
   // can be reused.
-  
+
   float[] tsOutCopy = new float[18];
-  
+
   float[] rawout = new float[36];
 
-  
-  private void hybrid( int ch,  int gr) {
+  private void hybrid(int ch, int gr) {
 
-     int bt;
-     int sb18;
+    int bt;
+    int sb18;
     // gr_info_s gr_info = (si.ch[ch].gr[gr]); //remove alias
-    //  float[] tsOut; //remove alias
+    // float[] tsOut; //remove alias
 
     // float[][] prvblk;
 
     for (sb18 = 0; sb18 < 576; sb18 += 18) {
-      if ((si.ch[ch].gr[gr].window_switching_flag != 0) && (si.ch[ch].gr[gr].mixed_block_flag != 0)
-          && (sb18 < 36)) {
+      if ((si.ch[ch].gr[gr].window_switching_flag != 0) && (si.ch[ch].gr[gr].mixed_block_flag != 0) && (sb18 < 36)) {
         bt = 0;
       } else {
         bt = si.ch[ch].gr[gr].block_type;
@@ -1870,14 +1816,14 @@ final class LayerIIIDecoder implements FrameDecoder {
 
       // tsOut = out_1d;
       // Modif E.B 02/22/99
-      for ( int cc = 0; cc < 18; cc++) {
+      for (int cc = 0; cc < 18; cc++) {
         // tsOutCopy[cc] = out_1d[cc + sb18];
         tsOutCopy[cc] = inter[cc + sb18];
       }
 
       inv_mdct(bt);
 
-      for ( int cc = 0; cc < 18; cc++) {
+      for (int cc = 0; cc < 18; cc++) {
         out_1d[cc + sb18] = tsOutCopy[cc];
       }
 
@@ -1966,8 +1912,8 @@ final class LayerIIIDecoder implements FrameDecoder {
         *
         */
   private void do_downmix() {
-    for ( int sb = 0; sb < SSLIMIT; sb++) {
-      for ( int ss = 0; ss < SSLIMIT; ss += 3) {
+    for (int sb = 0; sb < SSLIMIT; sb++) {
+      for (int ss = 0; ss < SSLIMIT; ss += 3) {
         lr[0][sb][ss] = (lr[0][sb][ss] + lr[1][sb][ss]) * 0.5f;
         lr[0][sb][ss + 1] = (lr[0][sb][ss + 1] + lr[1][sb][ss + 1]) * 0.5f;
         lr[0][sb][ss + 2] = (lr[0][sb][ss + 2] + lr[1][sb][ss + 2]) * 0.5f;
@@ -1978,50 +1924,35 @@ final class LayerIIIDecoder implements FrameDecoder {
   /**
    * Fast INV_MDCT.
    */
-  // 
-  // public void inv_mdct( float[] in,  float[] out,
-  //  int block_type) {//remove alias
+  //
+  // public void inv_mdct( float[] in, float[] out,
+  // int block_type) {//remove alias
   // ssjava
-  
-  public void inv_mdct( int block_type) {
+
+  public void inv_mdct(int block_type) {
     // float[] win_bt;
-     int i;
-
-     float tmpf_0;
-     float tmpf_1;
-     float tmpf_2;
-     float tmpf_3;
-     float tmpf_4;
-     float tmpf_5;
-     float tmpf_6;
-     float tmpf_7;
-     float tmpf_8;
-     float tmpf_9;
-     float tmpf_10;
-     float tmpf_11;
-     float tmpf_12;
-     float tmpf_13;
-     float tmpf_14;
-     float tmpf_15;
-     float tmpf_16;
-     float tmpf_17;
-
-    tmpf_0 =
-        tmpf_1 =
-            tmpf_2 =
-                tmpf_3 =
-                    tmpf_4 =
-                        tmpf_5 =
-                            tmpf_6 =
-                                tmpf_7 =
-                                    tmpf_8 =
-                                        tmpf_9 =
-                                            tmpf_10 =
-                                                tmpf_11 =
-                                                    tmpf_12 =
-                                                        tmpf_13 =
-                                                            tmpf_14 =
-                                                                tmpf_15 = tmpf_16 = tmpf_17 = 0.0f;
+    int i;
+
+    float tmpf_0;
+    float tmpf_1;
+    float tmpf_2;
+    float tmpf_3;
+    float tmpf_4;
+    float tmpf_5;
+    float tmpf_6;
+    float tmpf_7;
+    float tmpf_8;
+    float tmpf_9;
+    float tmpf_10;
+    float tmpf_11;
+    float tmpf_12;
+    float tmpf_13;
+    float tmpf_14;
+    float tmpf_15;
+    float tmpf_16;
+    float tmpf_17;
+
+    tmpf_0 = tmpf_1 = tmpf_2 = tmpf_3 = tmpf_4 = tmpf_5 = tmpf_6 = tmpf_7 = tmpf_8 = tmpf_9 = tmpf_10 = tmpf_11 = tmpf_12 = tmpf_13 = tmpf_14 = tmpf_15 = tmpf_16 = tmpf_17 = 0.0f;
 
     if (block_type == 2) {
 
@@ -2069,7 +2000,7 @@ final class LayerIIIDecoder implements FrameDecoder {
       rawout[34] = 0.0f;
       rawout[35] = 0.0f;
 
-       int six_i = 0;
+      int six_i = 0;
 
       for (i = 0; i < 3; i++) {
         // 12 point IMDCT
@@ -2086,9 +2017,9 @@ final class LayerIIIDecoder implements FrameDecoder {
         tsOutCopy[9 + i] += tsOutCopy[3 + i];
 
         // 3 point IDCT on even indices
-         float pp1;
-         float pp2;
-         float sum;
+        float pp1;
+        float pp2;
+        float sum;
         pp2 = tsOutCopy[12 + i] * 0.500000000f;
         pp1 = tsOutCopy[6 + i] * 0.866025403f;
         sum = tsOutCopy[0 + i] + pp2;
@@ -2112,7 +2043,7 @@ final class LayerIIIDecoder implements FrameDecoder {
         tmpf_5 *= 0.517638090f;
 
         // Output butterflies on 2 3 point IDCT's (for 6 point IDCT)
-         float save = tmpf_0;
+        float save = tmpf_0;
         tmpf_0 += tmpf_5;
         tmpf_5 = save - tmpf_5;
         save = tmpf_1;
@@ -2199,24 +2130,24 @@ final class LayerIIIDecoder implements FrameDecoder {
       tsOutCopy[5] += tsOutCopy[3];
       tsOutCopy[3] += tsOutCopy[1];
 
-       float tmp0;
-       float tmp1;
-       float tmp2;
-       float tmp3;
-       float tmp4;
-       float tmp0_;
-       float tmp1_;
-       float tmp2_;
-       float tmp3_;
-       float tmp0o;
-       float tmp1o;
-       float tmp2o;
-       float tmp3o;
-       float tmp4o;
-       float tmp0_o;
-       float tmp1_o;
-       float tmp2_o;
-       float tmp3_o;
+      float tmp0;
+      float tmp1;
+      float tmp2;
+      float tmp3;
+      float tmp4;
+      float tmp0_;
+      float tmp1_;
+      float tmp2_;
+      float tmp3_;
+      float tmp0o;
+      float tmp1o;
+      float tmp2o;
+      float tmp3o;
+      float tmp4o;
+      float tmp0_o;
+      float tmp1_o;
+      float tmp2_o;
+      float tmp3_o;
 
       // Fast 9 Point Inverse Discrete Cosine Transform
       //
@@ -2233,68 +2164,41 @@ final class LayerIIIDecoder implements FrameDecoder {
       // 9 point IDCT on even indices
 
       // 5 points on odd indices (not realy an IDCT)
-       float i00 = tsOutCopy[0] + tsOutCopy[0];
-       float iip12 = i00 + tsOutCopy[12];
+      float i00 = tsOutCopy[0] + tsOutCopy[0];
+      float iip12 = i00 + tsOutCopy[12];
 
-      tmp0 =
-          iip12 + tsOutCopy[4] * 1.8793852415718f + tsOutCopy[8] * 1.532088886238f + tsOutCopy[16]
-              * 0.34729635533386f;
+      tmp0 = iip12 + tsOutCopy[4] * 1.8793852415718f + tsOutCopy[8] * 1.532088886238f + tsOutCopy[16] * 0.34729635533386f;
       tmp1 = i00 + tsOutCopy[4] - tsOutCopy[8] - tsOutCopy[12] - tsOutCopy[12] - tsOutCopy[16];
-      tmp2 =
-          iip12 - tsOutCopy[4] * 0.34729635533386f - tsOutCopy[8] * 1.8793852415718f
-              + tsOutCopy[16] * 1.532088886238f;
-      tmp3 =
-          iip12 - tsOutCopy[4] * 1.532088886238f + tsOutCopy[8] * 0.34729635533386f - tsOutCopy[16]
-              * 1.8793852415718f;
+      tmp2 = iip12 - tsOutCopy[4] * 0.34729635533386f - tsOutCopy[8] * 1.8793852415718f + tsOutCopy[16] * 1.532088886238f;
+      tmp3 = iip12 - tsOutCopy[4] * 1.532088886238f + tsOutCopy[8] * 0.34729635533386f - tsOutCopy[16] * 1.8793852415718f;
       tmp4 = tsOutCopy[0] - tsOutCopy[4] + tsOutCopy[8] - tsOutCopy[12] + tsOutCopy[16];
 
       // 4 points on even indices
-       float i66_ = tsOutCopy[6] * 1.732050808f; // Sqrt[3]
+      float i66_ = tsOutCopy[6] * 1.732050808f; // Sqrt[3]
 
-      tmp0_ =
-          tsOutCopy[2] * 1.9696155060244f + i66_ + tsOutCopy[10] * 1.2855752193731f + tsOutCopy[14]
-              * 0.68404028665134f;
+      tmp0_ = tsOutCopy[2] * 1.9696155060244f + i66_ + tsOutCopy[10] * 1.2855752193731f + tsOutCopy[14] * 0.68404028665134f;
       tmp1_ = (tsOutCopy[2] - tsOutCopy[10] - tsOutCopy[14]) * 1.732050808f;
-      tmp2_ =
-          tsOutCopy[2] * 1.2855752193731f - i66_ - tsOutCopy[10] * 0.68404028665134f
-              + tsOutCopy[14] * 1.9696155060244f;
-      tmp3_ =
-          tsOutCopy[2] * 0.68404028665134f - i66_ + tsOutCopy[10] * 1.9696155060244f
-              - tsOutCopy[14] * 1.2855752193731f;
+      tmp2_ = tsOutCopy[2] * 1.2855752193731f - i66_ - tsOutCopy[10] * 0.68404028665134f + tsOutCopy[14] * 1.9696155060244f;
+      tmp3_ = tsOutCopy[2] * 0.68404028665134f - i66_ + tsOutCopy[10] * 1.9696155060244f - tsOutCopy[14] * 1.2855752193731f;
 
       // 9 point IDCT on odd indices
       // 5 points on odd indices (not realy an IDCT)
-       float i0 = tsOutCopy[0 + 1] + tsOutCopy[0 + 1];
-       float i0p12 = i0 + tsOutCopy[12 + 1];
-
-      tmp0o =
-          i0p12 + tsOutCopy[4 + 1] * 1.8793852415718f + tsOutCopy[8 + 1] * 1.532088886238f
-              + tsOutCopy[16 + 1] * 0.34729635533386f;
-      tmp1o =
-          i0 + tsOutCopy[4 + 1] - tsOutCopy[8 + 1] - tsOutCopy[12 + 1] - tsOutCopy[12 + 1]
-              - tsOutCopy[16 + 1];
-      tmp2o =
-          i0p12 - tsOutCopy[4 + 1] * 0.34729635533386f - tsOutCopy[8 + 1] * 1.8793852415718f
-              + tsOutCopy[16 + 1] * 1.532088886238f;
-      tmp3o =
-          i0p12 - tsOutCopy[4 + 1] * 1.532088886238f + tsOutCopy[8 + 1] * 0.34729635533386f
-              - tsOutCopy[16 + 1] * 1.8793852415718f;
-      tmp4o =
-          (tsOutCopy[0 + 1] - tsOutCopy[4 + 1] + tsOutCopy[8 + 1] - tsOutCopy[12 + 1] + tsOutCopy[16 + 1]) * 0.707106781f; // Twiddled
+      float i0 = tsOutCopy[0 + 1] + tsOutCopy[0 + 1];
+      float i0p12 = i0 + tsOutCopy[12 + 1];
+
+      tmp0o = i0p12 + tsOutCopy[4 + 1] * 1.8793852415718f + tsOutCopy[8 + 1] * 1.532088886238f + tsOutCopy[16 + 1] * 0.34729635533386f;
+      tmp1o = i0 + tsOutCopy[4 + 1] - tsOutCopy[8 + 1] - tsOutCopy[12 + 1] - tsOutCopy[12 + 1] - tsOutCopy[16 + 1];
+      tmp2o = i0p12 - tsOutCopy[4 + 1] * 0.34729635533386f - tsOutCopy[8 + 1] * 1.8793852415718f + tsOutCopy[16 + 1] * 1.532088886238f;
+      tmp3o = i0p12 - tsOutCopy[4 + 1] * 1.532088886238f + tsOutCopy[8 + 1] * 0.34729635533386f - tsOutCopy[16 + 1] * 1.8793852415718f;
+      tmp4o = (tsOutCopy[0 + 1] - tsOutCopy[4 + 1] + tsOutCopy[8 + 1] - tsOutCopy[12 + 1] + tsOutCopy[16 + 1]) * 0.707106781f; // Twiddled
 
       // 4 points on even indices
-       float i6_ = tsOutCopy[6 + 1] * 1.732050808f; // Sqrt[3]
+      float i6_ = tsOutCopy[6 + 1] * 1.732050808f; // Sqrt[3]
 
-      tmp0_o =
-          tsOutCopy[2 + 1] * 1.9696155060244f + i6_ + tsOutCopy[10 + 1] * 1.2855752193731f
-              + tsOutCopy[14 + 1] * 0.68404028665134f;
+      tmp0_o = tsOutCopy[2 + 1] * 1.9696155060244f + i6_ + tsOutCopy[10 + 1] * 1.2855752193731f + tsOutCopy[14 + 1] * 0.68404028665134f;
       tmp1_o = (tsOutCopy[2 + 1] - tsOutCopy[10 + 1] - tsOutCopy[14 + 1]) * 1.732050808f;
-      tmp2_o =
-          tsOutCopy[2 + 1] * 1.2855752193731f - i6_ - tsOutCopy[10 + 1] * 0.68404028665134f
-              + tsOutCopy[14 + 1] * 1.9696155060244f;
-      tmp3_o =
-          tsOutCopy[2 + 1] * 0.68404028665134f - i6_ + tsOutCopy[10 + 1] * 1.9696155060244f
-              - tsOutCopy[14 + 1] * 1.2855752193731f;
+      tmp2_o = tsOutCopy[2 + 1] * 1.2855752193731f - i6_ - tsOutCopy[10 + 1] * 0.68404028665134f + tsOutCopy[14 + 1] * 1.9696155060244f;
+      tmp3_o = tsOutCopy[2 + 1] * 0.68404028665134f - i6_ + tsOutCopy[10 + 1] * 1.9696155060244f - tsOutCopy[14 + 1] * 1.2855752193731f;
 
       // Twiddle factors on odd indices
       // and
@@ -2302,8 +2206,8 @@ final class LayerIIIDecoder implements FrameDecoder {
       // and
       // twiddle factors for 36 point IDCT
 
-       float e;
-       float o;
+      float e;
+      float o;
       e = tmp0 + tmp0_;
       o = (tmp0o + tmp0_o) * 0.501909918f;
       tmpf_0 = e + o;
@@ -2384,7 +2288,6 @@ final class LayerIIIDecoder implements FrameDecoder {
 
   }
 
-  
   private int counter = 0;
   private static final int SSLIMIT = 18;
   private static final int SBLIMIT = 32;
@@ -2393,67 +2296,29 @@ final class LayerIIIDecoder implements FrameDecoder {
   // This may be adjusted for performance without any problems.
   // public static final int POW_TABLE_LIMIT=512;
 
-  private static final int slen[][] = { { 0, 0, 0, 0, 3, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4 },
-      { 0, 1, 2, 3, 0, 1, 2, 3, 1, 2, 3, 1, 2, 3, 2, 3 } };
+  private static final int slen[][] = { { 0, 0, 0, 0, 3, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4 }, { 0, 1, 2, 3, 0, 1, 2, 3, 1, 2, 3, 1, 2, 3, 2, 3 } };
 
-  public static final int pretab[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3,
-      2, 0 };
+  public static final int pretab[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 2, 0 };
 
-  
   private SBI[] sfBandIndex; // Init in the constructor.
 
-  public static final float two_to_negative_half_pow[] = { 1.0000000000E+00f, 7.0710678119E-01f,
-      5.0000000000E-01f, 3.5355339059E-01f, 2.5000000000E-01f, 1.7677669530E-01f,
-      1.2500000000E-01f, 8.8388347648E-02f, 6.2500000000E-02f, 4.4194173824E-02f,
-      3.1250000000E-02f, 2.2097086912E-02f, 1.5625000000E-02f, 1.1048543456E-02f,
-      7.8125000000E-03f, 5.5242717280E-03f, 3.9062500000E-03f, 2.7621358640E-03f,
-      1.9531250000E-03f, 1.3810679320E-03f, 9.7656250000E-04f, 6.9053396600E-04f,
-      4.8828125000E-04f, 3.4526698300E-04f, 2.4414062500E-04f, 1.7263349150E-04f,
-      1.2207031250E-04f, 8.6316745750E-05f, 6.1035156250E-05f, 4.3158372875E-05f,
-      3.0517578125E-05f, 2.1579186438E-05f, 1.5258789062E-05f, 1.0789593219E-05f,
-      7.6293945312E-06f, 5.3947966094E-06f, 3.8146972656E-06f, 2.6973983047E-06f,
-      1.9073486328E-06f, 1.3486991523E-06f, 9.5367431641E-07f, 6.7434957617E-07f,
-      4.7683715820E-07f, 3.3717478809E-07f, 2.3841857910E-07f, 1.6858739404E-07f,
-      1.1920928955E-07f, 8.4293697022E-08f, 5.9604644775E-08f, 4.2146848511E-08f,
-      2.9802322388E-08f, 2.1073424255E-08f, 1.4901161194E-08f, 1.0536712128E-08f,
-      7.4505805969E-09f, 5.2683560639E-09f, 3.7252902985E-09f, 2.6341780319E-09f,
-      1.8626451492E-09f, 1.3170890160E-09f, 9.3132257462E-10f, 6.5854450798E-10f,
-      4.6566128731E-10f, 3.2927225399E-10f };
+  public static final float two_to_negative_half_pow[] = { 1.0000000000E+00f, 7.0710678119E-01f, 5.0000000000E-01f, 3.5355339059E-01f, 2.5000000000E-01f, 1.7677669530E-01f, 1.2500000000E-01f, 8.8388347648E-02f, 6.2500000000E-02f, 4.4194173824E-02f, 3.1250000000E-02f, 2.2097086912E-02f, 1.5625000000E-02f, 1.1048543456E-02f, 7.8125000000E-03f, 5.5242717280E-03f, 3.9062500000E-03f, 2.7621358640E-03f, 1.9531250000E-03f, 1.3810679320E-03f, 9.7656250000E-04f, 6.9053396600E-04f, 4.8828125000E-04f, 3.4526698300E-04f, 2.4414062500E-04f, 1.7263349150E-04f, 1.2207031250E-04f, 8.6316745750E-05f, 6.1035156250E-05f, 4.3158372875E-05f, 3.0517578125E-05f, 2.1579186438E-05f, 1.5258789062E-05f, 1.0789593219E-05f, 7.6293945312E-06f, 5.3947966094E-06f, 3.8146972656E-06f, 2.6973983047E-06f, 1.9073486328E-06f, 1.3486991523E-06f, 9.5367431641E-07f, 6.7434957617E-07f, 4.7683715820E-07f, 3.3717478809E-07f, 2.3841857910E-07f, 1.6858739404E-07f, 1.1920928955E-07f, 8.4293697022E-08f, 5.9604644775E-08f, 4.2146848511E-08f, 2.9802322388E-08f, 2.1073424255E-08f, 1.4901161194E-08f, 1.0536712128E-08f, 7.4505805969E-09f, 5.2683560639E-09f, 3.7252902985E-09f, 2.6341780319E-09f, 1.8626451492E-09f, 1.3170890160E-09f, 9.3132257462E-10f, 6.5854450798E-10f, 4.6566128731E-10f, 3.2927225399E-10f };
 
   public static final float t_43[] = create_t_43();
 
-  
   static private float[] create_t_43() {
-     float[] t43 = new float[8192];
+    float[] t43 = new float[8192];
     final double d43 = (4.0 / 3.0);
 
-    for ( int i = 0; i < 8192; i++) {
+    for (int i = 0; i < 8192; i++) {
       t43[i] = (float) Math.pow(i, d43);
     }
     return t43;
   }
 
-  public static final float io[][] = {
-      { 1.0000000000E+00f, 8.4089641526E-01f, 7.0710678119E-01f, 5.9460355751E-01f,
-          5.0000000001E-01f, 4.2044820763E-01f, 3.5355339060E-01f, 2.9730177876E-01f,
-          2.5000000001E-01f, 2.1022410382E-01f, 1.7677669530E-01f, 1.4865088938E-01f,
-          1.2500000000E-01f, 1.0511205191E-01f, 8.8388347652E-02f, 7.4325444691E-02f,
-          6.2500000003E-02f, 5.2556025956E-02f, 4.4194173826E-02f, 3.7162722346E-02f,
-          3.1250000002E-02f, 2.6278012978E-02f, 2.2097086913E-02f, 1.8581361173E-02f,
-          1.5625000001E-02f, 1.3139006489E-02f, 1.1048543457E-02f, 9.2906805866E-03f,
-          7.8125000006E-03f, 6.5695032447E-03f, 5.5242717285E-03f, 4.6453402934E-03f },
-      { 1.0000000000E+00f, 7.0710678119E-01f, 5.0000000000E-01f, 3.5355339060E-01f,
-          2.5000000000E-01f, 1.7677669530E-01f, 1.2500000000E-01f, 8.8388347650E-02f,
-          6.2500000001E-02f, 4.4194173825E-02f, 3.1250000001E-02f, 2.2097086913E-02f,
-          1.5625000000E-02f, 1.1048543456E-02f, 7.8125000002E-03f, 5.5242717282E-03f,
-          3.9062500001E-03f, 2.7621358641E-03f, 1.9531250001E-03f, 1.3810679321E-03f,
-          9.7656250004E-04f, 6.9053396603E-04f, 4.8828125002E-04f, 3.4526698302E-04f,
-          2.4414062501E-04f, 1.7263349151E-04f, 1.2207031251E-04f, 8.6316745755E-05f,
-          6.1035156254E-05f, 4.3158372878E-05f, 3.0517578127E-05f, 2.1579186439E-05f } };
-
-  public static final float TAN12[] = { 0.0f, 0.26794919f, 0.57735027f, 1.0f, 1.73205081f,
-      3.73205081f, 9.9999999e10f, -3.73205081f, -1.73205081f, -1.0f, -0.57735027f, -0.26794919f,
-      0.0f, 0.26794919f, 0.57735027f, 1.0f };
+  public static final float io[][] = { { 1.0000000000E+00f, 8.4089641526E-01f, 7.0710678119E-01f, 5.9460355751E-01f, 5.0000000001E-01f, 4.2044820763E-01f, 3.5355339060E-01f, 2.9730177876E-01f, 2.5000000001E-01f, 2.1022410382E-01f, 1.7677669530E-01f, 1.4865088938E-01f, 1.2500000000E-01f, 1.0511205191E-01f, 8.8388347652E-02f, 7.4325444691E-02f, 6.2500000003E-02f, 5.2556025956E-02f, 4.4194173826E-02f, 3.7162722346E-02f, 3.1250000002E-02f, 2.6278012978E-02f, 2.2097086913E-02f, 1.8581361173E-02f, 1.5625000001E-02f, 1.3139006489E-02f, 1.1048543457E-02f, 9.2906805866E-03f, 7.8125000006E-03f, 6.5695032447E-03f, 5.5242717285E-03f, 4.6453402934E-03f }, { 1.0000000000E+00f, 7.0710678119E-01f, 5.0000000000E-01f, 3.5355339060E-01f, 2.5000000000E-01f, 1.7677669530E-01f, 1.2500000000E-01f, 8.8388347650E-02f, 6.2500000001E-02f, 4.4194173825E-02f, 3.1250000001E-02f, 2.2097086913E-02f, 1.5625000000E-02f, 1.1048543456E-02f, 7.8125000002E-03f, 5.5242717282E-03f, 3.9062500001E-03f, 2.7621358641E-03f, 1.9531250001E-03f, 1.3810679321E-03f, 9.7656250004E-04f, 6.9053396603E-04f, 4.8828125002E-04f, 3.4526698302E-04f, 2.4414062501E-04f, 1.7263349151E-04f, 1.2207031251E-04f, 8.6316745755E-05f, 6.1035156254E-05f, 4.3158372878E-05f, 3.0517578127E-05f, 2.1579186439E-05f } };
+
+  public static final float TAN12[] = { 0.0f, 0.26794919f, 0.57735027f, 1.0f, 1.73205081f, 3.73205081f, 9.9999999e10f, -3.73205081f, -1.73205081f, -1.0f, -0.57735027f, -0.26794919f, 0.0f, 0.26794919f, 0.57735027f, 1.0f };
 
   // REVIEW: in java, the array lookup may well be slower than
   // the actual calculation
@@ -2518,7 +2383,7 @@ final class LayerIIIDecoder implements FrameDecoder {
    * 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
    * 12, 13, 14, 15, 16, 17 };
    */
-  
+
   private static/* final */int reorder_table[][]/* = loadReorderTable() */; // SZD:
 
   // will
@@ -2537,11 +2402,11 @@ final class LayerIIIDecoder implements FrameDecoder {
    * return (int[][])o; } catch (IOException ex) { throw new
    * ExceptionInInitializerError(ex); } }
    */
-  
-  static int[] reorder( int scalefac_band[]) { // SZD: converted from
-                                                         // LAME
-     int j = 0;
-     int ix[] = new int[576];
+
+  static int[] reorder(int scalefac_band[]) { // SZD: converted from
+                                              // LAME
+    int j = 0;
+    int ix[] = new int[576];
     for (int sfb = 0; sfb < 13; sfb++) {
       int start = scalefac_band[sfb];
       int end = scalefac_band[sfb + 1];
@@ -2766,12 +2631,9 @@ final class LayerIIIDecoder implements FrameDecoder {
    * 570,547,559,571,548,560,572,549,561,573,550,562,574,551,563,575} };
    */
 
-  private static final float cs[] = { 0.857492925712f, 0.881741997318f, 0.949628649103f,
-      0.983314592492f, 0.995517816065f, 0.999160558175f, 0.999899195243f, 0.999993155067f };
+  private static final float cs[] = { 0.857492925712f, 0.881741997318f, 0.949628649103f, 0.983314592492f, 0.995517816065f, 0.999160558175f, 0.999899195243f, 0.999993155067f };
 
-  private static final float ca[] = { -0.5144957554270f, -0.4717319685650f, -0.3133774542040f,
-      -0.1819131996110f, -0.0945741925262f, -0.0409655828852f, -0.0141985685725f,
-      -0.00369997467375f };
+  private static final float ca[] = { -0.5144957554270f, -0.4717319685650f, -0.3133774542040f, -0.1819131996110f, -0.0945741925262f, -0.0409655828852f, -0.0141985685725f, -0.00369997467375f };
 
   /************************************************************/
   /* END OF L3TABLE */
@@ -2788,58 +2650,19 @@ final class LayerIIIDecoder implements FrameDecoder {
   /***************************************************************/
   /* INV_MDCT */
   /***************************************************************/
-  public static final float win[][] = {
-      { -1.6141214951E-02f, -5.3603178919E-02f, -1.0070713296E-01f, -1.6280817573E-01f,
-          -4.9999999679E-01f, -3.8388735032E-01f, -6.2061144372E-01f, -1.1659756083E+00f,
-          -3.8720752656E+00f, -4.2256286556E+00f, -1.5195289984E+00f, -9.7416483388E-01f,
-          -7.3744074053E-01f, -1.2071067773E+00f, -5.1636156596E-01f, -4.5426052317E-01f,
-          -4.0715656898E-01f, -3.6969460527E-01f, -3.3876269197E-01f, -3.1242222492E-01f,
-          -2.8939587111E-01f, -2.6880081906E-01f, -5.0000000266E-01f, -2.3251417468E-01f,
-          -2.1596714708E-01f, -2.0004979098E-01f, -1.8449493497E-01f, -1.6905846094E-01f,
-          -1.5350360518E-01f, -1.3758624925E-01f, -1.2103922149E-01f, -2.0710679058E-01f,
-          -8.4752577594E-02f, -6.4157525656E-02f, -4.1131172614E-02f, -1.4790705759E-02f },
-
-      { -1.6141214951E-02f, -5.3603178919E-02f, -1.0070713296E-01f, -1.6280817573E-01f,
-          -4.9999999679E-01f, -3.8388735032E-01f, -6.2061144372E-01f, -1.1659756083E+00f,
-          -3.8720752656E+00f, -4.2256286556E+00f, -1.5195289984E+00f, -9.7416483388E-01f,
-          -7.3744074053E-01f, -1.2071067773E+00f, -5.1636156596E-01f, -4.5426052317E-01f,
-          -4.0715656898E-01f, -3.6969460527E-01f, -3.3908542600E-01f, -3.1511810350E-01f,
-          -2.9642226150E-01f, -2.8184548650E-01f, -5.4119610000E-01f, -2.6213228100E-01f,
-          -2.5387916537E-01f, -2.3296291359E-01f, -1.9852728987E-01f, -1.5233534808E-01f,
-          -9.6496400054E-02f, -3.3423828516E-02f, 0.0000000000E+00f, 0.0000000000E+00f,
-          0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f },
-
-      { -4.8300800645E-02f, -1.5715656932E-01f, -2.8325045177E-01f, -4.2953747763E-01f,
-          -1.2071067795E+00f, -8.2426483178E-01f, -1.1451749106E+00f, -1.7695290101E+00f,
-          -4.5470225061E+00f, -3.4890531002E+00f, -7.3296292804E-01f, -1.5076514758E-01f,
-          0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f,
-          0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f,
-          0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f,
-          0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f,
-          0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f,
-          0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f },
-
-      { 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f,
-          0.0000000000E+00f, 0.0000000000E+00f, -1.5076513660E-01f, -7.3296291107E-01f,
-          -3.4890530566E+00f, -4.5470224727E+00f, -1.7695290031E+00f, -1.1451749092E+00f,
-          -8.3137738100E-01f, -1.3065629650E+00f, -5.4142014250E-01f, -4.6528974900E-01f,
-          -4.1066990750E-01f, -3.7004680800E-01f, -3.3876269197E-01f, -3.1242222492E-01f,
-          -2.8939587111E-01f, -2.6880081906E-01f, -5.0000000266E-01f, -2.3251417468E-01f,
-          -2.1596714708E-01f, -2.0004979098E-01f, -1.8449493497E-01f, -1.6905846094E-01f,
-          -1.5350360518E-01f, -1.3758624925E-01f, -1.2103922149E-01f, -2.0710679058E-01f,
-          -8.4752577594E-02f, -6.4157525656E-02f, -4.1131172614E-02f, -1.4790705759E-02f } };
+  public static final float win[][] = { { -1.6141214951E-02f, -5.3603178919E-02f, -1.0070713296E-01f, -1.6280817573E-01f, -4.9999999679E-01f, -3.8388735032E-01f, -6.2061144372E-01f, -1.1659756083E+00f, -3.8720752656E+00f, -4.2256286556E+00f, -1.5195289984E+00f, -9.7416483388E-01f, -7.3744074053E-01f, -1.2071067773E+00f, -5.1636156596E-01f, -4.5426052317E-01f, -4.0715656898E-01f, -3.6969460527E-01f, -3.3876269197E-01f, -3.1242222492E-01f, -2.8939587111E-01f, -2.6880081906E-01f, -5.0000000266E-01f, -2.3251417468E-01f, -2.1596714708E-01f, -2.0004979098E-01f, -1.8449493497E-01f, -1.6905846094E-01f, -1.5350360518E-01f, -1.3758624925E-01f, -1.2103922149E-01f, -2.0710679058E-01f, -8.4752577594E-02f, -6.4157525656E-02f, -4.1131172614E-02f, -1.4790705759E-02f },
+
+  { -1.6141214951E-02f, -5.3603178919E-02f, -1.0070713296E-01f, -1.6280817573E-01f, -4.9999999679E-01f, -3.8388735032E-01f, -6.2061144372E-01f, -1.1659756083E+00f, -3.8720752656E+00f, -4.2256286556E+00f, -1.5195289984E+00f, -9.7416483388E-01f, -7.3744074053E-01f, -1.2071067773E+00f, -5.1636156596E-01f, -4.5426052317E-01f, -4.0715656898E-01f, -3.6969460527E-01f, -3.3908542600E-01f, -3.1511810350E-01f, -2.9642226150E-01f, -2.8184548650E-01f, -5.4119610000E-01f, -2.6213228100E-01f, -2.5387916537E-01f, -2.3296291359E-01f, -1.9852728987E-01f, -1.5233534808E-01f, -9.6496400054E-02f, -3.3423828516E-02f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f },
+
+  { -4.8300800645E-02f, -1.5715656932E-01f, -2.8325045177E-01f, -4.2953747763E-01f, -1.2071067795E+00f, -8.2426483178E-01f, -1.1451749106E+00f, -1.7695290101E+00f, -4.5470225061E+00f, -3.4890531002E+00f, -7.3296292804E-01f, -1.5076514758E-01f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f },
+
+  { 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, 0.0000000000E+00f, -1.5076513660E-01f, -7.3296291107E-01f, -3.4890530566E+00f, -4.5470224727E+00f, -1.7695290031E+00f, -1.1451749092E+00f, -8.3137738100E-01f, -1.3065629650E+00f, -5.4142014250E-01f, -4.6528974900E-01f, -4.1066990750E-01f, -3.7004680800E-01f, -3.3876269197E-01f, -3.1242222492E-01f, -2.8939587111E-01f, -2.6880081906E-01f, -5.0000000266E-01f, -2.3251417468E-01f, -2.1596714708E-01f, -2.0004979098E-01f, -1.8449493497E-01f, -1.6905846094E-01f, -1.5350360518E-01f, -1.3758624925E-01f, -1.2103922149E-01f, -2.0710679058E-01f, -8.4752577594E-02f, -6.4157525656E-02f, -4.1131172614E-02f, -1.4790705759E-02f } };
 
   /***************************************************************/
   /* END OF INV_MDCT */
   /***************************************************************/
 
-  public static final int nr_of_sfb_block[][][] = {
-      { { 6, 5, 5, 5 }, { 9, 9, 9, 9 }, { 6, 9, 9, 9 } },
-      { { 6, 5, 7, 3 }, { 9, 9, 12, 6 }, { 6, 9, 12, 6 } },
-      { { 11, 10, 0, 0 }, { 18, 18, 0, 0 }, { 15, 18, 0, 0 } },
-      { { 7, 7, 7, 0 }, { 12, 12, 12, 0 }, { 6, 15, 12, 0 } },
-      { { 6, 6, 6, 3 }, { 12, 9, 9, 6 }, { 6, 12, 9, 6 } },
-      { { 8, 8, 5, 0 }, { 15, 12, 9, 0 }, { 6, 18, 9, 0 } } };
+  public static final int nr_of_sfb_block[][][] = { { { 6, 5, 5, 5 }, { 9, 9, 9, 9 }, { 6, 9, 9, 9 } }, { { 6, 5, 7, 3 }, { 9, 9, 12, 6 }, { 6, 9, 12, 6 } }, { { 11, 10, 0, 0 }, { 18, 18, 0, 0 }, { 15, 18, 0, 0 } }, { { 7, 7, 7, 0 }, { 12, 12, 12, 0 }, { 6, 15, 12, 0 } }, { { 6, 6, 6, 3 }, { 12, 9, 9, 6 }, { 6, 12, 9, 6 } }, { { 8, 8, 5, 0 }, { 15, 12, 9, 0 }, { 6, 18, 9, 0 } } };
 
 }
 
@@ -2847,11 +2670,10 @@ final class LayerIIIDecoder implements FrameDecoder {
 /* L3TABLE */
 /************************************************************/
 
-
 class SBI {
-  
+
   public int[] l;
-  
+
   public int[] s;
 
   public SBI() {
@@ -2859,42 +2681,40 @@ class SBI {
     s = new int[14];
   }
 
-  
-  public SBI(@DELEGATE  int[] thel, @DELEGATE  int[] thes) {
+  public SBI(@DELEGATE int[] thel, @DELEGATE int[] thes) {
     l = thel;
     s = thes;
   }
 }
 
-
 class gr_info_s {
-  
+
   public int part2_3_length = 0;
-  
+
   public int big_values = 0;
-  
+
   public int global_gain = 0;
-  
+
   public int scalefac_compress = 0;
-  
+
   public int window_switching_flag = 0;
-  
+
   public int block_type = 0;
-  
+
   public int mixed_block_flag = 0;
-  
+
   public int[] table_select;
-  
+
   public int[] subblock_gain;
-  
+
   public int region0_count = 0;
-  
+
   public int region1_count = 0;
-  
+
   public int preflag = 0;
-  
+
   public int scalefac_scale = 0;
-  
+
   public int count1table_select = 0;
 
   /**
@@ -2906,11 +2726,10 @@ class gr_info_s {
   }
 }
 
-
 class temporaire {
-  
+
   public int[] scfsi;
-  
+
   public gr_info_s[] gr;
 
   /**
@@ -2924,14 +2743,12 @@ class temporaire {
   }
 }
 
-
 class III_side_info_t {
 
-  
   public int main_data_begin = 0;
-  
+
   public int private_bits = 0;
-  
+
   public temporaire[] ch;
 
   /**
@@ -2944,11 +2761,10 @@ class III_side_info_t {
   }
 }
 
-
 class temporaire2 {
-  
+
   public int[] l; /* [cb] */
-  
+
   public int[][] s; /* [window][cb] */
 
   /**
index fe85540..651713c 100644 (file)
  *----------------------------------------------------------------------\r
  */\r
 \r
-\r
 /**\r
  * Work in progress.\r
  * \r
  * Manages a number of controls.\r
  */\r
-public class Manager //implements Control\r
+public class Manager // implements Control\r
 {\r
-       public void addControl(Control c)\r
-       {\r
-               \r
-       }\r
-       \r
-       public void removeControl(Control c)\r
-       {\r
-               \r
-       }\r
-       \r
-       public void removeAll()\r
-       {\r
-               \r
-       }\r
-       \r
-       // control interface delegates to a managed control\r
-       \r
+  public void addControl(Control c) {\r
+\r
+  }\r
+\r
+  public void removeControl(Control c) {\r
+\r
+  }\r
+\r
+  public void removeAll() {\r
+\r
+  }\r
+\r
+  // control interface delegates to a managed control\r
+\r
 }\r
index 8a6d8c0..ca7eaf0 100644 (file)
@@ -37,7 +37,6 @@
  * Base Class for audio output.
  */
 
-
 public abstract class Obuffer {
   public static final int OBUFFERSIZE = 2 * 1152; // max. 2 * 1152 samples per
                                                   // frame
@@ -46,15 +45,15 @@ public abstract class Obuffer {
   /**
    * Takes a 16 Bit PCM sample.
    */
-  public abstract void append( int channel,  short value);
+  public abstract void append(int channel, short value);
 
   /**
    * Accepts 32 new PCM samples.
    */
-  
-  public void appendSamples( int channel,  float[] f) {
-     short s;
-    for ( int i = 0; i < 32;) {
+
+  public void appendSamples(int channel, float[] f) {
+    short s;
+    for (int i = 0; i < 32;) {
       s = clip(f[i++]);
       append(channel, s);
     }
@@ -63,10 +62,10 @@ public abstract class Obuffer {
   /**
    * Clip Sample to 16 Bits
    */
-  
-  private final short clip( float sample) {
 
-     short s = (short) sample;
+  private final short clip(float sample) {
+
+    short s = (short) sample;
 
     if (sample > 32767.0f) {
       s = (short) 32767;
@@ -81,7 +80,7 @@ public abstract class Obuffer {
   /**
    * Write the samples to the file or directly to the audio hardware.
    */
-  public abstract void write_buffer( int val);
+  public abstract void write_buffer(int val);
 
   public abstract void close();
 
index 811a4e6..056011b 100644 (file)
@@ -27,7 +27,6 @@
  * @since 0.0.7\r
  */\r
 \r
-\r
 public class OutputChannels {\r
   /**\r
    * Flag to indicate output should include both channels.\r
@@ -54,7 +53,6 @@ public class OutputChannels {
   public static final OutputChannels BOTH = new OutputChannels(BOTH_CHANNELS);\r
   public static final OutputChannels DOWNMIX = new OutputChannels(DOWNMIX_CHANNELS);\r
 \r
-  \r
   private/* final */int outputChannels;\r
 \r
   /**\r
@@ -82,7 +80,7 @@ public class OutputChannels {
     }\r
   }\r
 \r
-  public OutputChannels( int channels) {\r
+  public OutputChannels(int channels) {\r
     outputChannels = channels;\r
 \r
     if (channels < 0 || channels > 3)\r
index f959347..c7ef1c0 100644 (file)
@@ -37,7 +37,7 @@ public class Player {
   /**\r
    * The current frame number.\r
    */\r
-  \r
+\r
   private int frame = 0;\r
 \r
   /**\r
@@ -59,19 +59,17 @@ public class Player {
   /**\r
    * Has the player been closed?\r
    */\r
-  \r
+\r
   private boolean closed = false;\r
 \r
   /**\r
    * Has the player played back all frames from the stream?\r
    */\r
-  \r
+\r
   private boolean complete = false;\r
 \r
-  \r
   private int lastPosition = 0;\r
 \r
-  \r
   private long sampleNumber;\r
 \r
   /**\r
@@ -110,20 +108,19 @@ public class Player {
    * @return true if the last frame was played, or false if there are more\r
    *         frames.\r
    */\r
-  \r
-  \r
-  public boolean play( int frames) throws JavaLayerException {\r
-     boolean ret = true;\r
+\r
+  public boolean play(int frames) throws JavaLayerException {\r
+    boolean ret = true;\r
 \r
     // initialization before ssjava loop\r
-     boolean init = true;\r
-     Header h = BitstreamWrapper.readFrame();\r
+    boolean init = true;\r
+    Header h = BitstreamWrapper.readFrame();\r
     decoder.init(h);\r
 \r
     sampleNumber = 1;\r
     System.out.println("Gobble sentinel: +++");\r
 \r
-    //  int count = 0;\r
+    // int count = 0;\r
     SSJAVA: while (true) {\r
       if (h == null) {\r
         break;\r
@@ -189,9 +186,8 @@ public class Player {
    * \r
    * @return true if there are no more frames to decode, false otherwise.\r
    */\r
-  \r
-  protected boolean decodeFrame( boolean init,  Header h)\r
-      throws JavaLayerException {\r
+\r
+  protected boolean decodeFrame(boolean init, Header h) throws JavaLayerException {\r
     try {\r
       // AudioDevice out = audio;\r
       // if (out==null)\r
@@ -202,12 +198,12 @@ public class Player {
       // if (h == null){\r
       // return false;\r
       // }\r
-      \r
-      //  SampleBuffer output = (SampleBuffer) decoder.decodeFrame(h);\r
+\r
+      // SampleBuffer output = (SampleBuffer) decoder.decodeFrame(h);\r
       decoder.decodeFrame(h);\r
 \r
-//      DEBUG_OUTPUT_CHECKSUM();\r
-//       DEBUG_OUTPUT();\r
+      // DEBUG_OUTPUT_CHECKSUM();\r
+      // DEBUG_OUTPUT();\r
       // synchronized (this)\r
       // {\r
       // out = audio;\r
@@ -247,10 +243,10 @@ public class Player {
   @TRUST\r
   public void DEBUG_OUTPUT_CHECKSUM() {\r
     // eom debug\r
-     int sum = 0;\r
-     short[] outbuf = SampleBufferWrapper.getBuffer();\r
+    int sum = 0;\r
+    short[] outbuf = SampleBufferWrapper.getBuffer();\r
     // short[] outbuf = output.getBuffer();\r
-    TERMINATE: for ( int i = 0; i < SampleBufferWrapper.getBufferLength(); i++) {\r
+    TERMINATE: for (int i = 0; i < SampleBufferWrapper.getBufferLength(); i++) {\r
       // System.out.println(outbuf[i]);\r
       sum += outbuf[i];\r
     }\r
index 5e71056..0d40115 100644 (file)
  * storage for a fixed size block of samples.
  */
 
-
 public class SampleBuffer extends Obuffer {
-  
+
   private short[] buffer;
-  
+
   private int[] bufferp;
-  
+
   private int channels;
-  
+
   private int frequency;
-  
+
   private int idx;
 
   static public long sampleNumber = 0;
@@ -46,13 +45,13 @@ public class SampleBuffer extends Obuffer {
   /**
    * Constructor
    */
-  public SampleBuffer( int sample_frequency,  int number_of_channels) {
+  public SampleBuffer(int sample_frequency, int number_of_channels) {
     buffer = new short[OBUFFERSIZE];
     bufferp = new int[MAXCHANNELS];
     channels = number_of_channels; // [IN] -> [D]
     frequency = sample_frequency; // [IN] -> [D]
 
-    for ( int i = 0; i < number_of_channels; ++i) {
+    for (int i = 0; i < number_of_channels; ++i) {
       bufferp[i] = (short) i; // LOC(bufferp[i]) has indirect flows from the
                               // location C, IN
       // also, it has a direct flow from C
@@ -81,7 +80,7 @@ public class SampleBuffer extends Obuffer {
   /**
    * Takes a 16 Bit PCM sample.
    */
-  public void append( int channel,  short value) {
+  public void append(int channel, short value) {
     buffer[bufferp[channel]] = value;
     // LOC(bufferp[channel])= [local.D,SampleBuffer.BUF]
     // so, for LHS, LOC(buffer) < LOC(bufferp[channle])
@@ -93,16 +92,15 @@ public class SampleBuffer extends Obuffer {
 
   }
 
-  
-  public void appendSamples( int channel,  float[] f) {
-     int pos = bufferp[channel];
+  public void appendSamples(int channel, float[] f) {
+    int pos = bufferp[channel];
     // LOC(bufferp[channel])=[D,SampleBuffer.BUFP]
     // LOC(pos)=[D,SampleBuffer.BUFP]
 
-     short s;
-     float fs;
+    short s;
+    float fs;
 
-    for ( int i = 0; i < 32;) {
+    for (int i = 0; i < 32;) {
       fs = f[i++]; // [IN] -> [D,BUFP]
 
       if (fs > 32767.0f) {
@@ -140,7 +138,7 @@ public class SampleBuffer extends Obuffer {
   /**
    * Write the samples to the file (Random Acces).
    */
-  public void write_buffer( int val) {
+  public void write_buffer(int val) {
 
     // for (int i = 0; i < channels; ++i)
     // bufferp[i] = (short)i;
index 5c691eb..ac0232c 100644 (file)
@@ -6,9 +6,9 @@ public class SampleBufferWrapper {
   static void init(int freq, int channels) {
     output = new SampleBuffer(freq, channels);
   }
-  
+
   @TRUST
-  static void clear_buffer(){
+  static void clear_buffer() {
     output.clear_buffer();
   }
 
index d62c488..644d14a 100644 (file)
@@ -1,11 +1,9 @@
-
-
 public class SideInfoBuffer {
 
   /**
    * The frame buffer that holds the data for the current frame.
    */
-  
+
   private final int[] framebuffer = new int[BUFFER_INT_SIZE];
 
   /**
@@ -16,36 +14,31 @@ public class SideInfoBuffer {
   /**
    * Index into <code>framebuffer</code> where the next bits are retrieved.
    */
-  
+
   private int wordpointer;
 
   /**
    * Number (0-31, from MSB to LSB) of next bit for get_bits()
    */
-  
+
   private int bitindex;
 
-  
   private int main_data_begin;
 
   public int getMain_data_begin() {
     return main_data_begin;
   }
 
-  public void setMain_data_begin( int main_data_begin) {
+  public void setMain_data_begin(int main_data_begin) {
     this.main_data_begin = main_data_begin;
   }
 
-  private static final int bitmask[] = {
-      0, // dummy
-      0x00000001, 0x00000003, 0x00000007, 0x0000000F, 0x0000001F, 0x0000003F, 0x0000007F,
-      0x000000FF, 0x000001FF, 0x000003FF, 0x000007FF, 0x00000FFF, 0x00001FFF, 0x00003FFF,
-      0x00007FFF, 0x0000FFFF, 0x0001FFFF };
+  private static final int bitmask[] = { 0, // dummy
+  0x00000001, 0x00000003, 0x00000007, 0x0000000F, 0x0000001F, 0x0000003F, 0x0000007F, 0x000000FF, 0x000001FF, 0x000003FF, 0x000007FF, 0x00000FFF, 0x00001FFF, 0x00003FFF, 0x00007FFF, 0x0000FFFF, 0x0001FFFF };
 
-  
-  public int get_bits( int number_of_bits) {
-     int returnvalue = 0;
-     int sum = bitindex + number_of_bits;
+  public int get_bits(int number_of_bits) {
+    int returnvalue = 0;
+    int sum = bitindex + number_of_bits;
     // System.out.println("bitindex=" + bitindex + " wordpointer="
     // + wordpointer);
     // E.B
@@ -70,9 +63,9 @@ public class SideInfoBuffer {
     // ((short[])&returnvalue)[0] = ((short[])wordpointer + 1)[0];
     // wordpointer++; // Added by me!
     // ((short[])&returnvalue + 1)[0] = ((short[])wordpointer)[0];
-     int Right = (framebuffer[wordpointer] & 0x0000FFFF);
+    int Right = (framebuffer[wordpointer] & 0x0000FFFF);
     wordpointer++;
-     int Left = (framebuffer[wordpointer] & 0xFFFF0000);
+    int Left = (framebuffer[wordpointer] & 0xFFFF0000);
     returnvalue = ((Right << 16) & 0xFFFF0000) | ((Left >>> 16) & 0x0000FFFF);
 
     returnvalue >>>= 48 - sum; // returnvalue >>= 16 - (number_of_bits - (32
index ad2f0c9..ce8874b 100644 (file)
  *----------------------------------------------------------------------\r
  */\r
 \r
-\r
 import java.io.IOException;\r
 \r
 /**\r
  * Work in progress.\r
  * \r
- * Class to describe a seekable data source. \r
- *  \r
+ * Class to describe a seekable data source.\r
+ * \r
  */\r
-public interface Source\r
-{\r
-       \r
-       public static final long        LENGTH_UNKNOWN = -1;\r
-       \r
-       public int read(byte[] b, int offs, int len)\r
-               throws IOException;\r
-       \r
-       \r
-       public boolean  willReadBlock();\r
-                       \r
-       public boolean  isSeekable();\r
-               \r
-       public long             length();\r
-       \r
-       public long             tell();\r
-       \r
-       public long             seek(long pos);\r
-       \r
+public interface Source {\r
+\r
+  public static final long LENGTH_UNKNOWN = -1;\r
+\r
+  public int read(byte[] b, int offs, int len) throws IOException;\r
+\r
+  public boolean willReadBlock();\r
+\r
+  public boolean isSeekable();\r
+\r
+  public long length();\r
+\r
+  public long tell();\r
+\r
+  public long seek(long pos);\r
+\r
 }\r
index cadd0af..56f68fd 100644 (file)
@@ -4,41 +4,24 @@
  * Abstract base class for subband classes of layer I and II
  */
 
-
 static abstract class Subband {
   /*
    * Changes from version 1.1 to 1.2: - array size increased by one, although a
    * scalefactor with index 63 is illegal (to prevent segmentation faults)
    */
   // Scalefactors for layer I and II, Annex 3-B.1 in ISO/IEC DIS 11172:
-  public static final float scalefactors[] = { 2.00000000000000f, 1.58740105196820f,
-      1.25992104989487f, 1.00000000000000f, 0.79370052598410f, 0.62996052494744f,
-      0.50000000000000f, 0.39685026299205f, 0.31498026247372f, 0.25000000000000f,
-      0.19842513149602f, 0.15749013123686f, 0.12500000000000f, 0.09921256574801f,
-      0.07874506561843f, 0.06250000000000f, 0.04960628287401f, 0.03937253280921f,
-      0.03125000000000f, 0.02480314143700f, 0.01968626640461f, 0.01562500000000f,
-      0.01240157071850f, 0.00984313320230f, 0.00781250000000f, 0.00620078535925f,
-      0.00492156660115f, 0.00390625000000f, 0.00310039267963f, 0.00246078330058f,
-      0.00195312500000f, 0.00155019633981f, 0.00123039165029f, 0.00097656250000f,
-      0.00077509816991f, 0.00061519582514f, 0.00048828125000f, 0.00038754908495f,
-      0.00030759791257f, 0.00024414062500f, 0.00019377454248f, 0.00015379895629f,
-      0.00012207031250f, 0.00009688727124f, 0.00007689947814f, 0.00006103515625f,
-      0.00004844363562f, 0.00003844973907f, 0.00003051757813f, 0.00002422181781f,
-      0.00001922486954f, 0.00001525878906f, 0.00001211090890f, 0.00000961243477f,
-      0.00000762939453f, 0.00000605545445f, 0.00000480621738f, 0.00000381469727f,
-      0.00000302772723f, 0.00000240310869f, 0.00000190734863f, 0.00000151386361f,
-      0.00000120155435f, 0.00000000000000f /* illegal scalefactor */
+  public static final float scalefactors[] = { 2.00000000000000f, 1.58740105196820f, 1.25992104989487f, 1.00000000000000f, 0.79370052598410f, 0.62996052494744f, 0.50000000000000f, 0.39685026299205f, 0.31498026247372f, 0.25000000000000f, 0.19842513149602f, 0.15749013123686f, 0.12500000000000f, 0.09921256574801f, 0.07874506561843f, 0.06250000000000f, 0.04960628287401f, 0.03937253280921f, 0.03125000000000f, 0.02480314143700f, 0.01968626640461f, 0.01562500000000f, 0.01240157071850f, 0.00984313320230f, 0.00781250000000f, 0.00620078535925f, 0.00492156660115f, 0.00390625000000f, 0.00310039267963f, 0.00246078330058f, 0.00195312500000f, 0.00155019633981f, 0.00123039165029f, 0.00097656250000f, 0.00077509816991f, 0.00061519582514f, 0.00048828125000f, 0.00038754908495f, 0.00030759791257f, 0.00024414062500f, 0.00019377454248f, 0.00015379895629f, 0.00012207031250f, 0.00009688727124f, 0.00007689947814f, 0.00006103515625f, 0.00004844363562f, 0.00003844973907f, 0.00003051757813f, 0.00002422181781f, 0.00001922486954f, 0.00001525878906f, 0.00001211090890f, 0.00000961243477f, 0.00000762939453f, 0.00000605545445f, 0.00000480621738f, 0.00000381469727f, 0.00000302772723f, 0.00000240310869f, 0.00000190734863f, 0.00000151386361f, 0.00000120155435f, 0.00000000000000f /*
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               * illegal
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               * scalefactor
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               */
   };
 
-  public abstract void read_allocation( Bitstream stream,  Header header,
-       Crc16 crc) throws DecoderException;
+  public abstract void read_allocation(Bitstream stream, Header header, Crc16 crc)
+      throws DecoderException;
 
-  public abstract void read_scalefactor( Bitstream stream,  Header header);
+  public abstract void read_scalefactor(Bitstream stream, Header header);
 
-  
-  public abstract boolean read_sampledata( Bitstream stream);
+  public abstract boolean read_sampledata(Bitstream stream);
 
-  
-  public abstract boolean put_next_sample( int channels,
-       SynthesisFilter filter1,  SynthesisFilter filter2);
+  public abstract boolean put_next_sample(int channels, SynthesisFilter filter1, SynthesisFilter filter2);
 };
index 6641d73..aa5c6ae 100644 (file)
  * are removed by ignoring higher subbands.\r
  */\r
 \r
-\r
 final class SynthesisFilter {\r
 \r
-  \r
   public int vidx;\r
-  \r
+\r
   public float[] v1;\r
-  \r
+\r
   public float[] v2;\r
 \r
-  \r
   public float[] prev1;\r
-  \r
+\r
   public float[] prev2;\r
 \r
   // private float[] actual_v; // v1 or v2\r
-  \r
+\r
   public int actual_write_pos; // 0-15\r
-  \r
+\r
   private float[] samples; // 32 new subband samples\r
-  \r
+\r
   public final int channel;\r
-  \r
+\r
   public final float scalefactor;\r
-  \r
+\r
   private float[] eq;\r
 \r
   /**\r
@@ -129,50 +126,50 @@ final class SynthesisFilter {
   /**\r
    * Inject Sample.\r
    */\r
-  public void input_sample( float sample,  int subbandnumber) {\r
+  public void input_sample(float sample, int subbandnumber) {\r
     samples[subbandnumber] = eq[subbandnumber] * sample;\r
   }\r
 \r
-  public void input_samples( float[] s) {\r
-    TERMINATE: for ( int i = 31; i >= 0; i--) {\r
+  public void input_samples(float[] s) {\r
+    TERMINATE: for (int i = 31; i >= 0; i--) {\r
       samples[i] = s[i] * eq[i];\r
     }\r
   }\r
 \r
   private void compute_new_v2_v1() {\r
 \r
-     float new_v0 = 0.0f;\r
-     float new_v1 = 0.0f;\r
-     float new_v2 = 0.0f;\r
-     float new_v3 = 0.0f;\r
-     float new_v4 = 0.0f;\r
-     float new_v5 = 0.0f;\r
-     float new_v6 = 0.0f;\r
-     float new_v7 = 0.0f;\r
-     float new_v8 = 0.0f;\r
-     float new_v9 = 0.0f;\r
-     float new_v10 = 0.0f;\r
-     float new_v11 = 0.0f;\r
-     float new_v12 = 0.0f;\r
-     float new_v13 = 0.0f;\r
-     float new_v14 = 0.0f;\r
-     float new_v15 = 0.0f;\r
-     float new_v16 = 0.0f;\r
-     float new_v17 = 0.0f;\r
-     float new_v18 = 0.0f;\r
-     float new_v19 = 0.0f;\r
-     float new_v20 = 0.0f;\r
-     float new_v21 = 0.0f;\r
-     float new_v22 = 0.0f;\r
-     float new_v23 = 0.0f;\r
-     float new_v24 = 0.0f;\r
-     float new_v25 = 0.0f;\r
-     float new_v26 = 0.0f;\r
-     float new_v27 = 0.0f;\r
-     float new_v28 = 0.0f;\r
-     float new_v29 = 0.0f;\r
-     float new_v30 = 0.0f;\r
-     float new_v31 = 0.0f;\r
+    float new_v0 = 0.0f;\r
+    float new_v1 = 0.0f;\r
+    float new_v2 = 0.0f;\r
+    float new_v3 = 0.0f;\r
+    float new_v4 = 0.0f;\r
+    float new_v5 = 0.0f;\r
+    float new_v6 = 0.0f;\r
+    float new_v7 = 0.0f;\r
+    float new_v8 = 0.0f;\r
+    float new_v9 = 0.0f;\r
+    float new_v10 = 0.0f;\r
+    float new_v11 = 0.0f;\r
+    float new_v12 = 0.0f;\r
+    float new_v13 = 0.0f;\r
+    float new_v14 = 0.0f;\r
+    float new_v15 = 0.0f;\r
+    float new_v16 = 0.0f;\r
+    float new_v17 = 0.0f;\r
+    float new_v18 = 0.0f;\r
+    float new_v19 = 0.0f;\r
+    float new_v20 = 0.0f;\r
+    float new_v21 = 0.0f;\r
+    float new_v22 = 0.0f;\r
+    float new_v23 = 0.0f;\r
+    float new_v24 = 0.0f;\r
+    float new_v25 = 0.0f;\r
+    float new_v26 = 0.0f;\r
+    float new_v27 = 0.0f;\r
+    float new_v28 = 0.0f;\r
+    float new_v29 = 0.0f;\r
+    float new_v30 = 0.0f;\r
+    float new_v31 = 0.0f;\r
 \r
     // float[] new_v = new float[32]; // new V[0-15] and V[33-48] of Figure\r
     // 3-A.2 in ISO DIS 11172-3\r
@@ -181,72 +178,72 @@ final class SynthesisFilter {
 \r
     // float[] s = samples;\r
 \r
-     float s0 = samples[0];\r
-     float s1 = samples[1];\r
-     float s2 = samples[2];\r
-     float s3 = samples[3];\r
-     float s4 = samples[4];\r
-     float s5 = samples[5];\r
-     float s6 = samples[6];\r
-     float s7 = samples[7];\r
-     float s8 = samples[8];\r
-     float s9 = samples[9];\r
-     float s10 = samples[10];\r
-     float s11 = samples[11];\r
-     float s12 = samples[12];\r
-     float s13 = samples[13];\r
-     float s14 = samples[14];\r
-     float s15 = samples[15];\r
-     float s16 = samples[16];\r
-     float s17 = samples[17];\r
-     float s18 = samples[18];\r
-     float s19 = samples[19];\r
-     float s20 = samples[20];\r
-     float s21 = samples[21];\r
-     float s22 = samples[22];\r
-     float s23 = samples[23];\r
-     float s24 = samples[24];\r
-     float s25 = samples[25];\r
-     float s26 = samples[26];\r
-     float s27 = samples[27];\r
-     float s28 = samples[28];\r
-     float s29 = samples[29];\r
-     float s30 = samples[30];\r
-     float s31 = samples[31];\r
-\r
-     float p0 = s0 + s31;\r
-     float p1 = s1 + s30;\r
-     float p2 = s2 + s29;\r
-     float p3 = s3 + s28;\r
-     float p4 = s4 + s27;\r
-     float p5 = s5 + s26;\r
-     float p6 = s6 + s25;\r
-     float p7 = s7 + s24;\r
-     float p8 = s8 + s23;\r
-     float p9 = s9 + s22;\r
-     float p10 = s10 + s21;\r
-     float p11 = s11 + s20;\r
-     float p12 = s12 + s19;\r
-     float p13 = s13 + s18;\r
-     float p14 = s14 + s17;\r
-     float p15 = s15 + s16;\r
-\r
-     float pp0 = p0 + p15;\r
-     float pp1 = p1 + p14;\r
-     float pp2 = p2 + p13;\r
-     float pp3 = p3 + p12;\r
-     float pp4 = p4 + p11;\r
-     float pp5 = p5 + p10;\r
-     float pp6 = p6 + p9;\r
-     float pp7 = p7 + p8;\r
-     float pp8 = (p0 - p15) * cos1_32;\r
-     float pp9 = (p1 - p14) * cos3_32;\r
-     float pp10 = (p2 - p13) * cos5_32;\r
-     float pp11 = (p3 - p12) * cos7_32;\r
-     float pp12 = (p4 - p11) * cos9_32;\r
-     float pp13 = (p5 - p10) * cos11_32;\r
-     float pp14 = (p6 - p9) * cos13_32;\r
-     float pp15 = (p7 - p8) * cos15_32;\r
+    float s0 = samples[0];\r
+    float s1 = samples[1];\r
+    float s2 = samples[2];\r
+    float s3 = samples[3];\r
+    float s4 = samples[4];\r
+    float s5 = samples[5];\r
+    float s6 = samples[6];\r
+    float s7 = samples[7];\r
+    float s8 = samples[8];\r
+    float s9 = samples[9];\r
+    float s10 = samples[10];\r
+    float s11 = samples[11];\r
+    float s12 = samples[12];\r
+    float s13 = samples[13];\r
+    float s14 = samples[14];\r
+    float s15 = samples[15];\r
+    float s16 = samples[16];\r
+    float s17 = samples[17];\r
+    float s18 = samples[18];\r
+    float s19 = samples[19];\r
+    float s20 = samples[20];\r
+    float s21 = samples[21];\r
+    float s22 = samples[22];\r
+    float s23 = samples[23];\r
+    float s24 = samples[24];\r
+    float s25 = samples[25];\r
+    float s26 = samples[26];\r
+    float s27 = samples[27];\r
+    float s28 = samples[28];\r
+    float s29 = samples[29];\r
+    float s30 = samples[30];\r
+    float s31 = samples[31];\r
+\r
+    float p0 = s0 + s31;\r
+    float p1 = s1 + s30;\r
+    float p2 = s2 + s29;\r
+    float p3 = s3 + s28;\r
+    float p4 = s4 + s27;\r
+    float p5 = s5 + s26;\r
+    float p6 = s6 + s25;\r
+    float p7 = s7 + s24;\r
+    float p8 = s8 + s23;\r
+    float p9 = s9 + s22;\r
+    float p10 = s10 + s21;\r
+    float p11 = s11 + s20;\r
+    float p12 = s12 + s19;\r
+    float p13 = s13 + s18;\r
+    float p14 = s14 + s17;\r
+    float p15 = s15 + s16;\r
+\r
+    float pp0 = p0 + p15;\r
+    float pp1 = p1 + p14;\r
+    float pp2 = p2 + p13;\r
+    float pp3 = p3 + p12;\r
+    float pp4 = p4 + p11;\r
+    float pp5 = p5 + p10;\r
+    float pp6 = p6 + p9;\r
+    float pp7 = p7 + p8;\r
+    float pp8 = (p0 - p15) * cos1_32;\r
+    float pp9 = (p1 - p14) * cos3_32;\r
+    float pp10 = (p2 - p13) * cos5_32;\r
+    float pp11 = (p3 - p12) * cos7_32;\r
+    float pp12 = (p4 - p11) * cos9_32;\r
+    float pp13 = (p5 - p10) * cos11_32;\r
+    float pp14 = (p6 - p9) * cos13_32;\r
+    float pp15 = (p7 - p8) * cos15_32;\r
 \r
     p0 = pp0 + pp7;\r
     p1 = pp1 + pp6;\r
@@ -300,7 +297,7 @@ final class SynthesisFilter {
     p15 = (pp14 - pp15) * cos1_4;\r
 \r
     // this is pretty insane coding\r
-     float tmp1;\r
+    float tmp1;\r
     new_v19/* 36-17 */= -(new_v4 = (new_v12 = p7) + p5) - p6;\r
     new_v27/* 44-17 */= -p6 - p7 - p4;\r
     new_v6 = (new_v10 = (new_v14 = p15) + p11) + p13;\r
@@ -399,7 +396,7 @@ final class SynthesisFilter {
 \r
     // manually doing something that a compiler should handle sucks\r
     // coding like this is hard to read\r
-     float tmp2;\r
+    float tmp2;\r
     new_v5 = (new_v11 = (new_v13 = (new_v15 = p15) + p7) + p11) + p5 + p13;\r
     new_v7 = (new_v9 = p15 + p11 + p3) + p13;\r
     new_v16/* 33-17 */= -(new_v1 = (tmp1 = p13 + p15 + p9) + p1) - p14;\r
@@ -416,7 +413,7 @@ final class SynthesisFilter {
     // float[] x2 = actual_v + actual_write_pos;\r
     // float dest[] = actual_v; v2\r
 \r
-     int pos = actual_write_pos;\r
+    int pos = actual_write_pos;\r
 \r
     v2[0 + pos] = new_v0;\r
     v2[16 + pos] = new_v1;\r
@@ -577,38 +574,38 @@ final class SynthesisFilter {
 \r
   private void compute_new_v1_v2() {\r
 \r
-     float new_v0 = 0.0f;\r
-     float new_v1 = 0.0f;\r
-     float new_v2 = 0.0f;\r
-     float new_v3 = 0.0f;\r
-     float new_v4 = 0.0f;\r
-     float new_v5 = 0.0f;\r
-     float new_v6 = 0.0f;\r
-     float new_v7 = 0.0f;\r
-     float new_v8 = 0.0f;\r
-     float new_v9 = 0.0f;\r
-     float new_v10 = 0.0f;\r
-     float new_v11 = 0.0f;\r
-     float new_v12 = 0.0f;\r
-     float new_v13 = 0.0f;\r
-     float new_v14 = 0.0f;\r
-     float new_v15 = 0.0f;\r
-     float new_v16 = 0.0f;\r
-     float new_v17 =&nbs