2003-05-13 Michael Koch <konqueror@gmx.de>

* gnu/java/nio/CharViewBufferImpl.java
	(CharViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/DoubleViewBufferImpl.java
	(DoubleViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/FloatViewBufferImpl.java
	(FloatViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/IntViewBufferImpl.java
	(IntViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/LongViewBufferImpl.java
	(LongViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/ShortViewBufferImpl.java
	(ShortViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.

From-SVN: r66780
This commit is contained in:
Michael Koch 2003-05-13 20:11:02 +00:00 committed by Michael Koch
parent 03307888f7
commit d24273abda
7 changed files with 69 additions and 30 deletions

View File

@ -1,3 +1,30 @@
2003-05-13 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/CharViewBufferImpl.java
(CharViewBufferImpl): Fixed super constructor call, initialize offset.
(get): Shift bits to the right direction.
(put): Likewise.
* gnu/java/nio/DoubleViewBufferImpl.java
(DoubleViewBufferImpl): Fixed super constructor call, initialize offset.
(get): Shift bits to the right direction.
(put): Likewise.
* gnu/java/nio/FloatViewBufferImpl.java
(FloatViewBufferImpl): Fixed super constructor call, initialize offset.
(get): Shift bits to the right direction.
(put): Likewise.
* gnu/java/nio/IntViewBufferImpl.java
(IntViewBufferImpl): Fixed super constructor call, initialize offset.
(get): Shift bits to the right direction.
(put): Likewise.
* gnu/java/nio/LongViewBufferImpl.java
(LongViewBufferImpl): Fixed super constructor call, initialize offset.
(get): Shift bits to the right direction.
(put): Likewise.
* gnu/java/nio/ShortViewBufferImpl.java
(ShortViewBufferImpl): Fixed super constructor call, initialize offset.
(get): Shift bits to the right direction.
(put): Likewise.
2003-05-13 Michael Koch <konqueror@gmx.de> 2003-05-13 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/natDirectByteBufferImpl.cc * gnu/java/nio/natDirectByteBufferImpl.cc

View File

@ -62,8 +62,9 @@ class CharViewBufferImpl extends CharBuffer
int limit, int position, int mark, int limit, int position, int mark,
boolean readOnly) boolean readOnly)
{ {
super (limit, limit, offset, position); super (limit >> 1, limit >> 1, position >> 1, mark >> 1);
this.bb = bb; this.bb = bb;
this.offset = offset;
this.readOnly = readOnly; this.readOnly = readOnly;
// FIXME: What if this is called from CharViewBufferImpl and ByteBuffer has changed its endianess ? // FIXME: What if this is called from CharViewBufferImpl and ByteBuffer has changed its endianess ?
this.endian = bb.order (); this.endian = bb.order ();
@ -71,25 +72,26 @@ class CharViewBufferImpl extends CharBuffer
public char get () public char get ()
{ {
char result = bb.getChar ((position () >> 1) + offset); char result = bb.getChar ((position () << 1) + offset);
position (position () + 1); position (position () + 1);
return result; return result;
} }
public char get (int index) public char get (int index)
{ {
return bb.getChar ((index >> 1) + offset); return bb.getChar ((index << 1) + offset);
} }
public CharBuffer put (char value) public CharBuffer put (char value)
{ {
bb.putChar ((position () >> 1) + offset, value); bb.putChar ((position () << 1) + offset, value);
position (position () + 1);
return this; return this;
} }
public CharBuffer put (int index, char value) public CharBuffer put (int index, char value)
{ {
bb.putChar ((index >> 1) + offset, value); bb.putChar ((index << 1) + offset, value);
return this; return this;
} }

View File

@ -62,8 +62,9 @@ class DoubleViewBufferImpl extends DoubleBuffer
int limit, int position, int mark, int limit, int position, int mark,
boolean readOnly) boolean readOnly)
{ {
super (limit, limit, offset, position); super (limit >> 3, limit >> 3, position >> 3, mark >> 3);
this.bb = bb; this.bb = bb;
this.offset = offset;
this.readOnly = readOnly; this.readOnly = readOnly;
// FIXME: What if this is called from DoubleViewBufferImpl and ByteBuffer has changed its endianess ? // FIXME: What if this is called from DoubleViewBufferImpl and ByteBuffer has changed its endianess ?
this.endian = bb.order (); this.endian = bb.order ();
@ -71,25 +72,26 @@ class DoubleViewBufferImpl extends DoubleBuffer
public double get () public double get ()
{ {
double result = bb.getDouble ((position () >> 3) + offset); double result = bb.getDouble ((position () << 3) + offset);
position (position () + 1); position (position () + 1);
return result; return result;
} }
public double get (int index) public double get (int index)
{ {
return bb.getDouble ((index >> 3) + offset); return bb.getDouble ((index << 3) + offset);
} }
public DoubleBuffer put (double value) public DoubleBuffer put (double value)
{ {
bb.putDouble ((position () >> 3) + offset, value); bb.putDouble ((position () << 3) + offset, value);
position (position () + 1);
return this; return this;
} }
public DoubleBuffer put (int index, double value) public DoubleBuffer put (int index, double value)
{ {
bb.putDouble ((index >> 3) + offset, value); bb.putDouble ((index << 3) + offset, value);
return this; return this;
} }

View File

@ -62,8 +62,9 @@ class FloatViewBufferImpl extends FloatBuffer
int limit, int position, int mark, int limit, int position, int mark,
boolean readOnly) boolean readOnly)
{ {
super (limit, limit, offset, position); super (limit >> 2, limit >> 2, position >> 2, mark >> 2);
this.bb = bb; this.bb = bb;
this.offset = offset;
this.readOnly = readOnly; this.readOnly = readOnly;
// FIXME: What if this is called from FloatViewBufferImpl and ByteBuffer has changed its endianess ? // FIXME: What if this is called from FloatViewBufferImpl and ByteBuffer has changed its endianess ?
this.endian = bb.order (); this.endian = bb.order ();
@ -71,25 +72,26 @@ class FloatViewBufferImpl extends FloatBuffer
public float get () public float get ()
{ {
float result = bb.getFloat ((position () >> 2) + offset); float result = bb.getFloat ((position () << 2) + offset);
position (position () + 1); position (position () + 1);
return result; return result;
} }
public float get (int index) public float get (int index)
{ {
return bb.getFloat ((index >> 2) + offset); return bb.getFloat ((index << 2) + offset);
} }
public FloatBuffer put (float value) public FloatBuffer put (float value)
{ {
bb.putFloat ((position () >> 2) + offset, value); bb.putFloat ((position () << 2) + offset, value);
position (position () + 1);
return this; return this;
} }
public FloatBuffer put (int index, float value) public FloatBuffer put (int index, float value)
{ {
bb.putFloat ((index >> 2) + offset, value); bb.putFloat ((index << 2) + offset, value);
return this; return this;
} }

View File

@ -62,8 +62,9 @@ class IntViewBufferImpl extends IntBuffer
int limit, int position, int mark, int limit, int position, int mark,
boolean readOnly) boolean readOnly)
{ {
super (limit, limit, offset, position); super (limit >> 2, limit >> 2, position >> 2, mark >> 2);
this.bb = bb; this.bb = bb;
this.offset = offset;
this.readOnly = readOnly; this.readOnly = readOnly;
// FIXME: What if this is called from IntViewBufferImpl and ByteBuffer has changed its endianess ? // FIXME: What if this is called from IntViewBufferImpl and ByteBuffer has changed its endianess ?
this.endian = bb.order (); this.endian = bb.order ();
@ -71,25 +72,26 @@ class IntViewBufferImpl extends IntBuffer
public int get () public int get ()
{ {
int result = bb.getInt ((position () >> 2) + offset); int result = bb.getInt ((position () << 2) + offset);
position (position () + 1); position (position () + 1);
return result; return result;
} }
public int get (int index) public int get (int index)
{ {
return bb.getInt ((index >> 2) + offset); return bb.getInt ((index << 2) + offset);
} }
public IntBuffer put (int value) public IntBuffer put (int value)
{ {
bb.putInt ((position () >> 2) + offset, value); bb.putInt ((position () << 2) + offset, value);
position (position () + 1);
return this; return this;
} }
public IntBuffer put (int index, int value) public IntBuffer put (int index, int value)
{ {
bb.putInt ((index >> 2) + offset, value); bb.putInt ((index << 2) + offset, value);
return this; return this;
} }

View File

@ -62,8 +62,9 @@ class LongViewBufferImpl extends LongBuffer
int limit, int position, int mark, int limit, int position, int mark,
boolean readOnly) boolean readOnly)
{ {
super (limit, limit, offset, position); super (limit >> 3, limit >> 3, position >> 3, mark >> 3);
this.bb = bb; this.bb = bb;
this.offset = offset;
this.readOnly = readOnly; this.readOnly = readOnly;
// FIXME: What if this is called from LongViewBufferImpl and ByteBuffer has changed its endianess ? // FIXME: What if this is called from LongViewBufferImpl and ByteBuffer has changed its endianess ?
this.endian = bb.order (); this.endian = bb.order ();
@ -71,25 +72,26 @@ class LongViewBufferImpl extends LongBuffer
public long get () public long get ()
{ {
long result = bb.getLong ((position () >> 3) + offset); long result = bb.getLong ((position () << 3) + offset);
position (position () + 1); position (position () + 1);
return result; return result;
} }
public long get (int index) public long get (int index)
{ {
return bb.getLong ((index >> 3) + offset); return bb.getLong ((index << 3) + offset);
} }
public LongBuffer put (long value) public LongBuffer put (long value)
{ {
bb.putLong ((position () >> 3) + offset, value); bb.putLong ((position () << 3) + offset, value);
position (position () + 1);
return this; return this;
} }
public LongBuffer put (int index, long value) public LongBuffer put (int index, long value)
{ {
bb.putLong ((index >> 3) + offset, value); bb.putLong ((index << 3) + offset, value);
return this; return this;
} }

View File

@ -62,8 +62,9 @@ class ShortViewBufferImpl extends ShortBuffer
int limit, int position, int mark, int limit, int position, int mark,
boolean readOnly) boolean readOnly)
{ {
super (limit, limit, offset, position); super (limit >> 1, limit >> 1, position >> 1, mark >> 1);
this.bb = bb; this.bb = bb;
this.offset = offset;
this.readOnly = readOnly; this.readOnly = readOnly;
// FIXME: What if this is called from ShortViewBufferImpl and ByteBuffer has changed its endianess ? // FIXME: What if this is called from ShortViewBufferImpl and ByteBuffer has changed its endianess ?
this.endian = bb.order (); this.endian = bb.order ();
@ -71,25 +72,26 @@ class ShortViewBufferImpl extends ShortBuffer
public short get () public short get ()
{ {
short result = bb.getShort ((position () >> 1) + offset); short result = bb.getShort ((position () << 1) + offset);
position (position () + 1); position (position () + 1);
return result; return result;
} }
public short get (int index) public short get (int index)
{ {
return bb.getShort ((index >> 1) + offset); return bb.getShort ((index << 1) + offset);
} }
public ShortBuffer put (short value) public ShortBuffer put (short value)
{ {
bb.putShort ((position () >> 1) + offset, value); bb.putShort ((position () << 1) + offset, value);
position (position () + 1);
return this; return this;
} }
public ShortBuffer put (int index, short value) public ShortBuffer put (int index, short value)
{ {
bb.putShort ((index >> 1) + offset, value); bb.putShort ((index << 1) + offset, value);
return this; return this;
} }