Skip to content

Commit

Permalink
Swapped the offset and length paramters for most of the methods in By…
Browse files Browse the repository at this point in the history
…teReaderExtensions

Signed-off-by: jbouffard <jbouffard@azavea.com>
  • Loading branch information
jbouffard committed Dec 12, 2016
1 parent 479878e commit 9aff778
Showing 1 changed file with 28 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -51,16 +51,16 @@ trait ByteReaderExtensions {
arr
}

final def getByteArray(length: Long, valueOffset: Long): Array[Short] = {
final def getByteArray(offset: Long, length: Long): Array[Short] = {
val arr = Array.ofDim[Short](length.toInt)

if (length <= 4) {
val bb = ByteBuffer.allocate(4).order(byteReader.order).putInt(0, valueOffset.toInt)
val bb = ByteBuffer.allocate(4).order(byteReader.order).putInt(0, offset.toInt)
cfor(0)( _ < length, _ + 1) { i =>
arr(i) = ub2s(bb.get)
}
} else {
byteReader.position(valueOffset)
byteReader.position(offset)

cfor(0)(_ < length, _ + 1) { i =>
arr(i) = ub2s(byteReader.get)
Expand All @@ -70,17 +70,17 @@ trait ByteReaderExtensions {
arr
}

final def getShortArray(length: Long, valueOffset: Long): Array[Int] = {
final def getShortArray(offset: Long, length: Long): Array[Int] = {
val arr = Array.ofDim[Int](length.toInt)

if (length <= 2) {
val bb = ByteBuffer.allocate(4).order(byteReader.order).putInt(0, valueOffset.toInt)
val bb = ByteBuffer.allocate(4).order(byteReader.order).putInt(0, offset.toInt)
cfor(0)(_ < length, _ + 1) { i =>
arr(i) = us2i(bb.getShort)
}
} else {
val oldPos = byteReader.position
byteReader.position(valueOffset)
byteReader.position(offset)

cfor(0)(_ < length, _ + 1) { i =>
arr(i) = us2i(byteReader.getShort)
Expand All @@ -93,16 +93,16 @@ trait ByteReaderExtensions {
}

/** Get these as Longs, since they are unsigned and we might want to deal with values greater than Int.MaxValue */
final def getIntArray(length: Long, valueOffset: Long): Array[Long] = {
final def getIntArray(offset: Long, length: Long): Array[Long] = {
val arr = Array.ofDim[Long](length.toInt)

if (length == 1) {
val bb = ByteBuffer.allocate(4).order(byteReader.order).putInt(0, valueOffset.toInt)
val bb = ByteBuffer.allocate(4).order(byteReader.order).putInt(0, offset.toInt)
arr(0) = ui2l(bb.getInt)
} else {
val oldPos = byteReader.position

byteReader.position(valueOffset)
byteReader.position(offset)
cfor(0)(_ < length, _ + 1) { i =>
arr(i) = ui2l(byteReader.getInt)
}
Expand All @@ -113,16 +113,16 @@ trait ByteReaderExtensions {
arr
}

final def getLongArray(length: Long, valueOffset: Long): Array[Long] = {
final def getLongArray(offset: Long, length: Long): Array[Long] = {
val arr = Array.ofDim[Long](length.toInt)

if (length <= 8) {
val bb = ByteBuffer.allocate(4).order(byteReader.order).putLong(0, valueOffset)
val bb = ByteBuffer.allocate(4).order(byteReader.order).putLong(0, offset)
arr(0) = bb.getLong
} else {
val oldPos = byteReader.position

byteReader.position(valueOffset)
byteReader.position(offset)
cfor(0)(_ < length, _ + 1) { i =>
arr(i) = byteReader.getLong
}
Expand All @@ -133,7 +133,7 @@ trait ByteReaderExtensions {
arr
}

final def getString(length: Long, offset: Long): String = {
final def getString(offset: Long, length: Long): String = {
val sb = new StringBuilder
if (length <= 4) {
val bb = ByteBuffer.allocate(4).order(byteReader.order).putInt(0, offset.toInt)
Expand All @@ -154,7 +154,7 @@ trait ByteReaderExtensions {
sb.toString
}

final def getFractionalArray(length: Long, offset: Long): Array[(Long, Long)] = {
final def getFractionalArray(offset: Long, length: Long): Array[(Long, Long)] = {
val arr = Array.ofDim[(Long, Long)](length.toInt)

val oldPos = byteReader.position
Expand All @@ -170,35 +170,35 @@ trait ByteReaderExtensions {
}

/** NOTE: We don't support lengths greater than Int.MaxValue yet (or ever). */
final def getSignedByteArray(length: Long, valueOffset: Long): Array[Byte] = {
final def getSignedByteArray(offset: Long, length: Long): Array[Byte] = {
val len = length.toInt
if (length <= 4) {
val arr = Array.ofDim[Byte](len)
val bb = ByteBuffer.allocate(4).order(byteReader.order).putInt(0, valueOffset.toInt)
val bb = ByteBuffer.allocate(4).order(byteReader.order).putInt(0, offset.toInt)
cfor(0)(_ < len, _ + 1) { i =>
arr(i) = bb.get
}
arr
} else {
val oldPos = byteReader.position
byteReader.position(valueOffset)
byteReader.position(offset)
val arr = byteReader.getBytes(len)
byteReader.position(oldPos)
arr
}
}

final def getSignedShortArray(length: Long, valueOffset: Long): Array[Short] = {
final def getSignedShortArray(offset: Long, length: Long): Array[Short] = {
val arr = Array.ofDim[Short](length.toInt)

if (length <= 2) {
val bb = ByteBuffer.allocate(4).order(byteReader.order).putInt(0, valueOffset.toInt)
val bb = ByteBuffer.allocate(4).order(byteReader.order).putInt(0, offset.toInt)
cfor(0)(_ < length, _ + 1) { i =>
arr(i) = bb.getShort
}
} else {
val oldPos = byteReader.position
byteReader.position(valueOffset)
byteReader.position(offset)

cfor(0)(_ < length, _ + 1) { i =>
arr(i) = byteReader.getShort
Expand All @@ -210,14 +210,14 @@ trait ByteReaderExtensions {
arr
}

final def getSignedIntArray(length: Long, valueOffset: Long): Array[Int] = {
final def getSignedIntArray(offset: Long, length: Long): Array[Int] = {
val arr = Array.ofDim[Int](1)

if (length == 1) {
arr(0) = ByteBuffer.allocate(4).order(byteReader.order).putInt(0, valueOffset.toInt).getInt
arr(0) = ByteBuffer.allocate(4).order(byteReader.order).putInt(0, offset.toInt).getInt
} else {
val oldPos = byteReader.position
byteReader.position(valueOffset)
byteReader.position(offset)

cfor(0)(_ < length, _ + 1) { i =>
arr(i) = byteReader.getInt
Expand All @@ -229,7 +229,7 @@ trait ByteReaderExtensions {
arr
}

final def getSignedFractionalArray(length: Long, offset: Long): Array[(Int, Int)] = {
final def getSignedFractionalArray(offset: Long, length: Long): Array[(Int, Int)] = {
val arr = Array.ofDim[(Int, Int)](length.toInt)

val oldPos = byteReader.position
Expand All @@ -244,17 +244,17 @@ trait ByteReaderExtensions {
arr
}

final def getFloatArray(length: Long, valueOffset: Long): Array[Float] = {
final def getFloatArray(offset: Long, length: Long): Array[Float] = {
val arr = Array.ofDim[Float](length.toInt)

if (length <= 1) {
val bb = ByteBuffer.allocate(4).order(byteReader.order).putInt(0, valueOffset.toInt)
val bb = ByteBuffer.allocate(4).order(byteReader.order).putInt(0, offset.toInt)
cfor(0)(_ < length, _ + 1) { i =>
arr(i) = bb.getFloat
}
} else {
val oldPos = byteReader.position
byteReader.position(valueOffset)
byteReader.position(offset)

cfor(0)(_ < length, _ + 1) { i =>
arr(i) = byteReader.getFloat
Expand All @@ -265,7 +265,7 @@ trait ByteReaderExtensions {
arr
}

final def getDoubleArray(length: Long, offset: Long): Array[Double] = {
final def getDoubleArray(offset: Long, length: Long): Array[Double] = {
val arr = Array.ofDim[Double](length.toInt)

val oldPos = byteReader.position
Expand Down

0 comments on commit 9aff778

Please sign in to comment.