public class LongArrayMath
extends java.lang.Object
Modifier | Constructor and Description |
---|---|
protected |
LongArrayMath() |
Modifier and Type | Method and Description |
---|---|
protected static int |
_commonLength(long[] array1,
long[] array2,
java.lang.String methodName)
Throw an exception if the two arrays are not of the same length,
or if either array is null.
|
static long[] |
add(long[] array,
long z)
Return a new array that is the formed by adding z to each element
of the input array.
|
static long[] |
add(long[] array1,
long[] array2)
Return a new array that is the element-by-element sum of the two
input arrays.
|
static long[] |
allocCopy(long[] array)
Return a new array that is a copy of the array argument.
|
static long[] |
append(long[] array1,
int idx1,
int length1,
long[] array2,
int idx2,
int length2)
Return a new array that is the result of appending length2
elements of array2, starting from the array1[idx2] to length1
elements of array1, starting from array1[idx1].
|
static long[] |
append(long[] array1,
long[] array2)
Return a new array that is the result of appending array2 to the end
of array1.
|
static long[] |
applyBinaryOperation(LongBinaryOperation op,
long[] array,
long z)
Return a new array that is formed by applying an instance of a
LongBinaryOperation to each element in the input array
and z, using the array elements as the left operands and z
as the right operand in all cases.
|
static long[] |
applyBinaryOperation(LongBinaryOperation op,
long[] array1,
long[] array2)
Return a new array that is formed by applying an instance of a
LongBinaryOperation to the two arrays, element by element,
using the elements of the first array as the left operands and the
elements of the second array as the right operands.
|
static long[] |
applyBinaryOperation(LongBinaryOperation op,
long z,
long[] array)
Return a new array that is formed by applying an instance of a
LongBinaryOperation to each element in the input array,
using z as the left operand in all cases and the array elements
as the right operands (op.operate(z, array[i])).
|
static long[] |
applyUnaryOperation(LongUnaryOperation op,
long[] array)
Return a new array that is formed by applying an instance of a
LongUnaryOperation to each element in the input array
(op.operate(array[i])).
|
static long[] |
bitwiseAnd(long[] array,
long z)
Return a new array that is the formed by bitwise ANDing z with
each element of the input array (array[i] & z).
|
static long[] |
bitwiseAnd(long[] array1,
long[] array2)
Return a new array that is the element-by-element bitwise AND
of the two input arrays (array1[i] & array2[i]).
|
static long[] |
bitwiseComplement(long[] array)
Return a new array that is the element-by-element bitwise
complement of the input array (~array[i]).
|
static long[] |
bitwiseOr(long[] array,
long z)
Return a new array that is the formed by bitwise ORing z with
each element of the input array (array[i] | z).
|
static long[] |
bitwiseOr(long[] array1,
long[] array2)
Return a new array that is the element-by-element bitwise OR of the two
input arrays (array1[i] | array2[i]).
|
static long[] |
bitwiseXor(long[] array,
long z)
Return a new array that is the formed by bitwise XORing z with
each element of the input array (array[i] ^ z).
|
static long[] |
bitwiseXor(long[] array1,
long[] array2)
Return a new array that is the element-by-element bitwise XOR
of the two input arrays (array1[i] ^ array2[i]).
|
static long[] |
divide(long[] array,
long z)
Return a new array that is the formed by dividing each element
of the input array by z (array[i] / z).
|
static long[] |
divideElements(long[] array1,
long[] array2)
Return a new array that is the element-by-element division of
the first array by the second array (array1[i] / array2[i]).
|
static long |
dotProduct(long[] array1,
long[] array2)
Return the dot product of the two arrays.
|
static long[] |
limit(long[] array,
long bottom,
long top)
Return a new array that is a copy of the argument except that the
elements are limited to lie within the specified range.
|
static long[] |
modulo(long[] array,
long z)
Return a new array that is the formed by the modulo of each element
of the input array and z (array[i] % z).
|
static long[] |
modulo(long[] array1,
long[] array2)
Return a new array that is the element-by-element modulo of the two
input arrays (array1[i] % array2[i]).
|
static long[] |
multiply(long[] array,
long factor)
Return a new array that is constructed from the argument by
multiplying each element in the array by the second argument, which is
a long.
|
static long[] |
multiply(long[] array1,
long[] array2)
Return a new array that is the element-by-element multiplication of
the two input arrays.
|
static long[] |
negative(long[] array)
Return a new array that is the formed by the additive inverse of each
element of the input array (-array[i]).
|
static long[] |
padMiddle(long[] array,
int newLength)
Return a new array of longs that is formed by padding the
middle of the array with 0's.
|
static long[] |
resize(long[] array,
int newLength)
Return a new array of length newLength that is formed by
either truncating or padding the input array.
|
static long[] |
resize(long[] array,
int newLength,
int startIdx)
Return a new array of length newLength that is formed by
either truncating or padding the input array.
|
static long[] |
scale(long[] array,
long scaleFactor)
Return a new array of longs produced by scaling the input
array elements by scaleFactor.
|
static long[] |
shiftArithmetic(long[] array,
int shiftAmount)
Return a new array that is constructed from the argument by
arithmetically shifting the elements in the array by the
second argument.
|
static long[] |
shiftLogical(long[] array,
int shiftAmount)
Return a new array that is constructed from the argument by
logically shifting the elements in the array by the second
argument.
|
static long[] |
subtract(long[] array1,
long[] array2)
Return a new array that is the element-by-element difference of the
two input arrays, i.e. the first array minus the second array
(array1[i] - array2[i]).
|
static long |
sumOfSquares(long[] array)
Return the sum of the squares of all of the elements in the array.
|
static Complex[] |
toComplexArray(long[] array)
Return a new array that is formed by converting the long numbers in
the argument array to complex numbers.
|
static double[] |
toDoubleArray(long[] array)
Return a new array that is formed by converting the longs in
the argument array to doubles.
|
static float[] |
toFloatArray(long[] array)
Return a new array that is formed by converting the longs in
the argument array to doubles.
|
static int[] |
toIntegerArray(long[] array)
Return a new array that is formed by converting the longs in
the argument array to integers.
|
static java.lang.String |
toString(long[] array)
Return a new String representing the array, formatted as
in Java array initializers.
|
static java.lang.String |
toString(long[] array,
java.lang.String elementDelimiter,
java.lang.String vectorBegin,
java.lang.String vectorEnd)
Return a new String representing the array, formatted as
specified by the ArrayStringFormat argument.
|
static boolean |
within(long[] array1,
long[] array2,
long maxError)
Return true if all the distances between corresponding elements
array1 and array2 are all less than or equal to
the corresponding elements in maxError.
|
static boolean |
within(long[] array1,
long[] array2,
long[] maxError)
Return true if all the distances between corresponding elements
array1 and array2 are all less than or equal to
the corresponding elements in maxError.
|
public static final long[] add(long[] array, long z)
public static final long[] add(long[] array1, long[] array2)
public static final long[] allocCopy(long[] array)
array
- An array of ints.public static final long[] append(long[] array1, long[] array2)
public static final long[] append(long[] array1, int idx1, int length1, long[] array2, int idx2, int length2)
array1
- The first array of longs.idx1
- The starting index for array1.length1
- The number of elements of array1 to use.array2
- The second array of longs, which is appended.idx2
- The starting index for array2.length2
- The number of elements of array2 to append.public static final long[] applyBinaryOperation(LongBinaryOperation op, long[] array, long z)
public static final long[] applyBinaryOperation(LongBinaryOperation op, long z, long[] array)
public static final long[] applyBinaryOperation(LongBinaryOperation op, long[] array1, long[] array2)
public static final long[] applyUnaryOperation(LongUnaryOperation op, long[] array)
public static final long[] bitwiseAnd(long[] array, long z)
public static final long[] bitwiseAnd(long[] array1, long[] array2)
public static final long[] bitwiseComplement(long[] array)
public static final long[] bitwiseOr(long[] array, long z)
public static final long[] bitwiseOr(long[] array1, long[] array2)
public static final long[] bitwiseXor(long[] array, long z)
public static final long[] bitwiseXor(long[] array1, long[] array2)
public static final long[] divide(long[] array, long z)
public static final long[] divideElements(long[] array1, long[] array2)
array1
- The first array of longs.array2
- The second array of longs.public static final long dotProduct(long[] array1, long[] array2)
public static final long[] limit(long[] array, long bottom, long top)
If any value is MAX_VALUE or MIN_VALUE, then it is replaced by either the top or the bottom, depending on its sign. To leave either the bottom or the top unconstrained, specify Long.MIN_VALUE or Long.MAX_VALUE.
If the length of the array is 0, return a new array of length 0.
array
- An array of longs.bottom
- The bottom limit.top
- The top limit.public static final long[] modulo(long[] array, long z)
public static final long[] modulo(long[] array1, long[] array2)
public static final long[] multiply(long[] array1, long[] array2)
public static final long[] multiply(long[] array, long factor)
array
- An array of longs.factor
- A long.public static final long[] negative(long[] array)
public static final long[] padMiddle(long[] array, int newLength)
array
- An array of longs.newLength
- The desired length of the returned array.public static final long[] resize(long[] array, int newLength)
array
- An array of longs.newLength
- The desired length of the output array.public static final long[] resize(long[] array, int newLength, int startIdx)
array
- An array of longs.newLength
- The desired length of the output array.startIdx
- The starting index for the input array.public static final long[] scale(long[] array, long scaleFactor)
public static final long[] shiftArithmetic(long[] array, int shiftAmount)
array
- A first array of longs.shiftAmount
- The amount to shift by, positive for left shift,
negative for right shift.public static final long[] shiftLogical(long[] array, int shiftAmount)
array
- A first array of longs.shiftAmount
- The amount to shift by, positive for left shift,
negative for right shift.public static final long[] subtract(long[] array1, long[] array2)
public static final long sumOfSquares(long[] array)
public static final Complex[] toComplexArray(long[] array)
array
- An array of long numbers.public static final double[] toDoubleArray(long[] array)
array
- An array of long.public static final float[] toFloatArray(long[] array)
array
- An array of long.public static final int[] toIntegerArray(long[] array)
array
- An array of long.public static final java.lang.String toString(long[] array)
public static final java.lang.String toString(long[] array, java.lang.String elementDelimiter, java.lang.String vectorBegin, java.lang.String vectorEnd)
public static final boolean within(long[] array1, long[] array2, long maxError)
array1
- The first array.array2
- The second array.maxError
- The threshold for the magnitude of the difference.java.lang.IllegalArgumentException
- If the arrays are not of the same
length.public static final boolean within(long[] array1, long[] array2, long[] maxError)
array1
- The first array.array2
- The second array.maxError
- The array of thresholds for the magnitudes of
the difference.java.lang.IllegalArgumentException
- If the arrays are not of the same
length.protected static final int _commonLength(long[] array1, long[] array2, java.lang.String methodName)
array1
- The first array of longs.array2
- The second array of longs.methodName
- A String representing the method name of the caller,
without parentheses.