You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by lu...@apache.org on 2013/08/27 13:15:50 UTC

svn commit: r1517789 - in /commons/proper/math/trunk/src: main/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructure.java test/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructureTest.java

Author: luc
Date: Tue Aug 27 11:15:50 2013
New Revision: 1517789

URL: http://svn.apache.org/r1517789
Log:
Added a convenience createConstant method for DerivativeStructure.

Thanks to Ajo Fod.

Modified:
    commons/proper/math/trunk/src/main/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructure.java
    commons/proper/math/trunk/src/test/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructureTest.java

Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructure.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructure.java?rev=1517789&r1=1517788&r2=1517789&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructure.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructure.java Tue Aug 27 11:15:50 2013
@@ -232,6 +232,20 @@ public class DerivativeStructure impleme
         return compiler.getOrder();
     }
 
+    /** Create a constant compatible with instance order and number of parameters.
+     * <p>
+     * This method is a convenience factory method, it simply calls
+     * {@code new DerivativeStructure(getFreeParameters(), getOrder(), c)}
+     * </p>
+     * @param c value of the constant
+     * @return a constant compatible with instance order and number of parameters
+     * @see #DerivativeStructure(int, int, double)
+     * @since 3.3
+     */
+    public DerivativeStructure createConstant(final double c) {
+        return new DerivativeStructure(getFreeParameters(), getOrder(), c);
+    }
+
     /** {@inheritDoc}
      * @since 3.2
      */

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructureTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructureTest.java?rev=1517789&r1=1517788&r2=1517789&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructureTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructureTest.java Tue Aug 27 11:15:50 2013
@@ -90,6 +90,15 @@ public class DerivativeStructureTest ext
     }
 
     @Test
+    public void testCreateConstant() {
+        DerivativeStructure a = new DerivativeStructure(3, 2, 0, 1.3);
+        DerivativeStructure b = a.createConstant(2.5);
+        Assert.assertEquals(a.getFreeParameters(), b.getFreeParameters());
+        Assert.assertEquals(a.getOrder(), b.getOrder());
+        checkEquals(a.getField().getOne().multiply(2.5), b, 1.0e-15);
+    }
+
+    @Test
     public void testPrimitiveAdd() {
         for (int maxOrder = 1; maxOrder < 5; ++maxOrder) {
             checkF0F1(new DerivativeStructure(3, maxOrder, 0, 1.0).add(5), 6.0, 1.0, 0.0, 0.0);