Venkatesha Murthy TS created MATH-1130: ------------------------------------------
Summary: A new set of functions to copyof, remove and replace for a slice of array Key: MATH-1130 URL: https://issues.apache.org/jira/browse/MATH-1130 Project: Commons Math Issue Type: New Feature Affects Versions: 3.4 Reporter: Venkatesha Murthy TS These are utility functions mostly required as part of MathArrays. MathArrays: ============= The requirement is as follows: a) double[] copyOf(double[] values, int begin, int length) ; Similar to most other functions that support slice defined by the array part from [begin, begin+length) ;its a requirement to copy a slice which is not available (the closest is copyOf(array, int len) which misses out the begin index) b) double[] removeAll(double[] values, int begin, int length, double removable); Need a function to remove a value from array and return the filtered version which again must support slice. c) double[] replaceAll(double[] values, int begin, int length, double oldValue, double newValue); Need a function to replace inplace an oldValue substituted with newValue and return the original array with replaced values. MathUtils ========= boolean canEqual(double d1, double d2) ; provide a canEqual function that is slightly better than exisitng MathUtils.equals. We could also improve existing equals method however. So the change here is that the new enhanced canEqual can do a quick check on Nans and as well as both +ve and -ve Infinities faster and then move to a detailed Double.compare(..) method. This avoids the Double.compare call for infinities and NaN with faster reference equal check (i.e == ). -- This message was sent by Atlassian JIRA (v6.2#6252)