// 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
*/\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
/**\r
* Return totbit Field.\r
*/\r
- \r
+\r
public int hsstell() {\r
return (totbit);\r
}\r
* @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
* \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
/**\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
/**\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
/**\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