in datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/UnsafeUtil.java [167:190]
public static long getArrayBaseOffset(final Class<?> c) {
// Ordering here is roughly in order of what we expect to be most popular.
if (c == byte[].class) {
return ARRAY_BYTE_BASE_OFFSET;
} else if (c == int[].class) {
return ARRAY_INT_BASE_OFFSET;
} else if (c == long[].class) {
return ARRAY_LONG_BASE_OFFSET;
} else if (c == float[].class) {
return ARRAY_FLOAT_BASE_OFFSET;
} else if (c == double[].class) {
return ARRAY_DOUBLE_BASE_OFFSET;
} else if (c == boolean[].class) {
return ARRAY_BOOLEAN_BASE_OFFSET;
} else if (c == short[].class) {
return ARRAY_SHORT_BASE_OFFSET;
} else if (c == char[].class) {
return ARRAY_CHAR_BASE_OFFSET;
} else if (c == Object[].class) {
return ARRAY_OBJECT_BASE_OFFSET;
} else {
return unsafe.arrayBaseOffset(c);
}
}