public class ArrayFuncs extends Object implements PrimitiveInfo
BOOLEAN_INDEX, BYTE_INDEX, CHAR_INDEX, classes, DOUBLE_INDEX, FIRST_NUMERIC, FLOAT_INDEX, INT_INDEX, isNumeric, LAST_NUMERIC, LONG_INDEX, SHORT_INDEX, sizes, suffixes, types
Constructor and Description |
---|
ArrayFuncs() |
Modifier and Type | Method and Description |
---|---|
static String |
arrayDescription(Object o)
Generate a description of an array (presumed rectangular).
|
static int |
computeSize(Object o)
Compute the size of an object.
|
static Object |
convertArray(Object array,
Class newType)
Convert an array to a specified type.
|
static void |
copyArray(Object original,
Object copy)
Copy one array into another.
|
static void |
copyInto(Object array,
Object mimic)
Copy an array into an array of a different type.
|
static Object |
curl(Object input,
int[] dimens)
Curl an input array up into a multi-dimensional array.
|
static Object |
deepClone(Object o)
Try to create a deep clone of an Array or a standard clone of a scalar.
|
protected static int |
doCurl(Object input,
Object output,
int[] dimens,
int offset)
Do the curling of the 1-d to multi-d array.
|
protected static int |
doFlatten(Object input,
Object output,
int offset)
This routine does the actually flattening of multi-dimensional
arrays.
|
static void |
examinePrimitiveArray(Object o)
Examine the structure of an array in detail.
|
static Object |
flatten(Object input)
Given an array of arbitrary dimensionality return
the array flattened into a single dimension.
|
static Object |
generateArray(Class baseType,
int[] dims)
Create an array and populate it with a test pattern.
|
static Object |
genericClone(Object o)
Clone an Object if possible.
|
static Object |
getBaseArray(Object o)
This routine returns the base array of a multi-dimensional
array.
|
static Class |
getBaseClass(Object o)
This routine returns the base class of an object.
|
static int |
getBaseLength(Object o)
This routine returns the size of the base element of an array.
|
static int[] |
getDimensions(Object o)
Find the dimensions of an object.
|
static Object |
mimicArray(Object array,
Class newType)
Create an array of a type given by new type with
the dimensionality given in array.
|
static int |
nElements(Object o)
Count the number of elements in an array
|
static Object |
newInstance(Class cl,
int dim)
Allocate an array dynamically.
|
static Object |
newInstance(Class cl,
int[] dims)
Allocate an array dynamically.
|
static byte |
testPattern(Object o,
byte start)
Just create a simple pattern cycling through valid byte values.
|
public static int computeSize(Object o)
o
- The object whose size is desired.public static int nElements(Object o)
public static Object deepClone(Object o)
o
- The object to be copied.public static Object genericClone(Object o)
o
- The object to be cloned.public static void copyArray(Object original, Object copy)
original
- The array to be copied.copy
- The array to be copied into. This
array must already be fully allocated.public static int[] getDimensions(Object o)
o
- The object to get the dimensions of.public static Object getBaseArray(Object o)
public static Class getBaseClass(Object o)
public static int getBaseLength(Object o)
o
- The array object whose base length is desired.public static Object generateArray(Class baseType, int[] dims)
baseType
- The base type of the array. This is expected to
be a numeric type, but this is not checked.dims
- The desired dimensions.public static byte testPattern(Object o, byte start)
o
- The array in which the test pattern is to be set.start
- The value for the first element.public static String arrayDescription(Object o)
o
- The array to be described.public static void examinePrimitiveArray(Object o)
o
- The array to be examined.public static Object flatten(Object input)
input
- The input array.protected static int doFlatten(Object input, Object output, int offset)
input
- The input array to be flattened.output
- The flattened array.offset
- The current offset within the output array.public static Object curl(Object input, int[] dimens)
input
- The one dimensional array to be curled.dimens
- The desired dimensionsprotected static int doCurl(Object input, Object output, int[] dimens, int offset)
input
- The 1-d array to be curled.output
- The multi-dimensional array to be filled.dimens
- The desired output dimensions.offset
- The current offset in the input array.public static Object mimicArray(Object array, Class newType)
array
- A possibly multidimensional array to be converted.newType
- The desired output type. This should be one of the
class descriptors for primitive numeric data, e.g., double.type.public static Object convertArray(Object array, Class newType)
array
- A possibly multidimensional array to be converted.newType
- The desired output type. This should be one of the
class descriptors for primitive numeric data, e.g., double.type.public static void copyInto(Object array, Object mimic)
array
- The original array.mimic
- The array mimicking the original.public static Object newInstance(Class cl, int dim)
cl
- The class of the array.dim
- The dimension of the array.An
- OutOfMemoryError if insufficient space is available.public static Object newInstance(Class cl, int[] dims)
cl
- The class of the array.dims
- The dimensions of the array.An
- OutOfMemoryError if insufficient space is available.Copyright © 2025 Central Laboratory of the Research Councils. All Rights Reserved.