return this.segment.buffer.getFloat(this.ptr + index * 4);
}
public double getDoubleElement(int index) {
return this.segment.buffer.getDouble(this.ptr + index * 8);
}
<BUG>public StructReader getStructElement(int index) {
int indexBit = index * this.step;</BUG>
int structData = this.ptr + (indexBit / 8);
int structPointers = structData + (this.structDataSize / 8);
<BUG>return new StructReader(this.segment, structData, structPointers / 8, this.structDataSize,
</BUG>
this.structPointerCount, (byte) (indexBit % 8), this.nestingLimit - 1);

return this.segment.buffer.getFloat(this.ptr + index * 4);
}
public double getDoubleElement(int index) {
return this.segment.buffer.getDouble(this.ptr + index * 8);
}
public <T> T getStructElement(FromStructReader<T> factory, int index) {
int indexBit = index * this.step;
int structData = this.ptr + (indexBit / 8);
int structPointers = structData + (this.structDataSize / 8);
return factory.fromStructReader(this.segment, structData, structPointers / 8, this.structDataSize,
this.structPointerCount, (byte) (indexBit % 8), this.nestingLimit - 1);
