You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Venkatesha Murthy TS (JIRA)" <ji...@apache.org> on 2014/06/20 14:29:24 UTC
[jira] [Created] (MATH-1130) A new set of functions to copyof,
remove and replace for a slice of array
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)