package com.googlecode.gwtquake.client;
import com.google.gwt.core.client.JsArrayInteger;
import com.google.gwt.core.client.JsArrayNumber;
public class ArrayUtils {
// TODO(jgw): Get rid of these conversions in web mode.
public static JsArrayInteger toJsArray(byte[] data) {
JsArrayInteger jsan = (JsArrayInteger) JsArrayInteger.createArray();
int len = data.length;
for (int i = len - 1; i >= 0; i--) {
jsan.set(i, data[i]);
}
return jsan;
}
public static JsArrayNumber toJsArray(double[] data) {
JsArrayNumber jsan = (JsArrayNumber) JsArrayNumber.createArray();
int len = data.length;
for (int i = len - 1; i >= 0; i--) {
jsan.set(i, data[i]);
}
return jsan;
}
public static JsArrayNumber toJsArray(float[] data) {
JsArrayNumber jsan = (JsArrayNumber) JsArrayNumber.createArray();
int len = data.length;
for (int i = len - 1; i >= 0; i--) {
jsan.set(i, data[i]);
}
return jsan;
}
public static JsArrayInteger toJsArray(int[] data) {
JsArrayInteger jsan = (JsArrayInteger) JsArrayNumber.createArray();
int len = data.length;
for (int i = len - 1; i >= 0; i--) {
jsan.set(i, data[i]);
}
return jsan;
}
public static JsArrayInteger toJsArray(short[] data) {
JsArrayInteger jsan = (JsArrayInteger) JsArrayInteger.createArray();
int len = data.length;
for (int i = len - 1; i >= 0; i--) {
jsan.set(i, data[i]);
}
return jsan;
}
public static JsArrayInteger toJsArrayUnsigned(byte[] data) {
JsArrayInteger jsan = (JsArrayInteger) JsArrayInteger.createArray();
int len = data.length;
for (int i = len - 1; i >= 0; i--) {
jsan.set(i, data[i] & 255);
}
return jsan;
}
public static JsArrayInteger toJsArrayUnsigned(short[] data) {
JsArrayInteger jsan = (JsArrayInteger) JsArrayInteger.createArray();
int len = data.length;
for (int i = len - 1; i >= 0; i--) {
jsan.set(i, data[i] & 65535);
}
return jsan;
}
private ArrayUtils() {
}
}