commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gilles <gil...@harfang.homelinux.org>
Subject Re: [2/2] [math] Add getXmax, getXmin, getYmax, getYmin to BicubicInterpolatingFunction.
Date Sun, 05 Jul 2015 19:39:53 GMT
On Sun, 05 Jul 2015 18:32:16 -0000, luc@apache.org wrote:
> Add getXmax, getXmin, getYmax, getYmin to 
> BicubicInterpolatingFunction.
>
> These can be useful to manage an OutOfRangeException without the need 
> to
> access the original x and y arrays.

IIRC, this "feature" has been requested before but eventually without a
convincing use-case. [In general, the user knows the valid range since
he called "interpolate".]

> Closes #9.

Shouldn't we discuss API change on the ML?


Regards,
Gilles

> Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo
> Commit: 
> http://git-wip-us.apache.org/repos/asf/commons-math/commit/3ac3ff62
> Tree: 
> http://git-wip-us.apache.org/repos/asf/commons-math/tree/3ac3ff62
> Diff: 
> http://git-wip-us.apache.org/repos/asf/commons-math/diff/3ac3ff62
>
> Branch: refs/heads/master
> Commit: 3ac3ff62b862ee89effcf1a4889b04f32fd8dbb2
> Parents: 088d0f9
> Author: Luc Maisonobe <luc@apache.org>
> Authored: Sun Jul 5 10:21:53 2015 +0200
> Committer: Luc Maisonobe <luc@apache.org>
> Committed: Sun Jul 5 10:21:53 2015 +0200
>
> 
> ----------------------------------------------------------------------
>  src/changes/changes.xml                         |  5 +++
>  .../BicubicInterpolatingFunction.java           | 32 
> ++++++++++++++++++++
>  .../BicubicInterpolatingFunctionTest.java       | 14 +++++++--
>  3 files changed, 49 insertions(+), 2 deletions(-)
> 
> ----------------------------------------------------------------------
>
>
> 
> http://git-wip-us.apache.org/repos/asf/commons-math/blob/3ac3ff62/src/changes/changes.xml
> 
> ----------------------------------------------------------------------
> diff --git a/src/changes/changes.xml b/src/changes/changes.xml
> index 83d03e1..63df40a 100644
> --- a/src/changes/changes.xml
> +++ b/src/changes/changes.xml
> @@ -54,6 +54,11 @@ If the output is not quite correct, check for
> invisible trailing spaces!
>      </release>
>
>      <release version="4.0" date="XXXX-XX-XX" description="">
> +      <action dev="luc" type="add" due-to="Lorenzoexe">
> +        Add getXmax(), getXmin(), getYmax(), getYmin() to bicubic
> interpolating function.
> +        These can be useful to manage an OutOfRangeException without
> the need to access
> +        the original x and y arrays.
> +      </action>
>        <action dev="luc" type="add" >
>          Added mapping functions to MathArrays. These methods allow 
> to map
>          any univariate or bivariate functions to arrays.
>
> 
> http://git-wip-us.apache.org/repos/asf/commons-math/blob/3ac3ff62/src/main/java/org/apache/commons/math4/analysis/interpolation/BicubicInterpolatingFunction.java
> 
> ----------------------------------------------------------------------
> diff --git
> 
> a/src/main/java/org/apache/commons/math4/analysis/interpolation/BicubicInterpolatingFunction.java
> 
> b/src/main/java/org/apache/commons/math4/analysis/interpolation/BicubicInterpolatingFunction.java
> index b89a517..f1c10f8 100644
> ---
> 
> a/src/main/java/org/apache/commons/math4/analysis/interpolation/BicubicInterpolatingFunction.java
> +++
> 
> b/src/main/java/org/apache/commons/math4/analysis/interpolation/BicubicInterpolatingFunction.java
> @@ -185,6 +185,38 @@ public class BicubicInterpolatingFunction
>      }
>
>      /**
> +     * Returns the minimum value of the first coordinate
> +     * @return xval[0].
> +     */
> +    public double getXmin() {
> +        return xval[0];
> +    }
> +
> +    /**
> +     * Returns the maximum value of the second coordinate
> +     * @return xval[xval.length - 1].
> +     */
> +    public double getXmax() {
> +        return xval[xval.length - 1];
> +    }
> +
> +    /**
> +     * Returns the minimum value of the second coordinate
> +     * @return yval[0].
> +     */
> +    public double getYmin() {
> +        return yval[0];
> +    }
> +
> +    /**
> +     * Returns the maximum value of the second coordinate
> +     * @return yval[yval.length - 1].
> +     */
> +    public double getYmax() {
> +        return yval[yval.length - 1];
> +    }
> +
> +    /**
>       * @param c Coordinate.
>       * @param val Coordinate samples.
>       * @return the index in {@code val} corresponding to the 
> interval
>
> 
> http://git-wip-us.apache.org/repos/asf/commons-math/blob/3ac3ff62/src/test/java/org/apache/commons/math4/analysis/interpolation/BicubicInterpolatingFunctionTest.java
> 
> ----------------------------------------------------------------------
> diff --git
> 
> a/src/test/java/org/apache/commons/math4/analysis/interpolation/BicubicInterpolatingFunctionTest.java
> 
> b/src/test/java/org/apache/commons/math4/analysis/interpolation/BicubicInterpolatingFunctionTest.java
> index 0ec77aa..b54c750 100644
> ---
> 
> a/src/test/java/org/apache/commons/math4/analysis/interpolation/BicubicInterpolatingFunctionTest.java
> +++
> 
> b/src/test/java/org/apache/commons/math4/analysis/interpolation/BicubicInterpolatingFunctionTest.java
> @@ -160,7 +160,12 @@ public final class 
> BicubicInterpolatingFunctionTest {
>          try {
>              bcf.value(x, y);
>              Assert.fail("OutOfRangeException expected");
> -        } catch (OutOfRangeException expected) {}
> +        } catch (OutOfRangeException expected) {
> +            Assert.assertEquals(xMin, bcf.getXmin(), 1.0e-15);
> +            Assert.assertEquals(xMax, bcf.getXmax(), 1.0e-15);
> +            Assert.assertEquals(yMin, bcf.getYmin(), 1.0e-15);
> +            Assert.assertEquals(yMax, bcf.getYmax(), 1.0e-15);
> +        }
>
>          x = xMin;
>          y = yMax + small;
> @@ -169,7 +174,12 @@ public final class 
> BicubicInterpolatingFunctionTest {
>          try {
>              bcf.value(x, y);
>              Assert.fail("OutOfRangeException expected");
> -        } catch (OutOfRangeException expected) {}
> +        } catch (OutOfRangeException expected) {
> +            Assert.assertEquals(xMin, bcf.getXmin(), 1.0e-15);
> +            Assert.assertEquals(xMax, bcf.getXmax(), 1.0e-15);
> +            Assert.assertEquals(yMin, bcf.getYmin(), 1.0e-15);
> +            Assert.assertEquals(yMax, bcf.getYmax(), 1.0e-15);
> +        }
>      }
>
>      /**


Mime
View raw message