diff options
Diffstat (limited to 'libjava/gnu/java/nio/DoubleViewBufferImpl.java')
| -rw-r--r-- | libjava/gnu/java/nio/DoubleViewBufferImpl.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/libjava/gnu/java/nio/DoubleViewBufferImpl.java b/libjava/gnu/java/nio/DoubleViewBufferImpl.java index d34e886..d9e1b1b 100644 --- a/libjava/gnu/java/nio/DoubleViewBufferImpl.java +++ b/libjava/gnu/java/nio/DoubleViewBufferImpl.java @@ -62,8 +62,9 @@ class DoubleViewBufferImpl extends DoubleBuffer int limit, int position, int mark, boolean readOnly) { - super (limit, limit, offset, position); + super (limit >> 3, limit >> 3, position >> 3, mark >> 3); this.bb = bb; + this.offset = offset; this.readOnly = readOnly; // FIXME: What if this is called from DoubleViewBufferImpl and ByteBuffer has changed its endianess ? this.endian = bb.order (); @@ -71,25 +72,26 @@ class DoubleViewBufferImpl extends DoubleBuffer public double get () { - double result = bb.getDouble ((position () >> 3) + offset); + double result = bb.getDouble ((position () << 3) + offset); position (position () + 1); return result; } public double get (int index) { - return bb.getDouble ((index >> 3) + offset); + return bb.getDouble ((index << 3) + offset); } public DoubleBuffer put (double value) { - bb.putDouble ((position () >> 3) + offset, value); + bb.putDouble ((position () << 3) + offset, value); + position (position () + 1); return this; } public DoubleBuffer put (int index, double value) { - bb.putDouble ((index >> 3) + offset, value); + bb.putDouble ((index << 3) + offset, value); return this; } |
