public class DoubleUtils
extends Object
Provides extra functionality for double primitives.
| Constructor and Description |
|---|
DoubleUtils() |
| Modifier and Type | Method and Description |
|---|---|
static Double[] |
asObjectArray(double[] array)
Converts from a
double array to a Double array. |
static double[] |
asPrimitiveArray(Double[] array)
Converts from a
Double array to a double array. |
static double |
average(double[] array) |
static double |
averageNonZeros(double[] array) |
static double[] |
concatenate(double[]... arrays) |
static boolean |
contains(double[] array,
double value)
Checks if an input array contains a given value
|
static boolean |
containsAny(double[] array1,
double[] array2)
Checks whether any element of an array is present in another.
|
static double[] |
copy(double[] array)
Returns a deep copy of the input
array. |
static double[] |
divide(double[] array,
double value) |
static double[] |
divide(double[] array1,
double[] array2)
Divides two arrays element-to-element
|
static double[] |
divideNonSingular(double[] array1,
double[] array2)
Divides two arrays element-to-element, but when numerator and denominator = 0, returns 0 instead of a singularity (NaN)
|
static int[] |
find(double[] array,
double value,
Constants.SearchType searchType) |
static double |
gcd(double[] array)
Computes the greatest common divisor of a double array.
|
static double[] |
intersect(double[]... arrays)
Returns the intersection vector of a series of input arrays.
|
static boolean |
isEqualWithinAbsoluteTolerance(double pattern,
double value,
double tolerance)
Checks if a given value is within a tolerance margin compared to a given pattern.
|
static boolean |
isEqualWithinRelativeTolerance(double pattern,
double value,
double tolerance)
Checks if the relative difference between a given value and a pattern is within a tolerance margin.
|
static String |
join(double[] array,
String separator)
Joins the elements in an input array using a given separator.
|
static int[] |
maxIndexes(double[] array,
Constants.SearchType searchType) |
static int[][] |
maxMinIndexes(double[] array,
Constants.SearchType searchType) |
static double[] |
maxMinValues(double[] array) |
static double |
maxValue(double[] array) |
static int[] |
minIndexes(double[] array,
Constants.SearchType searchType) |
static double |
minValue(double[] array) |
static double[] |
mult(double[] array,
double scalar) |
static double[] |
mult(double[] array1,
double[] array2) |
static double[] |
ones(int N)
Returns an array filled with zeros.
|
static void |
reverse(double[] array) |
static double[] |
select(double[] array,
int[] indexes) |
static double[] |
selectColumn(double[][] array,
int column) |
static double[] |
selectRow(double[][] array,
int row) |
static double[] |
setdiff(double[]... arrays) |
static void |
sort(double[] array,
Constants.OrderingType orderingType) |
static int[] |
sortIndexes(double[] array,
Constants.OrderingType orderingType)
Sorts indexes of the
array into ascending/descending order in a stable way. |
static double |
std(double[] array) |
static double[] |
substract(double[] array1,
double[] array2) |
static double |
sum(double[] array) |
static double[] |
sum(double[] array1,
double[] array2) |
static double[] |
toArray(Collection<Double> list)
Converts a collection (
List, Set...) of Double objects to a double array. |
static int[] |
toIntArray(double[] array) |
static List<Double> |
toList(double[] array)
Converts from a
double array to a list. |
static double[] |
union(double[]... arrays) |
static double[] |
unique(double[] array)
Returns the same values of the input
array but with no repetitions. |
static double[] |
zeros(int N)
Returns an array filled with zeros.
|
public static double[] concatenate(double[]... arrays)
public static double std(double[] array)
public static double averageNonZeros(double[] array)
public static double average(double[] array)
public static Double[] asObjectArray(double[] array)
double array to a Double array.array - double arrayDouble arraypublic static double[] asPrimitiveArray(Double[] array)
Double array to a double array.array - Double arraydouble arraypublic static boolean contains(double[] array,
double value)
array - Input arrayvalue - Value to searchtrue if value is present in array, and false otherwisepublic static boolean containsAny(double[] array1,
double[] array2)
intersection(array1, array2).length == 0.array1 - Input array 1array2 - Input array 2true if any number in array1 is present in array2, and false otherwisepublic static double[] copy(double[] array)
array.array - Input arrayarraypublic static int[] find(double[] array,
double value,
Constants.SearchType searchType)
public static double gcd(double[] array)
array - Input arraygcd(0, 0) is equal to zero and gcd([]) is equal to onepublic static double[] intersect(double[]... arrays)
arrays - Vector of input arrayspublic static boolean isEqualWithinAbsoluteTolerance(double pattern,
double value,
double tolerance)
pattern - Pattern valuevalue - Value to compare with patterntolerance - Tolerance margintrue if value is within the tolerance, and false otherwisepublic static boolean isEqualWithinRelativeTolerance(double pattern,
double value,
double tolerance)
pattern - Pattern valuevalue - Value to compare with patterntolerance - Tolerance margintrue if value is within the tolerance, and false otherwisepublic static String join(double[] array,
String separator)
Arrays.toString().array - Input arrayseparator - SeparatorString representation of the input arraypublic static double maxValue(double[] array)
array - public static int[] maxIndexes(double[] array,
Constants.SearchType searchType)
array - searchType - public static double[] maxMinValues(double[] array)
array - public static int[][] maxMinIndexes(double[] array,
Constants.SearchType searchType)
array - searchType - public static double minValue(double[] array)
array - public static int[] minIndexes(double[] array,
Constants.SearchType searchType)
array - searchType - public static double[] ones(int N)
N - Number of elementsNpublic static void reverse(double[] array)
array - public static double[] select(double[] array,
int[] indexes)
public static double[] selectColumn(double[][] array,
int column)
public static double[] selectRow(double[][] array,
int row)
public static double[] setdiff(double[]... arrays)
arrays - public static void sort(double[] array,
Constants.OrderingType orderingType)
array - orderingType - public static int[] sortIndexes(double[] array,
Constants.OrderingType orderingType)
array into ascending/descending order in a stable way. Stable means that index order doesn't change if values are the same.array - Array to be sortedorderingType - public static double[] toArray(Collection<Double> list)
List, Set...) of Double objects to a double array.list - Input listint arraypublic static List<Double> toList(double[] array)
double array to a list.array - Input arrayDouble objectspublic static double[] union(double[]... arrays)
arrays - public static double[] unique(double[] array)
array but with no repetitions. There is no order guarantee.array - Input double arrayarray but with no repetitionspublic static double[] zeros(int N)
N - Number of elementsNpublic static int[] toIntArray(double[] array)
public static double sum(double[] array)
public static double[] sum(double[] array1,
double[] array2)
public static double[] mult(double[] array,
double scalar)
public static double[] mult(double[] array1,
double[] array2)
public static double[] substract(double[] array1,
double[] array2)
public static double[] divide(double[] array1,
double[] array2)
array1 - Numeratorarray2 - Denominatorpublic static double[] divide(double[] array,
double value)
public static double[] divideNonSingular(double[] array1,
double[] array2)
array1 - Numeratorarray2 - Denominator